golang.tokyo #7 参加レポート

· 1936 words · 4 minute read

@インテリジェンスさんのコワーキングスペース Tech play(旧dots) で開催された勉強会の参加メモです。

当日の様子(動画)

https://crash.academy/class/105/


登壇#1

from インテリジェンス MIIDASをつくっているエンジニアの方。

  • フロントエンド: HackとFuelPHP, React
  • バックエンド: Go

自前で作ってるやつ

  • DBからgorm用のDBモデルを生成するやつ
  • PHのセッションを読み込んでGpの構造体に読み込むやつ
    • Cookieからセッション取ってきてGoの構造体にするやつ 逆もやる
    • Goの定数からJS/Swifit/kotolinのクラスを自動生成するやつ(今は実験段階)
    • go generateで定義を読み込んでファイルに書き出す(stringer利用)
  • Goエンジニアを 本気で 募集してる

LT#1

from woem株式会社 スタートアップでメディアサイトの制作運用してる方。 Go歴8ヶ月くらい。

Goでffmpgのラッパーを作った話

  • アプリのAPIサーバとバッチ書いてる
  • フレームワークBeegoを使っている(闇があるんじゃないか…と思いながら手探りで…)
  • mp4(動画)をローカルでHLSに変換するCLIツール作った
  • スタートアップでお金かけられないから、自前で作った(ほんとはelastic使いたい…)
  • GOを導入した理由
    • CLIつくりやすそう(ブログ多い)
    • クロスコンパイル楽そう
  • GoでCLIツール使うのに、cobra使った(使わないかCobraの二択かなと思って…)
  • 設定ファイルライブラリにviper使った(使う必要なかったかも)
  • 動画編集はめっちゃ楽になった、ツール拡張の夢も広がった

LT#2

HARoiD.incの方。

API叩くときどうするか問題

  • API叩いたあとの処理、どうしよう
    • interface{}でがんばる

    • structがんばってつくる

    • jsonqのようなツール使う

      -> JsonをGoのStructに変換するツール作った

playgroundみたいな、Json/Struct変換のGUIもつくった https://github.com/yudppp/json2struct

_人人人人人人人人人人人人人人人人人人_
> json-to-goでいいんじゃないか問題 <
 ̄Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^ ̄

-> Structがネストになるのが嫌だった


* 静的解析しないの ?!?!

-> 気が向いたら...(たぶんやらない)

LT#4

インテリジェンス(パーソルキャリア)の方。

GoのechoとCouchbaseでマイクロサービス作る話

  • Routingとmainの処理、middleware毎回書くのが面倒… -> https://github.com/go-shosa/shosaつくった
  • Logger/Middleware/Response/Server/Handlerを自動生成できる

Couchbaseとは

  • SQLとJsonかければ使えるDB
  • Jsonでデータ保存できる

LT#5

エウレカの森川さん。 Goで決済周りとか検索アルゴリズム作ってる。

evalphobia/wizardつかった話

  • ほんとは使いたくなかった。
  • シャーディングの話する予定だった
  • PHPで書かれてたアプリを全部Goで書き直す一大プロジェクト(しかも半年)
  • DB周りのシャーディング対応したいという要求
  • YoutubeのVitess使いたかった(出たばっかのやつ)
  • 自前でGo言語のライブラリ作ることにした
  • 3か月経ったらAuroraリリースされて、シャーディング不要になった(ちーん…)

LT#7

渋川よしきさん!!! 思ったよりとっても若かった…!

C++でQt github.com/qtpmつくった

https://github.com/qtpm/qtpm

  • 社内のGUIツール開発したいとき、ラッパー系は辛くなる(メンテされなかったり)
  • C+++でさっとツールを作るのは辛い、Goなら楽だからGolikeなやつを作った
  • 3年前はGo流行ってなかったのでqptmが消えても動くようにした
  • Webassembly対応もやっていきたい

LT#8

  • HTTP API client書きやすいけど、かっこよく書くのは結構難しい
    • 使いやすい、拡張しやすい、速い
    • パッケージ分けたりしたい

LT#9

@tennntennさん

メルカリのgo-httpdocについて

  • テストからAPIドキュメントつくってくれるやつ
    • テスト書くと同時にドキュメントのメンテができる!
  • リクエスト/レスポンスのテストでネストになっちゃうやつ
  • リフレクションでやる?ネスト深くなるとどんどん面倒臭くなっていく…
  • tenntenn/gpathつくった!https://github.com/tenntenn/gpath
    • リフレクションのフィールドとかの指定をGoの式で書けるやつ
    • 構造体の任意のフィールドにアクセスできる。静的解析……..!