投稿先: https://noratetsu.blogspot.com/2022/04/programming03.html
ツール製作日誌:三ヶ月で劇的ビフォーアフター② 生き方改革編
前回の続き。JavaScriptを勉強して情報管理ツールをいくつか作ってみたというのを前提に、何を得たのかをまとめておこうと思う。
まずプログラミング周りの自分の到達段階はこんな感じ。
(HTML、CSSは2021年中におおよそ習得)
(SCSS、mermaid.jsを1月中に大体理解)
JavaScriptのDOM操作をある程度理解
- TypeScriptをちょっとやったけど結局直接JavaScriptで書いている
Node.jsとElectronを少しやった(作ったツールを移植して動かせるようにはなった)
Pythonの基本的な操作を学習
ツールを作れたというのはつまりデータを扱うということができるようになったということだが、そのことによって世界が劇的に広がったように思う。プログラミングの勉強を始めてすぐは、何かが「動く」というだけでデータのセーブ・ロードはできないので、自力でコードを書けることのありがたみをなかなか感じられない。
データの扱いは以下の順番で学習していった。
ローカルファイルのCSVを読み込んでJSONにする(というコードを拝借して使う)ことに成功
localStorageへのオブジェクトの保存・呼び出しを理解
localStorageにHTMLをそのまま保存する手があるのを理解
GitHub Pagesで公開状態にしたデータをfetchすることに成功
Electronを使ってローカルファイルを読み書きすることに成功
データの保存・読込時にHTMLとOPMLを行き来するやり方を習得
Promiseで確実にデータの読み込みが完了してから次の処理をする構造を理解(サイズの大きいデータを扱えるようになった)
つまり、「ブラウザにデータを保存できる」「ローカルファイルを直接読み書きするという手もある」「ネット上に公開されているファイルを読み込める」「独自ツールでもOPMLにして種々のアウトライナーと互換性を持たせられる」ということができる状態である。ここまでのことならそんなに高度な技術は必要なく実装できることがわかった。クラウドが扱えたらスマホでもアクセスできるのになあと思うのだが、まだそこまでのスキルは得ていない。
しかし、ここまでできたならDropboxかGoogleドライブか何かしらの何かでいけるのではないかという気がしてくる。実際どうかはまだよくわからないが、「できるのかもしれない」と考えられるようになった。三ヶ月前はそういう可能性など僅かにもなかった。
プログラミングを勉強し始めて、気持ちや考え方の面でかなりの変化があった。
一言で言えば、生活がとても豊かになった。物的経済的には別に何も変わっていないが、想像力と創造力が飛躍的に高まったような感じがある。
他のツールに対して不満を抱くことも減った。そもそも自作ツールのことばかり考えて他のツールのことはほとんど意識を向けてもいなかったということはあるが、何かに不足を感じても基本的に「その要素を足したツールはどうやったら実装できるかな」と考えるようになった。
もちろんできることには限りがあるが、私がやりたいことというのは基本的に「テキストデータを良い感じに表示する」ということだけなので、必要なスキルは初歩的なものだけで済む。やろうと思えばどうにか実現できる。プログラミングの経験がない人の目にはもしかしたら何かすごいことをやっているように映ったりするかもしれないが、数学にたとえると、三角関数でも微分積分でも行列でもなく、四則演算とせいぜい平方根を使う程度のことをやっているようなものである。その組み合わせを工夫しているというだけだ。
元々日曜大工的なことは好きで、特定の用途に合う容れ物や何かの位置を固定するものなど「あると便利だが名前をつけがたい何か」の類を色々作っていた。自分が得意なのはそういうアナログな工作であって、デジタルなものはちょっと苦手だなという意識がずっとあったのだが、今は日曜大工と同じ感覚でコードを書いている。家は建てられないが棚は作れる、という感じだ。
ツール作りに取り組むにあたって、「痒いところは自分で掻く」を合言葉にしている。
頑張れば作れると思えるようになったことにより、デジタルツールに対して自分が本当に求めていることは何かを細かく考えるようになった。思いつくのは空想ではなく実現可能性のあるアイデアである。以前ならただ「こうだったらいいなあ」と思うに留まるほかなかったが、今は「無いなら作ればいいじゃん」と思う。
誰かがやってくれるのを待つしかなかった生活から、頑張れば自力でなんとかできる生活へとデジタルライフが転換したのである。何が何だかさっぱり分からなかった世界で主体性を手に入れたことは、精神的に劇的な変革をもたらしたと感じている。ますますデジタル化が進む中でも自分の生活をコントロールしていられるかもしれないという希望がある。
だからみんなもやろう、と簡単に勧められるわけではないが、しかし未経験者が思っているほどプログラミングは遠い世界のものではないというのは確かである。
「alert("Hello World!");」の一行から人生は変わるかもしれない。
Backlinks
関連度が高いかもしれない記事
- ゼロからのプログラミングについての所感
- JavaScript日誌:一歩進んだら十回足踏みせよ
- よくわかるNoratetsu Lab(2022年版)~前編~
- 2022年の振り返り
- ツール製作日誌:三ヶ月で劇的ビフォーアフター① 自作ツール紹介編
他の「プログラミング」タグの記事
- アウトライナー×つぶやき×平面配置②~ツール紹介編~
- 飽き性だから凝ったツールを作る
- ゼロからのプログラミングについての所感
- ツール製作日誌:プログラミングの勉強を開始して半年の振り返り
- プログラミングに抱く「得体のしれなさ」問題
- ツール製作日誌:三ヶ月で劇的ビフォーアフター① 自作ツール紹介編
- ツール製作日誌:「面のアウトライナー」
- JavaScript日誌:一歩進んだら十回足踏みせよ
他の「自分仕様にする」タグの記事
- Obsidian再び
- ファイルというモノから解放されて漸くデジタルがデジタルになった
- ひとり掲示板で自由に呟く
- 【こういう】Scrapboxのページタイトルはスレタイ風に隅付き括弧を使うことにした【形式】
- NTA-DIY:1ヶ月目⑨~ブックマーク管理ツールを作ってみる~
- ツール製作日誌:HyperDatabase
- 2023/01/08 ―― アイコンと生まれる表現/ドット絵を描くツール
- ローカルのディレクトリの構造を大整理した
- のらてつの茶の間とは
- ツール製作日誌:カード式アウトライナー②背景説明編
- ツール製作日誌:カード式アウトライナー①機能説明編
- ツール製作日誌:タスク&スケジュール把握ツール
- アウトライナー日誌:バレットを「┠」にしたらバレット感に邪魔されなくなった
- Office日誌:フォントと背景で「自分の場」感を演出する
- Office日誌:思想を自分の手に取り戻そう
- HTML日誌:自分のためだけにHTMLを書く
- 知的生産を「自分の想像を大事にしようとすること」と言い換える
- Git日誌:テキストファイルをホワイトボードのように使う