2022年1月30日 教育格差、Firebaseでインクリメント

今日はとてもしんどくて、起きたのは昼だし、飯くったらさらに昼寝した。何もする気が起きない。多分疲れているんだと思う。まぁだいたい仕事のせい。仕方ないね。

トピック

  • 教育格差
  • 個人開発 Firebaseでインクリメントの憂鬱
  • Obsidianのライブプレビュー機能

出前館の送料無料期間が終わってしまった😭

教育環境の充実さと教育格差

甥のオンライン家庭教師を引き受けたことは、何度も日記に書いている。で、最近はどんな勉強方法があるのか、教材研究などもしているのだが、今は驚くほど無料でできる環境が充実している。

まず一問一答アプリで反復練習ができる。すぐに解答が確認できるのは格段に効率がよい。また、これは教える身としてもとても有り難い。なぜならば、答え合わせまでしてくれるからだ。教えてみてわかったのは、「答え合わせ」「やったことの確認」これが大きな課題だということだが、一問一答アプリはそれを解決してくれる。

そして、受験用の一問一答アプリは、広告が少し表示されるだけのものが、無料で多く存在する。参考書としては安価な価格を払えば、広告を非表示にすることもできる。これはすごい。革命的だ。僕の受験の時にこれがあったなら、学習効率はどんなにかよくなっていただろう。

YouTubeにもわかりやすい解説動画がたくさんある。恐らく、学校の授業よりもわかりやすいのではないか。しかも何度も何度も見られる。昔はこういうオンデマンドの授業ってそこそこしたと思うけれど、YouTubeにこんなのがガンガン出てたら、商売上がったりだろうなぁ。

今我が国には、お金がなくても質の良い教育を受けられる土台が整っているのだと強く感じた。これは、たいへん素晴らしいことだ。

それにも関わらず、現実には教育格差が広がっていると最近はよく聞く。この教育格差というのが、環境の格差なのか、それとも結果としての学力の格差なのか、どちらなんだろうと思ったが、教育格差 – Wikipediaによると、どうやら環境的なものらしい。

なるほど確かに格差はある。しかし、インターネットの環境とデバイスさえあれば、理屈の上では質の高い教育は受けられる。もっといえば、スマホがあるだけでそれなりの教育、少なくとも僕が受けた教育より上質の教育が無料で受けられるんじゃなかろうか。

もっとも、そういう情報にアクセスするやる気が必要だし、さらに情報の洪水から自分にあったものをトライ&エラーで探し、実行を続ける根気は必要だ。結局の所、先生とはそのサポートをする存在なのかもしれない。

なにより、子供が学習することを妨げない、奨励する、やる気が出る環境、これが一番難しいのだろう、とは思う。

2ndchatの開発 トランザクションの極み

Search | 2C

友人からきていたプルリクについてレビューした。過去の仕様の名残などもあって、変数がどこでどう使われているのか僕自身に把握できていないこともあれ、色々レビューした挙げ句、「あ、これでいけるやん」という感じになってしまって、なんだかなぁという感じだ。

内容的には、同時書き込みがあった時のレス番号の重複を防ぐ、というものだ。これは簡単に思えるけれど、使っているのがFirebaseのFirestoreであるため、「数える」はけっこう難儀する。Firestore.increment()が使えれば話は早かったのだが、Firestore.increment()した値をそのままレスポンスで受け取ることはできなさそうだった。レス番号なので、インクリメントした値をそのまま使える必要があった。

そうすると、方法は主に2つあると思う。

  • Firestoreのセキュリティルールで+1以外エラーにする
  • トランザクションをちゃんとやる

最初、機能的にはどちらも大差ないのではないかと思っていた。同時書き込みがあったらエラーを返すんだろうと。であれば、セキュリティルールのほうが簡単だよね……と思ったんだけれど、ドキュメントを見るとどうやらトランザクション処理においては、読み取った値に変更があったら自動的にリトライまでしてくれるらしい。であれば、UX的には断然トランザクションちゃんと書くべし、ということになる。

で、友人はそこをちゃんと書いていたので、あれこれ言うまでもなく、それを採用したらよかった、というのが散々議論した後の結論である。

このあたりの話は、まとめて記事にしたい。

Obsidianのライブプレビュー機能

自分は昔から情報の整理には大いに関心があった。ご多分に漏れず、10年ほど前にはEvernoteに傾倒していた。一時期はプレミアム会員にもなっていた。今も、Evernoteの機能は一部使っている。Evernoteから移行が困難なコンテンツやTwitterとの連携サービスなどが便利だからだ。

今は色々あって、結局Obsidianに落ち着いている。Obsidianはメモアプリとしてはメジャーとは言い難いかもしれないが、Markdown形式かつローカルのディレクトリをそのまま使えるというわかりやすさ、手軽さがある。僕はDropboxのプレミアムユーザーなので、ローカルのディレクトリをそのまま扱えるのは都合がよかった。ローカル故にとても早い。Markdownなので可搬性も高い。いわゆるコラボレーションにはあまり向かないと思うが、個人用メモアプリとしては正解に辿り着いたという感がある。

そんなObsidianが、最近のアップデートでライブプレビューに対応した。リンクや箇条書きなどがリアルタイムでプレビューされる。リンクをクリックしたりカーソルを合わせるとプレビューが解除されるなど、挙動はちょっとけったいな感じがしなくもない。

まぁでも、閲覧のためだけにCmd + Eでプレビューする、というのは確かに煩わしい作業であった。なので、ちょっと違和感は覚えつつ、まぁ慣れかなぁ。歓迎すべき機能と考え、プレビューモードを使っている。

関連記事

スポンサーリンク

コメントを残す

メールアドレスが公開されることはありません。