おひとり

できる限りひとりで楽しむための情報やプログラミング情報など。

Golang

【Go】アーキテクチャを考慮してWebAPIサーバのサンプルを作ってみました

なるべくクリーンな設計になるようにGoのWebサーバのサンプルを考えて見ました。 何か新しいサーバを書く際は、この構造を元にライブラリを追加するとか、レイヤーを削るとかの調整を行えるものを目指しました。 この記事では、今回作成いたサーバを解説しま…

GoでGraphQLのSubscriptions(サーバ)の実装。RedisのPub/Subを使って複数サーバ構成に対応

この記事では、GraphQLのSubscriptionをGoで実装してみます。ただし、複数台のサーバを用意する構成を意識するため、RedisのPub/Subを使います。

GoでGraphQLのSubscriptions(サーバ)のシンプルな実装

この記事では、GoでGraphQLのSubscriptionsを実装(gqlgen利用)する方法を紹介します。 非機能要件やモジュール化を極力抑え、必要最小限のサンプルを作ってハンズオンします。

【Go】何か処理をしながらタイムアウトをチェックする

Goでリアルタイムな処理をしながらタイムアウトを検出する方法を紹介します。 チャンネルとcontextを使った2種類の方法を解説します。

【Go】スライス変数の仕組み -スライスヘッダについて

golangのスライス変数についてまとめます。スライスヘッダに含まれる情報や、関数に渡した時の概念図を示します。 スライスを関数に渡したけど呼び出しもとに反映されない、、、といったトラブルシューティングのヒントになる知識です。

Goによる排他制御 ~ RWMutexによるRLockとLock

GoのRWMutexを使った排他制御(RLockとLock)についてサンプルコードと図を交えて書きます。

Golangでリアルタイムにstdoutに出力された文字列を取得する方法

Golangから*.shのシェルスクリプトを実行するさい、実行中の結果をリアルタイムに取得したかったので、試行錯誤してみました。言い換えれば、実行完了を待たずに、途中結果を取得する方法です。

Golangでtarを作成する方法

Golangでtarファイルを作成する方法です。変数に格納されたデータ、ディスク上のファイル、それぞれをtarに詰める方法を紹介します。