6/30

 進捗報告 

CRSルール読解

 いつもの演習室で3時間ほどCRSを読み進めることができた.今日は,905-common-exception, 913-scanner-detection, 911-method-enforcement, 900-exclusion-rules-before-crsを読んだ.ココらへんのルールは,登録されているルール本体自体はそこまで多くなくて,説明と制御に関わるものが多いという感じで,割とさらっと読めた.この調子でどんどん読んで,CRSのルール読解タスクを進行させていきたい.

帰宅後にさらに3時間ほどCRSを読み進めて,921-protocol attackと901 initializationを途中まで読んだ.これらのルールは結構長いので,時間がかかるが,全部チェックすると決めたので,どんどん読み進めていく.

C言語TA

 今週もいつものごとく学部生とC言語について学ぶことができた.先週からは,もうすでにC言語自体の言語仕様を新たに学ぼうというフェーズではなくなっているので,特に教えるようなこともなくなってきているのだが,データ構造についてはまだあまり理解されていなさそうなので,色々と説明する余地がある.

ハコワールドを見た

 昨日見る時間がなかったハコワールドを見ることができた.今回が最終回で,これまで割と長く16週?くらい続けて見てきたものがついに終わってしまったという感じ.ゴールはかなりきれいな感じだったので良かった.視聴者参加型なのも新しくて面白かった.キャラクタづくりのエッセンスがかなりあったので,見直して勉強したい.

生活面

 朝10時半起床.だいたい8時間睡眠.十分な覚醒度を得た.

 昼は生協で3色そぼろを食べた.ちょうどよいサイズであっさり食べれた.

夜にペットボトルを廃棄することができた.これでによってキッチンの床面積が広くなった.

6/29

進捗報告

正規表現の勉強を進めた

 詳説正規表現という本を3時間かけて,50ページほど読み進めることができて,今2章の後半にいる.ここまでで,正規表現のコンセプトと,極めて基本的な文法について学んできて,それをコード内で使う方法も確認することができた.実際のセキュリティルールで使われる項目はまだカバーしきれていないので,少なくとも3章まではきちんと読むことが必要だろうと思う.

ファイル一式転送

 昨年のクラスメート(現在は所属が変更になった)だった人から,昨年分のプレゼンファイル一式を送ってくれという連絡を受けて,これについて学校に行って対応をすることができた.出かけるついでにパッと片せて,向こうも喜んでいるみたいだったので,良かった.

出かけた

 週末なので,少し遠く前行こうと思って,ホームセンターあたりまで遠出して,運動量を稼ぐことができた.ホームセンターでシャンプーとエアコンクリーナーを補充して,それから台所で使うボードと筆記具を買い足した.このごろ,台所で印刷した書類を読んでいることが多いので,そこで十分に役立ってくれるだろう.

ShellModoki拡張

 ShellModokiで複数行の入力を受け付けるべきか判定して,必要な場合には複数行を読み込むように改変をすることができた.これによってifやwhileの中にコードブロックを置くことが可能になる.次は,ifやwhileのconditionをパースできるようにパーサを拡張する.conditionの形式は[ オペランド1 オペレータ オペランド2] みたいな形式をひとまずはサポートすることにしよう.

生活面

12時起床.だいたい10時間睡眠.高い覚醒度を得た.

床を清掃して,ほこりを綺麗に取り払うことができた.

6/28

 進捗報告

リーダブルコード読み

 リーダブルコードを3時間くらいかけて再読することができた.関数とかコメントの解像度を上げるとか,コードをヘルパー関数を適宜して切り分けるとか,そいういう表層的な部分に関しては,以前読んだ時よりはかなりできるようになってきているという感覚.内容も以前よりは遥かに理解できた.ライブラリの機能をきちんと把握しておくということは,重要だと思うので心がけていきたい.あと,テストケースはきちんと綺麗に整然と書くことも意識したい.

README整備

 昨日書いたコードのREADMEを4時間くらいかけて,整備することができた.文章を書いて,それを校正してから,理解を助けるための図表をいれて,とやっていたらかなり時間がかかった.英文は完璧ではないが,一応grammarlyでscore 80くらい出ているので,読めば意味はわかるだろうと思う.これで,このプロジェクトもひと段落がついたというところで,達成感.人生が進んでいくなぁ!

採点業務

 今日も1時間半ほど採点業務に従事して提出されたレポートを捌くことができた.これで,今週の頭も採点業務に頭を抱えなくて済むはずで,週初めをスムーズにスタートするための非常に良い投資になった.

生活面

朝4時起床.睡眠時間は3時間くらい.明け方にもう一度寝るつもり.明方に寝て正午に起きた.大体6時間睡眠.これで十分な覚醒度を得た.

プラごみを廃棄することができた.今週はゴミを溜めずに,適切なタイミングで廃棄し続けることができた.

お昼はのり弁を食べた.かなりボリューミーだったけど食べれた.

洗濯物の昨日分を回して,全ての洗濯物を片すことができた.

散歩に行って,地域一帯を40分くらいかけて歩くことができた.これによって十分な運動量を確保した.

夕飯は,米,鮭,春雨スープでバランスよく食べられた.

6/27

 進捗報告

