LinuxとNodejsでプログラミング

LinuxとNodejsでプログラミング

2020-05-14

  1. LinuxとNodejsでプログラミング
    a) ツールをインストールする
    b) パッケージ管理を学ぶ
    c) Node.jsをインストールする

Linuxでプログラミング

安定性の向上

プログラミング学習環境作りには、Linuxをオススメします。。
Microsoftは近年かなりプログラミング学習や開発環境の整備を行い使いやすいソフトやクラウド環境を提供しているが、UNIXからの流れがありLinuxがIT・Web技術を先導してきたことを考えて、一度Linuxに触れておくのは周りのさまざまな環境に応用できる点からもとても応用が効きます。
過去には、LinuxインストールにおけるPCとの相性問題ややデュアルブートなどの難しさもあったが、インストーラがとても良くなり低スペックPCからサーバー用途の高スペックPCにまで適用できるようになりました。

プログラミング環境の充実

Linuxはプログラミング学習との相性がよく、たくさんのソフトウエアやツールが提供されています。
最近はモバイル向けのアプリやサービスが中心となり、さまざまなコミュニティの努力のおかげもあって開発者用ソフトウエアが充実してきました。Linux利用を考えていなかった多くの企業もLinuxでの開発、Linuxの取り込みに力を入れるようになっています。
GoogleやMicrosoftなどで開発されたChromeやVisual Studio CodeなどのソフトウエアがLinux上で使えるため、WindowsやMac OSと遜色ない使用感でデスクトップ環境を使えるようになっています。

Linuxは難しくない

過去にはLinuxは扱いが難しく、一部の人のOSだと言われてきました。

しかし最近ではインストールも簡単になり、グラフィカルインターフェースも整えられ使いやすくなり、デスクトップ動作も安定してきました。
確かにLinuxはOSとハードの相性問題の解決に技術力が必要で、古いPCには古いカーネルのバージョンによるLinuxを、新しく高スペックPCには新しいカーネルのLinuxをインストールする必要があります。
また多様なディストリビューションがあり選びにくく、WindowsやMacに比べてまだまだ敷居の高いOSであることも事実だと考えられます。

Linuxベースの機器の増加

最近では、スマホ・タブレット・各種携帯端末・IoT機器などのアプリケーションは、Linuxベースの技術を使われている機器を多く見かけます。
またクラウドアプリケーションによるスマホ・タブレット・各種携帯端末・IoT機器との情報連携が進んでいます。
Windows、Mac OS以外のChromebookやAndroidが普及の兆しをみせ、オフィスなど汎用用途でのWindowsやMacからの乗り換えも少しずつ進んできました。

Webアプリ、スマホアプリ

確かにiPhoneやiPadのネイティブアプリ開発にはMac OSが必須であり、Windowsのデバイス寄りの開発ではWindowsが必須であるものの、マルチプラットフォームのWebプログラミングであれば、Linuxで開発環境、実行環境ともに十分揃っています。
特にアプリとブラウザの両方で、同じアプリケーションやサービスを利用できるようになりました。

何も考えずにというわけにはいかない

2020年春先、リリースされているUbuntuのLTSバージョンは20.04 LTSでした。

Ubuntu 20.04 LTSをインストールしたところ、ブート時間が長い(60秒程度)、IMEエラーが発生する(ibus、Mozc)といった問題が確認されました。そこでKernelの起動メッセージを確認して、PCのBIOS設定を修正したり、PCセッティングを変更してみました。

しかしながらUbuntuのデスクトップ環境とPCハードウエアと相性が合わなかったことから、ディストリビューションを変えてみようと考えて、Ubuntuの本家にあたるDebianに移行してみました。

### Debian 10.04による安定運用の実現

2020年春先、リリースされているDebianのバージョンは、10.04でした。リリースからそれほど時間の立っていませんでした。

Debianを最低限の環境構築を行ったところ、Ubuntuで見られたような不具合は発生しませんでした。DebianとPCハードウエアでの相性問題が発生しなかったため、Debianのデスクトップ環境をCinnamonで構築し、運用を始めました。

もともと私はブラウザアプリケーションを多用したため、Windows PCやMacに固有のアプリケーションを使用していなかったため、Linuxにスムースに移行を果たすことができました。唯一困っていたMacでのビデオ編集もLinuxのビデオ編集に切り替えました。

Mac OSに関しては2020年秋にはMac OS Big Surに移行します。また同時に、Apple Macの主力がIntel CoreシリーズからARMに変わります。

移行期間が2年間と発表されていることからして、PowerPCからIntelへの移行以来の大変革と試行錯誤が想定され、使用感や操作感も大きく変わることが予測されます。

そのためメインOSをLinuxとして、モバイル及びWebアプリケーション中心の運用とすることにしました。

Node.jsでプログラミング

Node.jsは、JavaScriptエンジニアが多く裾野が広い。

Node.jsはなによりもとっつきやすいのがいい

リアルタイム性を持つとか、優位点もあるが、