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と共に精進します

ご清聴ありがとうございました

Made with Slides.com