敵AIコードの大幅リファクタリング

 6時間ほどかけて,昨日まで書いたスクリプトを大幅にリファクタリングをすることができた.コーディングフォーマットとしては基本的にSun microsystemsのフォーマットに準拠する形で,全体を綺麗に書き換えつつ,フォーマットを詰めていった.複雑な処理をしている箇所にもコメントを入れていったり,セクションを分けていくことをして,なんとか,読んだら処理を終えるレベルになってきた.まだコメントが不足している部分はあるので,そのあたりを補ったりしつつ,今度はreadmeをちゃんと書くという作業を進めていきたい.

自己紹介文

 ポータルサイトの自己紹介文を考えて,とりあえず埋めることができた.内容はもう少しやりようがあると思っているので,定期的に更新していきたいと思う.あまり固い内容だと,とっつきにくくなるので,カジュアルな自己紹介文を考えて,これを随所で使いまわしていきたいところ.このポータルサイトに限らず.

README作成

 大体2時間強くらい作業して,BTデモのREADMEを書き進めた.いったん構成を紙に書いてから,READMEの編集を始めた.文章自体は英語で書いていて,英作文にはそこまで自信がないので,文法上どれくらい性格なのかはわからないけれどもとりあえず書いていく.で,だいたいBTのアルゴリズムの説明と,このプロジェクトの概要を示すことができた.文章の添削は明日grammalyとか使ってやることにしよう.あと,自分のキャラクタAIの動作の説明が書けていないので,それについても書いておくこと.

生活面

朝9時起床.おおよそ9時間睡眠.十分な覚醒度を得た.

床の清掃を2ラウンドしたのちに,洗濯物を回収できた.これによって,さらにもう一便洗濯機を回して,先週分の洗濯物を掃けさせることができた.

家の周りを一周して,その後に学校にも行ってみて,これで,運動量を稼ぐことができた.

夕飯は,米,鮭,春雨スープの3点セットで,結構食べれた.

6/25

 進捗報告

敵AIスクリプト作成

 敵AIのスクリプトを1時間半ほど作成することができた.これによって,当初予定していたツリーを全て組んでみて,動作を確認するということができた.しかし,なぜ,ここまでうまく機能し続けていたはずの近接攻撃用のクラスが突然動かなくなって,原因が以前としてよくわからないので,デバッグが必要である.それから,リピーターも適切に機能していないようで,行動の繰り返しがなされていないから,デバッグが必要.

 追加でデバッグ作業をして,近距離攻撃用のクラスを直すことができた.コンストラクタの中でthisを使い忘れていたのが原因だったみたいだ.

 そこから,さらにデバッグ作業をすすめて,リピート動作も実装できて,最終的にツリー通りにキャラクターが動作することを確認した.敵の難易度調整などの別の問題もまだあるけど,兎にも角にもBTのデモ実装が完了したということで,一仕事を終えることができた!

myshellプログラミングを進めた

 これまでのmyshellのコードを新しいリポジトリに移していて,その過程で,かなりのリファクタリングをすることができた.シェル自体をprinter, executor, tokenizer, parserの4パーツに切り分けて,mainはあくまで,それらをまとめるためのプログラムという位置づけ.この構成にすることで,それぞれのコードがかなり簡潔になり,更に改良を加えるための見通しの良さを再び確保することができた.

 そこからさらに1時間半ほどすすめて,複数行の入力にも対応することができた.これによってWhileやIFの解釈をするための準備ができる.まだ入力内容の連結操作ができていのいので,この処理を書いて,関数として切り出してやる予定.そのあとはparserをガリガリ書いて,対応するexecutorの関数も書いていく.

正規表現本読み

 正規表現の本を読み始めて,1時間くらい読むことができた.正規表現はWAFルールを読み解く上で非常に重要であるので,ここから毎日ガンガン読み進めて,正規表現力を高めていきたい.大体一週間くらいを目処に読んでいく.

CRSブログ読み

 CRSのバックナンバーを読み始めて,2017年の記事をいくつか読んで見ることができた.読んで見ると,プロジェクトの重要人物や,依存度の高いライブラリ,プロジェクト全体で問題とされていること,そもそもとして全員が難しいと考えていること,などの背景情報がかなり摂取できて,非常に良い.バックナンバーが結構あるので,過去から現代に遡る形で読み進めていきたい.


生活面

7時半起床.大体7時間睡眠.十分な覚醒度を得た.

部屋の床掃除をいつもの三倍ほど入念に実施することができた.これによって,床の埃を大体一掃できた.

昼は,今日も生協で買った唐揚げ丼.暑くて食欲減退しがちなのだが,割合食べやすいから,いい感じ.

夜は米,鮭,春雨スープの3点セット.来月に入ったらフルグラを復活させる方針.

6/24

 進捗報告

演習室城塞化

 演習室のLinux環境をセッティングすることができた.これによって,これまで研究室や家でやっていた作業をすべて,演習環境でも快適にできるように なった.この時期は研究室のクーラーが入らないので,演習室でいかに作業できるようにするか,という点は非常に重要.

