Golang oss libraries

Post on 22-Jan-2018

1.181 views 0 download

Transcript of Golang oss libraries

オープンソースライブラリ研究会 #3

Takuma Morikawa / eureka, inc.

Copyright © 2009-2015 eureka, inc. All rights reserved.

じこしょうかい

About me

Copyright © 2009-2015 eureka, inc. All rights reserved.

なまえ Takuma Morikawa

しょぞく

たんとう (Go, JS, たまにインフラ)

じこしょうかい

エウレカについて

About eureka

株式会社エウレカ

専門分野以外の領域

でも活躍できる

エンジニア

45人

Sales・CS・BO

32人

事業内容自社サービスの企画・開発・運営・オンライン・デーティング・サービス「pairs」

・カップル専用アプリ「Couples」

海外拠点・唯麗家股份有限公司(台湾)・ EUREKA SG Pte. Ltd.(シンガポール)

社員数: 97名インターン・業務委託含む

D/P

12人

デザイナー

8人

オンライン・デーティング・サービス「pa i rs」

12年9月 13年3月 13年9月 14年3月 14年9月 15年3月

225万

。゚+\\330万会員突破//+.゚

リリース 2012年 10月

会員数 330万人

プラットフォーム PC/SP/iOS/Android

135万

45万

90万

190万3年で

300万人

カップル専用アプリ「Coup les」

。゚+\\320万DL突破//+.゚

リリース 2014年 5月

DL数 320万DL

プラットフォーム iOS/Android

14年5月 14年10月 15年3月

215万

170万

130万

85万

45万

国内No.1

Today's Talk

Golang oss libraries

今日お話すること

・有名なライブラリの紹介

今日お話すること

・有名なライブラリの紹介

・最近Go製のやつめっちゃある

=> 最近触ったライブラリの紹介

go-xorm/xorm

・ORM

- 主要なRDBMSに対応してる

- 早いらしい

- レポジトリが複数に分かれてて辛い

- コードは重複っぽいのが多い

=> 次はリファクタ

- lunny

go-xorm/xorm

evalphobia/wizard

・シャーディングライブラリ

- core部分は振り分けのみ

- 水平&垂直分割OK

- ↑をしつつxormをラップしてる

- 全DBへのトランザクション対応

- (同一セッション管理辛い…)

evalphobia/wizard

daikikohara/enotify-slack

・新着のイベント情報をSlackへ通知!

- atnd, connpass, doorkeeper等に対応

- 検索クエリ・NGワードの指定可能

- boltdb/bolt を使用してる

- 実は僕のローカルマシンで動かしてます

(帰宅時・オフライン時には通知飛ばず…)

da ik ikohara /eno t i f y -s lack

デモ?

da ik ikohara /eno t i f y -s lack

lytics/estail

・Elasticsearchをtailするやつ

- and条件、not条件に対応

- 表示したいフィールドを指定可能

l y t i cs /es ta i l

デモ?

l y t i cs /es ta i l

josephlewis42/multicache

・メモリキャッシュ

- 複数のアルゴリズムを指定可能

- LRU、ラウンドロビン、

有効期限、セカンドチャンス

- フォールバックの関数指定可能

- hashicorp/golang-lru より早いらしい

- 有効期限がバグってた

j oseph lewis42 / mu l t i cache

sourcegraph/appdash

・トレースシステム

- 設定不要で立ち上げ可能

- (一応)言語に依存せずトレース可能

- SQLやユーザーIDとかも取れる

- フロントはd3.js

- 大量のデータがあると辛い

- (最初はzipkin使ってました)

sourcegraph /appdash

まとめ

まとめ

・CLIからWebまで、Goで作られたライブラ

リはいっぱいある

=> importに追加するだけで使えて簡単

・歴史が浅いため、未熟な部分も多々あり

=> コード整形があるので、PRのしきいは低い

まとめ

_人人人人人人人人人人人人人_

> Goで作りましょう!! <

 ̄Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y ̄

おわり。

fin.

「世界で愛されるサービス」を一緒に作りませんか?

セグメントNo1 サービス

グローバルビジネス

Business

pairs Goフルスクラッチ

Engineering

マッチングアルゴリズム

Big Data

ハイブリッドエンジニア

大規模行動データ解析

CONFIDENTIAL

Thank you :)

Thank you :)