Top Banner
オープンソースライブラリ研究会 #3 Takuma Morikawa / eureka, inc. Copyright © 2009-2015 eureka, inc. All rights reserved.
33

Golang oss libraries

Jan 22, 2018

Download

Technology

Takuma Morikawa
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Golang oss libraries

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

Takuma Morikawa / eureka, inc.

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

Page 2: Golang oss libraries

じこしょうかい

About me

Page 3: Golang oss libraries

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

なまえ Takuma Morikawa

しょぞく

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

じこしょうかい

Page 4: Golang oss libraries

エウレカについて

About eureka

Page 5: Golang oss libraries

株式会社エウレカ

専門分野以外の領域

でも活躍できる

エンジニア

45人

Sales・CS・BO

32人

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

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

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

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

D/P

12人

デザイナー

8人

Page 6: Golang oss libraries
Page 7: Golang oss libraries

オンライン・デーティング・サービス「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万人

Page 8: Golang oss libraries
Page 9: Golang oss libraries

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

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

リリース 2014年 5月

DL数 320万DL

プラットフォーム iOS/Android

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

215万

170万

130万

85万

45万

国内No.1

Page 10: Golang oss libraries

Today's Talk

Page 11: Golang oss libraries

Golang oss libraries

Page 12: Golang oss libraries

今日お話すること

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

Page 13: Golang oss libraries

今日お話すること

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

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

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

Page 14: Golang oss libraries

go-xorm/xorm

Page 15: Golang oss libraries

・ORM

- 主要なRDBMSに対応してる

- 早いらしい

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

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

=> 次はリファクタ

- lunny

go-xorm/xorm

Page 16: Golang oss libraries

evalphobia/wizard

Page 17: Golang oss libraries

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

- core部分は振り分けのみ

- 水平&垂直分割OK

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

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

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

evalphobia/wizard

Page 18: Golang oss libraries

daikikohara/enotify-slack

Page 19: Golang oss libraries

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

- atnd, connpass, doorkeeper等に対応

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

- boltdb/bolt を使用してる

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

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

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

Page 20: Golang oss libraries

デモ?

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

Page 21: Golang oss libraries

lytics/estail

Page 22: Golang oss libraries

・Elasticsearchをtailするやつ

- and条件、not条件に対応

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

l y t i cs /es ta i l

Page 23: Golang oss libraries

デモ?

l y t i cs /es ta i l

Page 24: Golang oss libraries

josephlewis42/multicache

Page 25: Golang oss libraries

・メモリキャッシュ

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

- LRU、ラウンドロビン、

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

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

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

- 有効期限がバグってた

j oseph lewis42 / mu l t i cache

Page 26: Golang oss libraries

sourcegraph/appdash

Page 27: Golang oss libraries

・トレースシステム

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

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

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

- フロントはd3.js

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

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

sourcegraph /appdash

Page 28: Golang oss libraries

まとめ

Page 29: Golang oss libraries

まとめ

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

リはいっぱいある

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

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

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

Page 30: Golang oss libraries

まとめ

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

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

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

Page 31: Golang oss libraries

おわり。

fin.

Page 32: Golang oss libraries

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

セグメントNo1 サービス

グローバルビジネス

Business

pairs Goフルスクラッチ

Engineering

マッチングアルゴリズム

Big Data

ハイブリッドエンジニア

大規模行動データ解析

Page 33: Golang oss libraries

CONFIDENTIAL

Thank you :)

Thank you :)