最近業務で使ってるツール、開発環境についてまとめる機会があったので、ログを残しておきます。
前提として普段業務では以下の感じの技術を使ってます。位置情報使ったプロダクト作ってます。
データ処理
- Apache Spark
- EMR
- Scala
Webアプリ
- Rails
- React
- MySQL
その他
- Python (Lambda書くときだけ使ってます)
使ってるエディタ
Ruby
- RubyMine
- 安定のJetBrains製のIDEです。有償版しかないっぽいです。
- Gitクライアントが結構優秀
- diff, commit, push等ほぼなんでもやってくれます。
- SourceTree等が不要になります。アプリケーション切り替えのコストもなくなります。
- Rubyの作法を指摘してくれるので、特にRuby初めて触るときに助かる。
- 定義元へのジャンプがめっちゃ楽。メタプログラミングしてる箇所以外はほぼ完璧です。
- デバッグが楽
- IDE自体がリソースの編集履歴を持っているため、gitにコミットしてなくてもなんとか復元できる。
Scala
- IntelliJ IDEA CE
- 無償版です。
- RubyMineと同じくJetBrains製です。
- JavaとScalaはIDE必須です。
Python
- PyCharm
- たまに使ってますが、PythonはLambda以外で使わないので、Lambdaのエディタで直接編集してしまってます。そのうちCloud9とか使っていきたい。
MySQL クライアント
- MySQL WorkBench
- 正直なんでも良いとは思いますが、最初に使ってたツールです。たまに急に止まってしまうので、不安になることがあります。
- Sequel Pro
- 接続先のホストに応じて色変えられるのは良いです。
- わりと直感的に使えます。社内ではほとんどこちらが使われてます。
Git クライアント
-
TIG
- テキストベースのGitクライアント。
- 環境の制約上、SourceTree等が使えない場合に使えます。
- git pushはできません。
-
SourceTree
- Gitクライアントの中では有名所。ブランチの数が多くなると遅くなる。
-
GitKraken
- 商用利用は有償
- Electron使って作られる
- サクサク動く
- UIが直感的。SourceTreeよりおすすめ
-
RubyMine
- 正直GitKrakenが一番使いやすいが、アプリ立ち上げ、切り替えのコストを考えると、IDEの中で使えるのはメリット
- 機能的にはほとんどできないことはなさそう
まとめ
言語初心者等はJetBrains製のIDE使って、言語のお作法学ぶのが楽かなと思います。RubyMineやPHPStormなんかは有償ですが、お金払う価値はあります。Gitクライアントにお金払うかは微妙なところですが、プライベートでの開発なら無償なのでGitKraken使うのありかなと思います。
位置情報系のプロダクトのエンジニア、PMともに募集してるので、気になる方はメッセ等ください!