理系学生日記

おまえはいつまで学生気分なのか

忍者TOOLS

golang

golang で AES/CBC/PKCS#7Padding の暗号化・復号化

golang では crypto/cipher や crypto/aes を使って、AES で暗号化を行うことができます。 しかし、ブロック暗号化であるにも関わらず、なぜかパディングが定義されていない。 これじゃ暗号化できないやんけ、ということで、これと戦った記録です。 ブロック…

gRPCをcurlのようにコンソールから呼び出せるgrpcurl

サーバを作る以上、クライアントがないと開発が面倒です。 しかし、gRPC はバイナリプロトコルである HTTP/2 上で Protocol Buffer をシリアライズに使います。 このため、テキストプロトコルである HTTP/1.x のようにクライアントとして curl を使うといっ…

gRPC サーバを golang でつくるときの基本を押さえる

gRPC サーバを作ることになったので、まずは基本的なところを押さえようと思います。 いろいろ調べつつ書いているのですが、gRPC 初心者なので、間違ったところがあれば指摘していただきたいです。 gRPC の種類 .proto からのサーバ・ソースの自動生成 gRPC …

写真のファイル名を EXIF の日時付きの名前にリネームするツールつくった

どういうものか 何に使うのか いろいろあった 画像形式 写真編集アプリで時刻情報が消失する というわけで どういうものか 指定ディレクトリ配下の JPEG あるいは HEIC ファイルの日時情報を EXIF から読み取って、YYYYmmDD-HHMMSS.ext というファイルとして…

go-modeでgodef-jumpした後、jump元に戻りたい

Emacs で go-mode を使っているとき、godef-jump でカーソル直下のシンボルの定義場所にジャンプすることができます。 一方で、そういえばジャンプ元に戻りたいんだけど…っていうときに、どうやって戻れば良いんだろっていうときに悩んでしまったのですが、 …

golangでHTTP_PROXY、http_proxy環境変数の差異を吸収する

HTTP_PROXY なのか http_proxy なのかという大文字・小文字問題は Golang において実装時にどのように吸収するべきなのか、という疑問があったのですが、 net/http/transport の実装方法がなるほどなぁというかんじでした。 まず、主役となるのは envOnce と…

みんなのGo言語

こちらも積読してたのでようやく読みました。 みんなのGo言語[現場で使える実践テクニック]作者: 松木雅幸,mattn,藤原俊一郎,中島大一,牧大輔,鈴木健太出版社/メーカー: 技術評論社発売日: 2016/09/09メディア: Kindle版この商品を含むブログを見る Golang …

The Go Programming Language

The Go Programming Language を読みました。 The Go Programming Language (Addison-Wesley Professional Computing Series)作者: Alan A. A. Donovan,Brian W. Kernighan出版社/メーカー: Addison-Wesley Professional発売日: 2015/11/05メディア: ペーパ…

Golangでジオロケーションを行ってみる

大量の住所を Google Maps 上にマッピングする必要が生じ、住所を緯度と経度に変換することになったので、いわゆるジオコーディングをプログラムすることにしました。 ジオコーディングに関しては、Google Maps API が無料で使用できて、かつ、扱いやすいの…