大学
先月と同様、以下の科目を学修した。
- プログラミング2
- Web技術基礎
プログラミング2 は残っていた課題に取り組んで、なんとか期限内に提出できた。特に苦労したのが画面遷移の実装。簡単なゲームを作成する課題で、スタート画面とゲームプレイ画面、スコア表示画面を用意してマウスのクリックを機に画面遷移させる必要があった。躓いたのが、画面クリックをするとゲームプレイ画面をすっ飛ばして(厳密には数ミリ秒)スコア表示画面に遷移してしまい頭を悩ませていた。
結果的に、マウスイベントの処理(if (mousePressed == true)
)を draw()
関数内に記載していたことが原因だった。draw()
関数はフレームレートぶん(デフォルトで 60 FPS)実行されるため、1 回クリックするだけでも、Processing は複数回クリックしたものと解釈してしまう。この問題は mouseClicked()
関数を利用することで解決できた。mouseClicked()
関数はマウスが押されて離されたタイミングで実行される関数で、そのブロック内で画面遷移をするようにコードを修正したら想定通りにゲームが動作した。
課題の提出にあたって、学内 Temas で在学生の方に助言いただいてなんとか解決に持っていくことができた。ありがたい。課題も無事受理され、小テストも全て解答したのであとは復習して科目修得試験に望むのみ。
Web 技術基礎は、先月に引き続きレポートの作成に励んだ。レポートのなかで HTML、JavaScript プログラムを作成する課題もあって、XML を操作する DOM プログラムを作成せよというものが面白かった。今回はXML に記載されたデータを JavaScript で読んで HTML に挿入するプログラムを作成した。getElementsByTagName()
で XML ドキュメントを読んで、Element.innerHTML
で挿入するプログラムで、XML で入れ子となった要素を取り出すのに苦労したのを覚えている。最終的に、この記事を参考にして解決することができた。
www.ipentec.com
あとブラウザでローカルの JavaScript から XML を見に行く時に以下のエラーが発生したが、Docker で httpd コンテナ動作させることで回避した。
Access to XMLHttpRequest at 'file:///path/to/sample.xml' from origin 'null' has been blocked by CORS policy: Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, chrome-untrusted, https.
今回は XMLHttpRequest()
でローカルの XML ファイルを読むようにしたのだが、file:///
URL では不可だと。ちゃんと HTTPS の URL を利用しよう。ローカルのファイルが JavaScript から読めたら意図せず情報が盗まれたりする可能性があるものね。ブラウザの起動オプションでローカルのファイルを読めるようにする設定が可能みたいだけど、やめた方がよさそう(今はできないかもだけど)。CORS も理解せねば。。。
developer.mozilla.org
無事レポートを提出して受理されたので、現在は科目修得試験の準備中。
育児
月齢 9 ヶ月になった。
- つかまり立ちした
- またベッドから落ちた
- 奥さんがお手洗いにいってる間に
- 奥さんはオレを起こしたそうだが記憶にない...
- 今後はビンタして起こすように頼んだ(ごめんよ息子氏...
- 後追いをする
- 奥さんの髪切ったらギャン泣き
- 声が枯れた
- 初の水遊び @ お風呂
- テレビ台を囲うベビーサークルを自作した
- 離乳食の量が増えてきた
- 吐き戻しの回数が減った
- 自分でお風呂までハイハイして来るようになった
- 八重歯が生えた(3 本目!!)
- ハンドスピナー(懐かしい)に夢中
ついにつかまり立ちをした。見える景色が変わって更に家中を無限にハイハイ & つかまり立ちをするようになった。テレビ台に寄りかかってテレビや Echo、時計を掴むようになったのでベビサークルをイレクターパイプで自作した。既製品だとどうしてもサイズ感が合わなかったので、やってよかった。が、とても大変だったのでもう二度と DIY はしないと奥さんと合意した。これで最初で最後の DIY。
新型コロナの感染者数も増えてきたので、息子氏のために気に引き締めようと奥さんと話した。正直これまでは気が緩んでいて、積極的に外出はしないものの、IKEA やカフェにはちょこちょこいっていた。現状、息子氏にはワクチンは打てないので親が感染しないようにする必要がある。また、万が一どちらかが感染した場合の動きについても話した。準備は大事。あーはやく息子氏と水族館とかいきたい...