2016年を振り返って

定量的な振り返りとしてGitHubの草を置いてみる。

f:id:hkdnet:20161230150110p:plain

f:id:hkdnet:20161230150215p:plain

合計: 5319 contributions

定性的な振り返りとして隔月のことを思い出して適当に書く。

1月

昨年の11月末で前職をやめて、今の職場に入りました。
前まで ASP.NET Web Form をやってたけど Ruby + Rails + MySQLという感じになって何がなんだかわからない感じで過ごしていた記憶があります。
とりあえずギョーム的にも最初のほうは暇だったのでわかるようになるまでひたすら rails new してました。そしたらなんとなくRailsの気持ちがわかるようになっていまもなんとなく使ってます。たぶん結局3週間で7回くらいやってる。

2月

どう書くが復活したので参加。ここからなるだけ参加するようにしている。

気が向いて西日暮里.rbに初参加したのがこの月だったと思う。場所は五反田っていう西日暮里の外れのほう*1でした。
2016年の隠れ目標としてどっかのコミュニティに参加して活動するというのがあって、それで選んだのが西日暮里.rbでした。
この後開催されることになる「オブジェクト指向設計実践ガイド読書会」などの企画もあって、適当に参加した割に当たりだったなと思っています。どう書くのときに声を書けて頂いたmtsmfmさんに感謝。

3月

副業が始まったのがたぶんこのくらい。
書いたことのないphpを使って、顔も知らないチャットとかでの連絡も出来ない前任者が書いたコードを、使ったことないフレームワークに載せ替える、という仕事でした。
しかもコード読んでおかしくね?って思って仕様書見ると仕様と全然違うとかあったりして笑う。笑いながらいっぱい直しました。

サービスとして2つのシステムがあってそのうちの片方を担当してました。JSONうけとってなんやかんやして返す、っていうプロトコルだったのだけど、実際に疎通確認ほとんどしないままがーっと作ってからえいやでくっつけて動いたのがほんとよかった。状態少ないシステムだったからなんとかなったけどこれ状態多かったら死んでたね。もうちょいインクリメンタルにやっておくべきだったねと反省した*2

直前でがっちゃんこした割にはその後のバグも少なく、実際リリースした後のバグもそこそこ少なく抑えてきているはず。これはほんとチームメンバーに恵まれたからだと思う。ありがとうございます。

4月

たぶん本業でCrystalのCLI書いてたのがこの時期くらい。Crystalを業務で書いてる人、世界に何人いるんだろうなって思いながら書いてた。

5, 6, 7月

たぶんJSONAPI::Resourcesとかの勉強してました。たぶん。あんまり記憶にない。
忘れてたけどたぶんこのあたりにGitHubパーカー買ってるのでmmyojiさんと初めて会ったりしてるはず。

8月

ブログから察するにCI環境ととのえるべ、っていってShippableつかってみてこれでよさそうだねってなったときかな。さっきから記憶じゃなくてブログ記事に頼ってることに気づいたので来年はもうちょいブログ書いたほうがよさそうだぞ。
Shippableの記事は例えばCI環境のマシン自体が殺された場合全然キャッシュ効かねえとかそういうのがあってまためんどくさい感じがあるのでまだ実は全然プロジェクトで使ってません。すみませんすみません

9月

4月頃に作ってたCrystalのCLIRubyで書き直してた。Crystalを業務で書いてた人、まあそこそこいるかもだけどそれをRubyで書き直してるのたぶんあんまりいないだろうなって思いながらやってた。

10月

謎。完全に空白。

末にオブジェクト指向設計実践ガイドの読書会をやっていてよかった。
これは来年にたぶん最後の9章やると思うのでちゃんと出席して終わりたい。7,8章のところ参加できなかったのが悔やまれる。

あとたぶん3, 4月に書いた副業のコードをリファクタし始めたのもこの頃だと思う。過去の自分のコードに向き合うのはだいぶつらいことを再確認した。

11月

近況っていうエントリがあったからヒントになるかなって思って覗いたらだらだら漫画の感想書いてるだけで過去の自分に殺意が湧いた。

hkdnet.hatenablog.com

それはそれとしてここに書いてあるように青春のアフターが最高で、ひたすら最高なので是非陰キャラオタク系男子には読んで頂きたい。あの Rebuild.fm でも紹介されてましたよ!!!*3

高校時代の友人にあったらCOBOL使いからWEB系jserに転身してたのでテンションがあがってLINEbot作ろうって話になった。
結局bot作成はbot作るぞってのじゃなくてサービスがあってそれの一つのUIとしてbotがあるっていう形式じゃないとつらいよねって話になってbot作成の気持ちは消えてしまったわけだけどLINEbotの作成に役立ちそうな画面は作りました。まだカルーセルとか対応してないですけどふつーの動作確認には使えると思います。

github.com

書いてなかったけどShinjuku.rbにいってLTしてきました。初LTでした。
喋り慣れてる感じがしますねって言われてのはたぶんどう書くのおかげです。ありがとうございます。

12月

「ECS使うべECS!」っていって色々調べものしてたらよくわかんないまま死んだ。今も死んでいる。つらい。
インフラ関連について気軽に聞ける人がいないのは結構困っていて、まあ、一言で言うとマジで困っている。

さすがにそろそろディープラーニングやっておくか、と思って始めた。たぶんいま半分くらいなんだけど楽しい。年末年始の間に終わらせたい。