進捗報告書作成

 今週分の進捗報告書を1時間30分程度かけて書くことができた.先週まででparserのコードがだいたい書けたので,これをつかって通信をチェックできるようにして行きたい.実験環境はfabricがエラーを起こしているので,これもデバッグしたい.fabricのドキュメントを読んで,きちんとこのライブラリを理解した上で,問題を解決したいところ.

進捗報告

 ゼミで,先週分の進捗を報告することができた.また,この時間を使ってTAの講義の自習をすすめることもできた.google colaboratoryはうまく使えば,GPUを結構使えるので,いいと思う.しかし,講義資料がPlayボタンを押し続けるだけの内容になるのは全く面白くはないと思う.

TA勤務

 夏休みの集中講義に向けての事前研修というので,TAをやった.今回のはChatGPTの使い方を学ぼうみたいな,内容で,このご時世でそんなの知らない人いないでしょという内容では合った.なので,勤務自体も特に何も問題もなく,良い休憩時間となった.

生活面

9時半に起床.おおよそ8時間睡眠.十分な覚醒度を得た. 

昼は生協の唐揚げ丼を食べた.よくわからないコンセプトだが,チャーハンの上に唐揚げが乗っている.ボリューム自体はちょうどよかったので,あっさりと食べれた.

夜は米と酒,コーンスープの3点セットを食した.なかなかボリュームがあった.

6/21

 進捗報告

採点業務をこなした

 先週分の採点業務を4時間くらいかけてこなすことができた.これで,来週の頭にバタバタせずに済むというところで,かなりいい感じだ.採点自体も慣れてきて,だんだんとスループットが上がってきた.見るべきところを決めて,パッパとチェックしていくことが大事だ.この課題は,普通にフォーマットがきちんと決まっていないのが原因で,無駄に人々のリソースを消費している感が強いのが,なんともなー.

 昼過ぎに,今度は再評価の作業を45分ほど進めた.再評価だと評価が甘くなりがちだけど,それはそれでいいかという感じ.これについては,完全にボランティアだし.

配当金を受け取った

 昨年に買った株についての配当金を受け取ることができた.投資額が少額であるため,当然配当金も少額なのだが,それでも,投資をした結果として何をかを受け取るというのが初めてだったので,謎の充足感があった.

統計本読み

 研究室で2時間ほど本読みをして,はじめての統計学の第1章を読み終えることができた.第1章の振り返り問題は,データを数え上げて分布表とヒストグラムを作成して,その傾向を比較したりするといったもので,難しさはないものの,単純に作業量が多かったの時間がかかった.今のところ,この本は多くの確認問題を解きながら,すこしずつステップアップしていく方針で,時間はかかるものの,引っ掛かりはなくスムーズに進行することができている.

 また,途中で正規表現の本も読み始めた.正規表現はWAFルールを読解するうえで必須なので,これについても勉強を進めていきたい.

ゲーム開発会議

 2時間半ほど作業を進めて,遠距離攻撃と近距離攻撃を組み合わせた敵キャラクタを作成することができた.これをゲーム会議でも共同開発者に見せて,テストプレイしてもらったりした.結構敵キャラが強くなったので,アクションを楽しめるようになっている.あとは,弾幕要素をきちんと想定通り実装できることを確認するところまで,明日でやれれば理想だ.

生活面

朝5時半起床.大体5時間睡眠.覚醒度は普通くらい.昼に仮眠を挟むかも.昼に1時間ほど仮眠を挟んだら,眠気を解消できた.

昼は学校に行く途中で買ったメロンパンとナン.どちらも割とあっさりと食べられた.

一応休日ではあるが,学校への往復を1回挟むことにより,運動量を稼ぐことができた.

帰り際に電気代を支払うことができた.先月分はそれほど高くなかったので,損害軽微.

夜はいつもの,米,スープ,鮭の3点セットで,バランスよく食べれた.

6/20

 進捗報告

論文紹介を聞いた

 クラスメートの論文紹介を聞くことができた.起床時刻的に割とピンチだったけど,日々鍛えている競歩能力のおかげでブザービータで到着.内容自体は,小テストを生成AIで作るという内容で,馴染みやすい内容ですんなり理解できた.いい感じに内容を踏襲して,もっと面白い小テストを作ってほしい.

アルパカトーク

 昼過ぎにアルパカを飼育したらどのくらいかかるかについて話して盛り上がった.どうやらアルパカの飼育は法的には問題がなく,また,ランニングコストも他動物に比べてとても高いというわけではないらしい.その流れで,家で飼育しているペットの話や,アニメの話などをした.響けユーフォニアムが面白いらしい.

ゲームデモプログラミング 

 今年度に入ってから長らく入っているゲームのデモプログラムに近接攻撃を実装することができた.剣を表現するクラスを実装し,それを振り回すためのメソッドを実装した.そこまでできたら,今度は剣についてのヒットチェック用の関数と,それによるダメージ計算処理を実装した.これが非常に大変で,結局追加で500行くらい書き足す必要があった.ヒットチェックも結構処理が複雑で,ホワイトボードで計算をしながら実装した.結局6時間くらいの格闘の末,ようやく正常に動作するようになった.そこからは,距離に応じてプレイヤーとの距離を詰めるアクションを実装したりして,敵の動きもそれらしくなった.格闘線にについては,敵キャラもなかなかの強さなので,遠距離攻撃を混ぜないと処理するのは厳しいくらいの難易度になった.

