blog.syfm

徒然なるままに考えていることなどを書いていくブログ

Notes

gRPC のトランスポートを任意の実装に差し替えられる grpchan を試す

GitHub を眺めていたら protoreflect や gRPCurl で有名な jhump 氏が fullstorydev org 配下に面白いリポジトリを公開していることに気づいた。 github.com grpchan は gRPC Channel の抽象を定義・提供し、HTTP/2 ではなくインメモリや HTTP/1.1 などのト…

gRPC リフレクションはなにをしているか?

gRPC リフレクションは、対象の gRPC サーバがどのようなサービス、メソッドを公開しているかを知るための機能です。 gRPC を使う上でリフレクションを有効にすると、gRPCurl や Evans といったツールを使う際に Protocol Buffers などの IDL を直接的に読み…

Go の t.Cleanup がとてもべんり

Go 1.14 で testing パッケージに新しく t.Cleanup(func()) や b.Cleanup(func()) が導入されました。 最初は今まで defer を使っていたところを置き換えられるくらいしか良いところがないかな〜と思っていましたが、想像以上に柔軟な使い方ができるので今ま…

Go 1.13 にアップデートするとテスト時に "flag provided but not defined" エラーが発生するケース

Go でテストを実行する際は動的に生成された main 関数がエントリポイントとなっています。 Go 1.13 からはテスト実行時のテストフラグ (-v や -coverprofile など) の登録がこの生成された main 内で行われるようになったため、 main より先に実行される in…

モノレポで Go Modules を使う

Multi-Module Repository Go Modules では Git で管理されているリポジトリ内に複数のモジュールを定義することが可能です。*1 これを利用すると、たとえばプロジェクト内で使う Go ツールの依存管理をプロジェクトのコードとは異なる go.mod で行うことがで…

esa、Google Cloud Functions、Hugo、Netlify で簡易 CMS をつくる

Hugo は、Markdown ファイルを元にブログポストの HTML を静的に生成することのできるツールです。Hugo で生成した HTML を Netlify や GitHub Pages にデプロイすることでブログをホストするためのサーバを用意せずにブログを公開することができます。 しか…

A Philosophy of Software Design を読んだ

A Philosophy of Software Design作者: John Ousterhout出版社/メーカー: Yaknyam Press発売日: 2018/04/06メディア: ペーパーバックこの商品を含むブログを見る 170 ページくらいの洋書で、ソフトウェアの Complexity (複雑さ) について扱っている。洋書で…

一年を振り返り… (2018)

去年は syfm.hatenablog.com 1月 初日の出 高校の友人らと毎年恒例の初日の出を見に行った。 end of 就活 1月のカレンダーの予定を見てみたら毎週就活関連で東京へ行っていた。1月で全て終わったので以降はだいぶ落ち着いた。 OpenAppLab Aizu LT feat. Cyb…

一年を振り返り… (2017)

去年は 👇 syfm.hatenablog.com

GitHub に草を生やし続けて一年が経った

去年の今頃から毎日 GitHub に commit しようと決心し、最近 365 日を達成しました! いい感じ なぜかデフォルト表示の方の左上が白くなってますが、ちゃんと一年経っています。 意図 そもそもなぜ始めようとしたかというと、技術の習得には input と output…

Go にコントリビュートするまでの手順

最近、ついに Go (golang/go) にコントリビュートしました! 正確にはレビュー中で、レビューが通ってもマージされるのは Go 1.10 なので、だいぶ先は長いですが取り敢えず自分のできることは一通り終わりました。 Go ではレビューシステムに GitHub は使っ…

ホームページを移行した・続

今日のお昼ごろに以下のようなエントリを書いたら、id:upamune さんから Netlify なるサービスを教えていただいた! syfm.hatenablog.com www.netlify.com パッと見めちゃくちゃ良さそうなので早速試してみた。 以下のように、GitHub や Bitbucket と連携し…

ホームページを移行した

(ホームページと言えばいいのかランディングページと言えばいいのか未だに曖昧…。) http://syfm.0t0.jp から https://www.syfm.me へ移行 既存の環境 今までは MyDNS という DDNS サービスで syfm.0t0.jp というドメインを使っていて、デプロイ方法と環境に…

Amazon Product Advertising API で AWS.InvalidAssociate エラー

ちょっと Amazon Product Advertising API (PAAPI) を利用する必要があって、ドキュメントを読みながら進めていたら、以下のようなエラーに悩まされた。 かなりハマったので備忘録的な感じで書いておきたい。 ちなみに、REST API で ItemSearch を叩いていた…

今年読んだ本

一年振り返りエントリから分離した記事です。 技術書・小説・漫画に分けました。 メインのエントリはこちら↓ syfm.hatenablog.com 技術書 マスタリングTCP/IP 入門編 第5版作者: 竹下隆史,村山公保,荒井透,苅田幸雄出版社/メーカー: オーム社発売日: 2012/02…

Google Capture The Flag Write-up

4/30の午前2時から5/2の午前2時までの48時間でGoogle Capture The Flagが開催されていました。 今回はチームwabisabiのメンバーとして参加しました。全チーム中では318/2403、0点のチームを除いた中では318/911でした。 解けた問題は以下の4問です。 In Reco…

LINE BOT APIを使ってグルコスのある最短距離のゲーセンを特定する

動機 最近、botが急激に流行ってきているなぁと感じます。LINEやFacebook、SkypeなどでもAPIを提供し始めています。そこで今回、1万名限定でLINEのBOT API Trialが無料で利用できたのでつられてみました。 とはいえ、botを具体的に何に使うかを全く考えてい…

パスワードマネージャをKeePassに移行した

経緯 最近、アルバイト先の会社の社員さんと話した際にパスワードマネージャの話になった。 今までのパスワードマネージャは、覚えてる限りだと、「ID Manager」→「LastPass」→「1Password」という感じで移行してきた…はず。 スマホが登場する前まではパスワ…