なんでもノート

なんでも書くノートみたいなブログ

技術記事

続・WebP対応ブラウザを判定する

WebP対応ブラウザかサーバーサイドで判定する - なんでもノートでWebP対応ブラウザをサーバーサイドで判定する方法を調べた。Acceptヘッダーに image/webp が含まれているかどうかで判定する方法をまとめた。 これ以外にUser-Agentで判定する方法がある。Web…

WebP対応ブラウザかサーバーサイドで判定する

WebP対応ブラウザかどうかをサーバーサイドで判定する方法を調べた。 判定方法 Webサービス上の画像変換とWebPの利用について | メルカリエンジニアリング が分かりやすかった。 おそらく最も一般的なのがAcceptヘッダーを使う方法だと思います。 ...(中略…

transitionendイベントとanimationendイベント

最近transitionendイベントとanimationendイベントを知った。 transitionendイベントはCSSトランジッションが終わったときに発生する。 HTMLElement: transitionend イベント - Web API | MDN 最初書いたときはtransitionedとタイポした。過去形を表すedでは…

Reactのイベントハンドラの命名

Reactのイベントハンドラの命名規則はプロジェクト、実装者によってかなりばらつきがあるように思う。以下、今まで見たことがある命名一覧(例:削除ボタンのclickイベントハンドラ)。 onClick onClickDelete onClickDeleteButton onDeleteButtonClicked ha…

Reactのコンポーネントのpropsの露出は控えめに

Reactのコンポーネントのpropsの露出は控えめにした方がいい気がする。ここでpropsの露出とは、子コンポーネントのpropsや子要素の属性を親コンポーネントのpropsにそのまま定義することを言う。現時点では「気がする」レベル。 新しいコンポーネントを作成…

自分が出したPRのコードにコメントしすぎない

PR = プルリクエスト。GitHubのPRの話。 自分が出したPRのコードにコメントをすることがある。レビュアーがレビューしやすいように補足説明している。自分以外でもこのようなPRを見かける。 それ、PRではなくコードにコメントを残すべきでは? と、ふと思っ…

SEO知識

SEOについて調べたメモ。 Q. タブレットにはパソコン用ページとスマホ用ページのどちらを返すべきか? A. パソコン用ページ その他のデバイスでのモバイル SEO | 検索セントラル | Google Developers ウェブサイトにパソコン専用ページとスマートフォン専用…

Falsyな値の条件式の書き方に迷っている

TypeScriptでの話。特に下記のような値が0の場合の条件式の書き方に迷っている。 const func = (num: number) => { if (!num) { // numが0の場合、このif文に入る } if (num === 0) { // numが0の場合、このif文にも入る } } valueがnumber型でnullやundefin…

Hostヘッダー

Host - HTTP | MDN Host リクエストヘッダーは、リクエストが送信される先のサーバーのホスト名とポート番号を指定します。 なぜかリクエスト元のサーバーのホスト名が付与されると勘違いしていた。 プロキシを挟む場合はHostヘッダーを保持するか、保持しな…

PlantUML を触ってみた

PlantUML を触ってみた。 qiita.com 上の Qiita の記事を参考に VSCode に PlantUML の環境をセットアップした。Graphviz のインストールは Mac なので Homebrew を使った。 $ brew install graphviz 変更内容がリアルタイムでプレビューに反映されるので便…

マージコミットを revert する

$ git log -n 1 --oneline 45dfc9c (HEAD -> master) Merge branch 'hoge' マージコミットを revert したい。 $ git revert 45dfc9c error: commit 45dfc9cee233c97679df476d06e41216d87bafbe is a merge but no -m option was given. fatal: revert failed …

GitHub Actions をとめた

とある理由で GitHub Actions のワークフローが必要なくなった。GitHub Actions の利用時間の節約のためにワークフローの起動を止めたくなった。 .github/workflows/~workflow>.yml を削除する方法が思い付いたが、他の方法を探した。以下の方法が見つかった…

git checkout と git switch

だいぶ前に git checkout の代わりに? git switch が追加されたと話題になっていた。が、git switch を理解しないまま今に至ってしまったので調べた。 qiita.com git switch だけでなく、git restore も追加されていたらしい。 TL;DL ブランチの変更は git …

ghq を使ってみた

ghq を使ってみた。 github.com リモートリポジトリの管理をいい感じにしてくれるらしい。 導入手順 インストール brew install ghq リモートリポジトリを clone ghq get git@github.com:azujuuuuuun/azujuuuuuun.github.io.git ~/ghq/github.com/azujuuuuuu…

A Tour of Go を読んだ

A Tour of Go を読んだ。 go-tour-jp.appspot.com Exercies を飛ばして、さらっと読んで1時間45分くらいかかった。 Go の文法を初めて見たのでメソッドやゴルーチンに面食らった。 API サーバーを書いて慣れたい。