生活面

昼は生協のチキン南蛮弁当を食べた.割とすっきりと食べることができた.

昼過ぎに散歩をして,普段はアプローチしないルートでラウンジに近寄ってみた.道らしい整備はされていなかったが,草むらを足でかき分けて進んだ.これによって,道なき道を進むことへの抵抗感がなくなり,今後の散歩ルートを可能性を広げることができた.運動量は十分に稼げた.あと,クーラーが入っている快適なラウンジを数箇所発見できた.

6/19

 進捗報告

picoCTF2025振り返り修了

 echo valleyのwriteupをいくつか読んでみて,方針を確認することができた.しかし,現状のレベルのではこの問題のライトアップは理解できないと判断.この問題は捨てることにした.これにて,当日解けなかった問題の振り返りは完了.このプロジェクトは終了することにする.ここからは,バイナリ解析について,教科書的なものを読んで勉強して,もう少し実力をつけるようにしたい.Web問題は引き続きCTFでレベルアップを図っていく.

Linux講義出席

 1限のLinuxの講義に出席することができた.今回はLinuxの開発を取り巻く社会的背景についての話題で面白く聞けた.

卒業生と通話

 研究室を昨年卒業して外部に進学した人と久しぶりに話をすることができた.かなり元気そうだった.生活は充実しているらしい.研究室の中で流すいい感じのBGMを教えてくれた.

研究発表を聞いた

 クラスメートの研究発表を聞いた.内容については,かなり紆余曲折あったようだが,練習の時よりもかなり歯切れがよくなっていてよかったのではないかと思う.

SecRuleList

 5時間くらいコーディングに取り組み,結果として,ルールをリスト構造で持てるようになった.リストとして持つための構造体を新たに定義し,そこにルールを追記することができるようにして,最後にはそれらをまとめて解放するための機能も追加した.保持している内容をダンプするような関数も書いて,これによって,上手く機能していることを確認できた.これで,とりあえずは第1バージョンのparserということでmainブランチにマージしてしまうことにしようか.

生活面

朝5時半起床.大体5時間半睡眠.覚醒度は高め.全然疲れがなかったので,あんまり寝つきが良くなかった.日中にもう少し運動量を稼いで疲労させないといけない.

昼は塩ネギ丼を食べた.塩気が効いていて,かなりあっさりと食べることができた.

昼過ぎに散歩に行き,大学図書館の中を歩き回ることで,運動量を稼ぐことができた.

夕方に昼寝したら,かなり元気になった.

6/16

 進捗報告

Catコマンドの歴史調べ

 UnixのCatコマンドの歴史を色々と調べることができた.The Source History of Catというページに色々と書いてあった.初版のcatはPDP-7向けの初版のUNIXに載せられたもので,これは初版のUNIXがassemblerで書いてあったのでassemblerで書かれている.著者はUNIXの著者の1人であるKen Thompson.その後にSecond editionのcatがPDP11のUNIX向けで書かれたのだが,この時にファイルが渡されなかった場合に標準入力を読むという仕様が追加された.そのあとは,the seventh editionのUNIXの時に,cでの実装に書き直された.この時のオプションは-uだけだったが,のちの4BSDの時に,現在のようなオプション体系になった.1990年代に突入するとAT&Tとのライセンス問題で,BSD /Net2において多くのコードが書き直され,catコマンドも1991年にKeven Fallによって書き直された.この時のコードは多かれ少なかれ現在でも引き継がれていて,Mac OSにおいても,この時のバージョンのコードの多くが流用されているという話だった.なお,Linuxのcatについてはかなり別の系譜の話のようで,この記事では登場すらしなかった.

採点業務対応

 2時間くらいかけて,C言語講義の採点業務を片付けることができた.かなり集中して取り組んだので,割合すぐ片付いた.この手の作業量だけがひたすらに多いタイプのタスクは,タイプレッシャーをかけて一気に片づけることが肝要である.

C言語TA

 C言語のTAで,学生とC言語の練習をすることができた.今回はゲームの製作ということでそこそこの盛り上がりを見せたので良かったのではないかと思う.来週からはアルゴリズムの実装になるので,そこそこに頑張ってほしい.

生活面

 7時半起床.だいたい5時間睡眠.覚醒度自体は十分である.

 朝はフルグラを食べた.欠食を回避できて良かった.

 外が晴れていて,今日は雨も降らないようなので,朝一番で洗濯機を回した.これにより,手元に洗濯物バッファが全て掃けた.


6/15

進捗報告

近況聞いた

 親らから電話があって,それで地元の近況を知ることができた.祖母は庭仕事に際して,何らかの理由により大ジャンプを繰り出した結果,着地に失敗して足を打撲し,踵にヒビが入って2ヶ月のギブス生活を余儀なくされているらしく,その結果仕事も在宅に切り替えたが,喋り声が大きすぎるので,業務上の会話内容が近所に筒抜けになっているらしい.あと,世田谷食品はいい感じだったので,定期購入でもいいかもしれませんね,的な話をした.

