SIG-NetworkSystem#8 ツイートまとめ

下記イベントのツイートまとめです https://techplay.jp/event/666753
0
Seizan Shimazaki @seizans

Elixirのカンファレンスはこれ elixir-fest.jp を6月にやりますよ。発表内容と応募開始は近日。ゲームでも数社の人が導入話したり、ゲーム以外での利用の話もされる予定。 #sig_ns

2018-05-12 15:01:10
黒河優介(YusukeKurokawa) @wotakuro

Python -> Elixirに乗り換えて、他の方からの評判はどうですか? 評判自体は良かった。見ている限りハマっている感じではなさそう。 最初はみんな関数型言語( 変数書き換えできない・状態持てない)に結構苦労はしていた様子だが、慣れるとそうでもなさそう #sig_ns

2018-05-12 15:01:21
黒河優介(YusukeKurokawa) @wotakuro

開発環境へのデプロイがDockerですが、本番環境にも適応する考えですか? 考えています。基盤チームでPaasのようなものをアプリチームに提供するイメージです #sig_ns

2018-05-12 15:02:34
黒河優介(YusukeKurokawa) @wotakuro

Go言語について 静的型付け・コンパイルされる・インタプリンタのような手軽さ・マルチコアを生かしやすい #sig_ns

2018-05-12 15:12:11
黒河優介(YusukeKurokawa) @wotakuro

ふわっっと書いても、早く動作してくれてよい #sig_ns

2018-05-12 15:12:44
neguse @neguse

2014年夏、カヤックは、Go言語を積極的に推進していきます。 kayac.com/news/2014/07/g… #sig_ns

2018-05-12 15:14:13
黒河優介(YusukeKurokawa) @wotakuro

カヤックはGoを積極的に推進していきます kayac.com/news/2014/07/g… 社内ツールやインフラ関連でも積極的にGo使っている #sig_ns

2018-05-12 15:14:24
黒河優介(YusukeKurokawa) @wotakuro

API・管理画面・マッチングを全てGoで書いています Dev用のツールとかもGoで書いています #sig_ns

2018-05-12 15:16:29
neguse @neguse

名前を言ってはいけないGoのフレームワーク…一体何なんだ… #sig_ns

2018-05-12 15:17:25
黒河優介(YusukeKurokawa) @wotakuro

GoとしてPackageや構成についていろいろと考えていかねばならない GoのWAF echo / Gin / Goji …ほかにもたくさん 沢山あるので、悩ましい -> けっきょくWAFは使わなかった #sig_ns

2018-05-12 15:17:38
黒河優介(YusukeKurokawa) @wotakuro

net/http 標準パッケージで大体これで解決出来たー #sig_ns

2018-05-12 15:18:01
黒河優介(YusukeKurokawa) @wotakuro

ただ全てそれだけではなく、ちょっと使ったのもある github.com/gorilla/schema これとか #sig_ns

2018-05-12 15:18:59
neguse @neguse

WAFは使わず、net/httpで実装 ミドルウェアも自作 WAFを使わなくてもコード量が増えるわけではない gorilla/schema,julienschmidt/httprouterは利用 #sig_ns

2018-05-12 15:19:05
黒河優介(YusukeKurokawa) @wotakuro

クライアントとのやり取りについて、だいたい自動生成 techblog.kayac.com/unity_advent_c… #sig_ns

2018-05-12 15:20:09
mimic28号 @RSaGa2_mimic

2014年夏、カヤックは、Go言語を積極的に推進していきます。 | 面白法人カヤック kayac.com/news/2014/07/g… #sig_ns

2018-05-12 15:20:15
黒河優介(YusukeKurokawa) @wotakuro

自動生成したおかげで、 ・テストケース作成が楽 ・デバッグ用のシナリオをGoで描くのが楽 ・負荷試験時のシナリオ作成が楽 #sig_ns

2018-05-12 15:21:13
neguse @neguse

内製自動生成ツールBaalを活用 副作用として、テストやデバッグ、負荷試験のシナリオ作成が楽になった #sig_ns

2018-05-12 15:21:21
黒河優介(YusukeKurokawa) @wotakuro

GoのORM沢山ある -> ORMも使わなかった 実行されるクエリがどうなるのかわからない ライブラリで或る以上、interface{}を扱うしかない場合がある ORMのお気持ちを考えるのが非常に難しい #sig_ns

2018-05-12 15:22:11
黒河優介(YusukeKurokawa) @wotakuro

ただ、ORMは使わなかったが、クエリビルダーは使った ORM使わないので自動生成していた #sig_ns

2018-05-12 15:22:53
黒河優介(YusukeKurokawa) @wotakuro

マスターデータはメモリ上にキャッシュするようにしていた #sig_ns

2018-05-12 15:23:14
黒河優介(YusukeKurokawa) @wotakuro

単純なクエリ処理は自動生成しています。 #sig_ns

2018-05-12 15:23:40
黒河優介(YusukeKurokawa) @wotakuro

DBから PrimaryKey / Uniqueキーを取得してきて、FindByUserIdのような便利機能は自動生成コード #sig_ns

