2022.06.29 WEBシステム開発 安全性、速度、並行性を兼ね備えた言語と、巷でうわさの「Rust」を覗いてみる(その3:所有権) “うわさの「Rust」を覗いてみる”第三弾となる今回は、「The Rust Programming Language」を読みながら所有権の部分を覗いていきたいと思います。 参照 https://doc.rust-lang.org/book/ https://doc.rust-jp.rs/boo [...]
2022.06.21 WEBシステム開発 Go WebAssemblyでブラウザ上でGoを実行する その2 Go側からJavascriptを操作する 前回の記事「GoのコードをWebAssenblyにコンパイルしてブラウザ上でGoを実行する」では、コンパイル済みのGoのプログラムをブラウザ上で実行しただけでした。 今回は、さらにGoのプログラム側からJavascriptを操作してみようと思います。 INDEXsyscall/jsGo側からJa [...]
2022.05.18 WEBシステム開発 初心者が「Git」を実務で使えるようになったら、どうしても知っておいて欲しいコマンド3選 弊社ソリューション事業部ではほとんど全ての案件でgitを導入してプロジェクトの管理をしております。そこでエンジニア歴間もない筆者が、具体的に実務ではどのように使っているかをお伝えしたく、この記事を書きました。 gitに関する基本的なことを、前々回の基本編、前回の実務編を通して紹介しました。しかし、 [...]
2022.05.13 WEBシステム開発 プロダクトにReact Testing Library(RTL)を導入してみてハマったこと みなさんテスト書いてますか。 恥ずかしながら、筆者が開発中のプロダクトでは、現状ではお世辞にもテストがあるとは言えない状況です。 今回は開発中プロダクトにReact Testing Library(RTL)を導入してハマったことについてご紹介したいと思います。 INDEXReact Testin [...]
2022.04.25 WEBシステム開発 GoのコードをWebAssenblyにコンパイルしてブラウザ上でGoを実行する 今回は、GoのコードをWebAssenblyにコンパイルしてブラウザで動かす方法を試してみたいと思います。 INDEXWebAssemblyとはGoのコードをWebAssembly形式にコンパイルするブラウザで実行するHTMLファイルを作成するHTTPサーバを起動するさいごに WebAssemb [...]
2022.04.19 WEBシステム開発 安全性、速度、並行性を兼ね備えた言語と、巷でうわさの「Rust」を覗いてみる(その2:変数) 前回の記事「安全性、速度、並行性を兼ね備えた言語と、巷でうわさの「Rust」を覗いてみる(その1)」に続き、今回は「The Rust Programming Language」を読みながら、変数の部分を覗いていきたいと思います。 参照 https://doc.rust-lang.org/boo [...]
2022.03.28 WEBシステム開発 今話題のPHPフレームワーク「Laravel」を使ってみた(実装編) 前回記事「今話題のPHPフレームワーク「Laravel」を使ってみた(準備編)」では、Laravelのインストールと設定についてご紹介しました。 今回は公式ドキュメントを元に、簡単なToDoリストを作ってみようと思います。 INDEX筆者の環境コントローラの実装ビューの実装ToDo追加画面の実装 [...]
2022.03.23 WEBシステム開発 「Git」の基本を押さえて、実務で使えるようになるまで(実務編) 弊社ソリューション事業部ではほとんど全ての案件でgitを導入してプロジェクトの管理をしております。そこでエンジニア歴間もない筆者が、具体的に実務ではどのように使っているかをお伝えしたく、この記事を書きました。 今回は実務編ということで、前回「基本編」で紹介したコマンドを使用して、実務ではどのように [...]
2022.03.17 WEBシステム開発 Reactのerror boundaryでキャッチされないエラーをキャッチできるようにする INDEXReactのerror boundaryerror boundaryがキャッチしないエラーWindow: unhandledrejection イベントerror boundary が非同期コードをキャッチできない理由unhandledrejectionに対応したerror bound [...]
2022.03.17 WEBシステム開発 Google Workload identity federationでGitHub Actionsを設定してみた 現在開発中のプロジェクトでReactで構築したSPAのアプリケーションを開発しています。 提供方法はビルドしたReactのアプリケーションをGoogle Cloud Storage(GCS)に配置する方式でしたので、継続的なデプロイを円滑に進めるためにGitHub ActionsによるCI/CDを [...]
2022.03.08 WEBシステム開発 安全性、速度、並行性を兼ね備えた言語と、巷でうわさの「Rust」を覗いてみる(その1) 今回は巷で話題になっている言語「Rust」を覗いていきたいと思います。 私が業務に利用している言語はGoです。 Goはガベージコレクション(以下、GC)があるのですが、RustはGCがありません。 GCのおかげで安全にメモリを利用できるわけですが、RustはGCが無くても安全にメモリを利用できるら [...]
2022.02.22 WEBシステム開発 【Go】go.modのreplaceでローカルのモジュールを参照する goで複数のモジュールを組み合わせて機能を実装する場合にgo.modでモジュールをimportして使うのですが、importしたモジュール側に実際にどんな値が渡されてきているのかを調べたい場合にモジュールにデバッグコードを追加してpushし、利用側で変更したモジュールを更新する必要があります。 1 [...]
2022.01.28 WEBシステム開発 Chromatic で Visual Regression Testingを導入する方法 Visual Regression Testing とは 日本語で画像回帰テストといい、画像の差分を検出するスナップショットテストの一つです。 このテストを導入する理由は改修による予期せぬ UI の崩れを見つけることです。 今回は、Storybook用のツール「Chromatic」で Visual [...]
2022.01.28 WEBシステム開発 「Git」の基本を押さえて、実務で使えるようになるまで(基本編) 弊社ソリューション事業部では、ほとんど全ての案件でgitを導入してプロジェクトの管理をしております。そこでエンジニア歴間もない筆者が、具体的に実務ではどのように使っているかをお伝えしたく、この記事を書きました。 gitが便利なのは知っていて使ってみたいけど、具体的にどうやって使えばいいのか、また実 [...]
2022.01.21 WEBシステム開発 今話題のPHPフレームワーク「Laravel」を使ってみた(準備編) GoogleTrendsで最近のPHPフレームワークの動向を調べるてみると、目に見えて「Laravel」が群を抜いて上昇しています。 引用:GoogleTrends 弊社ソリューション事業部では主にCodeIgniter3やSymfony、Slim4などのフレームワークを用いてPHP開発を行ってき [...]
2021.12.24 WEBシステム開発 goroutineでmapにアクセスするときは排他制御をしよう Goではgoroutineを使って簡単に並行処理を書けますが、何気ないところでエラーが発生してしまうことが(筆者は)度々あります。 さらに偶然にも正常に処理が完了し、何回かに1回しか失敗しないケースの場合、なかなか気付かないこともあります。 今回はmapの競合で発生したエラーと、エラーを起こさない [...]
2021.12.15 WEBシステム開発 goでHTTPリクエストボディのサイズを制限する「MaxBytesReader」 webアプリケーションを作成していると、ユーザが誤って、もしくは悪意を持って巨大なリクエストを送ってくる場合があります。 何も対応しないとリクエストを受け付けてしまい、アプリケーションが不安定になったり無駄にメモリを確保してしまいます。 そこで今回はgoでHTTPのリクエストボディを制限するMax [...]