2023.07.25 WEBシステム開発 jotai v2.2.0 で入った atomWithDefault の破壊的変更による影響と対策 jotai v2.2.0 で atomWithDefault に破壊的変更が入った // suppose we have this const asyncAtom = atom(() => Promise.resolve(1)); const countAtom = atomWithD [...]
2023.07.12 WEBシステム開発 PHPのコード例でSOLID原則を理解する(LSP編)~保守性の高いソフトウェア開発の実現を目指して~ ご無沙汰しております。 今回も前回の「PHPのコード例でSOLID原則を理解する(SRP・OCP編)」の続きで、理解しているつもり、使えているつもり、になっているかもしれないSOLID原則をおさらいしていきます。 今回はSOLID原則のうちの、「L」にあたる、 LSP(Liskov Substit [...]
2023.07.12 WEBシステム開発 TypeScript で引数の値によって返り値の型を絞り込みたい!!! やりたいこと 引数に “A” | “B” の Union 型を取る 引数の値が A の時は返り値の型は { readonly type: “A”, readonly foo: striin [...]
2023.07.10 WEBシステム開発 安全性、速度、並行性を兼ね備えた言語と、巷でうわさの「Rust」を覗いてみる(その9:スライス型) みなさまお久しぶりです。 今回は「The Rust Programming Language」を読みながら、 スライス型ついてみていきたいとおもいます。 参考 https://doc.rust-lang.org/book/ https://doc.rust-jp.rs/book-ja/ (日本 [...]
2023.04.04 WEBシステム開発 安全性、速度、並行性を兼ね備えた言語と、巷でうわさの「Rust」を覗いてみる(その8:参照と借用) みなさまお久しぶりです。 今回も「The Rust Programming Language」を読みながら、参照と借用についてみていきたいとおもいます。 参考 https://doc.rust-lang.org/book/ https://doc.rust-jp.rs/book-ja/ (日本 [...]
2023.03.17 WEBシステム開発 PHPのコード例でSOLID原則を理解する(SRP・OCP編)~保守性の高いソフトウェア開発の実現を目指して~ ご無沙汰しております。 前回の記事では「2023年はフロントエンドに関する記事を書きたいな」と言ってたのですが、ちょっと違うことに関する記事を書きたくなってしまいました。技術の移り変わりが激しいと言われる昨今ですが、もしかしたら筆者の関心の移り変わりの方が激しいかもしれません。 話を戻しまして、今 [...]
2023.03.13 WEBシステム開発 PHP8で名前付き引数が使えるようになっていたのでまとめてみた 前回の記事ではPHP8にて実装されたmatch式を紹介しました。 PHP8の変更点を調べていたところ、ついに名前付き関数が使えるようになったようなのでまとめてみようと思います。 INDEX名前付き関数とは?名前付き関数の利点引数の意味が自己文書化(self-documenting)される引数を任 [...]
2023.03.09 WEBシステム開発 WSL2のUbuntu 22.04をAnsible playbookを使って環境構築してみる 寒い季節から段々と暖かくなり、目や鼻がむずむずする季節性の風邪が起こりやすい季節になってきました。 つまり環境構築のいい季節ですね。 今回はWSL2のUbuntu 22.04をAnsible playbookを使って環境構築してみたいと思います。 Ansibleの紹介 Ansible について A [...]
2023.03.08 WEBシステム開発 PHP8で実装されたmatch式がとても便利だったのでまとめてみた PHP7.4のセキュリティサポートが2022年11月28日に終了し、PHP8に移行していくなかで、新しく実装されたmatch式がとても便利で使いやすかったので勉強も兼ねてまとめてみようと思います。 INDEXmatch式とはmatch式の構文switch文との違いmatch式の比較は、 swit [...]
2023.02.10 WEBシステム開発 安全性、速度、並行性を兼ね備えた言語と、巷でうわさの「Rust」を覗いてみる(その7:参照と借用) みなさまお久しぶりです。 今回も「The Rust Programming Language」を読みながら、参照と借用についてみていきたいとおもいます。 参考 https://doc.rust-lang.org/book/ https://doc.rust-jp.rs/book-ja/ (日本 [...]
2023.01.13 WEBシステム開発 【Vue.js】コンポーネントの基本を理解して使ってみたい 新年あけましておめでとうございます。 前回の記事「【Vue.js】ドラッグ&ドロップでアップロードした画像をプレビュー表示してみる」で初めてVue.jsに関して書いてみましたが、新年早々、Vue.jsの特徴の1つでもあるコンポーネントの基礎について学習する機会がありました。 使い回しが出来たり、そ [...]
2023.01.10 WEBシステム開発 Beyond the render hooks (return component from hooks) pattern. ~それでもReactでReact.FCを返すカスタムフックを作りたい!!~ 「ハンマーを持つ人にはすべてが釘に見える」という格言に耳が痛いと思う今日この頃です。 みなさん render hooks パターン使ってますか。 今回は記事タイトルの通り React.FC を返すカスタムフックを作りたい!! という筆者の願望を叶えるべく試行錯誤した内容をお送り [...]
2022.12.14 WEBシステム開発 安全性、速度、並行性を兼ね備えた言語と、巷でうわさの「Rust」を覗いてみる(その6:参照と借用) みなさまごきげんよう。 今回も「The Rust Programming Language」を読みながら、 参照と借用についてみていきたいとおもいます。 参考 https://doc.rust-lang.org/book/ https://doc.rust-jp.rs/book-ja/ (日本 [...]
2022.11.15 WEBシステム開発 【Vue.js】ドラッグ&ドロップでアップロードした画像をプレビュー表示してみる 最近、 input type=”file” を使った画像をアップロードと、アップロードした画像のプレビューを実装する機会がありました。 そこで今後のために、 input type=”file” だけでなく、ドラ [...]
2022.11.14 WEBシステム開発 Visually Hiddenパターンでアクセシビリティに配慮したマークアップを意識する React Testing Library や Chrome の開発者ツールでアクセシビリティツリーが見えるようになるなど、最近はただ見た目通りにマークアップするだけではなく、アクセシビリティに配慮したマークアップも必要なスキルセットになってきている流れを感じます。 筆者といえば、最近HTMLやC [...]
2022.10.24 WEBシステム開発 GraphQLサーバを構築するためのGoライブラリ「gqlgen」を使ってGraphQLサーバーを構築してみる こんにちは! 今回はGoでGraphQLサーバーを作ってみたくなったのでgqlgenを利用してGraphQLサーバーを構築してみます。 INDEXGraphQLとはgqlgenとはGraphQLサーバーを構築してみるプロジェクトをセットアップしますサーバーを構築しますサーバーの実行仕上げ Gra [...]
2022.10.21 WEBシステム開発 安全性、速度、並行性を兼ね備えた言語と、巷でうわさの「Rust」を覗いてみる(その5:所有権と関数) 今回も「The Rust Programming Language」を読みながら、所有権と関数を覗いていきたいと思います。 参考 https://doc.rust-lang.org/book/ https://doc.rust-jp.rs/book-ja/ (日本語) 過去の記事 安全 [...]