この投稿について
「最近プログラミングを始めたけど、現場のエンジニアはどんなツールを使ってるんだろう?」という方向けに、私が使っているツールや、その他初心者の方がインストールしておくと良さそうなものを書いていきます。
思いつきで編集していくので、内容が随時変化します。
とりあえず無料だしこれだけ入れとけ/登録しとけ集
まずは初心者の方はこれ入れとけばいいんじゃない?というリストです
Webサービス
Webサービスもソフトウェアの一種ではあるので...
Github
https://github.co.jp/
いわずもがなですね。
どんなコードが誰のために役立つかわかりませんので、趣味のコードなども(セキュリティに気をつけて)公開しておくと良いです。
個人的な経験としては将来の自分のために役立つケースもあります。
最近はprivate repositoryが無料で作れるようになりましたので、少人数での趣味程度のアプリ開発等でも利用可能かと思います。
また、最近のWebサービスを開発している企業では面接時にGithub上での活動を見られるケースもあります。
その他、ちょっとしたメモ書き等を貼っておくためのgistという機能もあります1 https://gist.github.com/discover
Progate
公式サイト
私は全然Progateさんの回し者でもなんでもないし、つい先週「プログラミングを人に教えるにはどういう教材があるんだろう」と思って登録したばかりのProgate素人なんですが、よくできてるなと思ったので紹介します。
プログラミングの学習サイトの一つで、感心したのは下の方で紹介するエディタや、gitなどのインストール、いわゆる環境構築のフェーズが不要な点です。
とりあえずコースをすすめるだけならブラウザ上のエディタ、ブラウザ上のブラウザ(?)、ブラウザ上のターミナルでやれるので、これは最初の環境構築が面倒でやめてしまう人が減っていいなあと思いました.
(一般的なWebエンジニアの基本装備みたいな環境構築のコースも作ってあげるともっと助かる人が増えそうだし、そういうのQiitaでそういうのに役立つ投稿たくさんありそう2)
GCP/AWS
Googleが提供しているクラウドサービスであるGoogle Cloud Platform、Amazonが提供しているクラウドサービスであるAmazon Web Serviceについての項目です。(Microsoftが提供しているAzureについても書きたかったのですが利用経験がないので残念ながら書くことができませんでした)
クラウドサービスを使ってみたいけどどういうのがあるんだろう?という人向け(もうちょっとボリューム増やして別ページに切り出したい)
それぞれ、登録してから1年限定の無料利用枠と期限が設定されてない無料枠があるのでお試しで利用できます。
個人的にはWebサービスを個人で公開する場合、使えるプログラミング言語が制約されますがGCPの中のサービスであるGAE(Google App Engine)が一番楽です。3
エディタ/IDE編
エディタ(テキストエディタ)とは、テキストファイルを編集するためのソフトウェアです(プログラミングでみなさんがカタカタ打ち込むソースコードもテキストファイルの一種)。
この項目ではプログラミングに適したエディタの一部を紹介していきます。
また、IDEとは wikipediaの解説 を見てもなんとなくしかわからないかもしれませんが、私のざっくりした理解を書くと「プログラミングに便利な機能(バージョン管理、自動テスト、リファクタリングの補助)がついたエディタ」といったところです。
最近は新規に出るツールで完全にテキスト編集機能しかないエディタ、というのが少なくなってきたためIDEとエディタを同時にこの項目で紹介します
Visual Studio Code(VSCode)
公式ページ
Micorsoftが開発したエディタです。最近は他の人と同じソースコードを同時に編集できる機能も出ています(参考)
個人的には設定のしやすさが気に入っており一番使用頻度が高いです。
参考:
VSCodeのオススメ拡張機能 24 選 (とTipsをいくつか)
VS Code の便利なショートカットキー
JetBrainsのIDEたち
JetBrains社は、開発をサポートするいろいろな製品を出していますが、IDEはいくつかの言語/プラットフォームごとに出しています。
このリストを見ると、(DatagripもIDEに含めるなら)12個出ています。 https://www.jetbrains.com/ja-jp/products.html#type=ide
私が使ったことのあるものだと、以下のような感じです。
- GoLand: Go用。個人的にはVSCodeでもまあ大丈夫かなと思いました。
- RubyMine: Ruby用。intellisense(コーディング中の入力補完機能)が比較的よくできており、Ruby on Railsを最初からある程度サポートしてくれているので、Rubyを書く上での効率アップの効果は大きいです。
ただしこれらのツールはどれも、仕事で使う方以外からするとやや高めに感じる程度のお値段(ものによるがだいたい年間1-2万円のサブスクリプションモデル)です。試用期間があるのに加え、学生さんなど、一部の方は無料で利用できるケースがあるのでこちらもご参照ください。
https://www.jetbrains.com/ja-jp/community/education/#students
便利ツール郡
Git
いわずもがなその2。
githubにコードをpushするときなどに使います。私は最近はgithub上のリポジトリ以外でgitを使っていません
参考:
君には1時間でGitについて知ってもらう(with VSCode)
Github CLI
公式ページ
Github上のリポジトリにIssueを立てたり、PRを送ったりすることができるCUIツールです(なのでCUIを普段利用されない方には不要です)
例えば 書いたコードをfeatureブランチにcommit, pushする
-> gh pr createコマンドでpull requestを作成
というのがターミナル上でスムーズにできます(今までだとわざわざ一度github上のリポジトリのページを開いていました)。
チーム開発やOSSへの貢献でgithub上のissueやpull request機能を活用される方には便利だと思います(IDEに同様の機能があるケースもあります)
その他書きたいことメモ
初心者向け
AtCoder, Heroku
not初心者向け
fastly, Safari Books Online, jq, telnet, wireshark, docker