www.oreilly.co.jp

来年のこと

  • もうちょっと定量的に計測できる指標を増やしたい
  • ブログもうちょっと書こう
    • 特に業務で何やってたのか謎な期間が多い

*1:西日暮里.rbの開催地は全て西日暮里ということになります

*2:とはいえ実際痛い目見てないので本当に反省できてるのかはあやしい

*3: Rebuild: Aftershow 167: Fishing, Cooking and Camping (mirakui) なおmiyagawaさんは全然興味なさそうだった

西日暮里.rb x Shinjuku.rb Extreme Fish Bowl に参加してきました

shinjukurb.connpass.com

参加してきました。楽しかったです。

雑にExtreme Fishbowlについて説明すると、集団の中の2人がペアプロして、残りが野次って、というのをずっと繰り返す感じです。 主に野次の担当をしました。

よかった

  • みんなのターミナル捌きが見れた
    • といっても環境自体はmtsmfmさんのなのでみんなちょっとずつ苦戦してたけど
  • これは後で直すとかいいながらgit commitする姿が見れた
    • こうやって技術的負債が生まれるんだなって思った
    • これは時間制限5分を徹底したせいで、ひどいときはシンタックスエラーでコミットされてて面白かった
  • 負債の返却もガンガン進んでよかった
    • これ消しましょう → 2クラスくらい消える
  • 言葉に対する認識の違いがおもったよりもあることがわかってよかった
    • マーク派 vs suit派
      • 英語的にはsuitなんだけど知らん人が結構いた
    • Deckっていったとき山札なのかトランプ1組なのか
    • このクラスの責任はどこまでなのよ問題
      • 結局神クラスが誕生した

つらかった

  • 英字キーボード
    • 僕JIS配列なんで死んだ
    • Enterのだいぶ上のほうを叩いてるのでずっとバクスラ連打してた
    • 僕「アンスコどこ!?」
    • 僕「クォートどこ!?!?」
    • 僕「コロンどこ!?!?!?」
    • C-[ でEscを打とうとしても [ の位置が違ってなんもできなかった
    • つらい

まとめ

  • お祭り的な楽しさがあってよかった
  • やっても特に設計スキルは上達しないと思う
  • 奇妙な一体感と諸行無常感があった

お祭りとしてはオススメです。

アイマスハッカソンなるものに参加して歌詞を自動生成してくれるものを作った

んだけどあんまりおもしろい結果にならなかった。

imas.connpass.com

やったこととしては、歌詞テキストを形態素解析してマルコフ連鎖でつなげるってやつ。

技術的にはだいたいこれの焼き直し。

alstamber.hatenablog.jp

  1. 気合で歌詞データを用意する
  2. マルコフする
  3. hkdnet/markov_gen
  4. 眺める

歌詞には著作権やらなんやらの権利があると思うのだけど、形態素解析して作ったものは権利的にどうなるのかわからなくてパブリックに見せていない。たぶん大丈夫な気がするが。

というわけで成果物をパブリックにするのがはばかられるのもあって厳しいところがあるがハッカソン自体は楽しかったです。

Raspberry Pi3を勢い余って買ったので無線LAN APにしてみる

github.com

気合でしました。ansibleにしてあるので実行すればたぶん動きます。 OSはnoobのほう。参考サイトとかは書いてある通りです。

注意点

  • 無線LANの口(wlan0)から受け取ったのを有線LANの口(eth0)に流してるので当然有線LANの接続が必要です
  • タグうったときには書き忘れてたけどhosts書いてください
    • hostsのグループ名をgizehから変える場合はsite.ymlのhostsも変えてください
  • gizeh/roles/wifi/templates/etc/iptables.ipv4.net はもしかしたら動かないかもです。
    • みた感じ動く気がするけど……
    • 参考サイトの "SET UP IPV4 FORWARDING" の項目に該当するので手動でやり直してみてください
  • SSIDはgizehになります

f:id:hkdnet:20161214085854p:plain

電子工作とかやるぞーっていうよりは適当なlinuxサーバとして使うつもりです。

でもアクセスポイント化すると前述のように有線LANの接続が必要になってケーブルがうざったいのでオフにする予定。 上のgithubのリンクはタグを見るようにしてるんでたぶんいつでも有効です。

yarnをnpm i -gでインストールしようとしたら怒られた

タイトルどおりです。

$ npm i -g yarn
npm WARN deprecated yarn@0.17.10: It is recommended to install Yarn using the native installation method for your environment. See https://yarnpkg.com/en/docs/install

npmじゃなくてネイティブのパッケージ管理を使おうねと言われています。
OSXならbrewUbuntuならapt-getとかそういう話です。

これなんでだろって思ってたら公式に答え書いてありました。

yarnpkg.com

Install via npmのところ。

Note: Installation via npm is generally not recommended. npm is non-determinstic, packages are not signed, and npm does not perform any integrity checks other than a basic SHA1 hash, which is a security risk when installing system-wide apps.

For these reasons, it is highly recommended that you install Yarn through the installation method best suited to your operating system.

npmでインストールするのは通常オススメできない。なんでかっていうとnpmは非決定的で、パッケージが署名されておらず、SHA1ハッシュ以外の正真性チェックを行わないから。

というわけでbrew installとかでいれましょう。

Windowsユーザーはどうすんのかなって思ったらmsiファイルとchocolateyがあるみたいです。