blank identifyで受けるテク

この記事はミクシィ20新卒 Advent Calender 2019 4日目の記事になります。 adventar.org 実は僕は19新卒なんですが、20新卒採用で内定をいただいているので「俺は20新卒やぞ」という強い意志でこの記事を書いています。 怒られたらやめますって書いてたんで…

Golangでパスを正規化する

Golangでパスを正規化しようとしてたんですけど、どうも簡単に実装できるらしいことがわかったのでその話。

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

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

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

なんか最近異常にブログの下書きが溜まっていて、書きかけの記事が全部で100件を超えました。 その中でGoでこんな書き方できるよ〜みたいなのが結構いっぱいあって、一気にまとめて放出したくなったのでその話。

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

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

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

ちょっとしたことではあるんですけど、スライスを使ってこういう書き方をするとよさそうです。 Weekday := []interface{}{"月曜日", "火曜日", "水曜日", "金曜日"}Attribute("weekday",String,func(){ Enum(Weekday...)}) スライスとスライスを結合したいと…

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

現実的な時間&空間計算量でハッシュ値から平文を割り出せるレインボーテーブルというデータ構造を知ったので、その解説と実装と対処法の話。 ※この記事における「平文」は意味の正確さより、ニュアンスを大事にしてください。

Cookpad Spring 1day Intern 自作キーボードコースに参加しました

Cookpad Spring Intern 自作キーボードコースに参加してきたので、その記録です。

MacでconfigdがCPUをめちゃくちゃ食って重くなる問題の原因と解決策

ある日朝起きると僕のMacBook Airがファンをブンブン言わせていて、不信に思ってアクティビティモニタを覗くと、configdというプロセスのCPU使用率が95%前後で張り付いていてびっくりした話。

Go2 ではジェネリクスが入りそうという話

来たる Go2 ではもしかしたら Generics が入りそうだということを知ったのでその話。

Golangでヘッダとボディを指定してHTTPリクエストを投げる

GolangでHTTPリクエストを投げたいときに、http.Get()とかhttp.Post()ばっかり使っていて、Headerに認証情報を持たせてリクエストを投げたいときに、投げ方が分からなかったのでその話。

毎回忘れるcurlのオプションまとめ

curlのオプションを何回調べても覚えられないので、自分用の備忘録として書き留めておきます。

GolangでSQLで取得したNULL値を読みたい

GolangでDBからnullableなカラムからデータを取得しようとしたときに、地味につまづいたのでその話。

goaでControllerでDBアクセスする話

最近goaでAPIサーバを書いてるんですけど、DBアクセスしたいときにControllerからDBクライアントをどうやって呼び出すかを色々考えてた話。

GolangでNamed Result Parametersを使っていつもより簡潔にエラー処理を書く

GolangでNamed Result Parametersを使った関数を書いているときに、ふと気づいたことがあったのでその話。

Golangでトランザクションを使う話

今までに作ったWebサービスは基本的にハッカソンで作ったものだけで、いつも適当に動けばいいやと思ってトランザクションを今まで使ったことなかったんですけど、この前初めてトランザクションを書いたのでその話。

Gophers.slack.com に参加した話

普段Twitter deckを使ってTwitterをしているんですけど、最近Golangの検索タブを追加したことで、いろんな情報が流れてくるようになりました。 そこでGophers.slack.comの存在を知ったので参加してみたので今日はその話。

どこかでゴミcommitが混ざってしまったときはgit bisectを使おう

開発中に適当にcommitしていたら気がついたらビルドできなくなっていて、どのcommitからビルドできなくなったのか分からなかったので、地道にマージしてはいけなかったcommitを探してたんですけど、どうもこういうのを上手に探す方法があることを知ったので…

Golangのビルドタグについて

Golangのビルドタグというものを知ったのでその話。

技術書展5にサークル参加してきた話

技術書展5に行ってきました。 サークル参加で「Dockerで始めるゲームボーイアドバンス開発入門 vol.1」を頒布して来たのでその話。 shumon-84.booth.pm

GolangのRange Clauseの落とし穴

Golangでrangeを使っていたら、変な落とし穴にハマって辛かったのでその話。

Google Cloud Functionsで環境変数っぽいものを使う

Cloud Functionsで開発環境と本番環境でプロジェクト名とかもろもろの環境変数を使いたくなったんですけど、探してみたらまだBeta版の機能だけど、こういうのがありました。 Using Environment Variables | Cloud Functions Documentation | Google Cloud

DatastoreのエンティティをBigQueryに自動でバックアップする

Datastore --エクスポート--> GCS --インポート--> BigQuery GCSの変更をフックして呼ばれたCloud FunctionsからBigQueryにインポートするAPIを叩く。 GAEのcron.yamlを使って毎晩Datastoreからエクスポートさせると、自動でバックアップがBigQueryに溜まっ…

Goでjsonをエンコードするときのあれこれ

Goでjsonをエンコードしたいときに、地味に迷ったのでその辺の話。

Cloud Functionsで叩けるシェルコマンド一覧

Cloud Functionsでgcloudコマンドが叩きたくなったんですけど、gcloudがインストールされているか分からなかったので、$PATHを調べるついでに、$PATHが通っている全てのコマンドも調べてみました。

初めてLaTeXで技術書を書いて売るまでにやったこと

先日、コミックマーケット94で「Dockerではじめるゲームボーイアドバンス開発本」という技術書を頒布しました。 booth.pm BOOTHでモノクロ紙書籍+カラーPDFが購入できます。在庫余ってるのでみんな買ってください() 初めて技術書を書いたので、それまでに色…

Windowsで使ってたHDDがLinuxでマウントできない話

最近自宅のメインPCをWindowsからLinuxに変えて、SSDは完全に初期化してインストールしたんですけど、HDDの方はデータ残したら、HDDがうまくマウントできなくなって困った話

Golangで謎エラーが出た

MacでGoをアップデートしたら、見たことないエラーが出てきてびっくりしたのでその話。 なんかgoがビルドできないんだけど、なにこの症状 pic.twitter.com/zARlo8ef31— しゅもん (@shumon_84) 2018年5月16日

Pythonで日本語 + パイプを使うと死ぬ

イマイチPythonに慣れないので、普段はちょっとした自動化とかは基本的にシェルスクリプトと併用してるんですけど、コマンドラインで直接実行すれば動作するのに、シェルスクリプトからPythonを呼び出すと動作しないみたいなことがあったので、その時にやっ…

xargsは出力をコマンド引数に渡すだけのコマンドではない

最近まで、xargsは 「コマンドの出力結果を別のコマンドの引数に使う」 ためのコマンドだと思ってたんですけど、どうもそれだけのコマンドではないらしいのでその話。