5/31

進捗報告
parserプログライング

 cJSONを試すことができた.cJSON自体は非常に良いものであり,使い方も単純で,イベント駆動のようにユーザの知らないところで処理をしてきたりもしないので,使いやすい.で,ルールに関しては,1つのディレクティブにつき,1種の構造体を当てるにことにしたので,その通りに書いて行った.ただ,JSON変換後のルールの各フィールドがいるのかいらないのか,判断がつかなかったので,本家のCRSとか,modsecのreference manualとかを見ながら,一つ一つ判断していった.今回のセッションで,代替SecRuleに関しては,扱い方の目処がついたという感じ.

外出

 休日らしく自転車を走らせて買い物に行くことができた.Type A - Type CのUSBケーブルと Type C - Type CのUSBケーブルがそれぞれ追加で1本必要だったので,ホームセンターで購入した.100円ショップにもいって,季節の品を見たりもしたが,まだ梅雨みたいな製品は出ていなかった.帰り際にアタックスにも行って,食料品を調達するなどした.

実験環境整備

 実験環境のRaspberry Piの接続が再起動後も維持されるように設定をすることができた.設定作業はトラブルシューティングの連続で全体で5時間強かけて,なんとか設定を完了した.Lanアダプタ由来の問題は,Linuxのデバイスの扱い方に起因しているようで,Linuxはdev~というデバイス名を認識した順に追加していくので,あるときdev2だったデバイスが次の起動でもdev2である保証はないということみたい.これを固定かするためには,udevルールを記載して,ネットワークデバイスが常に同じネットワークデバイスとして扱われるように設定する.ここまでできたら,再起動してルータの両側から取れることを確認する.ルーティングの永続化に関しては,/sbin/routeをつかって,行うようにすることで,両側からのルーティングの設定についても再起動後に維持されるようにできた.

本受け取り

 この前探していたHTML+CSSの本を受け取ることができた.また風の谷のナウシカの全巻セットも入手できた.

生活面
朝9時起床.だいたい6時間睡眠だが,割合高い覚醒度を得た.

夕方にのり弁を食べた.かなり力つきかけていたので,割合スッキリ食えた.

運動量はホームセンターまでのサイクリングで週末レベルの運動量を稼ぐことができた.

5/30

 進捗報告 

RDP接続方法紹介

 3時間20分くらいかけて,WindowsマシンへのRDP接続についてブログ記事を書くことができた.ずっと前から書こうとおもっていたのに書いていなかったネタで,書き始めたら3400文字くらいになって,結構長くなったが,過不足なく書けたと思う.キーボードの整合性の問題とスリープ設定の話まで行くつもりだったが,それを入れるととても長い記事になってしまうので,それについては別の記事として書くことにした.

キーマップ変更方法紹介

 さらに1時間30分かけて,キーマップの変更方法についてのブログ記事を書くことができた.RDPの話とこの話を分けたのは正解であって,それはやはり,この話も書き始めると結構な分量になったからで,これだけで1500文字くらいはあった.おそらく上の話と繋げてしまうと話が長くなりすぎて,読者が離脱してしまっていただろう.キーマップに関しはPowerPointでの画像説明なども加えて,そこそこに分かりやすく書くことができたと思う.それから1日に2記事書くことなんて,今までになかったことなので,達成感が結構ある.

rule parserライブラリ選定

 JSON形式のなんかルールみたいなものの羅列を読み込んで,ルールを示す構造体に変換していきたいので,そのためのライブラリを選んだりして,一つよさそうなのを決めることができた.組み込みとかで低リソース消費でやろうとおもったらやrapidjsonとかcjsonが有力なのだが,両方を見比べた結果cjsonのほうがとっつきやすそうだったので,とりあえずこれで進めることにした.

生活面

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

夕方に1時間弱散歩をすることで,運動量を確保できた.今日は少し早いペースで歩くことを意識した.

昼は海苔弁当を食べた.割合あっさりと食べれた.

5/28

 進捗報告

BTのデザイン

 敵AIの行動パターンの一例を考え,それを実装するためのBTの構造を考えることができた.パワーポイントで50分くらいひたすらノードを並べることで,表現できた.これによって,追加で実装するべきアクションノードは乱数の生成をするためのアクションと,閾値を超えているかを判断するためのコンディション,近接攻撃くらいなものだということがわかった.ツリー自体をきちんと設計できれば,実装量はそこまで増加せずに,色々な行動を表現できるということがわかり,なかなかいい感じだ.希望が持てた.

スライド修正

 4時間弱作業して,スライドの修正作業を終えることができた.想定質問も考えたので,とりあえず資料自体の準備はこれで一旦完了.あとは,前回,時間を少し残して最後のスライドに至ったので,目安時間を現行のところに書いて,チラチラみて時間調整できるようにしたい.

