teratailを支える技術
Leverages株式会社
Takeo Kusama
About Me
Leverages 新卒1年目
去年9月からインターンで
teratail 開発チーム
大学在学時に
暗号理論・機械学習
言語処理の研究に従事
アルバイトで
フロントエンドを中心に
開発経験を積む
なぜLeveragesに入社したのか
teratailを
開発していたから です
(teratail入社)
なぜteratailに惹かれたのか
僕の人生はプログラミングの面白さを知ったことによって大きく左右されました
プログラミングを始める前は出会わなかったであろう人
成長と共に実現できるようになっていく数々のこと
プログラミングによって生じた数々の感情
(苦悩・達成感・不満・喜び・憤り)
プログラミングに出会うことで感動する人を増やしたい
プログラミングに出会うことで人生を変える人を増やしたい
そして
プログラミングを学ぶことによって気づく世の中の
システムの不完全さ
まだまだ世界にはKnowledgeが
足りない
まだまだ世界は
変えられる
僕はたった数人でも
世の中の仕組みを変えられる力がプログラミングにあると信じています
日本からプログラミング
によって世界を変えていく人を増やしたい
teratailとはまさに
エンジニア
の人生に貢献しているサービス
課題に向き合う
エンジニアを応援するサービス
だと思ったのでした
現在はユーザーの皆さんの方のことを考える日々です
本題です
teratailの開発チームでは
常に技術を追求し、良く出来ることが分かりきっているのであれば積極的に改革してもよい
※と勝手に解釈して勝手にリファクタしたり
いろんなツールをシュッと導入してます
Teratailで使われている技術
Web
インフラ
草間が改善したところ
Web
インフラ
フロントのエコシステム改善
- js以外の静的アセットビルドの効率化(gulp)
- browserSyncによってsass,jsの更新によって自動リロードを導入(webpack-devserverを使いたかったのですがphp内のscriptタグをすべてwebpackのpublicPathに書き換えるより楽なので)
- bundleファイルの依存を消し続ける仕事(10個くらい消す)
- CommonJSスタイルやモジュール化されていないJSをES6モジュールに改善中
- そのうちe2eテストを自動化します(ローカル導入済)
- そのうちtypescriptをシュッと導入する(いいですよね?)
バックエンド・インフラの改善
- 新機能の疎結合化と共通化を実施中
- インデックス改善だけでクエリが30倍速・・・!?(悲)
- docker環境でXdebugする方法を確立(Docker for Macでもへーき)
- 管理画面で使われている一部のコードを半分くらいにしました
- phpUnitでテストコード追加してます
- GAEではなくGKEをStackDriver対応させようとしてGoogleのPHP SDKを使って実現するも何故かGoogleからブロックされ挫折、代替案としてData Studioを使ったところモニタリングがいい感じに
つまりモダンでいい感じの環境にしていってます
これからも
teratailと共に精進します
ご清聴ありがとうございました
teratailを支える技術
By tkow
teratailを支える技術
2017/07/20 集まっtailLT資料
- 2,293