2022.07.11 WEBシステム開発 Reactのレンダリング、差分検出処理の仕組みを学ぶ 恥ずかしながらReactのレンダリングとは何か、差分検出処理とは何かをよく分からずに、 再レンダリングを回避するため雰囲気でReact.memoを使ってきました。 今回はReactのレンダリングと差分検出処理について調べました。 Reactの差分検出処理とは 参照https://ja.reac [...]
2022.05.13 WEBシステム開発 プロダクトにReact Testing Library(RTL)を導入してみてハマったこと みなさんテスト書いてますか。 恥ずかしながら、筆者が開発中のプロダクトでは、現状ではお世辞にもテストがあるとは言えない状況です。 今回は開発中プロダクトにReact Testing Library(RTL)を導入してハマったことについてご紹介したいと思います。 React Testing Lib [...]
2022.03.17 WEBシステム開発 Reactのerror boundaryでキャッチされないエラーをキャッチできるようにする Reactのerror boundary error boundary は自身の子コンポーネントツリーで発生した JavaScript エラーをキャッチし、エラーを記録し、クラッシュしたコンポーネントツリーの代わりにフォールバック用の UI を表示する React コンポーネントです。error [...]
2022.03.17 WEBシステム開発 Google Workload identity federationでGitHub Actionsを設定してみた 現在開発中のプロジェクトでReactで構築したSPAのアプリケーションを開発しています。 提供方法はビルドしたReactのアプリケーションをGoogle Cloud Storage(GCS)に配置する方式でしたので、継続的なデプロイを円滑に進めるためにGitHub ActionsによるCI/CDを [...]
2021.11.08 WEBシステム開発 Reactのprops drilling(バケツリレー)とhooksに我々はどう立ち向かっていけばよいのか 最近Reactに入門しました。 アプリケーションの規模が大きくなってくると問題になってくる一つにprops drilling(バケツリレー)と呼ばれるものがあります。 今回はprops drilling(バケツリレー)が“つらい”と思ってから、どのように立ち向かっていったのか一例をご紹介します。 [...]
2021.09.09 WEBシステム開発 Windowsで至高のターミナル生活を求めて(番外編:ArchLinux on WSL2) 以前の記事「Windowsで至高のターミナル生活を求めて(Windows Terminal編)」 ではWindows Terminal + Ubuntu-20.04 on WSL2をご紹介しました。 Ubuntu-20.04もとてもいいLinuxディストリビューションだと思いますが、MSYS2を使 [...]
2021.07.07 WEBシステム開発 VueとReactのプロジェクトをHMR(ホットリロード)が爆速と噂の「Vite」を使って構築してみる Vitehttps://vitejs.dev/ Vite(ヴィート)はVue.jsの作者のEvan You氏が開発した次世代フロントエンドツーリングです。 公式では以下のように説明してます。 以下、Google翻訳 On demand file serving over native ESM [...]
2021.05.08 WEBシステム開発 Docker Desktop on WSL2でWin32パスを使用したファイル操作でハマったこと 皆さんファイル操作していますか。 単純な文字列や、簡便な正規表現での置換処理であれば sed や perl のワンライナーで置換することもあるかと思います。 ただ、複雑な置換操作になると何かしらのアプリケーション、スクリプトを書いて置換しないと辛い時 [...]
2021.03.09 WEBシステム開発 実装してみると意外と難しい「PHPで年齢を計算する方法」を紹介します 弊社では、健診予約システム等の構築を制作させていただく機会があります。 予約システムでは、ユーザの生年月日をもとに年齢を算出する必要があるのですが、考慮しないといけないポイントがいくつかあり、意外とややこしいです。 そこで今回は、PHPで年齢を計算する方法を紹介します。 なお、今回の検証で使用した [...]
2021.01.12 WEBシステム開発 PHPのマイクロフレームワーク「Slim4」の「slim-skeleton」を使用してハマったこと Slim は PHP のマイクロフレームワークです。 アプリケーション開発までのセットアップを短時間でできるように、公式で slim-skeleton を提供しています。 今回は PHP のバージョン 7.2 以降で使用可能な Slim4 を使用してハマったことの記録です。 記事で使用し [...]
2020.11.05 WEBシステム開発 「Functional PHP」PHPのための関数型プリミティブライブラリを触ってみた 今回はFunctional PHPの学習用テストコードを書いてFunctional PHPを触ってみたいと思います。 1. Functional PHPとは 参照https://github.com/lstrojny/functional-php PHPのための関数型プリミティブの機能セッ [...]
2020.09.09 WEBシステム開発 Windowsで至高のターミナル生活を求めて(Windows Terminal編) 前回の記事「Windowsで至高のターミナル生活を求めて(Alacritty編)」ではクロスプラットフォーム対応のAlacrittyをご紹介しました。 今回はMicrosoft謹製の「Windows Terminal」をご紹介します。 1. Windows Terminalのインストール Mic [...]
2020.07.03 WEBシステム開発 Windowsで至高のターミナル生活を求めて(Alacritty編) ターミナルのいい季節になってきた今日この頃。またお会いしましたね。前回の記事「Windowsで至高のターミナル生活を求めて(MSYS2編)」ではMSYS2をご紹介しました。 今回はクロスプラットフォームのGPUを使用する高速なターミナルエミュレーターが売りのRust製のAlacrittyをインスト [...]
2020.05.07 WEBシステム開発 Windows 10 Insider Previewに参加して「WSL2」をインストールする方法 2020年3月13日に「Windows10 version 2004」でWSL2がGAになるとアナウンスがありました。 WSL2 will be generally available in Windows 10, version 2004 記事執筆時の2020年4月30日では、まだ「Wind [...]
2020.02.28 WEBシステム開発 Windowsで至高のターミナル生活を求めて(MSYS2編) 当社では普段の開発環境にLinuxを用いており主にWindows PCからSSHで接続して作業をすることが多いですが、vagrantやdocker、npmなどの普及によりローカルでの作業も増えてきました。WindowsにはTeraTermやPuttyなどの有名なSSHクライアントがありますが、ロー [...]
2019.12.27 WEBシステム開発 SSL/TLSを使用してMySQLサーバへ暗号化接続する方法を検証してみた ブラウザでSSLで暗号化されていないサイトへアクセスすると警告がでるようになるなど、ネットワーク通信の通信データにおけるセキュリティ意識が年々高まっていると感じます。 データベースにおいてもグローバルネットワークを通して通信する場合には十分な注意を払う必要があります。 今回はMySQLサーバへ [...]
2019.11.12 BUSINESS仕事効率化ツール Google Apps Script (GAS)を使った業務効率化「社員へのリマインドを自動化してみた」 当社では毎月実施するセキュリティチェックなど提出期限の決まった定型業務があります。 担当者が提出期限前に口頭やメールなどでリマインドを行ってくれていますが、定期的にリマインドを送る担当者の負担になってしまいます。 今回はGoogle Apps Script (GAS)を使ってGoogleスプレ [...]