発表聞いた

 クラスメートの発表をきいた.おそらく組み込み機器上で暗号化を実施するという話だったと思う.みた感じ,アイデア自体はすでにかなり試みがありそうな内容だったが,どうなのだろうか?組み込み機器担当の学生が今年は二人とも卒業してしまったので,組み込みセキュリティの話は久しぶりに聞いたかたちで,懐かしい感じがした.

binaryサイズ確認

 nginxのバイナリサイズと自分のproxyのサイズを比較して見ることができた.手元のlinux環境で,それぞれをソースコードからビルドして,ls -lでサイズを確認した.nginxの場合は,ビルドした直後で3.7MB程度で,僕のproxyは74KBだった.バイナリは変数名や関数名といったシンボル情報を落とすとサイズが大幅に減少するが,nginxの場合はstrip後のサイズが800KBであり,僕のproxyの場合は68KBであった.modsecの方がどのくらいになるのかも興味があるので,ビルドが終わり次第確認していきたい.

生活面

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

昼はパウチのゼリーとおにぎりを食べた.あんまり食べる時間が与えられなかったので,さっと食べれるものを選択した.案の定さらっと食べれた.

昼過ぎに散歩をして,電気電子の学科の塔の中を歩いてみた.あの塔は,物資が無造作に廊下や研究室に放置されていて,棟内も若干暗めで,どことなくインダストリアルな環境に4画面のコンピュータと殴り書きのホワイトボード.いわゆるステレオタイプなハッカーの巣窟といった様相で非常に良かった.あの塔に関してはまた行きたい.


5/27

 進捗報告

Behavior Tree検討

 Behavior Treeについて3時間程度考えて,基本形をいくつか準備することができた.これを紹介するスライド資料も作成した.敵キャラクタの行動パターンの例を一つ作ったのだが,それをいきなり実装するのはなかなか難しいということになり,基本形を考えることにした.ConditionやSequence,Selector,Inverterなどをうまく使えば,条件分岐が作れることに気づき,その流れで逐次処理とループ処理の基本形も考えた.眺めてみると,あとは,対応するConditionとActionを作ることができれば,どのような敵AIであれ実装できそうだ.ランダムな選択はコントロールノードを作らなかったが,乱数生成のためのActionと,それを評価するCoditionがあれば,条件分岐の枠組みでこれについても作ることができると思う.

進捗報告書作成

 進捗報告書を1時間半くらいかけて補強することができた.これによって発表練習中に出た意見への回答を書いたつもり.僕の研究では比較対象と2つの評価軸との比較を行う必要があり,トータルなセキュリティ機構との比較とすると,その部分がどうしてもフェアではなくなるが,ルールを限定的にすれば,そこはフェアになる.そして,その限定的な状況というのが現実に実際に存在するリアルなものであるということを言えればよい.

進捗報告

 ゼミで進捗報告をした.報告書の内容については理解を得ることができた.クラスメートの前年度の研究の紹介についても聞くことができた.マルウェア検知したり,scan検知したり,面白いんじゃないかと思う.

採点業務

 昨日に引き続いて,今日は課題2の採点業務をこなすことができた.みんな色々な回答を送ってくれているが,計算機環境によって若干出力結果に違いがあるみたいで,出力結果が張られていないものについては,それによる変化が本当に起こっているのか判断する材料がないので,点数に悩む.


生活面

朝5時30分起床.睡眠時間は7時間程度.覚醒度はかなり高め.目覚まし時計なしで自発的に起きることができた.

昼は3食弁当と高菜おにぎりを食べた.わりとスッと食べられた.

今日の散歩は午前中に出かけた.散歩は夕方にいくのが通例だったのだが,午前中に行くと,すっきりすしたし,これはこれでありなのではなと思う.今日は福祉の学科に行ってみたら,内装が本当に病院みたいだった.なお,これによって本日は必要な分の運動量を稼ぐことができた.

5/26

 進捗報告

散髪完了

    3ヶ月ぶりに散髪に行くことができた.今回はいつになく髪を短くして,これによって気になっていた長いもみあげもすっかりとカットできた.横とか後ろも短く切って,夏に備えることができた.

TypeScript本を入手

 本屋で数十分悩んだのちに,Typescriptの本を手に入れることができた.昨日の夕方にクラスメートとWeb周りの勉強を今後,きちんとやっていかないといけないねーという話をしていいたので,かなりよいタイミングだった.

C言語TA

 今週もC言語の講義のTAで,学生とC言語について学ぶことができた.今週からポインタが頭を出してきていて,学生の課題の回答ペースが落ちてきた気がする.来週からは,今回の内容を踏まえて,少し量のあるプログラムを書く必要が出てくるので,注意してサポートしていきたい.

