体はドクペで出来ている

インフラ、Goの割合が多い技術ブログ

Golang

GolangのContext入門

Contextとは何か? Golangには context という標準パッケージがあります(以前は実験パッケージ golang.org/x/net/context でしたがGolang1.7から標準採用されました)。これは「コールグラフの下流をまとめてキャンセルさせたい」「リクエストスコープな値…

sync.Poolの使い方

はじめに Golangには平行処理でよく使う機能がまとめられたパッケージ sync があります。この中には Pool という構造体がありその名の通り何らかの使うものを貯めておけ、必要なタイミングでそれを取り出し不要になったらまたしまう、という仕組みを簡単に作…

Go言語によるWebアプリケーション開発 第4章で得られたことと感想

Go言語によるWebアプリケーション開発 第4章「ドメイン名を検索するコマンドラインツール」が終わったので得られた事と感想をまとめます。

Go言語によるWebアプリケーション開発 第3章で得られたことと感想

Go言語によるWebアプリケーション開発 第3章「プロフィール画像を追加する3つの方法」が終わったので得られた事と感想をまとめます。

Go言語によるWebアプリケーション開発 第2章で得られたことと感想

Go言語によるWebアプリケーション開発 第2章「認証機能の追加」が終わったので得られた事と感想をまとめます。

Go言語によるWebアプリケーション開発 第1章でやったことと感想

始めに Go言語によるWebアプリケーション開発 第1章「WebSocketを使ったチャットアプリケーション」が終わったので得られた事と感想をまとめます。

Webチャットで最低限必要な要素を実装する

前回に続きオライリーのGo言語によるWebアプリケーション開発勉強記です。 今回はチャットルームのモデル化について。

書籍勉強記を始めます & Golangの sync.Once についてメモ

始めに オライリーの Go言語によるWebアプリケーション開発 を購入したので今日から少しずつ進め、そのレポートを連載したいと思います。 始めは1章ごとにメモや感想を書いて行こうかと思ったのですが、やってみたらそこそこのボリュームになりそうだったの…

go-playground/validatorでバリデーションを行う時のメモ

入門 Go言語で構造体のメンバーに対してバリデーションを行いたいというのはよくあるケースかと思います。 これを正規表現でチマチマやるのは中々に面倒だと思いますが、go-playground/validatorを使えば下記のように所定のルールに沿ったタグを付けることで…

大量に登録されているDatastoreのEntityをElasticsearchに投入する

背景 とあるWebアプリがAppEngine (Golang)で稼働しており、Datastoreに大量の記事(約500,000件)が蓄積されている。 これはRSS Feedから取得した記事でOGPのタイトルや概要が含まれている。 記事のタイトルと概要に対し全文検索を行う要件が新たに発生した…