Wantedlyの本体アプリケーションはRuby on Railsで書かれています。 Railsのコンセプトを理解して、最低限のアプリを書けるようになりましょう。
- Rails Tutorial 定番Railsチュートリアル。しっかり読み込むよりも、最初は一通り流すことを重視したほうがよい。日本語訳
- Ruby on Rails Guides Rails公式のドキュメント。ベストプラクティスが一通り学べる。Rails Tutorialを一通りやったあとぐらいに読むとRailsの理解が深まる。
- Ruby Style Guide & Rails Style Guide Wantedlyは大枠でこのstyle guidesに従っています。
ブックマークしておくと良いリファレンス
- Ruby Core API & Standard Library API Rubyと標準ライブラリのドキュメント
- Ruby on Rails Documentation RailsのAPIドキュメント
- RSpec テストフレームワークであるRSpecのドキュメント
- Better Specs より良いRSpecを書くためのガイドライン
- Everyday Rails - RSpecによるRailsテスト入門 RailsのためのRSpecとしてステップ・バイ・ステップで説明されているので入門に適した一冊
WantedlyではAPIサーバにGo言語を使うことがあります。
Golangのほとんどのアプリケーションは grapi を利用し gRPC + grpc-gateway で実装されています。
- https://github.com/izumin5210/grapi
- Go Conference での発表資料
- フレームワーク
- ミドルウェアのクライアント
- テスト
- ツール
- その他
- エラーハンドリング : github.com/srvc/fail
- DI : github.com/google/wire
[WIP]
Wantedlyでは自然言語処理や機械学習のためのサーバにPythonを使うことがあります。
基本的にPythonはRestfulなサーバーよりも特定の機能を持ったシンプルなサーバーを作ることが多いので、サーバーのフレームワークとしてはTornadoを採用しています。 シンプルさと、ある程度肥大化した場合の機能も備えている絶妙なバランスと言う判断です。
Pythonの殆どのアプリケーションロジックはTornadoを使ってAPI化されています。