採点作業

 C言語の講義の採点作業を進めることができた.学生を教育するって難しいなと思う.なかなか想定解を表現してくれているレポートに出会えない.


生活面

朝9時起床.6時間睡眠.昨日は昼に起きたというのもあるので,睡眠時間は短いけど覚醒度は高め.

昼は移動中に買ったおにぎりを食べた.また,ほうじ茶と合わせて食べたらいい感じだった.ほうじ茶は50パック入りを買ってきたので,しばらく研究室で作りまくることができる.

5/24

 進捗報告

book_meter修正

 book_meterの本追加機能の部分を綺麗に書き直すことができた.1時間くらいで,本objectの生成と破棄の部分を作って,ここにメモリ確保の処理を書き分けることで本追加の部分はかなり綺麗になった.これにともなってヘッダファイルを切り分けるなどの細々とした作業も片すことができた.

3分間ネットワーク本読み

 今年度はWeb分野について,かなり真面目に勉強していこうと思っていて,その手始めとして3分間ネットワークのHTTP&メールプロトコル基礎講座を読み始めた.今日は,3時間くらい読んで,HTTPについて説明している1章と2章を読み切ることができた.これによってHTTPとWWW自体のイメージを再確認することができた.文章自体は読みやすくていい感じ.3時間で120ページくらい読んだので,ペースとしても,まずまずかな.

ニコニコプレミアム再加入

 ニコニコのプレミアムをやめたのだが,やめてなお,なんだかんだでニコニコを見続けていて,広告とか,画質とかでストレスがあったので,プレミアムに入り直した.これで,アプリでも快適に動画が見れるし,作業用bgmとしての動画の利用もはかどるはずだ.

生活面

13時起床.9時間睡眠.ここ数日はストレスのかかる状況が多かったが,本日の長めの睡眠で自律神経のバランスを改善することができた.

資源プラゴミを捨てることができた.資源プラを捨てるタイミングを二週間くらいミスり続けていたから,ここでゴミを綺麗にできて良かった.

5/23

 進捗報告

発表スライド修正

 起床後2時間くらいかけて発表スライドを修正することができた.これで,とりあえず前回の修正案にはすべて対応できた.あとは発表時間の調整が肝要だ.

発表練習2回目

 発表練習の2回目をこなすことができた.練習よりもかなり短い時間で終わったので,もっとゆっくりしゃべってもよいかもしれない.指摘事項には,どうしようもない部分もあったので,適当に対応していきたい.

book_meter進捗

 book_meterの読書進捗を管理する機能を追加するなどした.4時間半くらいかけて,なんとかデバッグできた.ユーザの入力を切り分けて,既読空間をリスト構造で保持することにている. このリストをつかって,データベースの保持情報と,ユーザからの新たな入力との整合性を保つことができるようになる予定.今後も改善を続けていきたい.

生活面

10時起床.だいたい7時間半睡眠.覚醒度は高め.

押し入れで,かなりの容積を占めていた段ボール群をまとめて廃棄することができた.かなりすっきりした.

5/22

 進捗報告

Linux講義出席

 1限のLinuxの講義に出席することができた.今日はキャッシュの効果測定の章で,Linuxのしくみでいうところの第8章.やっぱり4,5とき8章に飛ぶのがこの本の読者の平均的な進みなのか.グラフの図表をmatplotlibでつくったので,スムーズに課題を片付けることができた.

皮膚科通院

 切らした薬について,皮膚科に行って薬を補充することができた.受付時間ギリギリではあったが,なんとか間に合って,1時間くらい寝たり起きたりを繰り返しながら順番を待って,ようやく診察を受けることができた.病院で愉快なトラック運転手と話をしたりして,覚醒度が回復した.世の中がコンピュータだけではないということを想起するために,定期的に別世界の人と話すことが重要だと思う.

研究発表を聞いた

 クラスメートの研究発表を聞くことができた.内容は非常にわかりやすかった.今後の展望に期待する.

予稿を提出した

 予稿の修正が大体完成させて,指導教員もokを出したので,提出することができた.前回はかなりギリギリだったのだが,今回は余裕を持って提出することができたので,良かったと思

スライド修正作業

 4時間半くらいかけて,スライドの修正作業と発表練習を進めることができた.前回の発表練習で指摘されたようなことにはあらかた対応することができたので,あとはスムーズな進行を心がけることと,自分自身の疑問点を解消するように修正することが重要.これについてはあと数回の通し練習でとりあえずは形になりそうだと言う展望.