picoctf2025振り返り

 1時間半くらいライトアップを読んで,SSTI2とApriti sesamoを解き直すことができた.phpファイルについては末尾に〜をつけることでコメントを含めてロードできるというところ,それから,sha1()の関数は文字列を要求していて,それ以外を渡されると警告と共にnullをreturnするという仕様を使うことが重要であった.こういう仕様の利用は流石に知っていないとできないような気もするが,勘所が掴めいれば,その場で調査して辿り着きそうな気もするな.量をこなして能力を開発していきたい.これで,あと,当日着手したものの解けなかったのは後2問.次のセッションでこのタスクとも片をつけられそう.

catコマンド勉強

 catコマンドをネタにして何か話を作ろうと思って,catのマニュアルを読むことができた.catで何かオプションを伴うことっていうのは僕のユースケースではあまりないのだが,色々用意自体はされている.bsdとcoreutilsでは結構オプションが違っているので注意する.

catコマンドコード調べ

 catコマンドのコードを読んで,動作の確認を進めることができた.550行目くらいからmainが始まって,そこから300行くらいmainが続くのがcat.cの内実なのだが,かなり色々なことをやっている.特に重要なのがinputとoutputのファイル情報をそれぞれ得るところで,inodeとかを取得して,読み書きの単位(io_blksize)を設定したりしている.それが無事にできたらようやく実際の読み書きがされるという流れ.

生活面

11時半起床.だいたい8時間睡眠.十分な覚醒度を得た.

昼飯はトルコライスを食べた.割合あっさりと食べれた.

洗濯物を回収することができた.午前の日差しのおかげで,しっかりと乾いていた.これで来週雨続きでもなんとか持ちそうだ.

夜は肉じゃがと,米,フルグラの3点セットで,バランスよく食べれた.ようやく体重が46kg台まで回復した.50kg手前くらいが,これまでの経験上安定していたラインなので,ここくらいまでの取り戻すことを当分の目標としたい.

6/14

 進捗報告

gitのbranch表示

 .bashrcを改変して,git上で,今自分がどこのブランチにいるのかをプロンプトに表示できるようにした.この設定はzshのほうでは当たり前に使っているけど,学校のbash環境ではなぜか使っていなかった.学校の環境もmacに合わせてzshにしてしまうという手もあるが,bashはbashで使い慣れたものなので,もう少し使い続けてみよう.設定をするためにはgithub上に上がっているスクリプトを使うだけで,良くて,割合簡単だった.これに伴ってプロンプトも変更して,以下のようなフォーマットになった.

 (first_rule_parser) horik@DESKTOP-4OAURST[~/develop/RouterWebShield/tools]$

実験スクリプト回収作業

 昨年の春ごろに書いていた自動化のスクリプトを回収することができた.なぜかこれらのスクリプトが色々なところに点在していて,ディレクトリを行ったり来たりして,何とか全部見つけることができたので,開発中のリポジトリのテスト用ディレクトリの放り込んでコミットすることで,事態を収拾することができた.しかし,スクリプトを読み直してみると,環境依存がかなり強いスクリプトになっていて,よその環境で使える代物になっていない.なので,設定ファイルを切り分けるとかして,なんとかまともに使えるレベルのものにしていきたい.

ランダムスタック実装修正

 2時間くらいデバッグ作業を続けて,ランダムスタックのバグを何とか直すことができた.所要時間が底を尽きた後も,場合分けせずにスタックの操作が行われていたことと,スタックトップが僕が思っていた数字より一つだけ常にずれていたことがバグの原因であった.このバグと延べ時間では6時間くらい戦っていたので,実装できてよかった.これで,もっと別の面白い作業に手を出せるし,このプログラムのゴールも見えてきたというもの.

ゲーム開発会議

 ゲーム開発会議でRirinと近況について話し合うことができた.また,ゲームについても色々と話をして,BTの作り方についても話をすることができた.色々難航してはいるが,今後もゲーム作成を頑張っていきたい.

生活面

11時起床.大体8時間睡眠.十分な覚醒度を得た.

昼はコンビニで買ってきた,メロンパンとパウチタイプのゼリーを食べて,コーヒーも飲んだ.必要なカロリーとカフェインが充填されて元気になった.

夜は,トリの照り焼きと米,フルグラの3点セットで,バランスの良い食事を摂ることができた.

昼間に学校に行ったので,これによってある程度の運動量を稼ぐことができた.

明日の午前中が晴れらしいので,これを狙って夕方に洗濯をすることができた.明日の日差しに望みをかける.

6/13

 進捗報告

英語聞き取り

 Youtube動画の英語聞き取りをやってみようと思い立って,4本くらい真面目に聞いて新しく覚えた言い回しとかメモったりとかを90分試してみることができた.基本的には旅系とか,そこら辺を中心に拾っていく予定で,楽しみを兼ねて続けていこうと思っている.

HTML&CSS本読み進めた

 大体2時間くらい読みすすめて,chapter1とchapter2を読み切ることができた.ここまででboxを組み合わせる方法を学んで,実際にブログサイトみたいなレイアウトをchapter3で作ってみようという流れ. boxの敷き詰める方法をいろいろ学ぶとかなり汎用性が高くて,この基本コンセプトを知っていれば,いくらでも応用が効きそうという印象.かなり良い構成なのではないかと思う.

