アプリケーション

223 件の記事

ADRのテンプレートファイルを生成するコマンド
アプリケーション 2023-11-10

ADRのテンプレートファイルを生成するコマンド

アーキテクチャ決定記録(ADR)のテンプレートファイルを生成するMakeコマンドの実装を紹介する記事。自動採番やステータス管理を備えたコマンドの中身を、実際のMakefileの記述とともにメモとして残す。

#Architecture Decision Record
GraphQLとは?実例で学ぶ完全ガイド
アプリケーション 2023-11-09

GraphQLとは?実例で学ぶ完全ガイド

GraphQL の完全入門ガイド。クエリ・ミューテーションの仕組み、REST との比較、実際に使い始めるための実践的なサンプルを解説します。

#GraphQL
HTTP Routerの自作で参考にした資料
アプリケーション 2023-10-30

HTTP Routerの自作で参考にした資料

自作のHTTPルーター「goblin」の開発で参考にした、各種の資料や自分のブログ記事をまとめた記事です。radix木やトライ木といったデータ構造、ベンチマーク比較など、GoでHTTPルーターを自作する際に役立つ情報を、分散していたものを集約して紹介します。

#router#HTTP#URLルーティング#リンク集
slogを使ったContextual Logging
アプリケーション 2023-10-08

slogを使ったContextual Logging

Go 1.21以降のlog/slogを使ったコンテキスト付き構造化ログを解説。カスタムslog.HandlerやcontextからのトレースID注入、JSON出力を紹介します。

#slog#contextual logging
Goのresponse.WriteHeaderの副作用について
アプリケーション 2023-09-11

Goのresponse.WriteHeaderの副作用について

response.WriteHeaderの複数回呼び出しによる副作用を解析し、bytes.Bufferを使った回避方法とtemplateのExecute処理の実装パターンを提示。

#Golang#Tips
GoでServeMuxの機能拡張を提案するProposalがAcceptedになった
アプリケーション 2023-08-31

GoでServeMuxの機能拡張を提案するProposalがAcceptedになった

Goのnet/http ServeMuxに動的ルーティングとパスパラメータを追加するProposalがAcceptedに。goblinなどサードパーティルーターやGoのルーティングの今後への意味を解説します。

#Golang#router#HTTP
Go言語100Tips 開発者にありがちな間違いへの対処法
アプリケーション 2023-08-27

Go言語100Tips 開発者にありがちな間違いへの対処法

『Go言語100Tips 開発者にありがちな間違いへの対処法』の書評。Goで陥りがちなミスを100個のTipsとして網羅的にカバーする一冊。ある程度Goに書き慣れた人が、コードの品質をもう一段上げたいときに手元に置いておきたい。

#Golang#書評
Goのhttp.RoundTripperについて
アプリケーション 2023-08-22

Goのhttp.RoundTripperについて

http.RoundTripperインターフェースを実装してHTTPクライアント側のミドルウェア的処理を実装し、ログ・認証・キャッシュ・リトライの例を示す。

#Golang
Goでfan-in/fan-outを実装する|並行処理パターン
アプリケーション 2023-08-21

Goでfan-in/fan-outを実装する|並行処理パターン

Goのchannelとgoroutineを活用したfan-in/fan-outパターンを実装し、複数入力を集約・分散する並行処理設計を解説。

#fan-in#fan-out
Template MethodパターンとStarategyパターンについて
アプリケーション 2023-08-20

Template MethodパターンとStarategyパターンについて

GoFの振る舞いに関するデザインパターンである、Template MethodパターンとStrategyパターンの違いについてまとめた記事です。大枠の処理を上位クラスで決めて具体的な流れを下位クラスに任せる継承ベースの手法と、戦略を差し替える委譲ベースの手法を比較し、それぞれの実装と使い分けを解説します。

#Strategy#デザインパターン
Go言語による分散サービス
アプリケーション 2023-08-18

Go言語による分散サービス

『Go言語による分散サービス』の書評。Goを用いた分散サービスの実践を、手を動かしながら学べる一冊。マイクロサービス文脈でのモダンな技術や構成の背景、実装の進め方まで実践的に理解を深められる。

#Golang#書評
実用Go言語
アプリケーション 2023-08-05

実用Go言語

『実用Go言語』の書評。ある程度Goを書いてきた人でも、知らなかった・忘れていた実務的な知見に気づける一冊。エラー型の命名など細やかな作法から、実務でGoを書くうえで押さえておきたい定石までを幅広く扱う。

#Golang#書評
再帰処理の苦手なところ
アプリケーション 2023-07-08

再帰処理の苦手なところ

再帰処理を書く際につまずきやすい、return文の扱いやコールスタックの評価について解説する記事です。再帰が得意ではないという筆者自身の視点から、処理がどのように積み重なって評価されるのかを、克服のための考え方とともに整理します。

#アルゴリズム
プログラマー脳
アプリケーション 2023-06-26

プログラマー脳

『プログラマー脳』の書評。認知科学のアプローチを用いて、コーディングという創造的なプロセスを科学する一冊。コードを速く正確に読み書きできる人の頭の中で何が起きているのかを解き明かし、記憶や学習の仕組みから、プログラミング力の根っこを鍛えるヒントを与えてくれる。

#認知科学#書評#コードリーディング
プログラミング脳をこれから鍛える本
アプリケーション 2023-06-24

プログラミング脳をこれから鍛える本

『プログラミング脳をこれから鍛える本』の書評。算数を題材に、プログラミングにつながる思考法をトレーニングする一冊。内容は平易で、これからプログラミング的な考え方に触れる人の入口に向く。大人には物足りない場合もあるが、思考の基礎を確かめられる。

#ロジカルシンキング#書評
デプロイ戦略を解説:ブルーグリーン・カナリア・ローリング等の比較
アプリケーション 2023-06-03

デプロイ戦略を解説:ブルーグリーン・カナリア・ローリング等の比較

ブルーグリーン・カナリア・ローリング・リクリエイトといった代表的なデプロイ戦略を比較します。デプロイ・リリース・ロールバックの定義を整理したうえで、それぞれの仕組みと長所短所、ダウンタイムを最小化するための選び方と使い分けを解説します。

#デプロイ
PyroscopeでContinuous Profiling
アプリケーション 2023-05-07

PyroscopeでContinuous Profiling

Pyroscopeを使った継続的プロファイリングを解説。サーバー構築、pull型プロファイリング、保持期間の設定、Grafana連携の方法を紹介します。

#プロファイリング
DefaultServeMux以外でpprofを使う方法
アプリケーション 2023-04-30

DefaultServeMux以外でpprofを使う方法

Goのnet/http/pprofを、DefaultServeMux以外の独自のルーターと組み合わせて使う方法についてのメモです。pprofをblank importするだけでは動かないというハマりどころを取り上げ、カスタムルーターにpprof.Indexなどのハンドラを自分で登録してパフォーマンス分析を行う実装を紹介します。

#Golang#Tips
Goのhtml/templateでURLをエンコードさせない
アプリケーション 2023-04-23

Goのhtml/templateでURLをエンコードさせない

Goのhtml/templateがURLを自動エンコードする理由と、template.URLを使ってエンコードさせずに生のURLを渡す方法を、最小の動作例つきで解説します。

#Golang#Tips
buildxを使ったGoアプリケーションイメージのクロスコンパイル
アプリケーション 2023-04-20

buildxを使ったGoアプリケーションイメージのクロスコンパイル

Docker buildxのマルチアーキテクチャビルドで、GoアプリをLinux AMD64とARM64向けにクロスコンパイルしてイメージ化する方法を解説します。

#Golang#Docker