2018-05-12 15:24:46
mimic28号 @RSaGa2_mimic

自動生成をめっちゃ聴くなぁ〜。良いなぁ〜〜。 #sig_ns

2018-05-12 15:25:15
neguse @neguse

ORMは使わなかった 汎用ライブラリを使うとinterface{}となる箇所が出てきて型があいまいになる クエリビルダーは利用 Masterminds/squirrel 自動生成を多用 #sig_ns

2018-05-12 15:25:27
黒河優介(YusukeKurokawa) @wotakuro

管理ページみたいなところで、1000件ずつ見たいなページング処理あるが、そういうのも自動生成で作ってた #sig_ns

2018-05-12 15:25:46
黒河優介(YusukeKurokawa) @wotakuro

自動生成のおかげで ORMに頼ることなく、生産性を上げられる #sig_ns

2018-05-12 15:26:50
黒河優介(YusukeKurokawa) @wotakuro

ファイルをバイナリに詰め込むpackage。 ファイルを1個にまとめるようなpackageありますが、これも使いませんでした。 dockerのimageでやっているので、ファイル一個にする必要ないシー #sig_ns

2018-05-12 15:27:39
neguse @neguse

パッケージ化 jessevdk/go-assets jteeuwen/go-bindata これらは使わず、Dockerイメージのビルド時に含めるようにした 本番環境もDocker(ECS) #sig_ns

2018-05-12 15:28:26
黒河優介(YusukeKurokawa) @wotakuro

ここからはチームでの開発です。 レビュー:コードは他4人すべてのレビューを通らないとマージされない #sig_ns

2018-05-12 15:28:26
黒河優介(YusukeKurokawa) @wotakuro

特殊な書き方ない、シンプルな文法 読みにくいコードはほぼかけない レビューする人が多くても開発の速度を下げない #sig_ns

2018-05-12 15:29:21
neguse @neguse

コードレビュー、チーム全員がレビューしてOKだったらマージ シンプルな文法、gofmt/golint/govetがあるので開発スピードは速い #sig_ns

2018-05-12 15:29:51
黒河優介(YusukeKurokawa) @wotakuro

コード読む時間の方が長いはず、そこが良いので素晴らしい #sig_ns

2018-05-12 15:29:59
黒河優介(YusukeKurokawa) @wotakuro

フレームワークやORMを呼んでいると、その使い方のDocを読んでいたくない ORMの気持ちをかんがえたくない 僕はGoの事だけ考えたい。非常に楽しい #sig_ns

2018-05-12 15:30:59
neguse @neguse

フレームワークやORMを使わないようにしたことで、Go標準ライブラリとアプリのことだけを考えて開発ができる フレームワークのDocument読んだりORMの気持ちを考えたりしなくてよい #sig_ns

2018-05-12 15:31:28
黒河優介(YusukeKurokawa) @wotakuro

まとめ ・Goは楽しい ・標準パッケージで問題ない ・チームが大きくても開発のスピードは落ちにくい #sig_ns

2018-05-12 15:31:50
Seizan Shimazaki @seizans

gofmt で自転車置き場の議論おきないのいいよね #sig_ns

2018-05-12 15:32:04
黒河優介(YusukeKurokawa) @wotakuro

自動生成について、どうやっていますか? sqlをパースしてきて、そこからGoのコードを生成しています。 github.com/schemalex/sche… #sig_ns

2018-05-12 15:34:00
黒河優介(YusukeKurokawa) @wotakuro

「4人のレビューを通らないとマージされない」 普通に gitでPRしています。ちゃんとPRに色々書いて投げましょう… #sig_ns

2018-05-12 15:37:20
黒河優介(YusukeKurokawa) @wotakuro

チームのレビュー4人通らないとマージされないルールは、プロジェクトの最後まで守られましたか?特に忙しくなると、そういった余裕はなくなると思うので… はい。最後まで守られました。コツというわけではないのですが、自動生成されたコードについては軽くしか見てません。 #sig_ns

2018-05-12 15:38:26
黒河優介(YusukeKurokawa) @wotakuro

ただ 自動生成されたコード部分に対するテストコードをちゃんと書いているか? についてはキチンとみてました。 #sig_ns

2018-05-12 15:39:37
黒河優介(YusukeKurokawa) @wotakuro

定義ファイルを変更すると、それをきっかけにサーバー・クライアント側のリポジトリに、自動生成コードを適応したbranchが切られる #sig_ns

2018-05-12 15:43:07
mimic28号 @RSaGa2_mimic

Go言語だからでは無く他の言語でも自動生成を、出来ると良いなぁ。 #sig_ns

2018-05-12 15:45:15
黒河優介(YusukeKurokawa) @wotakuro

今日の講演、すごい面白い内容ばかりで良かった。 ElixirとかGoの話は、言語の話ではなく、それを選んだ背景・思想が出てきて非常に良かったですー。 fluentdのお話も、良い事悪い事の話があってすごい良かったですねー #sig_ns

2018-05-12 15:45:35

コメント

コメントがまだありません。感想を最初に伝えてみませんか?