2022.10.24 WEBシステム開発 GraphQLサーバを構築するためのGoライブラリ「gqlgen」を使ってGraphQLサーバーを構築してみる こんにちは! 今回はGoでGraphQLサーバーを作ってみたくなったのでgqlgenを利用してGraphQLサーバーを構築してみます。 INDEXGraphQLとはgqlgenとはGraphQLサーバーを構築してみるプロジェクトをセットアップしますサーバーを構築しますサーバーの実行仕上げ Gra [...]
2022.08.25 WEBシステム開発 Go WebAssemblyでブラウザ上でGoを実行する その3 Javascript側からGoの関数を呼び出す 前回の記事「Go WebAssemblyでブラウザ上でGoを実行する その2 Go側からJavascriptを操作する」では、Go側からJavascriptを操作してみました。 今回はJavascript側からGoの関数を呼び出してみようと思います。 Go WebAssemblyに関するシリーズ [...]
2022.06.21 WEBシステム開発 Go WebAssemblyでブラウザ上でGoを実行する その2 Go側からJavascriptを操作する 前回の記事「GoのコードをWebAssenblyにコンパイルしてブラウザ上でGoを実行する」では、コンパイル済みのGoのプログラムをブラウザ上で実行しただけでした。 今回は、さらにGoのプログラム側からJavascriptを操作してみようと思います。 INDEXsyscall/jsGo側からJa [...]
2022.04.25 WEBシステム開発 GoのコードをWebAssenblyにコンパイルしてブラウザ上でGoを実行する 今回は、GoのコードをWebAssenblyにコンパイルしてブラウザで動かす方法を試してみたいと思います。 INDEXWebAssemblyとはGoのコードをWebAssembly形式にコンパイルするブラウザで実行するHTMLファイルを作成するHTTPサーバを起動するさいごに WebAssemb [...]
2022.03.02 LIFEIT活用 暗号資産を使うための準備をしよう!「仮想通貨ウォレットMetaMaskのインストール&初期設定」 最近、ビットコインやイーサリアムなど、暗号資産について広告やニュースでよく見るようになりました。 よく見るようにはなりましたが、まだ触ったことが無い方も多いのではないでしょうか? 今回はそんな方のために、ブロックチェーンゲームやNFTの取引に必要不可欠な「MetaMask」の導入方法を紹介していき [...]
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 [...]
2021.12.24 WEBシステム開発 goroutineでmapにアクセスするときは排他制御をしよう Goではgoroutineを使って簡単に並行処理を書けますが、何気ないところでエラーが発生してしまうことが(筆者は)度々あります。 さらに偶然にも正常に処理が完了し、何回かに1回しか失敗しないケースの場合、なかなか気付かないこともあります。 今回はmapの競合で発生したエラーと、エラーを起こさない [...]
2021.12.15 WEBシステム開発 goでHTTPリクエストボディのサイズを制限する「MaxBytesReader」 webアプリケーションを作成していると、ユーザが誤って、もしくは悪意を持って巨大なリクエストを送ってくる場合があります。 何も対応しないとリクエストを受け付けてしまい、アプリケーションが不安定になったり無駄にメモリを確保してしまいます。 そこで今回はgoでHTTPのリクエストボディを制限するMax [...]
2021.11.26 WEBシステム開発 React18 beta の新機能を紹介する【Automatic Batching (自動バッチ処理)編】 最近 React18beta がリリースされました。今回は、React18 で追加される大きな新機能の中から「Automatic Batching(自動バッチ処理)」についてご紹介します。 INDEXReact18 の新機能インストールAutomaticBatching(自動バッチ処理)を検証R [...]
2021.11.02 WEBサイト構築・リニューアル ホームページ(HP)とランディングページ(LP)の違いは?ランディングページのメリット・デメリットを解説します。 新型コロナの影響もあり、店舗に行くよりもネット上で買い物を済ますケースが増えてきています。 検索エンジンで商品やサービスを検索すると、検索結果の上位に出てくるのは広告であるケースが多いのですが、その広告をクリックした際に移動するページは、ランディングページであることが少なくありません。 ランディン [...]
2021.10.25 BUSINESS仕事効率化ツール ウェブ会議に新たな選択肢!? AndroidとWindowsでFaceTimeを使ってみよう。 新型コロナの影響でウェブ会議が一般的になり、Zoomなどのウェブ会議ツールを使う機会が増えてきました。 みなさんはZoomの無料アカウントを利用してウェブ会議をする際に、人数や時間に制限があって不便に思ったことはありませんでしょうか。 そこで、今回はビデオ電話アプリの「FaceTime」をご紹介し [...]
2021.10.17 WEBシステム開発 【Go言語】jsonデータをstreamで扱うEncoder、Decoder型を試してみる goのjsonパッケージには、jsonデータをstreamで扱うEncoder、Decoder型があります。 今回はこのEncoder、Decoderについて紹介します。 INDEXEncoderの定義Encoderの使い方Decoderの定義Decoderの使い方さいごに Encoderの定義 [...]
2021.10.08 WEBシステム開発 goroutineリークを排除して安全に並行処理を行う方法 goroutineはgoキーワードを関数の前に書くことで簡単に起動することができます。 しかしながら、goroutineはランタイムによってガベージコレクションされないため、正常に終了させていない場合はリークしていきます。 野放しになったgoroutineたちによってプロセスごと停止にならないよう [...]
2021.09.30 WEBシステム開発 React-transition-groupでモーダルアニメーションを実装する! ReactでCSSアニメーションを扱うためのライブラリを紹介していきます。 INDEXReact-transition-groupとはインストールモーダルを実装まとめ React-transition-groupとは アニメーションそのものを提供しているのではなく、CSSをDOMに反映するタイミ [...]
2021.08.19 WEBシステム開発 goでデータ形式を識別するためのMIMEタイプを判定する方法 業務でアップロードされた画像ファイルのMIMEタイプを判別する必要があったので調査しました。 INDEXhttpパッケージのDetectContentType説明動作のサンプルファイルを読み込んでMIME判別さいごに httpパッケージのDetectContentType 調べてみるとgoのht [...]
2021.08.02 WEBシステム開発 MySQLのJSON型に含まれる値でソートをかける方法 (数値・文字列・Goのtime.Time型) MySQLのJSON型に含まれている中の値で、ソートをかける方法についてまとめたいと思います。 JSON型に変換したGoのtime.Time型をソートする方法も後半でご紹介します。 INDEX準備JSON_EXTRACTを使用する方法「->」演算子を使用する方法Goのtime.Time型を [...]