タグ

ブックマーク / zenn.dev/hsaki (4)

  • 作ってわかる! はじめてのgRPC

    gRPCは主にバックエンド、特にマイクロサービス同士の通信に多く使われる通信方式です。 しかしそれゆえに知名度が低く、「gRPCってどんな通信なんだろう?」「HTTPとは別の仕組みなの?」と思っている方もたくさんいるのではないでしょうか。 このでは、gRPCはそもそもどんなコンセプトで作られた通信方式なのかから、Goでの具体的な実装ノウハウ、AWSにデプロイするための設定までを通貫して解説することで、 「gRPC全くわからない」という人が「自分で実装して動かせそうな気がする……!」と思える段階までたどり着けるようにしました。

    作ってわかる! はじめてのgRPC
  • GitHub ActionsにおけるStep/Job/Workflow設計論

    この記事について GitHub Actionsには、以下3つの実行単位が存在します。 Workflow Job Step パイプラインを組む中で出てくる複数個の処理を、1つの実行単位でまとめてしまうか、それとも分割するのかというのは悩むポイントかと思います。 一つのstepのrunフィールドにコマンドを詰め込む?それともstepを分けた方がいい? 一つのJobの中のstepとして記述した方がいい?それとも別のJobに定義した方がいい? 一つのWorkflowの中にJobをたくさん定義する?それともWorkflowを別にする? この記事では、Workflow・Job・Stepそれぞれの性質を踏まえた上で、ベストな処理単位の選び方を考察します。 使用する環境・バージョン GitHub Actions: 2022/5/15時点での機能をもとに考察 読者に要求する前提知識 GitHub Actio

    GitHub ActionsにおけるStep/Job/Workflow設計論
  • よくわかるcontextの使い方

    Goの標準パッケージにはcontextパッケージというものが存在します。 このパッケージは、net/httpやdatabase/sqlのような現実の事象と対応している何かが存在するようなパッケージではないため、初学者にとっては使い道がわからない、となってしまいがちです。 しかしcontextパッケージは、複数のゴールーチンを跨いだ処理を実装する際には非常に強力な力を発揮する、とても便利なパッケージなのです。 このでは、「contextとは何か?」というところから「どのように使えばいいのかわかる」ところまでたどり着けるように、Goのcontextまわりのことを解説しました。

    よくわかるcontextの使い方
  • Goでの並行処理を徹底解剖!

    並行処理をうまく使うのは難易度が高めです。 それゆえに、go文とチャネルについて基的な文法書で知った後「並行処理ちゃんとできる!」の段階まで自力でたどり着くのは大変でしょう。 このは、 *「並行処理ってやって何が嬉しいの?」 *「ゴールーチンとかチャネルとかって一体何者?」 *「ゴールーチンやチャネルを使ったうまいコードの書き方が知りたい!」 *「Goランタイムで並行処理をどううまく処理しているか知りたい!」 といった要望にお答えする、「Goでの並行処理」に関連した事柄について網羅的・徹底的に書きまくったものです。

    Goでの並行処理を徹底解剖!
  • 1