データが主食

データエンジニアのぽえむ。分析だったり、読んだ本のメモだったり。

ソフトウェアエンジニアが休日に勉強するための環境

courseraの受講環境は悩ましい

近頃だとスマホで何でもできてしまうため自宅にパソコンがない家庭も多いと思います。私はパソコンを一応所有していますが、あまり使う機会がなくて困っています。以前kaggleに取り組むために、メモリ盛り盛りのラップトップを購入したのですが、あまり使っていません😂

最近ではcourseraのコースをよく受講しており、その環境で悩み始めました。iPadとかAndroidタブレットとかで受講できれば、カフェでもオシャレにキメられるのですが、プログラミング課題があるコースを受講するため、タブレットだけだと厳しい気もします。 Android/iPhoneでPythonなどのインタプリタアプリがあるのは知っていますが、所詮教育用で自由度低いしなーとか考えてしまいます。

といったところで休日の勉強環境を模索して、一旦の解にたどり着いたので整理しました。

要件

今回カフェでcourserakindleなどを利用して勉強するための環境を構築しました。 まず、要件を整理しました。

  • kindleアプリが起動すること
  • Google Chromeが起動すること
  • コーディングして実行できること(最低限、Python, Scala)

これが満たせていて、それなりのスペックのマシンが用意出来れば問題なさそうです。 マストではないですが、軽量コンパクトだと嬉しいですね。あと、値段💰

推奨の環境

Android Tablet + Bluetooth keyboard + Cloud9*1 が最高の環境でした。

この組み合わせで、完璧に要件を満たせます。 そして軽量コンパクトです。そして、3万円くらいで揃ったのでだいぶ安いです。 他の環境がなぜ駄目なのかを通じて、この環境のすばらしさを説明していこうと思います。

chromebook

Chromebookを所有しているので最初はそれで勉強していました。

kindleアプリ

この環境の不満点は、kindleアプリが起動できないことです。 最近のChrome OSでは、Androidアプリがインストールできるのですが、私が所有しているChromebookではAndroid版のkindleアプリをインストールできませんでした。 開発者モードにするとインストールできるのですが、OSアップデートのたびに初期化されてしまって不便です。 kindle cloud readerは対応している書籍は少なく大半は読めませんでした。

Google Chrome

全く問題ないです。当たり前ですね。

コーディング&実行

ブラウザ経由でCloud9を利用すると、自由自在にコーディングしてコンパイルして実行してと出来るのでいい感じです。 一方でChromeに特化したキーボードが付いているため、コーディングしづらいです。

iPad

iPad + Smart keyboard という組み合わせも検討しました。 値段が高いので避けたいところではあります。

kindle

全く問題ないですね。

Google Chrome

全く問題ないです。最高です。

コーディング&実行

Chromebookと同様に、ブラウザからcloud9を利用すれば、なんでもできます。 ただ、問題があります。 escキーが無いことです。Cloud9がvimキーバインドに対応しているのにescキーが使えないとなると魅力半減です。

Macbook * 、その他ラップトップ

高いです。できるだけ買いたくない。

まとめ

他との比較を通じて推奨環境の魅力が伝わったでしょうか?

推奨環境の良いところは

  • kindleが起動すること
  • Google Chromeが起動すること

は当たり前だとして、コーディングしやすいというところが大きなポイントです。 キーボードも自由に選択できますし、計算資源が大量に必要なときだけ、AWSなどで一時的に借りることでコストも抑えることができます。

備考

  • EC2とSSHアプリでもいいのではないかと思っていますが、AWSのCloud9だと自動でインスタンスを停止させてくれるのが安心です。
  • Android上でCloud9を使うと痒いところが多く、結局SSHが良いかも。

*1:Cloud9はウェブブラウザ上で動作するIDE。AWSではマネージドサービスがあるので、インスタンスの確保・Cloud9のインストールまで自動でやってくれます。