blank identifyで受けるテク

この記事はミクシィ20新卒 Advent Calender 2019 4日目の記事になります。

adventar.org

 

実は僕は19新卒なんですが、20新卒採用で内定をいただいているので「俺は20新卒やぞ」という強い意志でこの記事を書いています。

怒られたらやめますって書いてたんですけど、誰にも怒られなくてよかった。

 

特に良いテーマが思いつかなかったので、普通に Go の話を書きます。 

Goでは、プログラム中に登場する"_"(アンダースコア1つ)の識別子を、blank identifyと呼ばれ、他の命名の識別子とは明確に区別されて処理されます。

ここしばらくGoを書いてきて、かなりトリッキーな使い方ができることが分かってきたので、その話です。

続きを読む

Goでカバレッジを取ってテストされていないコードをハイライトする

go testでカバレッジ取れるのは知ってたんですけど、思ったより簡単にテストのプロファイルまで取れてびっくりしたのでその話。

続きを読む

オシャレでカッコイイGolangテク 15選

なんか最近異常にブログの下書きが溜まっていて、書きかけの記事が全部で100件を超えました。

その中でGoでこんな書き方できるよ〜みたいなのが結構いっぱいあって、一気にまとめて放出したくなったのでその話。

続きを読む

英語のドキュメントを読むときに覚えておくと良さそうな語彙

最近は英語力をつけたくて、英語のドキュメントを読むときにできるだけGoogle翻訳に頼らないようにしてるんですけど、頻出っぽい単語とか熟語とかで初見のとき意味が分からなかったり誤読したりしたやつをまとめた。

続きを読む

goaでEnumを使い回したいときのちょっとしたTips

ちょっとしたことではあるんですけど、スライスを使ってこういう書き方をするとよさそうです。

Weekday := []interface{}{"月曜日", "火曜日", "水曜日", "金曜日"}
Attribute("weekday",String,func(){
Enum(Weekday...)
})

 

スライスとスライスを結合したいときに、よくappendを使って,

hoge := []int{}
fuga := []int{}
hoge = append(hoge, fuga...)

みたいなことをしますが、これの応用です。

 

Golangの可変長引数はスライスを使って、一気に与えることができるのは覚えておくと、他の場面でも活きそうですね。

 

SHA256とかMD5とかのハッシュ値から逆算して平文を割り出すツールを作った話

現実的な時間&空間計算量でハッシュ値から平文を割り出せるレインボーテーブルというデータ構造を知ったので、その解説と実装と対処法の話。

 

※この記事における「平文」は意味の正確さより、ニュアンスを大事にしてください。

続きを読む