最近業務で使ってるツール、開発環境についてまとめる機会があったので、ログを残しておきます。

前提として普段業務では以下の感じの技術を使ってます。位置情報使ったプロダクト作ってます。

データ処理

  • 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 image.png
    • 接続先のホストに応じて色変えられるのは良いです。
    • わりと直感的に使えます。社内ではほとんどこちらが使われてます。

Git クライアント

  • TIG
    • テキストベースのGitクライアント。
    • 環境の制約上、SourceTree等が使えない場合に使えます。
    • git pushはできません。
  • SourceTree
    • Gitクライアントの中では有名所。ブランチの数が多くなると遅くなる。
  • GitKraken

    • 商用利用は有償
    • Electron使って作られる
    • サクサク動く
    • UIが直感的。SourceTreeよりおすすめ スクリーンショット 2017-12-06 5.10.59.png
  • RubyMine

    • 正直GitKrakenが一番使いやすいが、アプリ立ち上げ、切り替えのコストを考えると、IDEの中で使えるのはメリット
    • 機能的にはほとんどできないことはなさそう

まとめ

言語初心者等はJetBrains製のIDE使って、言語のお作法学ぶのが楽かなと思います。RubyMineやPHPStormなんかは有償ですが、お金払う価値はあります。Gitクライアントにお金払うかは微妙なところですが、プライベートでの開発なら無償なのでGitKraken使うのありかなと思います。

位置情報系のプロダクトのエンジニア、PMともに募集してるので、気になる方はメッセ等ください!