限定公開でまとめを作れば、相互フォローやフォロワー限定でまとめを共有できます!
このまとめをお気に入りにして応援しよう!
0
Seizan Shimazaki @seizans
Elixirのカンファレンスはこれ elixir-fest.jp を6月にやりますよ。発表内容と応募開始は近日。ゲームでも数社の人が導入話したり、ゲーム以外での利用の話もされる予定。 #sig_ns
黒河優介(YusukeKurokawa) @wotakuro
Python -> Elixirに乗り換えて、他の方からの評判はどうですか? 評判自体は良かった。見ている限りハマっている感じではなさそう。 最初はみんな関数型言語( 変数書き換えできない・状態持てない)に結構苦労はしていた様子だが、慣れるとそうでもなさそう #sig_ns
黒河優介(YusukeKurokawa) @wotakuro
開発環境へのデプロイがDockerですが、本番環境にも適応する考えですか? 考えています。基盤チームでPaasのようなものをアプリチームに提供するイメージです #sig_ns
黒河優介(YusukeKurokawa) @wotakuro
Go言語について 静的型付け・コンパイルされる・インタプリンタのような手軽さ・マルチコアを生かしやすい #sig_ns
黒河優介(YusukeKurokawa) @wotakuro
ふわっっと書いても、早く動作してくれてよい #sig_ns
neguse @neguse
2014年夏、カヤックは、Go言語を積極的に推進していきます。 kayac.com/news/2014/07/g… #sig_ns
黒河優介(YusukeKurokawa) @wotakuro
カヤックはGoを積極的に推進していきます kayac.com/news/2014/07/g… 社内ツールやインフラ関連でも積極的にGo使っている #sig_ns
黒河優介(YusukeKurokawa) @wotakuro
API・管理画面・マッチングを全てGoで書いています Dev用のツールとかもGoで書いています #sig_ns
neguse @neguse
名前を言ってはいけないGoのフレームワーク…一体何なんだ… #sig_ns
黒河優介(YusukeKurokawa) @wotakuro
GoとしてPackageや構成についていろいろと考えていかねばならない GoのWAF echo / Gin / Goji …ほかにもたくさん 沢山あるので、悩ましい -> けっきょくWAFは使わなかった #sig_ns
黒河優介(YusukeKurokawa) @wotakuro
net/http 標準パッケージで大体これで解決出来たー #sig_ns
黒河優介(YusukeKurokawa) @wotakuro
ただ全てそれだけではなく、ちょっと使ったのもある github.com/gorilla/schema これとか #sig_ns
neguse @neguse
WAFは使わず、net/httpで実装 ミドルウェアも自作 WAFを使わなくてもコード量が増えるわけではない gorilla/schema,julienschmidt/httprouterは利用 #sig_ns
黒河優介(YusukeKurokawa) @wotakuro
クライアントとのやり取りについて、だいたい自動生成 techblog.kayac.com/unity_advent_c… #sig_ns
mimic28号 @RSaGa2_mimic
2014年夏、カヤックは、Go言語を積極的に推進していきます。 | 面白法人カヤック kayac.com/news/2014/07/g… #sig_ns
黒河優介(YusukeKurokawa) @wotakuro
自動生成したおかげで、 ・テストケース作成が楽 ・デバッグ用のシナリオをGoで描くのが楽 ・負荷試験時のシナリオ作成が楽 #sig_ns
neguse @neguse
内製自動生成ツールBaalを活用 副作用として、テストやデバッグ、負荷試験のシナリオ作成が楽になった #sig_ns
黒河優介(YusukeKurokawa) @wotakuro
GoのORM沢山ある -> ORMも使わなかった 実行されるクエリがどうなるのかわからない ライブラリで或る以上、interface{}を扱うしかない場合がある ORMのお気持ちを考えるのが非常に難しい #sig_ns
黒河優介(YusukeKurokawa) @wotakuro
ただ、ORMは使わなかったが、クエリビルダーは使った ORM使わないので自動生成していた #sig_ns
黒河優介(YusukeKurokawa) @wotakuro
マスターデータはメモリ上にキャッシュするようにしていた #sig_ns
黒河優介(YusukeKurokawa) @wotakuro
単純なクエリ処理は自動生成しています。 #sig_ns
黒河優介(YusukeKurokawa) @wotakuro
DBから PrimaryKey / Uniqueキーを取得してきて、FindByUserIdのような便利機能は自動生成コード #sig_ns
mimic28号 @RSaGa2_mimic
自動生成をめっちゃ聴くなぁ〜。良いなぁ〜〜。 #sig_ns
neguse @neguse
ORMは使わなかった 汎用ライブラリを使うとinterface{}となる箇所が出てきて型があいまいになる クエリビルダーは利用 Masterminds/squirrel 自動生成を多用 #sig_ns
黒河優介(YusukeKurokawa) @wotakuro
管理ページみたいなところで、1000件ずつ見たいなページング処理あるが、そういうのも自動生成で作ってた #sig_ns
黒河優介(YusukeKurokawa) @wotakuro
自動生成のおかげで ORMに頼ることなく、生産性を上げられる #sig_ns
黒河優介(YusukeKurokawa) @wotakuro
ファイルをバイナリに詰め込むpackage。 ファイルを1個にまとめるようなpackageありますが、これも使いませんでした。 dockerのimageでやっているので、ファイル一個にする必要ないシー #sig_ns
neguse @neguse
パッケージ化 jessevdk/go-assets jteeuwen/go-bindata これらは使わず、Dockerイメージのビルド時に含めるようにした 本番環境もDocker(ECS) #sig_ns
黒河優介(YusukeKurokawa) @wotakuro
ここからはチームでの開発です。 レビュー:コードは他4人すべてのレビューを通らないとマージされない #sig_ns
黒河優介(YusukeKurokawa) @wotakuro
特殊な書き方ない、シンプルな文法 読みにくいコードはほぼかけない レビューする人が多くても開発の速度を下げない #sig_ns
neguse @neguse
コードレビュー、チーム全員がレビューしてOKだったらマージ シンプルな文法、gofmt/golint/govetがあるので開発スピードは速い #sig_ns
黒河優介(YusukeKurokawa) @wotakuro
コード読む時間の方が長いはず、そこが良いので素晴らしい #sig_ns
黒河優介(YusukeKurokawa) @wotakuro
フレームワークやORMを呼んでいると、その使い方のDocを読んでいたくない ORMの気持ちをかんがえたくない 僕はGoの事だけ考えたい。非常に楽しい #sig_ns
neguse @neguse
フレームワークやORMを使わないようにしたことで、Go標準ライブラリとアプリのことだけを考えて開発ができる フレームワークのDocument読んだりORMの気持ちを考えたりしなくてよい #sig_ns
黒河優介(YusukeKurokawa) @wotakuro
まとめ ・Goは楽しい ・標準パッケージで問題ない ・チームが大きくても開発のスピードは落ちにくい #sig_ns
Seizan Shimazaki @seizans
gofmt で自転車置き場の議論おきないのいいよね #sig_ns
黒河優介(YusukeKurokawa) @wotakuro
自動生成について、どうやっていますか? sqlをパースしてきて、そこからGoのコードを生成しています。 github.com/schemalex/sche… #sig_ns
黒河優介(YusukeKurokawa) @wotakuro
「4人のレビューを通らないとマージされない」 普通に gitでPRしています。ちゃんとPRに色々書いて投げましょう… #sig_ns
黒河優介(YusukeKurokawa) @wotakuro
チームのレビュー4人通らないとマージされないルールは、プロジェクトの最後まで守られましたか?特に忙しくなると、そういった余裕はなくなると思うので… はい。最後まで守られました。コツというわけではないのですが、自動生成されたコードについては軽くしか見てません。 #sig_ns
黒河優介(YusukeKurokawa) @wotakuro
ただ 自動生成されたコード部分に対するテストコードをちゃんと書いているか? についてはキチンとみてました。 #sig_ns
黒河優介(YusukeKurokawa) @wotakuro
定義ファイルを変更すると、それをきっかけにサーバー・クライアント側のリポジトリに、自動生成コードを適応したbranchが切られる #sig_ns
mimic28号 @RSaGa2_mimic
Go言語だからでは無く他の言語でも自動生成を、出来ると良いなぁ。 #sig_ns
黒河優介(YusukeKurokawa) @wotakuro
今日の講演、すごい面白い内容ばかりで良かった。 ElixirとかGoの話は、言語の話ではなく、それを選んだ背景・思想が出てきて非常に良かったですー。 fluentdのお話も、良い事悪い事の話があってすごい良かったですねー #sig_ns
ログインして広告を非表示にする
ログインして広告を非表示にする