ひびのログ

日々ではないけどログを出力していくブログ

SQL と HTML は同じ

同じなわけがない。 話半分でどうぞ。 どういうこと? ホスト言語とは違う言語を組み立てるという点が同じだよねって話。 SQL を組み立てて、RDB に渡す HTML を組み立てて、クライアントに渡す この流れが同じ。 HTML と比べて、まだまだ SQL を使うにあた…

aria-label は div や span に指定できない

aria-label を使ったら怒られた div に alia-label を指定したら Markuplint でエラーが発生した。 <markuplint> error: ロール「generic」では、ARIAプロパティ「aria-label」は許可されていません (wai-aria) aria-label について developer.mozilla.org 要素が読み上</markuplint>…

ものごとのみかた

謎ポエムの日。 この世界のすべてのものごとをみるときに、自分がどのように捉えているのかを言語化する。 自分の認識をそのまま文章にするので、かなり分かりづらいと思う。 一年以上から整理できないかを考えていて、結局整理できなかったので、諦めて出し…

React の難しいところ:値を変更したときに影響を及ぼす範囲が広い

最近 React を書いていて、これまで主に書いていた Vue.js よりも難しいな~と思うことが多かった。 何が難しいと感じているのか、その一部を言語化してみた。 難しさを一言で ここに React の関数コンポーネントを用意。 const AppComponent = (props) => {…

script setup の書き方

せっかく作ったので供養。 書き方 前提 Vue.js 3.4 以上 コード <script setup lang="ts" generic="T"> import { ref } from 'vue' // 子コンポーネント読み込み import ChildComponent from 'ChildComponent' // options defineOptions({ inheritAttrs: false }) // ---------------------------…

Union Types を過不足なく満たす配列かどうかチェックする関数

結論 type Head<T> = T extends [infer U, ...infer _] ? U : never type Tail<T> = T extends [infer _, ...infer U] ? U : never type NecessaryAndSufficientLoop<Union, Arr extends any[]> = Arr extends [] ? [Union] extends [never] ? [] : never : [ Head<Arr> extends Union ? Head<Arr> : ne</arr></arr></union,></t></t>…

仕事の効率を上げる最強の方法

その方法とは…… 「仕事を減らす」 ことだ。 仕事を減らすメリット 1. 進捗率が上がる 2. 一つのことに集中するので成果が出やすい 3. 時間ができる 仕事を減らすために 「自分が最優先」というマインドを持つ 「できません」と言う勇気を持つ 人に頼る 休職…

コードレビュー観点

雑に考えてみた。 フロントエンドのコードレビューを前提としているが、観点自体はそれにとどまらないはず。 かっこ内には代表的な概念を書いた。 大観点 コード 設計 機能要件 非機能要件 テキスト スコープ 中観点の例 コード 読みやすいか 正しく書かれて…

あいまい言葉まとめ

この記事は何? 「あいまい言葉」をまとめたもの。 あいまい言葉とは? 自分が独自に定義した単語で、「意味が何通りにも取れる・意味が曖昧で何を言っているのかわからない」となりがちな言葉を指す。 ビジネス上であいまい言葉を使うときには注意が必要で…

「なぜ」を考える

色々な業務(に限らない)には「なぜ」=理由がある。 それを考えることで、業務のレベルを飛躍的に向上させられる。 『「なぜ」を考える』とは 自分が「○○をやろう」と思ったときや、「○○のタスクをお願いします」と言われたときに、その理由を突き止めるこ…