同窓会?

 スライド修正をクラスのdiscordで配信していたら,かつてのクラスメート(卒業生)がたくさん集まってきて,さながら同窓会のような様相を呈して,なかなか面白かった.みんな社会人になったが,それぞれ元気そうでなによりだ.

生活面

朝9時起床.大体7時間半睡眠.覚醒度はそこそこだったが,昼過ぎまで,ボワボワと起きたり寝たりを繰り返していたら,昼くらいからかなり覚醒度を取り戻すことができた.

昼は,ファミマで買ったグラタンを食すなどした.かなりすんなり食えたので良かった.

夕方にクラスメートと一緒に,散歩をした.今日はあまり冒険をしないオーソドックスなコースだったが,十分な運動量を稼ぐことができた.


5/21

 進捗報告

LANケーブル作成

 クラスメートのt_h_と一緒に,実験用のLANケーブルを自作した.これにより3本のLANケーブルを新たに獲得することができ,スイッチ越しで実験を取り直せるようになった.ここまで書いてきた実験用スクリプトを一つのスクリプトのまとめて,週末に実験を再度取り直していきたいところ.

tsukuctf2025振り返り

 tsukuctf2025の振り返りとして,easy_kernelを解きなおしたりした.3時間くらいかけてwriteupを読みながらコードを書いていって,最終的にフラグをとることができた.この分野のpwnはかなり下地がないと難しい.有用なサイトはいくつかあるようなので,関連サイトを見ながらもっと勉強したいと思った.これで,この前解けなかった問題の解きなおしはすべて完了した.次のCTFで,これらの経験を活かせればよいと思う.

予稿修正

 学内の研究発表のために提出するペラ1の予稿について,修正案が返ってきたので,反映することができた.ここからはスピード重視で,どんどん修正を重ねていきたいことろ.

本読み

 Linuxのしくみの5,6章を読み終えることができた.これで,とりあえずデバイスファイルにプロセスがどのようにアクセスするのかという流れを掴むことができた.Linuxではプロセスは直接はデバイスにさわれないことになっているので,かわりに,デバイスファイルに対して操作をする.デバイスファイルに対して操作が行われたら,カーネルが実際のプロセスのレジスタに対して操作をして,デバイスの処理を待つことになる.なお,カーネルはレジスタに直接アクセスするわけではなく,レジスタをカーネルのメモリ空間に割り当てて,これを介して通信をする.これをmemory maped IOという.デバイスが処理を終えたら,その結果が戻ってくるが,これに気づく方法はポーリングと割り込みに2つの方法があり,ポーリングは遅延が少ないが,他のプロセスの妨げになり,割り込みは他プロセスの妨げになりにくいがポーリングよりは気づくのが遅れる.これらをハイブリッドに使う方法もある.

 まだリーダブルコードの2章を読み終えた.変数の宣言についてのアドバイス.

瞬間英作

 だいぶ滞っていた瞬間英作を再開して,今日でパート1の4週目をクリアすることができた.

生活面

朝9時起床.8時間半睡眠.雨の音で起きて,割合目覚めは良かった.覚醒度は高め.

昼は生協で弁当とパンを買ってたべた.どれもおいしく食べられた.メロンパンとクロワッサンを組み合わせた謎のパンを食べたが,UFOパン的が味わいもあって,良いと思った.

夜は鶏肉,ワカメスープ,米を食した.ここ数日では一番高タンパクだったと思う.

押し入れに山積していた段ボールを畳んで縛って,小さくまとめることができた.次の古紙回収のターンで,一気に片してしまいたい.

5/20

 進捗報告

プロキシデバッグ

 プロキシのコードを見て,SIGSEGVを発生させている個所を発見し,修正することができた.修正方法はかなり単純なものだが,とりあえずこれでよほどの入力が来ない限りは大丈夫だと思う.デバッグ自体は開始して30分くらいで完了できた.

進捗報告資料作成

 進捗報告で使用する文書を30分くらいで作成することができた.今週取り組んだことと,今後の開発の展望について手短に説明することができた.

イベント不参加連絡

 会社イベントの連絡があったが,自分の予定と衝突していたため,欠席連絡をした.今回は割合スピーディーに返答できたほうだと思う.

TA書類提出

 TAの書類提出に対応することができた.連絡が来て1日で片付けた.タスクがスタックする前に片付けられたのは良かったと思う.

libmicrohttpd tutorial読み

 1時間くらいかけて,libmicrohttpdのtutorialの読み残していた部分を片付けることができた.TLSの部分については,今後,考えていきたいところだ.gnu tlsというのを使うとできるらしい.opensslでもできると思うけど.

生活面

10時30分起床.12時間睡眠.昨日は絶不調だったが,今日の睡眠でなんとか持ち直すことができた.