近況報告

 出掛けて,最近の生活状況などについて医者と話したりした.今日は医者側が体調不良ということで休みだったので,別の人と話したのだが,今日の人は紙を出してきて,目の前でめちゃめちゃメモをとりまくってて,いかにもカウンセラ風だった.医者も様々だ.

ルールParser作成

 今日は3時間くらいコーディングをして,これによって,ルールを配置しているディレクトリからルールファイルを探してくることができるようになった.ディレクトリ操作をC言語でやることってあまりないのだが,当然,OSを作成するのに使われている言語でもあるので,そうした標準機能が提供されていて,dirent.hというヘッダファイルをインクルードすると,ディレクトリ操作用の関数が使えるようになる.これでファイルを探してくること自体には成功した.ただ,なんかか一部ルールで読み込み時にメモリに収まりきらないものがあるらしいので,エラーが出る.この部分については明日明後日で修正をかけていきたいところ.

生活面

今日は1時半くらいに目が覚めてしまったので,日中の覚醒度がずっと低いままだった.夜はひたすら寝るという基本的なルールを守っていきたい.

夜は海老カツのオーロラソースがけ.いい味だった.

昼間は市内を歩き回ったりしたので,十分な運動量を稼げた.覚醒度さえ高ければもっと楽しめたはず.


6/11

 進捗報告

parser開発

 1時間半ほどプログラムを書くことで,parserがオブジェクトを解釈して,きちんと単一のルールを保持できるようになった.中身をダンプしてくれるデバッグ用の関数を作成して,構造体の中身を確認したところ,完全に意図通りの格納になっていた.あとは,単一のルールに関しては,今やや過剰にメモリが取られているので,アロケートされているメモリ量をフィッティングする関数があれば良いと思う.それから,このルールを複数連ねてリストとして操作して使えるようにしたいところ.これについては,phaseというactionの値をみながら,やっていけばうまくいきそうだと思っている.

HTML本読み

 1時間半くらい本読みをして,HTML5&CSS3デザインブックを50ページほど読み進めることができた.Webページを作るということは,ボックスをいかにページに敷き詰めていくかということで,そのためにCSSのfloatや,ボックス化,メディアクエリなどを使っていけばよかった.レスポンシブWebデザインについてはCSSだけで,かなり対応ができそうな形だった.

Linux課題提出

 Linuxの課題に1時間ほど取り組んで提出することができた.参照局所性の内容で,キャッシュに対して何がロードされるのかということを考えて,効率について検討することができた.

生活面

 朝11時起床.大体9時間睡眠.覚醒度は高め.自律神経も安定.僕が何も考えなくてもエコシステムが勝手に全てを調整してくれることに対する信頼感を得た.

 昼は生姜焼きを食べるなどした.かなりあっさりと食べれた.

6/10

 進捗報告

進捗報告書作成

 大体2時間くらいかけて,進捗報告書を作成することができた.ブログ的なフォーマットで実装を割合詳細に説明している.今回のまでのところでルールのダンプまではできているので,これを確保済みの構造体に移していけば,単品のルールは出来上がり.これを連結したのちに,その上を操作できるようにしていく.一応,大学院生の本分は研究なので,研究上でやることが明らかになっていると,結構安定する.今後も道筋をしっかり照らしながらやっていきたい.

ゼミ参加した

 ゼミで進捗報告をすることができた.前回は時間ぎりぎりだったが,今回は少し時間に余裕をもって到着できたので良かった.なぜか司会進行において高い評価を受けた.

picoCTF 2025振り返り

 picoCTF 2025で解けなかった問題をだいたい4時間弱かけて振り返ることができた.WindowsAPIの問題はpicoではよく出題されるようになってきて,なじみがなかったのだが,Writeupをときながらfrida-toolsを振り回してみると,なんとなく動きがわかるようになって,とても面白いと思った.SSTIについては要勉強.昨日のN0PSの問題へはSSRFとかが問題になっていて,単純なSQLiやXSS以外の問題も割合多く出題される傾向にあるから,Webのセキュリティを広く勉強することが得点のために必要だと感じる.

生活面

10時半起床.だいたい7時間睡眠.十分な覚醒度を得た.

朝はフルグラを食べることができた.

昼間,研究室に向かう過程でダッシュしたので,これによって運動量を稼ぐことができた.

6/9

 進捗報告

採点業務完了

 2つ分の課題の採点を完了することができた.先々週分は課題が4つあって,大変だったのだが,本日2つ分.先週2つ分と分けてやって,なんとか終えることができた.回答不備が結構多くてフィードバッグが時間がかかるのだが,課題の内容を一度把握して仕舞えば一息でいけるので,1セッション2個くらいでまとめて片すのが良いと思う.

N0PSCTF振り返り

 N0PSCTFで解けなかったblogの解法を1時間くらいかけて理解することができた.これはSSRFの問題らしく,ブログとして表示するページをバックエンドからロードしてきているのだが,実は正規のバックエンド以外にアクセスすような入力を書くことができるという話だった.こういうのをSSRF(Server-Side Request Forgery)という.このページはhttpで始まり,backendを含むようなURLに対してcurl_requestを投げていて,この文字を作る必要があるのだが,backendをパスに含むと,backendに行ってしまうとどうにかする必要がある.そのためにbasic認証の構文を使うと良くて,http://backend@127.0.0.1:8080/みたいなことをするとbackendというユーザによって,127.0.0.1:8080/にアクセスするみたいな意味になるので,これで題意を満たせる.なお,writeupを読んで,こうしたWeb問題に関しては,まずはいろいろとfuzzyな入力をして,いかにエラー文を引き出すかというところが重要なポイントなのだろうということを学んだ.

