Node.jsのインストール(Windows 11)

 Webプログラミングの環境として,近年急速に実績を上げつつあるNode.jsをインストールする方法を期しておきます。さほど難しくはありませんが,実際に遭遇した問題解決のためのチマチマしたTipsも書いておきます。

1.Node.jsサイト(日本語版)にアクセスします。基本,本研究室では「推奨版」をインストールして使いますので,Windows (x64)をダウンロードします。

Node.jsサイトの画面:2022年9月16日(金)現在

2.ダウンロードした”node・・・.msi”をダブルクリックしてインストールを開始します。

3.インストール完了後,”Windowsターミナル”もしくは”PowerShell”を開き,コマンドプロンプトから”node –version”と打ち込んで,Node.jsの実行とバージョン番号を確認します。

Windows PowerShell画面。Version 16.16.0がインストールされていることが分かる

4.必要に応じて”npm”コマンドを使ってパッケージをインストールします。開発用として”nodemon”をインストールしてみます。スクリプトの実行が許可されていない場合は,「管理者」としてPowerShellを開き”Set-ExecutionPolicy Unrestricted”として許可して下さい。

5. 適当なフォルダで下記の内容を”hellow.js”として作成し,PowerShellの画面に「Hellow, Node.js!」が表示されることを確認して下さい。

JavaScriptベースのWebプログラミング教材

 ここんとこ,急速にWebプログラミングの主役が,伝統的なサーバサイドの言語よりもJavaScriptベースのnode.jsに移ってきた感があります。Java(Servlet), PHP, C#等々,未だこれら既存のサーバサイド言語で作られたアプリケーションは現役ですから,まだまだ使用されていくのは間違いありませんが,面白いこと・新しいことをやろうとすると,JavaScriptの情報が多数引掛かかるようになってきていることは間違いありません。
 私みたいな年寄だと,JavaScriptというとどうしてもクライアントサイド,要はブラウザで動く,インタラクティブな動作のサポートをするコードを書くものと考えてしまいます。しかし,HTMLがDOMの塊として捉える時代ににあり,ネイティブアプリと同様の,自在に動的なWebアプリが作れる時代で,React, Vue, Angularといったフロントエンドのフレームワークが花盛りであり,それらをベースとした,node.jsと強調できるバックエンドのフレームワークも実用になっている昨今,そういう思想は相当古いと言わざるを得ません。JITに基づく高速なV8がブラウザだけでなく,サーバサイドでも利用され,パフォーマンスも著しく改善されたことが普及した一番の理由でしょう。

 ということで,伝統的に使ってきたWebプログラミングの教材も,そろそろ全面的にJavaScriptベースのものが必要だなという認識に至りました。とはいえ,文法やオブジェクトの解説だけの無味乾燥なものを作っても仕方ないので,XAMPP + node.jsの環境をWindows上に作って

  • MySQL + node.jsによるCRUDアプリ
  • WebRTC

なんかはどうかなと。CRUDは定番なのでいいとして,問題はWebRTC。全部やると死にそうなので,手っ取り早く,Googleの教材をお手本に勉強がてらサンプルコードの一部で遊んで見る程度のところで留める予定です。簡単なZoomもどきのアプリも,ブラウザの機能を使うだけでできちゃう時代ってのを象徴する代物ですからねぇ。

 にしても,分かりやすい教材が増えたのはありがたい限りです。短い記事はともかく,重量級の

なんてのは常に参照しておりまする。

サーバ更新(2)

 昨日(8/4(木)),Prinamy DNS(メインDNS)をさくらインターネットのVPSに移設完了しました。JPRSへの申請だけでなく,DNSを所管するさくらインターネットの手続きの方が手間取ってしまい,サポート先と何度もメールのやり取りしてようやく更新できたようです。というわけで(6)-(7)の手続きは終わりましたが・・・