昼は生協の鶏丼みたいなのを食べた.わかりやすい味付けではあるが,非常に食べやすかった.

昼過ぎに散歩をして,別学科の研究等の中を歩き回るなどした.これによって運動量を稼ぐとともに,キャンパスについて知識量を増やすことができた.


5/18

 進捗報告

Linux本読み

 Linuxのしくみを3時間くらい読んで4章と8章を読み切ることができた.5章はあと2ページで読み終わる.これでプロセスの課題に関わる部分は大体の知識を得ることができた.デマンドページングとコピーオンライトについても復習できた.カーネルとCPUのMMUのテーブルは本体のテーブルとTLBということで棲み分けができてるのか?そこの部分がよくわからない.プロセス間通信については,UNIXドメインソケットについてもさらっと言及があった.この辺りの実装部分についてはより詳細なドキュメントを読む必要があり.

プロキシ制作

 今日も3時間程度プロキシのコードを書き,これによってクライアント側のPOST対応は部分的に完了した.あとはこれのサーバ側を実装して,このプログラムを一旦横に置いておきたい.

買い物

 プログラミングの合間にアタックスに行って,保湿剤などを買うことができた.家で飲むためのお茶も調達できた.麦茶パックはかなりやすくて,大容量.これで家でひたすら麦茶が作れる.

5/14

 進捗報告

スライド作成

 スライドの文意に不明点があるところ1時間半かけて修正することができた.何回か通し練習をして,時間内で,内容を話しきることができることを確認できた.まだ調べが追い付いていない部分もあるので,その部分も発掘しながら今度スライドの改善作業を進めていきたいと思う.

発表練習1回目

 発表練習の第一回目を完了することができた.発表分かりやすさに関しては,スライドもある程度グラフィカルだったので当社比としては割合良い感じだった.

本の返却をした

 図書館の本の返却期限が来ていたので,対応した.インタプリタの本も手放して,とりあえずmyshellとはしばらくは距離を置くことになるか.

本読みした

 プログラミング作法を1時間くらい読んで,インタフェースの設計の章を読み進めることができた.始めのうちは狭いインタフェースで作っていくということを心がけていきたいところ.

生活面

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

 昼過ぎに図書館への本返却も兼ねて30分くらいの散歩をした.これによってある程度運動不足にならない程度の運動量を稼ぐことができた.

 夕食は米と鮭,わかめスープを食した.いつもの組み合わせで安定した.

5/13

 進捗報告

プロキシ制作

 3時間ほど集中してコーディング作業を進めて,ようやくlibmicrohttpdのPOST関連の関数の使い方を理解できた.この機能を使うためには,いくつかの関数を順序良く呼ぶ必要があるようだ.イテレータに関してはインタフェースのみが定義されているので,その中身については自分で作る必要があるみたい.callbackが複数回呼ばれていることがずっと気になっていたが,どうやらこれは想定動作らしい.それぞれの呼び出しに一応意味があるらしいので,呼び出しの意味合いを呼び出し時にチェックして,それに応じた動作をするために適切なハンドリングをやってやる必要がある.

進捗報告書作成

 進捗報告で話すための報告書を大体30分くらいで作ることができた.書き出してみると色々試行錯誤していることがわかるのでいい感じだね.

スライド作成

 スライドをさらに2時間くらいかけて完成させることができた.今回はこれまでと違って,何回もスライドを塗り重ねていくスタイルで作っていったが,それが功を奏して割合スムーズに作っていくことができた.

生活面

朝9時起床.だいたい8時間睡眠.昨日は疲れが残っていたが,8時間睡眠でようやく体が軽くなった.十分な覚醒度を得た.


5/12

進捗報告

スライド作成

 スライドの作成を3時間半程度進めて,研究背景,関連技術,研究目的などの図表化を進めることができた.提案手法についてもある程度図表化が進んでいるからもう一息である.あとは評価や開発スケジュールについて表を作ったら,とりあえずスライドは完成ということにする.もう一息頑張っていきたい.構成については,紙で印刷して,そのうえで記号とか図表とか書いたら,パワポでやるよりも自由に構想することができた.

C言語TA
 本日もC言語のTAとして,学部生のプログラミングを手伝うことができた.今日のところで関数と配列が使えるようになった.これで一応はある程度のプログラミングをこなすことができるようになったはずである.面白いものを作ってみてほしい.次回からはメモリ周りを重点的にやるらしい.コンピュータサイエンスをまじめにやるつもりならC言語でメモリ周りを勉強する体験は必須なので,ぜひ頑張ってほしいところだ. 

writeup投稿
 昨日書いていたwriteupの不足分を埋めるデータが手に入ったので,公開するところまで行きつけた.これでtsukuctf25はひと段落つけた.解けなかった問題については木,金を使って振り返りたい.