C言語TA

 C言語のTAとして3時間程度C言語を教えることができた.今回は構造体とポインタが混在する話で,C言語学習の壁が反り立っているが,なんとかみんな頑張っている感じだった.構造体もポインタも,それが活かされるシーンがわかると使いたい気持ちになってくるはずなので,ユースケースの話を多めにしている.

parser開発

 研究室で3時間半ほどrule_parserのコードを書き足して,これによって,ルールファイルを解釈して読み取ることができるようになった.また,読み取った単語を格納する先の構造体についても整備し,この構造体の作成と廃棄をするための関数も作成することができた.これらの経験を通してcJSONの使い方もだいぶわかってきた.この進展は結構大きい.パーサの作成についてはかなり希望が見えてきた.あとはこの構造体に実際に単語類をコピーしていく部分と,ディレクトリを調べて適用すべきルールファイルを列挙し,これらを順番に処理していくこと,リスト構造として保持していくことなどを作っていけばよいと思う.

生活面

朝9時半起床.おおよそ7時間睡眠.十分な覚醒度を得た.

生ゴミを廃棄することができた.この時期は湿度が高いので,生ゴミのハンドリングをミスらないことがとても大切である.

朝はフルグラを食べた.

昼はファミマのおろしぽんずをとんかつにかける弁当を買って食べた.おろしポン酢のおかげで割とあっさり食べれた.

夜は米,鳥のたきもの,フルグラの3点セットだった.味が良かった.

6/8

 進捗報告

CTF参加

 午前中は2時間くらいCTFの問題に取り組んで,2問を追加で解くことができた.中国語圏では中国語,ロシア語圏ではロシア語で検索をかけることが東側のOSINT問題を解く上では重要かなと思う.今回のCTFで飛行機や船のトラフィックを追う練習をすることができた.また,画像中でランドマークを探すのがうまくなったと思う.

掃除

 床の掃除と水回りの掃除を30分くらいかけて丁寧に行うことができた.水道の流れが悪くなっているのを感じていたのだが,掃除をすることできちんと水が流れるようになったのでよかった.床のホコリも綺麗に払うことができた.

BT実装推進 

 BTの実装を3時間くらい進めて,乱数の生成と削除についてのアクションノードを作成することができた.これにより,スタック用オブジェクトに対して生成した乱数を追加したり,また,スタックトップを削除したりできるようになったが,どうも,これを使った条件の判定がうまくいっていないようである.原因を調べるとシーケンスノードのコードに問題があった.これを修正することでコードがとりあえず進行するようになったが,まだ結果に違和感がある.次回のセッションでは,この問題を修正していきたい.Cでは,gdbやlldbを使ってデバッグするのが板についてきたが,Processingではいまだにprintデバッグをやっている.そろそろもっと高度なデバッガほしいところ.

フィルタ交換

 シャワーのフィルターの交換に対応することができた.これで今月もきれいな水を使うことができる.フィルター交換の人曰く,もう梅雨入りが近いらしい.備えは十分にしたので,あとは洗濯物のマネジメントだけに細心の注意を払っていく.

親と電話した

 1か月半ぶりくらいに親に連絡を取ることができた.総菜セットが送られてきたので,そのお礼の電話.世田谷食品の15色セット.これで,バリエーション豊かな晩飯を準備(?)できる.それはそれとして,1時間半くらいかけて,近況を詳細に報告した.実家の近況も詳細に知ることができた.父親が52歳になったらしい.猫が7歳になったらしい.

良いコードを書く技術を読んだ

 良いコードを書く技術の最後のフレームワークのところを読み切り,読了できた.最後のフレームワークのところは全然馴染みがない分野なので,あんまり理解度が上がらなかった.それはともかくとして,この本を読んでテストとかパフォーマンスチューニングについてはセオリー通りにできていないということが分かったので,ユニットテストとか,テストの本を読んで勉強したいと思った.

Linux課題

 Linuxの課題を45分間程度取り組んで,体裁を整えることができた.途中で取得結果に不備があることが分かったので,また明日か明後日にこの値を取り直す必要があるかもしれない.空き時間を見つけて対処しよう.

ルールのパースをやりかけた

 今日もルールのパーサを作ろうとしていて,学校の環境でも開発準備を整えたりすることができた.あと,ディレクトリをproxyと分割して,それぞれにおいてMakefileを置くことにしたので,これによって,結構開発がやりやすくなった.ルールの方は,空の構造体を変える関数を書きかかっているところで,タイムオーバー.これを明日書いたら,とりあえず一列の単純なリストでルールを持ってみるか.

生活面

朝8時半起床.大体5時間半睡眠.特にパフォーマンスの低下は感じない.