(6) cs-tklab3.na-inet.jpにDNS設定を行い,メインDNSをminerva.na-inet.jpから移設。「さくらのドメイン」でメインDNSの移設を申請し完了を待つ。
(7) minerva.na-inet.jpの全てのWebコンテンツをcs-tklab3.na-inet.jpへ移設し,”na-inet.jp”, “minerva.na-inet.jp”のエイリアス設定を変更。

Primary DNSのIPアドレス変更というものは予想外にダメージがでかいもので,世界中に分散したDNS treeの更新が完了するまでに相当の時間を必要とします。実際,昨日の更新から15時間経過した現在でも,大学のDNSは更新した情報を取り込んでおらず,相変わらず旧minerva.na-inet.jpの方を引いてしまいます。
 ということで,昨日遣り掛けだったCertbot(Let’s Encrypt!)の更新作業は,リトライを繰り返した挙句に断念。回数宣言があるので,むやみに繰り返してもかえってややこしいことになる上に,リアルにFQDNからIPアドレスを引いてこれないとエラーになるため,一部でもDNS tree内で齟齬があると認証が受け付けられない可能性が出てきます。これは夏休み中の課題ですね。

 最後の(8)は今月中には何とかなるとは思いますが,当分イライラする日々が続きそうです。

(8) (7)の完了確認後,minerva.na-inet.jpの解約処理。みかかと完全縁切り。

「微分方程式」合格者・追再試対象者一覧

 ここに載っていない学籍番号の人は「不可」です。問い合わせの際には返却した「本日の課題」を持って543研究室に来て下さい。

 定期試験の平均は73点/100点満点でした。

 下記は単位習得予定者一覧です。

2114030 2114032 2114034 2114035 2114037 1918018 2018068 2118007 2118008 2118009 2118015 2118017 2118020 2118025 2118026 2118031 2118036 2118040 2118042 2118045 2118048 2118049 2118053 2118054 2118055 2118056 2118061 2118062 2118063 2118064 2118065 2118066 2118067 2118068 2118070 2118071 2118077 2118079 2118081 2118082 2118084 2118112 2118113 2118117 2118118

 下記は追再試対象者一覧です。定期試験を受験した人は答案を返却しますので試験前日までに543研究室に取りに来て下さい。平日昼休みは大概在室している筈です。

1614052 2018053 2118014 2118047 2118050 2118074 2118078 2118083 2118102 2118103 2118104 2118115 2118121

以上。

夏の装い

 サーバOSアップデート終わりましたので,久々に夏の写真を更新してアップロードしました。

2022年7月29日(金) 建設中の土木学科棟(右奥)

 そろそろ土木学科棟の完成が見えてきましたので,写真を取っておきました。

サーバ更新作業途中経過

 何とか,本サイト(cs-tklab.na-inet.jp)の更新作業が終わりました。まだ完全ではないところがあるのでしょうが,今のところ日常的に使っているURLは全部復帰しているはずです。この記事も,Wordpress 6.0に更新し,テストがてらバリバリ書いてます。今のところ超快適です。もっと早くやっておけば良かった・・・。
 ということで,予定していた作業の,現時点における経過報告を差分も含めて下記に示します。

(1) 三代目のVPS(cs-tklab.na-inet.jp)をUbuntu 22.04で稼働させ,LAMP(Linux(Ubuntu)+Apache+MariaDB+PHP)環境を構築。
(2) ドメイン委託先を「名付けてネット」(みかか)から「さくらのドメイン」に変更手続き。
(3) cs-tklab.na-inet.jpのWebコンテンツをcs-tklab3.na-inet.jpへ移設,動作確認を行う。メンドクサイのでWordpress以外のAliasは設定無し。
(4) (2)の完了を待ってcs-tklab.na-inet.jpのOSアップデート作業を行う。Ubuntu 22.04にアップデートを行う。Slave DNSは既にさくらインターネットに移していたいので不要。
(5) cs-tklab3.na-inet.jpのコンテンツをcs-tklab.na-inet.jpへ移設。

 以下は,今後の予定です。DNSが一番大きいかなぁ。minervaはメールサーバの設定もしてあるので,そっちの移行作業が頭痛い。これは8月に実施します。


