コミュ障だから明日が僕らをよんだって返事もろくにしなかった

何かを創る人に憧れたからブログをはじめたんだと思うよ

今日の読書感想文 ふりじゃす編

中身のない読書感想文をつづっていきます。

はい。おはぽよです。読書週間(?)ですので今日も読書していこうと思います。なにやるかはもうサムネでバレてしまっていると思いますがまた懲りずにやります。

そんなわけで本日の読書はコレです。


連日アホみたいなことやっているから何をやるかおわかりだと思いますが、この内容をJupyterNotebookでやっていきます。そう、コレJavaScriptもいじれるんですよ。
GitHub - n-riesco/ijavascript: IJavascript is a javascript kernel for the Jupyter notebook

conda install nodejs
npm install -g ijavascript
ijsinstall

ドキュメント曰くこれでいけるとのことです。

導入したら……簡単に動いた。

f:id:andron:20200318223829p:plainf:id:andron:20200318223823p:plain
PHPでめちゃくちゃ手間取ったのが嘘みたいだ。


やってみた

というわけで内容を見ていきましょう。

目次
Chapter 1 JavaScript最初の一歩
Chapter 2 条件によって分かれる文を学ぼう
Chapter 3 繰り返し文を学ぼう
Chapter 4 関数を作ろう
Chapter 5 Webページに組み込もう

今回もChapter4まではJupyterNotebookの方で進めることが出来そうです。さて、JupyterNotebookの方はJavaScriptが動くわけなんですけど、NodeJSがベースなんでブラウザ側の機能(?)であるpromptで入力を受け取ることができません。やっぱりJupyterNotebookでやってみると色々とできないことでてきますね……。NodeJSなので入力するには色々ごにょごにょしないといけないのですが、PHPのときにまともに対処してないしそこはなんか良い感じの対策が思いついたら対応すると言うことで放置して進めていこうと思います。

参考:prompt
window.prompt - Web API | MDN

あと書籍ではletで変数宣言してるんですよね。んでそいつがセルを越えても色々干渉して、エラー出す。

// 開始と終わりに { } することでスコープ範囲を限定する
{
let moji = "これは文字です"
// なんかの処理
}

なので、これで対処してみる。とりま、こんな感じに対応してやれば書籍のコードを打って確認するたびカーネル殺さずにそのままセル実行して保存できるようになると思う。

ということでそんな感じにやっていけばChapter4まで進めることができます。Chapter5はWebページに組み込むとかやるってことらしいので流石にNodeJSでできないのでページつくらないと無理っぽいかな。

さて、件のChapter5ですが下のような感じの文字置換器を作ります。

f:id:andron:20200318224815p:plainf:id:andron:20200318224821p:plain
MeCabとかと組み合わせると面白いものできるかもしれないけども、今のところ置換することで面白くなりそうなネタ思いつかないので改造は保留。


とまあ、たまたま読書する機会ができて、さらにJupyterNotebookネタを思いついてしまったので連日色々と投稿してしまいました。実際にやってみて、この書籍のようなお試しコードを複数書いていく系のやつには、JupyterNotebookとそれなりに相性良いんじゃないかなと思った。んでな、このふりがなシリーズってまだあるんだけど僕が知ってるのって他UnityとVBA系なんですよね。さすがに、VBAとUnityは無理かな……。そういったわけで、ここまで連投してきたJupyterNotebookネタは今回で終了となります。色々環境構築手間取ったなあ……。こんなことやっても人生には何一つ役に立たないのが残念です。悲しいですね……。このブログを読んでいるみなさんは僕みたいなワケわからんことやる悲しい人間にならないようにね!それじゃあ、また機会があればどこかでお会いしましょう!


連日こんなアホなことやっていたせいで、GitHubリポジトリのJupyterNotebookが無駄に充実してしまった。
f:id:andron:20200318225213p:plain


おわり