ゴミクズがスタートアップするブログ

日常に飲まれないためのサードプレイス

田舎者が分不相応にもHikarie.goに行った話

f:id:anconium:20140813160903p:plain

こんにちは

この頃のfrontendの開発環境の複雑さに舌打ちする@_sgtnです

Hikarie.goに行ってきました

原因不明の揺れで倒壊待ったなしらしいヒカリエ上層部、DeNAさんでハンズオン形式の勉強会でした

きっかけ

仕事の関係で東京に越してきたばっかりだったので友達が欲しかった

Docker, Libswarm, Kubernetesなどのコンテナ管理ツールのソースを読んでて気になってきたので来ました。あと@_kai_inuiから教えてもらったHashicorpというVagrantなどを作っている会社がとてもイカしたGolangの会社だったので。

ミームさんありがとうございました

得られたもの

  • 友達
  • golangで1から至極簡便なapiサーバーを作る程度の能力
  • sushi

内容

nodeのすごいひとにしか見えない@yosuke_furukawaさん

17歳PRMLマンこと@7yan00さん

のお二人が主催でした。

時間があったので受付から手伝うことに。

ヒカリエ11F綺麗ですね。

ベタですが受付のお姉さんも綺麗です。

そして20F(たしか)のDeNAさんもきれいですね。

隣の部屋でアイドルがキャーキャーいってたようですが、ショールームというサービスの関係らしいですね。

閑話休題

ハンズオンの内容

@yosuke_furukawaさんのgithubリポジトリ

を見ると分かるのですが、

  1. net/httpを触ろう
  2. net/httpを深く知ろう
  3. jsonエンコード/デコードしよう
  4. fileのioをしよう(DBによるデータ永続化の代わりの意味で)
  5. 簡単なapiを作ろう

という流れになっています。

もくもく書きます。

気付いたこと

  • やはりerr変数多用するなあということ
  • import部分非常に読みやすい
  • importで呼んだのに使ってないライブラリや、宣言して使ってない変数はコンパイル時にエラーを吐いてくれるので変なところで苦しまなくて良い
  • 自分で定義した型にinterfaceを使って関数を追加する様がオブジェクト指向と似ているがどこか違っていて新鮮だった(型システムを学ぶ必要性を感じる)
  • 文字列をbyte型で扱うところやポインタを扱う面はあるけど、アレルギー反応を起こすことなくすんなり使える

よく分からなかったところ

  • 2章でnet/httpを呼んでいた際に内部的にgoroutineが使われていたりしたけれど、自分で書けと言われるとムムムとなる
  • m := user.(map[string]interface{})という一行の解読の辛さ(structやmapの扱いを知らねば)
  • rubyで言うところのインスタンス変数っぽいことがしたいんだけど・・・」とか思ってもすぐに目的の情報にありつけない。golangの語彙を身につけねばならない。

お開き

なんとsushiが出ました。なんたる財力。ありがとうございます。

f:id:anconium:20140812210949j:plain

PRMLやjuliaやErlangHaxeや、こないだローンチしたmilkcocoaやSFラノベの話などしながら楽しい時間を過ごせました。

Hikarie.goで得たもの

学習とか成果とか突きつけられるプログラマーという仕事ですけど、プログラマーとしてリアルを充実させるやり方はいくらでもあるんだなあって感想を抱きました。

福岡から東京にきて4日程度ですが、なんとか生きていけそうです。

宣伝

milkcocoaの便利さをもっとたくさんの人に分かってもらいたい、のですが、とてもじゃないけど今の状況からコードを書き始めるのはハードルが高いので、技術ブログ的なことも始めます。よろしくお願いします。