(6) cs-tklab3.na-inet.jpにDNS設定を行い,メインDNSをminerva.na-inet.jpから移設。「さくらのドメイン」でメインDNSの移設を申請し完了を待つ。
(7) minerva.na-inet.jpの全てのWebコンテンツをcs-tklab3.na-inet.jpへ移設し,”na-inet.jp”, “minerva.na-inet.jp”のエイリアス設定を変更。
(8) (7)の完了確認後,minerva.na-inet.jpの解約処理。みかかと完全縁切り。

サーバOSアップデート(予定)

 一昨年にApacheからnginxに変更して以来,ここ(cs-tklab.na-inet.jp)WordPressの動作がやたらに重くなってしまい,こちらの更新作業が億劫になっていました。
 一方,”na-inet.jp”を統括するメインDNSマシンのOSも古くなってしまい,天下のみかかグループ配下のVPS会社にも関わらずサポートがずさんで「てめぇンとこのマシンなんか使ってられるか!」と啖呵を切ってしまったこともあり,移転先を探しておりました。

 流石にどちらも放置できない状況になっておりましたので,今回新たにさくらインターネットに3台目のVPSを借り受け,DNSを含む移転作業を行うことに致しました。現在想定している手順は下記の通りです。

(1) 三代目のVPS(cs-tklab3.na-inet.jp)をUbuntu 20で稼働させ,LAMP(Linux(Ubuntu)+Apache+MariaDB+PHP)環境を構築。
(2) ドメイン委託先を「名付けてネット」(みかか)から「さくらのドメイン」に変更手続き。
(3) cs-tklab.na-inet.jpのWebコンテンツをcs-tklab3.na-inet.jpへ移設,動作確認を行う。
(4) (2)の完了を待ってcs-tklab.na-inet.jpのOSアップデート作業を行う。Ubuntu 20を予定。同時にna-inet.jpのSlave DNS設定を行い,動作確認。
(5) cs-tklab3.na-inet.jpのコンテンツをcs-tklab.na-inet.jpへ移設。
(6) cs-tklab3.na-inet.jpにDNS設定を行い,メインDNSをminerva.na-inet.jpから移設。「さくらのドメイン」でメインDNSの移設を申請し完了を待つ。
(7) minerva.na-inet.jpの全てのWebコンテンツをcs-tklab3.na-inet.jpへ移設し,”na-inet.jp”, “minerva.na-inet.jp”のエイリアス設定を変更。
(8) (7)の完了確認後,minerva.na-inet.jpの解約処理。みかかと完全縁切り。

うまくすれば7月から8月いっぱいで手続き完了できるかと思いますが,失敗すると一からやり直しかも。そんときは「あ~あ」と苦笑いして頂ければよろしいかと。

何にせよ,もう少し個々の更新がマメにできるよう,この夏は移設処理を進める所存です。

Flaskアプリケーション教材

 2021年度のコンピュータシシテム実践演習1では「Pythonプログラミング」と題して,FlaskによるWebアプリケーションを作ってもらいます。昨年から今年にかけて急ごしらえしたもので,第1回目の実験グループの方には教材のミスでいろいろご面倒おかけしました。

 第4回目のグループを完遂するところで,ボチボチ公開してもよいと考え,ここにその教材へのリンクを公開することに致しました。

Flaskを用いたWebアプリケーション作成

 教材作成に当たっては,本年度TAの井上君にいろいろアドバイスをもらいました。住所録のIFは彼の発案によるものをそのまま流用しています。大分わかりやすく,開発時間の短縮ができました。

井上君発案によるクールな住所録

 次はDjangoでもっとトータルデザインがしっかりしたCMS作成かなぁ。顔認証もいいかも・・・何にせよ,PHPからPythonに鞍替えしたことで,できることが格段に増えました。今後はますます教材提供者の見識が問われます。