生活面
12時起床.昨日は寝る時間が遅かったが,なんだかんだで7時間くらいは寝ることができて,これによって十分な覚醒度を得た.
昼はコンビニでパンを買ったので,それを食べたりした.

5/11

進捗報告

 TsukuCTF writeup

 2時間くらいかけて,TsukuCTF2025のライトアップを大体書くことができた.回答過程の画像ファイルなどが学校のデスクトップPCの中に入っているので,それの貼り付けをやれば公開できる状態になる.ライトアップを書かずじまいになりそうな雰囲気が出ていたので,ここで書いてしまえたのは,一旦の区切り目がつけられてよかった.

スライド作成

 発表スライドの内容が一通り決まったので,作ったスライドを見ながら図表化を進めていくことができた.3時間かけて,研究背景の図表を作成し,それを踏まえて,全体の図表作成の意計画を見直すことができた.

段ボール片付け
 押し入れの中に山積していた段ボールを片付けることができた.段ボールカッターがあるとこうした段ボールを片付ける効率がとても上がるので便利だ.

生活面
15時起床.12時間睡眠.ひたすら寝て,自律神経の均衡を取り戻している.
夕方に散歩に出て1時間くらい歩いて,運動量を稼ぐことができた.土日雨が降っていて,運動量が足りてなかったので,日を浴びることができてよかった.

5/10

 進捗報告

テスト用Wordpress準備

 プロキシ作成に利用するWordpressを準備することができた.これでwelcomeページよりは遥かにリアルなテストを実施できる.この環境で完璧に動作すれば,プロキシとしての利用は基本的に問題なしと考えていいだろう.認証周りのパラメータが古くなっていたせいでmysqlの導入で詰まったけども,なんとか解決できた.

プロキシ制作

 なんか僕のプロキシは,ブラウザでたくさんリロードをすると,3回くらいで必ず死ぬという問題があって,これが原因不明だったのだけど,今日のデバッグセッションで解決できた.ヘッダの格納位置をしめすために,ヘッダの個数を持っていて,これをもとにメモリコピーをしているのだが,ラウンド終了時にこの変数を0にリセットしていなかった.だから,リロードをかけるたびにヘッダの個数が増加していって,3回目か4回目で大体いつもヘッダの個数上限を超えて確保していないメモリ領域にコピーをしようとするのでセグフォっていたようだ.かなり気掛かりな問題だったので,これが解決して少し気が楽になった.

コード指南本読み

 コーディングの品質改善についての本をまとめて読もうと思って,良いコードを書く技術という本を読み始めた.今日は2時間くらいよんで,70ページくらい読み進めることができた.主に命名と可視性の部分.変数とか関数の命名についてはある程度気をつけながらやっているつもりで,だんだんとマシにはなってきていると思うが,クラスとかパッケージ,ファイルに関してはまだまだ改善の余地がある.この辺りはソフトウェアアーキテクチャの知識が増えてくるとできるようになるらしい.この本についても学校に今置いているプログラミング作法と併せて読んできいきたい.

生活面

13時起床.10時間睡眠.覚醒度を高めるだけなく,十分に英気を取り戻すこともできた.

起床して,部屋の掃除を進めて,洗濯もすることができた.

昼はのり弁があったので,それを食べた.40分休憩を使って,ゆっくり休憩しながら昼食が取れた.

夕飯はいつも通り米と焼き鮭とワカメスープ.かなり安定してきた.

5/9

 進捗報告

スライド作成

 3時間くらい作業を進めて,スライドの各ページでどのようなことを書くのか大まかに決定することができた.あとはこれらに図表を足すなどして,20分の尺でちょうど話しきるぐらいのボリュームにしていきたい.

本読み

    1時間半くらい本読みをして,プログラミング作法のインタフェースの章を10ページくらい読み進めた.この章の内容はやや重めな感じなので頑張って読んでいきたい.

bookmeter制作推進

 クラスメートと一緒にペアプログラミングをやって,book meterの不具合を修正することができた.2時間くらいコードを書いていていて,今回のドライバもだんだんCのコーディングに慣れてきたので,わりあいスムーズに作業を進めることもできた.

リモート雑談

 discordで久しく色んな人と話すことができた.キャリアの選択とか,興味のある技術とかについて話すことができた.

生活面

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

朝はフルグラを食べれた.これにより,朝食の欠食を回避することができた.

昼は生協で弁当を買ってきて食べた.白身の魚フライとハンバーグが入っていた.なかなかボリューミーだったが,食欲あったので食べれた.

夕飯はいつも通り焼き鮭と米とワカメスープを食した.すんなり食べれた.


5/8

 進捗報告