珍しく朝散歩をして,これによって割と元気が出た.こっちに越してきて1年目くらいはよく朝に散歩をしていたのだけど,いつの間にかやらなくなった(昼の散歩はよくやっているが).これを機に朝の散歩を再開しても良いかもしれない.

夜は世田谷食品の中華料理を食べてみた.かなり味が良くて,パクパク食べれた.

6/7

進捗報告

CTF参加

 クラスメートと一緒にCTFに参加して4時間半ほど真面目に問題に取り組むことができた.今回のCTFは頑張れば解けるというレベルの問題になっていて,面白くやれている.明日まで続くので,明日も引き続き頑張りたい.

ルールパーサ実装

 ルールのパーサを実装するためにJSONライブラリの挙動を確かめながらコードを書き進めることができた.やっているうちにルール側のフォーマットが少し都合が悪いことがわかったので,変換器のコードを書き換えて,都合の良いJSONに変えたりした.これで,パーサは描きやすくなったと思う.ただ,若干挙動が怪しいところがあるので,明日デバッグする.うまくいけば明日リストに持ち込むことまでできると思う.

生活面

12時半起床.だいたい9時間睡眠.今日の睡眠はかなりハイクオリティな睡眠が得られた.

昼はおにぎりを2つ食べた.夕方は鮭,米,フルグラの3点セットを食べた.

6/6

 進捗報告

3分間ネットワーク読み

 大体4時間くらいかけて,HTTP&メールプロトコル基礎講座を読み終えることができた.HTTP1.1の仕様について解像度が上がったのは良い感じだった.これで3分間ネットワーキングシリーズに関しては制覇した形.読みやすいのか読みにくいのか,正直どっちでもない微妙な読み味の本というのがいまのところの印象なのだが,とりあえず一周できたところはよかったかな.

敵AIコード作成

 敵AIのコードをかなりリファクタリングすることができた.経路の計算は経路用のユーティリティクラスとして分けることにした.これによって,敵キャラのActionノード側のコードはかなりスッキリした.かなりスッキリしたところで,そこに乱数がらみのコードを追加しようと思ったのだが,乱数がツリーの中で何度も利用されている時に,下のレベルで生成した乱数によって,上のレベルの乱数が上書きされてしまう事態を避けられないということがなんとなくわかって,乱数をスタックで管理する方針に切り替えた.

生活面

10時半起床.驚きの15時間睡眠.昨日は3時間睡眠くらいで頑張っていたので,ここで負債を返した形.自律神経が整った.

昼はのり弁当を食べた.割合サラッと食べれたと思う.

夜はハンバーグとフルグラ,米の3点セット.十分なタンパク質を摂ることができた.

6/3

 進捗報告

進捗報告書作成

 先週の進捗をまとめて,進捗報告書を作成することができた.先週末のブログ作成のおかげで,こうした文章をバーッと書く能力を高めることができているので,今回の進捗報告書も割と情報量多めでかけた.作成時間はだいたい2時間くらいだ.これによって,次回やることも明確になってきたので良かった.構造化された進捗報告の作成を意識しよう.

進捗報告した

 全体で進捗報告をした.進捗報告書の構造が明らかだったので,割合スムーズに読み上げられたと思う.

採点業務

 90分かけて,課題1つ分の採点を終えることができた.割合丁寧なフィードバッグを返しているので,時間がかかるが,これによって人々が丁寧に課題に取り組んでくれるようになるように祈っている.課題はあと2つなので,毎日1つづつ返していけば間に合うだろう.

採用関連作業

 何がとは言わないが,採用関連の作業を一つ完了することができた.だいたい25分くらいで完了した.

生活面

11時30分起床.8時間睡眠.高い覚醒度を得た.

6/2

 進捗報告

採点業務

  3時間くらいつかって,課題2つ分の採点業務を終えることができた.学生の回答も様々で,摩訶不思議な回答も面白い.でも,結局は普通に正しいことを書いているレポートが一番楽なので,まじめに書いてほしい.体裁については,インデントをしろということをたくさん書いているけど,インデント自体が通じていないということがなんとなくわかってきたので,TAの時に気づくたびに指摘していく流れでやろうと思っている.

C言語TA

 今日も3時間くらい学部生とともにC言語を学ぶことができた.ポインタの話も深まってきて,メモリ構造との対応がづけが求められいる.ここら辺はどうも初学者にとっては大きな壁らしいけども,説明するとみんな意外とわかってくれているという所感を今のところ得ている.

CTF Writeup 

 昨日参加したCTFのwriteupを2時間半くらいかけて仕上げることができた.軽ーく書くつもりだったのだが,技術説明がめちゃくちゃに長くなり,結局10000文字弱の長い記事になった.構造体の説明とかをきちんとやったからだと思う.回答としては割合納得感のある解説に仕上がったと思う.満足.技術ブログの更新頻度が上がって非常に嬉しい.

生活面

12時起床.9時間睡眠.高い覚醒度を得た.

昼はそぼろ丼みたいなのを買ってきて食べた.ミニサイズだったのでさっくりと食べれた.

夜はハンバーグと米,フルグラの3点セットを食べた.きちんとした量を食べられたので良かったと思う.

ペットボトルを廃棄することができた.玄関前のゴミ袋が結構嵩張っていたので,すっきりした.