golang.tokyo #10 x WomenWhoGoTokyo

golang.tokyo #2 以来、久々に参加してきました。運営の皆様、ありがと
うございました。

MacBook Air を持っていくのが面倒になったので、リュウドの折りたたみ
キーボード [2010-11-15-1] を引っ張り出して持っていたけど、机がなく
使うのは断念。でもその分、聞くことに集中できた気はする。

テキスト審査 in Pairs

※ TODO: 資料が公開されたらここに貼る
後藤勝哉さん/株式会社エウレカ

後藤さんが高熱のため、同じエウレカの森川さんが代わりに発表。

業者などの悪徳ユーザを、サインアップやマッチング成立後にどのように
除外しているかのお話。

kagome という形態素解析ライブラリを使った go-jp-text-ripper を使っ
てワードフィルタリングしている。go-jp-text-ripper の作者は、今回代
理で発表している森川さん!

Kuromoji も使っていたんだっけかな。忘れた。他に正規表現や機械学習
も使っていて、相当泥臭い。

3か月でフィルタリングルールは使えなくなる。イタチごっこ。

怪しいものは通さない。Slack で CS に通知して、最終的には人間が確認
する。

現在はエンジニアも運用に関わっているとのこと。気になったので質問し
てみた。

inerfaceとの付き合い


micchieさん/WomenWhoGoTokyo

私は inerface は理解したつもりではいますが、実践で使ってないので、
多分まだ理解できていないでしょう…。

こういう使い捨てスクリプトはつい慣れた言語を使ってしまう。micchie
さんの場合、PHP じゃなくて golang を使ったのはどういう意識だったの
かな。

メルカリ カウルのマスタデータの更新


tenntennさん/株式会社ソウゾウ

GCS 上の 50MB の TSV ファイルを分割しながら(行単位ではない!)、
RDS に入れていくお話。

Transfer の実装は気が狂いそうになるらしい。バイト列の処理はそこそ
こ出来るつもりだけど、まだ来てないから待つとかは嫌だな…。

質疑応答の時に「ファイルサイズは GB 単位なので違いますが」という前
置きをした上で、弊社の GCS 上の CSV ファイルを BigQuery が読んで変
換しているという事例は紹介した。

LT

Ruby エンジニアが Web フレームワークでアプリを作った話(だったような)

※ TODO: 資料が公開されたらここに貼る
@hoshitocat さん

グノシーでは全て Web フレームワークは kami を使っているらしい。
軽量らしい。作者の方が以前働いていたそうで。

今回は標準パッケージのみで実装した。golang はこれが出来るのが良い。

やっていかねばという気持ちになった。

高精度名寄せシステムを支える テキスト処理 (の、ほんのさわり)


@dproject21 さん

オープンデータを golang で名寄せのためのデータクレンジングしている
お仕事をしているらしい。golang を始めてまだ 5 ヶ月だったかな。すごい。

strings パッケージでの日本語処理は罠が多い。とにかく rune 対応であ
ることを確認すること。オープンソースでも同じ。なければ関数を作る。

正規表現も遅い罠があるので、できるだけ unicode パッケージ等で代用
する。これも全角の1が IsDisit で true 判定される罠があった(ので
関数を作った)。

gotests を使うと table driven tests の雛形を作れると、質疑応答で紹
介があった。