Linux講義

 1限のLinuxの講義に出席できた.講義自体は早いタイミングで終わったのでmyshellやグラフ作成などの,これ以前の課題を解くのに時間を費やした.myshellの動作についてはデバッグが一通り済んで,ひとまず提出できそうなところでまとまりを見せているので,ここで手を止めることにした.グラフ作成についてはt_h_がコマンド一つですべてを完了する素晴らしいスクリプトを作ってくれたので,一瞬で完了した.トータルで2時間くらい作業できた.

本棚組み立て

 研究室の本棚を組み立てることができた.これにより卓上にあった本がすべて掃けたので,広く作業スペースを使えるようになったし,視界に入るものも減って,認知負荷が減少した.本の収容量もアップしたので,読みかけの本とかを持ってきて,空いた時間に読むようにしたい.

研究発表聴講

 クラスメートの研究発表を聞いた.質疑応答も素早く,よくできていた.他の研究発表についてもできる限り理解できるように努めた.

myshellレポート提出

 myshellの実行結果をとって,機能説明を書いて,提出することができた.2時間くらいでレポート自体は仕上がった.

スライド作成

 後期の研究発表のためのスライドの構成を考えることができた.だいたい25個くらいの項目を順番に話していけば,なんとか50枚くらいのスライドで,研究内容を伝えることが出基礎だと考えている.

生活面

7時半起床.5時間睡眠.昨日は昼過ぎに起きて,睡眠負債が全くなかったので,覚醒度は十分にある.

昼は台湾風焼きビーフンを食べた.辛かったが,わりあいさらっと食せた.

5/6

 進捗報告

myshell制作

 8時間くらいmyshellのコードを書き続けて,二項演算ができるようになった.これはハリボテの実装ではなくて,きちんとtokenizeとparsingを経て,ツリーを組んでから,それを辿って再起的に実行している,割合本格的な実装で作れているのが非常に良い点である.ここにさらに変数の宣言もできるように改良した.これも内部できちんと記号テーブルを持っていて,これを使って,値を保持する方式.ここまでできたら,あとは,算術演算とができれば,もっと本格的なこともできそうだ.

論語読み 

 論語を1時間半くらい読んで,80ページくらい読み進んだ.知らないことは知らないと,誠実な探究の姿勢を保つことと,人を持ち上げることに力を尽くすこと.素朴な教えではあるが,良く生きるというのは突き詰めていきたい.

MGS4クリア

 8時間くらいMGS4にのめり込んで,なんとか1周はクリアすることができた.重厚なストーリー.他のシリーズのストーリーも思い出してきて,話が繋がってくるととてもリアリティと重みがあって圧倒される.ゲーム自体も,操作に慣れてくるについれて,大胆に動けるようになってきて,楽しくなってきた.


生活面

12時起床.10時間睡眠.覚醒度は高め.

昼は散歩ついでに買ってきたトルコライスを食べた.重めだったけど,ゆっくり食べることで食べれた.英気が養われた.

夜はいつも通りの焼き鮭などを食べて,コンディションを保てた.アイスティーを合わせて飲んだ.日東紅茶のアイスティーが簡単に作れて,なおかつ味も香りも良いので,定着しそうだ.

5/4

 進捗報告

本棚を買いに行った

 クラスメートが車を出してくれるというので,研究室の本をしまっておくための本棚を買いにニトリに出かけることができた.ニトリでNクリックの幅400mmくらいの小さめの棚を購入した.研究室で使いたい本も色々あるが,それはそれとして,机の上は綺麗に保っておきたいという気持ちもあり,今回自分の本棚を買ったことで,今後はそれがようやく実現できそうでとても嬉しい.

本読み

 4時間半くらいかけて,戦略ゲームAI解体新書を読み切れた.後半のディープランニングとかは,高いレイヤのAIを使うまでは用がないと思うし,かなり参考文献ありきの解説で置き去りにされた感があったが,とりあえず読み切れたのでよしとする

生活面

13時30分起床.大体11時間30分睡眠.覚醒度は相当に高め.どうしてこんなに寝れてしまったのかというくらい寝て,ストレスレベルもかなり低め.

本棚を買いに行ったついでで,店の中を歩き回ったりしたので,それで多少の運動量は稼ぐことができた.

夕飯は焼き鳥を食べて,昨日炊いていた米も食べた.割とコッテリめだったけど,食べれた.

5/3

 進捗報告

TsukuCTF25参加中

 クラスメートとTsukuCTFの問題を解く約束をしていたので,主にOSINTの問題を中心に問題に取り組み,いくつかの問題でフラグを取ることができた.だいたい8時間半くらい取り組んでタイムアップになったので,残りの問題については後日振り返ることにした.


生活面

10時半起床.7時間半睡眠.睡眠の質が割とよくて,一度も目が覚めなかった.これぐらいの質が毎日保てれば7時間半くらいでも,毎日元気に暮らしていけるはず.

昼は学校肉途中で買ったパンを食べたりした.忍者飯もつまみながら,コーヒーを飲んでパフォーマンスを高めている.

夕方に1時間くらいの散歩をして,運動量を稼ぐことができた.今日は風が強めで,いつもの散歩コースでも普段より高い運動強度が得られた.

5/2

進捗報告

proxy制作
 3時間くらいプロキシをデバッグして,heap-buffer-overflowを1件排除することができた.文字列の末尾に区切り文字を入れていたのだが,そこのサイズが1バイト分オバーフローすることがあるみたいだ.サーバ側とクライアント側でそれぞれ発生しているみたいなのだが,あとはクライアント側のバグを排除したら,もう少し安全性を上げられると思う.メモリエラーの検知のための機能として,gccに-fsanitize=addressというのがあり,これを入れるとメモリエラーを実行中に検知してくれる.非常に便利な機能があるのだなと思う.これをgdbと組み合わせて使うことで比較的はやくエラーの原因を特定できる.毎回デバッグするたびにあー,そうなるのか,と発見がある.

myshell作成
 基底構造体を使うことで複数種の型を混在させられることがわかったので,早速やってみた.3時間くらいコードを書き進めて,これによって,単体のコマンドであればうまくパースできるようになった.この調子でコントロールノードを追加してみる.とりあえず&&型はじめてみて,もう少しで動くようになりそう.&&が実装できたら,; とか || はほとんどコピペで用が足りるので,すぐにできると思う.これができたら, いよいよifとwhileを実装して,fizz-buzzが動くようにしていきたい.

発表練習聴講
 発表練習を集中して聞くことができた.いろいろなトラフィックをグラフィカルに表現するという研究.昨年度の末に一瞬だけ電力管理用の可視化ツールを作ろうという話が持ち上がったが,消費電力を報告しないハードウェアについても消費電力を測定するためには,結局のところ消費電力を測定するためのハードウェアを新たに追加する必要があり,その制作に手間とコストがかかるというので,保留されっぱなしになっている.


生活面
朝9時半起床.9時間睡眠.十分な覚醒度を得た.寝つきはそこそこよかったと思う.
昼は鳥飯を食べた.割とあっさり食べられた.鉄分補給のスムージーも飲めて割合健康.
夕方にクラスメートと一緒に,キャンパス内を長めに散歩した.行ったことのない建屋にいろいろ入ってみようというのが,最近の我々のブームになっていて,今日は経済学部棟をあちこち行ってみた.経済学部棟は温かみのあるモダンな建物で,僕が想像していた大学のキャンパスのイメージにだいぶ近いところだった.

5/1

 進捗報告

Linux講義

 朝一番のLinuxの講義に出席して,コンテキストスイッチの影響について調べることができた.プロセス数がコア数を超える状況では,コンテキストスイッチの発生によって平均ターンアラウンドタイムが大きくなる.アイドルが少なければスループットを高めることが可能となるが,実際にはさまざまな要因によって,待ちが発生する.

ゲームプロジェクト点検結果発表

 ゲームのプロジェクトをプロジェクトマネージャーの観点から,点検したので,それを元に全体の前で発表することができた.感触は悪くなかった.ゲームはみんな割と興味を持って聞いてくれるので,やりやすい.

bookmeter

 新bookmeterを作るために,デバッグを集中してやった.キーボード入力周りの機能におかしなところがあって,その部分をクラスメートと二人で1時間半くらいかけてデバッグした.デバッガを回しながら色々実験を繰り返して,ついにこの関数の呼び出し元のコードが標準入力を汚していて,それがバグを引き起こしているということ発見した.バグハントの経験値が1上がった.

myshell

 myshellの構文解析器をどうやって実装するか考えていて,オブジェクト指向が使えないときついなーとはお思っていたのだけど,Cでもそれっぽいことができるらしい.どうやら基底構造体というものが存在しているらしく,その構造体にタイプをenumで持たせておけば,その値を見てから,この構造体をキャストするということが可能だから,ポリモーフィズムが達成できる.希望が見えてきた.

生活面

朝8時半起床.10時間睡眠.昨日のボーッとしてたのが嘘のように頭が回る.何にせよ.きちんとて寝て,とにかく覚醒度を維持することが,生産性を高めるための基本だ.

昼は生協のどんぶりを食べた.少し重かったがゆっくり食べたらいけた.

夕飯は鰤の刺身用ブロックがあったので,薄くスライスして,コメに乗っけて,ポン酢をかけて食べた.これは美味しかった.