8/22

 進捗報告

proxyのコードを調整した ( 5 sessions )

 テスト環境でproxyが落ちる原因を調べることができた.どうやら,ServerProxy側のコードに問題があって,必要なバッファが確保されていないらしい.そして,全体的にコードの意図がわかりずらい.ということで,過去の関数群を書き直したりしている.テストも十分に作成されていないので,書き直して意味が明確になったものから順にテストにかけていきたい.

 libcurlのslistを組みた立てる関数を全体的に書き直して,テストを通すところまでできた.headerの処理にこの関数を使っていて,空値がやってきた時の処理まで作って,防衛的に仕上がった.

 bufferのコードが全体的にごちゃごちゃしていて,メモリをどこで取って,どこで解放しているのかと言うところが追いづらくなっているので,構造体を追加して整理した.これによって,初期化の処理が相当にわかりやすくなった.初期化したメモリ領域に対してデータをセットする関数を準備して,ここにreallocの処理も書いて仕舞えば,メモリ管理の見通しは格段に向上するのではないかと考えている.

 確保したコードの上に値をセットするための関数を準備することができた.これによって,クライアント側のプロキシのコードをやりかえてやって,動作テストを実施しているところ.これがうまくいったら,サーバ側のコードも本格的に手を突っ込もう.

 さらに作業をして,クライアント側のコードがきちんと動作していることは確認できたので,同じような変更をサーバ側に対しても施しているところ.サーバ側はなぜかバッファの事前確保をやらない設計になっていたみたいで,このせいで動的なメモリ確保があちこちに散財していて管理限界を迎えている.なので,次のセッションの変更でこれらを一元的に管理できるように改変したい.

ゲームキャラクタの動きの実装を進めた ( 1session ) 

 キャラクタのBTノードの調整をすることができた.これによって,持ち時間通りの行動をとるようになった.弾丸の発射レートが異常な部分があったのだが,この問題もBTノードの終了のタイミングが誤っていたことが原因であり,修正された.さらに弾丸の発射方向がおかしい問題についても修正され,これについては,atan2に与える引数の襦袢が逆になっていることが原因であった.次のセッションでは,キャラクタのランダムに動かしたり,目的の地点に対して移動できるようにするためのアクションノードを実装していきたい.

生活面

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

ブランチで,ベーコンと野菜の炒め物,鮭,米,味噌汁,ひきわりでバランスよく食べられた.

夕方に地区を一周散歩して回って,十分な運動量を稼ぐことができた.今日は過ごしやすい気候で散歩には適していた.

夜はイカの煮物,ロールキャベツ,米,ひきわりでバランスよく食べれた.

8/20

 進捗報告

プログラムの書き方本を読み進めた ( 1 session )

 プログラミング作法を読み進めて6章を読み終えることができた.6章はテストに関する話題であって,テストによっていかにしてプログラムのバグを見つけるかという話題が中心的であった.まずは手動でテストケースを書いていく場合には,境界条件を攻めるようなコードを書くこと,既存の実装と比較する回帰テストを実施することが説明されている.また,機械によるテストでは膨大なテスト入力が発生するケース,ランダム値が与えられるケース,バイト列が与えられるケースなどをテストすると問題を見つけやすくなるということだった.

 今は7章の前半を読んでいて,ここは最適化について説明している章.

テスト環境を構築した ( 2 sessions )

 Proxyの開発を進めるための,バックエンドのWebサイトを提供できるようにした.セキュリティ機構なので,バックエンドのサイトはやられサイトとして提供されるものが良いだろいうということになり,OWASP Juice Shopというのを立ち上げて,構築自体はそこまで難しくはなくて,規定のバージョンのnodejsをインストールして,これで,owasp juice shopのコードをビルドして,起動するだけ.ただし,インストールが時間がかかるので,2 sessionを費やした.

住民票記載事項証明をとりに行った ( 2 sessions ) 

 住民票の記載事項証明を役所に取りに行くことができた.役所の窓口に話したら10分もかからずに解決した.この手の書類仕事は早めに済ませておくに限る.

 役所ついでにニトリやヤマダ電機に行ったりして,色々と見て回ることができた.

ブログを書き進めた ( 60mins )

 Juice Shopの導入に少し時間をかけたので,それをネタにしてブログ記事を作ることができた.途中のversion関連のトラブルの話題を落とさずに書けた点は良かったと思う.

生活面

11時起床.おおよそ8時間睡眠.十分な覚醒度が得られた.

昼は鮭,米,味噌汁,納豆でバランスよく食べれた.

外を出歩いたついでに歩き回ったので,これによって十分な運動量を稼ぐことができた.

夜は米,サラダ,ソーセージ,エリンギの炒め物でシンプルに決まった.

8/21

 進捗報告

プログラムの書き方本を読み進めた ( 2 session )

 プログラミング作法をさらに読み進めて,7章の性能の章を突破して,8章の移植性の章に入ることができた.性能の章では主に最適化の話をしていて,最適化に際してはまずは時間計測とプロファイリングによって変更が効果的に機能しているかを絶えず確認しながらやっていくことが大事だということだった.最適化のための変更としては,最も根本的な解決はホットスポットのアルゴリズムやデータ構造を変更することだった.そのほかにはコンパイラの最適化レベルを高く設定したり,コードのループ回数や条件処理を見直すことも有効だった.その他の最適化手法としては,より小さいデータ型を使う,一つのデータがに複数のデータを押し込める,キャッシュを利用する,専用のアロケータを使う,スタック領域を使う,入出力をバッファリングする,といったような手法があった.

書類提出作業を完了した

 就職活動関連の書類提出作業を完了することができた.昨日に集めてきた書類たちをcamscanで画像にして,これをevernoteのファイル形式の変換機能を使ってpdf化して提出した.しばらくはこの書類たちが受理されるかどうか,定期的に確認していく.

BTのデモプログラムを整理した ( 2 session )

 BTのデモプログラムにおいて,自機と敵機で同様の処理をしている箇所があったので,キャラクタクラスというのを作って汎化することにより,冗長さを排除することができた.ついでに当たり判定を与えている処理の変数名が明瞭でない部分が結構あったので,再度命名をやり直したりして,最後にテストプレイをやってみて,動作が変更されていないことを確認した.

 このプログラムをテストするためのテスティングフレームワークをひたすら探していたのだが,結局それらしいものを発見することはできなかった.junitを使ってテストするということも考えたが,pdeはjavacでは直接コンパイルできないので,これをjavaに焼き直す作業がまた面倒である.なのでやめた.processingについても,今後はそこまで使う予定がない.テスティングフレームワークがないんじゃ,まともに検証もできないし.

生活面

朝はパン,味噌汁,キウイであっさりと決まった.

昼もうどんであっさりと食べれた.

8/19

 進捗報告

セキュリティ機構の開発を進めた ( 1 session + )

 点数の加算の部分の実装をして,それらをテストするところまでできた.

本読みをした ( 1 session + )

生活面

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

8/18

進捗報告

セキュリティ機構の開発を進めた ( 4 sessions ) 

 アクションの点数加算部分の処理を書き足すことができた.とりあえずはSetvarのインストラクションをtokenizeする処理を書き進めている.この処理については,だいたいイメージ通りのコードが出来上がったので,現在はこれをテストするコードを書いている.

 もう少し作業を進めて,tokenizeする部分についてはテストが通って,適切に処理されていることが確認できた.テストを拡充するのは一旦止めて,実際にcontextの値を書き換える処理を実装していきたい.

 コンテキストの値を書き換えるためのコードを書き始めた.代入元を値に変換し,代入先のアドレスを保持して,演算子をもとに処理するという流れ.実際にルールを見ながら個別の処理を書いていくと単純な変換だけではうまくいかない部分も多い.これは,contextの方にも要素を増やしていかないといけないか.いずれにしても,また明日.

買い物に行った ( 2 sessions )

 イオンに行ったりした.外の空気に触れるのは大切だ.帰省するたびに,それなりの頻度で行っているので,懐かしさみたいなのはあまりなくて,純粋な親しみ.オクラが安かったらしい.68円.

生活面

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

昼はシャケ,米,メカブ,味噌汁,豆腐でバランスよく食べれた.

買い物先で歩き回ったので,これによって十分な運動量を稼ぐことができた.

夜は麻婆豆腐,サラダ,米,ひきわりでバランスよく食べれた.

8/17

 進捗報告

宅内ネットワーク環境について書き進めた ( 2 sessions )

 新しく導入したLinuxマシンについての記事を書くことができた.導入経緯から説明してマシンスペックの紹介,OSの導入,宅内LAN環境の作業用セグメントへの追加,使用感など,関連する話題にはあらかた言及することができたように思う.Archの導入については,すでにわかりやすく解説された記事がたくさんあるので,バッサリと省略した.

統計学の勉強を進めた ( 2 sessions )

  はじめての統計学の4章をあらかた読み終えることができた.現在は4章の章末問題を解いている途中である.ここで,一様分布と正規分布について学習した.自然界の多くの現象は正規分布に近づくということで正規分布周りの計算をしっかりと抑えることが重要なようである.この章を抜けたら様々な分布についての話は終わりで,次からは母集団の推定に入っていく予定.説明が不足していると感じる点は別の教科書もパラパラとチェックしたりしながら進めている.

セキュリティ機構の開発を進めた ( 1 session + 30 mins )

 アクションのスコアリングの部分の実装を進めることができた.値のセットの部分がインストラクションとして上がってくるのでこれをtokenizeするコードを書いた.これによって,インストラクションを解釈して,値をセットできるように実装を進められるはず.もう少し作業すればできそうだが,使っているキーボードの打鍵音が大きく,夜間は住人に迷惑がかかるのでまた明日

生活面

朝3時起床.5時間程度の睡眠.そこまで寝られなかった.徐々に生活リズムを朝型に矯正して行って,1日の早いうちに頭脳労働をするようにしていきたい.そこからしばらく活動したが,明け方にどうしても眠くなったので昼まで寝た.これによって十分な覚醒度を得ることができた.

昼はスコッチエッグ,サラダ,米,マスカットでバランスよく食べれた.

夕方に1時間半ほど歩いて,これによって十分な運動量を稼ぐことができた.夕暮れ時で風景がいい感じだった.

夜ははらみ,生野菜,米,ウインナーで香ばしいものを食べて,焼肉っぽい感じだった.

8/16

 進捗報告

コードの書き方本を読み進めた ( 1 session ) 

 プログラミング作法のインタフェースの章を読み切ることができた.それで,今はテストの章を読んでいる.インタフェースの章では,メモリの取得と廃棄,ファイルの開閉などの責任を誰が持つかという話がされていた.これらは,レイヤを揃えて,メモリを取得した関数が廃棄をやり,ファイルを開いた関数がファイルを閉じるように設計するべき.また,エラー出力にも十分な情報量を持たせないと開発者のデバッグのやる気を削ぐので,erroroなども併用して,情報量を稼ぐ.それから,プログラムを落としてはいけない時は,下層の関数ではエラーの代わりの値を返すようにして,上位の関数でエラーをハンドリングするようにする.回復処理は最小限でいいが,ライブラリが処理を続行できるくらいには立て直す必要がある.

セキュリティ機構の開発を進めた ( 1 session + ) 

 アクション部分を主に書き進めていたのだが,コードがごちゃごちゃしていて,行ったり来たりが非常にストレスフルであり,また,十分にチェッカ自体が交通整理されていない感もあったので,思い切って切り分けたら,かなり認知負荷を下げることができた.コードを書き足すことも重要だが,常にリファクタリングを続ける姿勢,常に認知負荷を下げ続ける姿勢,これを維持していきたい.

生活面

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

昼は鮭,米,味噌汁,のりとでバランスよく食べれた.

夕方に1時間くらい外を歩いたので,これによって十分な運動量を稼げた.

夜は惣菜をいろいろ食べたりケーキを食べたりした.年齢が一つ上がった.

8/15

 進捗報告

ゲーム開発を進めた ( 3 sessions )

 ゲーム開発を進めることができた.弾丸に関するクラス,敵キャラクタに関するクラスを全体的に整理した.敵キャラクタについては,敵キャラクタ全般に対して適用するクラスと,キャラクタ固有のクラスに分けているので,キャラクタ全般が取りうる行動に関するメソッドは前者に実装して,キャラクタ固有のメソッドは後者に実装する.

 タイルマップへの衝突を設定する方法を確認して,テスト用のバトルシーンに対して,壁の衝突を設定できた.これによって,キャラクタが壁からはみ出して動くということがなくなった.これを設定するためには,タイルマップにcolliderを付与して,マップを構成する要素のinspecterでcollisionを発生させるかを選択すれば良かった.ここで,各タイルが衝突判定をやっていると,計算量が上がる上に,タイルとタイルの間のギャップがスタックの原因になりうるので,composite colliderというのをマップにさらに適用して,もとのcolliderのused by compositeにチェックマークを入れる.これで,衝突判定のあるブロック同士の衝突判定範囲が統合されて,全体の大きな当たり判定として扱われるので,ブロック間のギャップを消すことができて,また,計算量も抑制できるということだった.

 さらに開発を進めて,プレイヤーに向かって飛んでいく弾丸オブジェクトを作成し,敵キャラクタがそれを投げてくるようにした.ツリーに追加したアクションを敵キャラクタがとっている様子は確認したが,レートが高すぎるので,一度実行した後に待つ処理がうまく行っていないのかと思う.次のセッションでこの問題に対応する.

図書館に行った ( 2 sessions ) 

 図書館に行って統計学の本を探すことができた.そのあと,新しくなったくまざわ書店にも行って,きちんとした教科書も一冊手に入った.これで,さらに勉強を進めることができそうだ.

統計学の勉強を進めた ( 1 session )

 主に教科書として使っているはじめての統計学が計算練習ばかりで疲れるので,カジュアルめの統計学入門を読み進めた.1 sessionで3章の半ばくらいまで進めることができた.この本は練習問題が全くないうえに具体例もほとんどないので,サクッと進める.足場はかたまらないが,扱っているトピック自体ははじめての統計学よりもかなり広い範囲を扱っているので,見通しを確保する用途で使っていきたい.僕の記憶が正しければ5章では,もう仮説検定に入るので,はじめての統計学が仮説検定に行き着く前に,この本で先に触れることになりそう.

Dictationを進めた ( 1 sessions ) 

 数日空いたが,Dictationを数分分進めた.カジュアルめな動画だけでなくて,技術よりの動画についてもDictationの対象にしようと思っていて,今興味のあるhome labについての動画を漁ったりしてみたが,やたらと早口だったり,イギリス訛りが強かったりで,Dictationの素材としては,あまり適当と言えるものはみつらかなかった.なので,もっと生活に近いものを中心に置きつつも,たまに箸休めで聞くくらいの塩梅でとりあえずは進めていこう.

 十分に身についたと言えない状態では,手を離すと聞き取れなくなる.完全に聞き取れるようになるまでは毎日やっていくことが重要だ.

生活面

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

朝は米,スクランブルエッグ,味噌汁でバランスよく食べれた.

図書館や本屋を梯子するついでそこそこ歩いたので,これによって運動量を稼ぐことができた.

夕食は米,チキン,きのこ,野菜でそこそこのボリュームで食べれた.

8/13

 進捗報告

統計学の勉強を進めた ( 1 session ) 

 はじめての統計学の第3章の練習問題を解き終えることができた.ここの練習問題で,とくに二項分布にまつわる計算については訓練を積むことができた.4章以降はもっと別の確率分布についても見ていく.ここまでで学んだ分布はベルヌーイトライアルで結果が得られるものに対して適用する分布だったが,これ以降の章でもっと別の対象にも確率分布が適用できたらいい.

セキュリティ機構の開発を進めた ( 2 sessions ) 

 Contextの値を拾ってくるところのテストコードを完成させることができた.テストコードを書いている過程で,どうしてもうまくいかない部分が出てきてしまって,それには,テスト対象のコードを変更する必要が出てきたので,それに合わせてそこそこの量の変更をかけた.子によってコードの構成はより単純にになったし,テストも全部書けるようになった.

 contextに関してのvariablesがひと段落したので,actionについてもコードを書き始めた.一番重要なのは値のセットだと思うので,それを書いていく.しかし変換後のルールを見てみると十分に解釈済みの形式に変換されたとは言えない具合で,自分でこの文を解釈するためのコードを書かないといけない雰囲気.

ゲームのコーディングを進めた ( 1 session + 60mins ) 

 ゲームのコードを見直すことができた.特に近距離武器の実装について見直した.敵キャラクタに対して武器を振らせるように,武器のコードを改変しようとしたが,しばらく考えてやっぱりやめた.キャラクタの位置とカーソルの位置から武器の表示位置を調整して表示し,攻撃に際してもこの武器側のメソッドを使うという実装のつもりだったけども,敵キャラクタがカーソルを持って,それを元に攻撃をするという構図にするべきかというと,そうではない.そこに対称性は別になくてもいいんじゃないかと思って,やめた.

 武器のコードをさらに直して,とりあえず納得できるレベルになった.

生活面

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

昼はやきそば弁当を食べた.かなりカロリー高めだったが,割とあっさりと食べれた.春雨スープも飲んだ.結局糖質が高すぎて眠くなったので,昼寝をせざるを得なかった.

夕食は米,鮭,ひきわり,野菜炒めでバランスよく食べれた.

チョコレートとか,ブラックペッパーがかかったおつまみや,アメリカンドッグなど,間食をちょこちょこやっていた.


8/12

進捗報告

宮崎に戻ってこれた ( 2 sessions ) 

 宮崎県に戻ってくることができた.昨日は大雨の影響で散々空回りした挙句,結局変えれないという惨事に終わったが,偶然父親が大分を通りかかったということで,これに便乗することにより宮崎に来るまで戻ってこれた.1時間半ほど車に乗って,途中で道の駅に寄るなどすることもできた.

作業環境を再構築した ( 2 sessions ) 

 実家の作業環境を作り直すことができた.電源タップが全然足りないことに途中で気づいたので,ミスターマックスに行って6口の電源タップを買ってきた.ネットワークも接続し直して,これで,普段通りに作業できる状況に戻った.

論語を読み進めた ( 1 session ) 

 論語を読み終えて,感想を書くところまで進めることができた.全体としてはかなり断片的なのできちんと理解するなら背景を詰めていくところからやらないといけない.仁なる人を目指すというのは良いと思うけど,理想主義もかなり混じっているし,儒学の元々の思想が現在の思想と噛み合わないところもあるから,落とし所をさめないといけない.具体性にも欠けるので,それをやったとして,仁が達成されているのかというのを見極めるのは難しいし,それで弟子も孔子に教えを仰いでいる.そこで孔子が適切にジャッジを下していたのかどうかというのも今となってはわからない.判断できない.

採点業務の結果を提出した ( 50mins )

 あちこちに散っていた今期の採点業務の結果を統合して担当教員に退出することができた.採点業務には結構な時間を使ってきたが,これで一応は仕事納めということになりそう.半期おつかれっした.

生活面

昼は米,味噌汁,鮭,ひきわりでバランスよく食べれた.

買い物の過程であちこち歩き回ったり,海を見に行ったりしたので,これによって十分な運動量を稼げた.

夜は豚しゃぶを食べた.ポン酢でさっぱりと食べれた.

8/9

進捗報告

Dictationをした ( 2 sessions )

 今日も2sessionほどDictaionをやって,だいたい5分から6分くらいの尺の分の音声を正確に聞き取ることができた.今日は,聞き取れた塊を書いて行って,極力動画を止めずにスクリプトを書いていくことによって,より効率的に作業を進められるように工夫してみた.スクリプトの塊を歩い程度書いて,もう一回戻って,間の文章を埋めて行って,最後に何度も聞き直して,単語のミスとかを修正していくのが効率的かなと思っているが,まだまだ模索段階だ.1sessionで10分くらいの尺を文字起こしできるようになるのが目標.

ゲームプログラミングを進めた( 3sessions )

 ゲームキャラクタの動きをBTを使って作ろうとしている.とりあえず,右へ移動するだけみたいな簡単な挙動は再現できているので,攻撃とか,ランダム移動とかをできるようにして,これを組み合わせた動きをなんかできるようにする.

図書館の本を返却しに行った 

 図書館の本の返却することができた.期限が来ていて,お盆期間中の休館で延滞してペナルティを食らってしまうので危なかったのだが,滑り込みで対応できてよかった.

生活面

12時起床.おおよそ9時間睡眠.数日ぶりにまとまった睡眠をとることができて,十分な覚醒度が得られた.

洗濯物を取り込んで,次の便を回すことができた.洗濯機が止まったので,干すところまでこなした.あんまり乾きは良くなさそうだが,干さないことには始まらないので,未来への投資.

床の清掃をした.デスクの配置を見直したことで,壁際に家具を置かなくなったので,掃除がやしやすくなった.





8/8

 進捗報告

BTの記事を書き進めた ( 1 session ) 

 BTの概要について記事を書き進めて,part1を公開することができた.ここで概要については割合丁寧に解説したので,なんとなくのイメージを掴んだ状態で具体的な実装に話を移していくことができるはずだ.part3のゲームの雛形部分がノイズになるかもしれないが,これを抜かしてしまうとデモコードの大半が説明がないということになってしまうので悩ましいところ.

https://horik.hatenablog.com/entry/2025/08/08/105630

市内の用事を片した ( 2 sessions ) 

 市内に用事があったのを片すことができた.2件の本屋にも回って,統計の本を色々と見ることができた.自分が想像している以上に実用上で求められる統計の分野が多岐に渡るということがわかった.

HTML&CSSの勉強を進めた ( 2 session )

 HTML&CSSデザインブックを読み進めて,Chapter4を走り切ることができた.これによってニュースサイト風のTimeswitchを完成させて,アイコンとかの使い方を練習することができた.ボックスを並べて値をいれて,間隔を調整して,装飾を入れて,レスポンシブなデザインに対応して,という流れにもだいぶ慣れてきた.

生活面

朝8時起床.おおよそ5時間睡眠.そこそこの覚醒度を得た.全然覚醒度をが維持できなかったので,帰宅ごとに2時間くらい寝た.

昼間にしないを歩き回ったので,それによって十分な運動量を稼ぐことができた.

深夜に世田谷食品の惣菜と,包みピザみたいなのを食べることができた.コーヒーのせいでああまり食は進まなかなった.


8/7

 進捗報告

BTの記事を書き進めた ( 1 sessions )

 Behavior Treeの実装を開設するブログ記事を書き進めることができた.Part1では,具体的な実装以前の,全体としての重要概念をなんとなく理解するというところに重きを置いて執筆を進めている.このsessionでかなり書き進めることができたので,次のsessionでPart1については公開できそうだ.スライド資料もいい具合に数を増やしていて,視覚的にわかりやすいものができていると思う.

Dictationをした ( 1 session ) 

 今日も1 sessionぶんDictationを進めて,だいたい3分くらいの尺を正確に聞き取ろうとして見ることができた.go offが離れるということから転じて発射される都会の意味で使われることを知った.shotとかemitとか,ringとかの代わりに使われることがある.あとTed edというyoutubeチャンネルが5分弱くらいの尺で,色々なトピックを扱ってわかりやすい動画を作っていて,対象として非常に適当な感じ.これで固めると,傾向が偏りすぎるからあれだけど,ネタに困ったら消化して行きたい.

通信の検査機構を書き進めた ( 3 sessions ) 

 通信の検査機構を今日も書き進めていって,検査対象部分をとってくる部分の処理を形にすることができた.もともとは文字列ですべての検索結果を返すようにする予定だったが,取得する値は文字列だけでなく,数字や真理値もあるので,変換の過程でどうしてもheap領域の目盛確保が必要になってしまうという問題があった.これについては,検査部分の取得関数がとりあえずvoid *で値を返してきて,それとは別で型の情報を受けて,呼び出しもとでキャストすることでうまいことやるという方針をとり,事なきを得た.

 さらに1session作業して,検査対象の抽出部分のテストのひな型を書き,そこで使うためのサンプルデータを作成した.サンプルデータは本家のCRSの初期値に準拠して作っていった.この作業が結構時間を要した.

生活面

昨日の夕方に寝て,0時前に目が覚めたので,日付変更時点から作業開始.覚醒度はかなり高め.

夜食として,煮物とフルグラを食べてコーヒーを飲むことができた.

明け方に眠気が来たので,そこから寝始めて昼過ぎぐらいに起床した.

8/6

 進捗報告

チェック機構の開発を進めた ( 2 sessions )

 HTTPパーサのテストを一通り終えて,サーバ側のプロキシについても関連する部分についてはテストを実施することができた.ここからさらにデータの一部を拾う部分を作っているところ.

書類仕事をした ( 1 session ) 

 会社関係の書類仕事を一つ片づけることができた.指導教員がなぜかとても丁寧に案内してくれたので,非常にはかどった.12月はこのタスクに一日を費やしたが,本日は1 sessionでだいたい片が付いた.

 さらに,必要書類を集めるたびにあちこちをめぐって,必要書類の3つのうち2つについて入手のめどを立てることができた.最後の一つに関しては地元に戻れば手に入るはずなので,


生活面

8時半起床.おおよそ5時間睡眠.負債がなかったので十分な覚醒度を得た.

昼は15時くらいにチャーハンを食べた.あまり調子が良くなかったが軽かったのでさらっと食べれた.


8/5

 進捗報告

Web3の本を読み進めた ( 2 sessions )

 かなり長期間積読していた,テクノロジーが予測する未来という本を読み始めて,全体の2/3くらいの位置まで到達することができた.Web3とかNFTとか,デジタル庁が熱心に探索しているということは知っているけども,僕の周りではやっている人がいないし,あんまり調べずにきた.この本はそこら辺の技術を解説するというよりは,やっている人たちの空気感を扱っていて,空気感を知ると僕も少し興味が出てくるという感じ.

 さらに読んで,最後までたどり着けた.結局技術的な部分はわからなかった.ただ色々と関連キーワードは出てきたのでその辺りをとっかかりにしたい.例えばEthreamあたりが良いのではないか.

HTTPパーサをテストした (  3 sessions ) 

 HTTPパーサの各関数をテストして,無事に動くことを確認できた.また,それらの関数を接合した上位関数も作成して,これについてもきちんと動作することを確認した.メモリの解放をするための関数がどうやらHeader部分に関して動かないケースがあるようだが,これについては後ほど改善することにして,とりあえず先に進めることにする.

 Parserが動くようになったということで,それを使っているプロキシ側のコードについてもテストケースを書いていくようにする.

 それから次の展望として,テストデータが生成できたことで,外部依存なしに固定的な状態で,システムをテストできるようになったので,これによってVariableの抽出も描けるようになったはず.これを使って,ひとまずはデータが安定しているResponse側から書いていくというのが手堅いかと思う.

部屋の模様替えをした ( 2 session ) 

 部屋の机の配置を変更するなどして,2sessionで配線を含めての再配置を完了することができた.壁に面して作業をし続けるのは,なかなか辛いものがあったので,この変更は成功だったと思っている.あとは,後ろがすぐ壁というのにも安心感がある.

Dictationをした ( 1session )

 Youtube動画を見て5分くらいのDictationをやることができた.Dictationに関してはしばらくは習慣にしておきたいと思っているので,できれば毎日1sessionくらいやっていきたいところ.基本的にはYoutube動画を対象にしていく.

生活面

14時起床.おおよそ6時間睡眠.割合十分な覚醒度を得た.

虫が非常に多くて,いちいち相手をしていられないので,バルサンを焚いて一網打尽にした.その間に2時間ほど外を歩いてマックを買ってくるということまでできて,非常に効率的に動けたし,運動量も稼げた.

夜はマックで買ってきたバーガーと,ポテト,ナゲットなどをゆっくり食べれた.


8/3

 進捗報告

ブログを書き進めた ( 2 sessions + 30 mins ) 

 BTについて紹介するブログ記事を書き進めた.論文の関連する部分を読み切って,part1の構成を考えて文章を書き進めた.part2に関しても構成を決めて,それをブログの下書きに起こすところまでやった.part1に関しては,本文の文章が1/3かけたところまでで止まっている.図表を作ったりするのに時間がかかった.次のsessionではpart1の文章を完成させて,公開するところまで漕ぎ着けたい.全体としては4 partの構成なので,完成するたびにどんどんと公開していきたい.

HTMLとCSSの勉強を進めた ( 1 session + 60 mins )  

 HTML5&CSS3デザインブックを読み進めることができた.この本の一番長い章であるchapter3を通り抜けて,とりあえずブログみたいなページをHTMLとCSSだけで書いていって,ボックスの使い方とか,CSSでの修飾とかをどうやっていくかという感覚を取り戻すことができた.chapter4に入って次はニュース系サイトを作っていく.

catの改良を確認した  

 cccatの改良を確認することができた.このプログラムは,catやlessでファイルを確認する際に文字列をセンタリングして表示するためのプログラムであり,マニュアルやドキュメントをワイドディスプレイで読む時に非常に役に立つ.今回の修正によって,横に長い文字列が入っているドキュメントの場合でも折り返して表示できるようになったらしい.これによりさらに使い勝手が向上した.

生活面

14時起床.おおよそ13時間睡眠.これによって高い覚醒度を得ることができた.

夕方には30分ほど近所をぶらついて多少なり運動量を稼ぐことができた.

夕方にオムライスを食べた.かなりボリューミーに感じたが,なんとか食べられた.


8/1

 進捗報告

ブログサイト制作の練習をした ( 2 sessions ) 

 HTML5 & CSS3のChapter3の演習を進めることができた.2 sessionsでおおよそ50ページくらい進めて,配置したボックスに要素を入れていって,その体裁を整えていくという作業の流れを理解することができた.ボックスの配置作業はBox〜とかいてあるdiv要素をfloatで浮かせて思い通りの場所に配置するというだけのことなのだが,初めにこの作業をしておくことによって,後の作業がかなりスムーズに進んだ.体裁を整える作業では,マージンを調整したり,カラーやフォントを調整したりという作業の他に,レスポンシブウェブデザインでの設計をするという部分も練習することができた.

SF小説を読み進めた ( 1 session ) 

 連日通りたったひとつの冴えたやり方を読み進めた.もうそろそろ終盤か.

採点業務を進めた ( 2 sessions  ) 

    C言語のTAの採点業務を一気に片付けることができた.12個の課題をしたから順にひたすらに返却していく.フィードバッグのループもある程度回って,ほとんどの人の点数が上がってきたので,高い点数がつけられてとても嬉しい.

生活面

鳩よけネットが鳩避け対策用のもろもろ(忌避剤やスパイク)が不要になったので,撤去した.これによって,ベランダが随分とすっきりとした気がする.

昼過ぎにクラスメートと一緒に学内を散歩して,これによって十分な運動量を稼ぐことができた.


7/30

 進捗報告

チェッカのコーディングを進めた ( 2 sessions ) 

 チェッカーのコーディング,特にテストについてのコーディングを進めることができた.これによって,Operatorはあらかた期待通りに動いていること言うことを確認することができた.テストケースを各作業にも少しづつ慣れてきて,テストを書くのも楽しくなってきた.ボトムアップで少しずつ足場を固めていっている感じがとても良い.

 チェッカーをこれ以上進めるためにはVariablesを適切に取ってくる必要があるのだが,これをするためにはProxyのbufferの状態をとってこないとテストケースが作れない.しかし,放置している間にproxyがどうやら動かなくなってしまっているので,この問題を修正する.proxyの動作を保証するテストケースも現状では全く存在していないので,テストケースを書いてregressionも防止していく.テストケースについてはcurlで作れそうな予感がする.

Linux講義課題を提出した ( 30 mins )

 Linuxの講義の課題スライドを修正して提出することができた.発表が3週前のことなので,危うく提出し忘れるところだったが,学校で言われて思い出したので,作業にとり書かれた.修正内容はexecvpの図示の部分だけだが,その部分については先日読み終えたLinuxのしくみにほとんど答えがそのまま書いてあったので,その通りに描いた.

HTTPトラフィックデータを作成した ( 2 sessions ) 

 curlを使うことでHTTPのトラフィックデータを作成することができた.今回はHTTP通信を対象としているので,HTTPでの通信を確認する必要があったが,幸いにもnginx.orgがhttpでの接続を許可していて,これの内容をダンプすることで,サンプルができた.サンプルが取れたので,このデータを元にテストケースを新たに作成して,http parserの動きを確認するなどした.status lineに関しては適切に動作しているのを確認したが,http headerに関してはsegumentation faultが発生しているらしく,どうも,これが接続不良の原因の一つになっている気がする.次のセッションではこの問題を修正したい.


TA勤務確認表を提出した

 C言語のTAについての勤務確認表を提出することができた.事務の人がなかなか捕まらなくて何ラウンドが行き来することになったが,最終的に提出できたので結果オーライ.事務の人と夏休みの過ごし方について話すなどした.

生活面

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

昼は生協で牛丼を買って食べるなどした.牛肉のほか玉子焼きも乗っていて味付けも良かったように思う.割とあっさり食べれた.

夕方にキャンパス内を散歩した.かなりの晴天で散歩日和だった.アップダウンのあるルートを選択したので,十分な運動量を稼ぐことができた.


7/28

進捗報告

ルールチェッカの開発を進めた ( 2 session + 50 mins ) 

 ルールのチェックをするためのコードを書き進めることができた.パターンマッチングなどの道具立ては完成しているので,これをオペレータとして呼び出して,アクション群を実行するかどうか判断するというところまでとりあえず進めたいところ.

 また,テストケースについてもCUnitを使った初めてのユニットテストを動作させることができた.Makefileとだいぶ長らく格闘したのだが,2時間の戦いの末勝利した.これによって,コードの一部分を切り出してテストをするということが簡単になったので,統合テスト前のチェッカーの動作の確認などにも役立てたいと思う.

C言語TAに従事した ( 1 session ) 

 本日もC言語のTA業務に従事することができた.そろそろ期末シーズンということもあり,受講者の関心ごともC言語からそのほかの科目の期末テストに移ってきていて,その話が多めだった.C言語から外れてOSやファイルシステムなどについても言及することができた.


生活面

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

7/27

 進捗報告

TGでBTの動作を確認した ( 1 session ) 

 TGにBTのコードが適切に動作していることを確認することができた.コードを持ってきて,さらにはキャラクタを動かすようなアクションのコードを作成し,これを持ってきたBTで引っ掛けて呼び出す.最終的にビルドして動かしてみるとアクション通りの動きをしているように見える.この実装をするためにはBT Managerみたいなオブジェクトが必要かと思っていたのだが,名前空間を定義してこれを使って別ファイルから読み込み,ローカルでオブジェクトを使い捨てるようにしたらそんなことをする必要はなかった.名前空間はこれまでこのプロジェクトであまり有効に使いきれていなかった.これを使うことにより削減できるオブジェクトがいくつかありそうだと感じる.兎にも角にも,今回の作業によってTGのUnityのコード上でも任意のNPCを作成可能になった.

SF小説を読み進めた ( 1 session + 45 mins )

 たったひとつの冴えたやり方を読み進めた.今は多分三部目の作品を読んでいる. 

単体テストを始めた ( 1 session + 45 mins ) 

 CUnitというテストフレームワークを使って単体テストを書く方法を勉強することができた.まだ,パーサのテストが完成していないのだが,関数群の使い方は分かったので,makeが通るように書き換えていき,毎回これをビルドするたびにこれが実行されるように書き換えていきたいところ.

生活面

13時起床.おおよそ8時間睡眠.十分な覚醒度を得た.中途半端に寝て起きるよりはきっちりと休んだほうがスピードが出るので,気をつけていきたい.

夜間に1時間ほど散歩をして,これによって十分な運動量を得た.

7/26

 進捗報告

ブログを書き進めた ( 1session + 20 mins)

 技術ブログの方を久しぶりに更新することができた.Linuxの本のブックレビューと,普段使いのツールのエラー修正方法の紹介とで2件の更新になった.ブックレビューは書き方がいまだに安定しない部分があるが,大体は下書きの構成通りに書いた.1日置いてから読み直したらあんまり的を得ていない批判をしている部分があったので反省して描き直した.ツールのエラー修正については,修正すべきコード例をきちんと示しながら修正していて,コマンド操作も省略せずに書いているので,pedaのエラーにぶつかった多くの人にとって有用なものになったと思う.あとは,関連しそうなワードで調べたときに上位に出てきてくれるかどうかだが,これは祈るしかない.

 次のブログセッションでは,宅内LAN環境について久しぶりに書きたい.Linuxの開発マシンが追加されたので,図表にそれを反映したい.

bashの本を読み進めた ( 1 session ) 

 入門bashを読み進めて,2章のコマンドライン編集のところまで来ることができた.コマンドライン畳でのヒストリーの行き来が覚えられないということをいつも言っていたのだが,これはデフォルトではemacsのバインドになっているらしくて,これをviのバインドに変更することができるらしい.これはかなりよいものかもしれない.

統計学の勉強を進めた ( 1 session ) 

 第2章の練習問題を突破して,第3章の確率の話に辿り着くことができた.今は理論確率のところなので,まだそこまで難しくはないので,一気に次のセッションで行けるところまで行きたい.相変わらず統計らしい話にはまだ行き着けていないので,ペラペラと後の方のページを定期的にめくってはモチベーションを維持している.

TGに対してBTのコードを移動した ( 2 session ) 

 TGに対してBTのコードを移動してきて,ひとまずはtick()が動いていることがか確認できた.ここからはいくつかのleaf nodeを実装していき,それをrootに接続して動作を確認していきたい.

7/24

 進捗報告

ブログを書き進めた ( 1 session ) 

 久しぶりに技術ブログのほうの記事を書き進めることができた.今回は無難にブックレビューとなる予定で,Linuxのしくみを読み終えたのでその感想をまとめている.他にも書こうと思っていたが,まだ書いていないというのが結構あって,それらのネタについても順次消化していきたいところ.とりあえず記事の構成を考えてしまえば,あとは早いという印象を受けているので,白紙に構成を書き出してみるというところからスタートしたい.

単体テストの本を読み進めた ( 2 sessions )

 単体テストの考え方/使い方を3章の後半まで読み進めることができた.ここまでの内容で単体テストの基本パターンであるAAAパターンについて学び,また,AAAの各要素の記載に際してどのようなことをに気を付ければよいかを学んだ.また,単体テストの命名に際しては,テストが検証するアプリケーションのふるまいに対してストレートな命名をすべきであるということを学んだ.次のセッションでは3章を読み切り,続く第二2部に進み,テストケース作成のより具体的な話題について学んでいきたい.

DDoSツールについて調べた ( 40mins )

 クラスメートと一緒にDDoSツールについて調べることができた.Github上でスターの多いDDoSツールを探し,そのコードを見た.ほとんどのツールが驚くほど単純なコードで動作しており,python製のものについては,ipとportを指定してrandom byteをwhile true内のsendto()でひたすら送るだけ,という構造で動いているものが多かった.こんなのなら素人でもすぐに作れそうだ,という印象.DDoS自体がコンセプトは単純なのではあるが,防御側がエントロピーをはじめとしたいろいろな概念を使って防御を試みているのに対して,攻撃側が何も考えずに5行くらいのスクリプトを回しているだけ,という非対称性がなんとも面白いところではある.

研究テーマについて議論した ( 1 session ) 

 クラスメートの研究テーマについて議論をすすめた.5人くらいで楽しくお話をした.技術的にどういうことをやっているのかということはそこまで難しくないのだが,やはりこの手の問題は,課題からきちんと出発しないと,途中で議論の流れがおかしくなってしまうな.常に課題から出発する意識を持つということが重要である.

ルールのパーサのコードをリファクタリングした ( 2 sessions ) 

 ルールのパーサのコードを全体的にリファクタリングすることができた.しかし,このコードは結構な量のメモリリークを起こしているらしい.クリティカルな原因は把握できていないのだが,どうも,メモリの割当量をリサイズしている部分がよくないみたい.多分新調する方向でのリサイズは割合安全とできるのだが,逆方向は結構鬼門なのだろう.なかなかうまくデバッグできない.

生活面

昼はゼリー類を食べたりした.時間がなかったけども,栄養量的にはそこそこ良かったのではないかと思う.

夕方にクラスメート一緒にキャンパス内を散歩したりして,これによって十分な運動量を稼ぐことができた.

夜は帰り際に買ってきたトルコライスを食べるなどした.ボリューミーではあったが割合あっさりと食べれた.

7/23

 進捗報告

AC法によるパターンマッチングを実装した ( 1 session + 20 mins )

 AC法のコードを引き続き書き進めて,とりあえずきちんと動作することを確認することができた.コード自体は400行弱で,可読性にもかなり配慮して書いたのでメンテ性もそこそこにある.これによってパターンマッチングに必要な2つのアルゴリズムの実装が完了したのが大きい.あとは,これを大枠を書いたコードのほうに当て込んでいって,ガンガンルールチェック用のコードを完成に持っていくだけだ.

Linux課題をクリアした ( 40mins )

 Linuxのカーネルモジュール作成の課題のレポートを作成して,提出することができた.プログラム自体は完成していたので,その結果を取り直して,レポートにまとめるだけであり,作業はそこまでかからなかった.これで,今週分のプログラムも提出できて安心できた.

統計学の教科書を読み進めた ( 2 session )

 はじめての統計学の2章を読み進めることができた.大体2章の内容を終えて,現在は最後の後の練習問題に取り組んでいる途中である.第2章までの内容で,平均値や中央値,最頻値といったcentral tendencyに関する値と,分散や標準偏差,変動係数といった散らばりに関する基本的な値の計算の練習をした.生データからこれらを計算する値と度数分布表からこれらを計算する練習をした.もうしばらくは基礎的な内容が続きそう.先をちらっと見たところ検定に入るのは7章からみたいなのでだいぶ先だ.

生活面

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

昼過ぎにキャンパス内を散歩した.今回はグラウンドを目的地として設定し,グラウンド内を1周歩くことができ,これによって十分な運動量を稼ぐことができた.

7/22

 進捗報告

チェッカーのコーディングを進めた ( 2 session )

 ルールのチェッカーのコーディングを進めることができた.ルールの順次適用のための関数を作成して,その中でオペレータに応じた操作と,点数の加算をする予定である.まだ,必要な関数が色々と間に合っていないので,動く物は作れないのだが,大枠がなんとなくつかめたのは重要なことだ.引き続き実装を進めていきたい.

ACの実装を進めた ( 2 session ) 

 ACの実装を進めて,この結果,なんとかfailure functionsの実装の方法の検討をつけることができた.とりあえず各ノードで,前ノードを参照して,前ノードのfailure functionsのトランジション先をとってきて,ここから,そのノードが持っている値によってトランジションができるかどうかを確認することによって,failure functions用のテーブルを作成することができる.現在はテーブルの作成と初期化まではできるようになったが,値のうち替えの部分があんまりうまくいっていないようである.これをいい感じにデバッグしていきたい.

進捗報告書を作成した ( 70mins )  

 今週分の進捗報告書を作成することができた.今は実装段階にあるので,実装上のさまざまなアルゴリズムについての説明が主体になっている.


生活面

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



7/21

 進捗報告

ACの実装を進めた ( 2 sessions ) 

 ACの実装を進めて,とりあえず分岐がきちんと作れるようになった.これによって,テスト用のファイルを読み込ませてみて,きちんと文字列全体がprefix treeとして保持できるようになった.これはACの上ではgoto functionを実装することと同義だが,各ノードの遷移用の情報を2次元配列から,ポインタの探索に変えたことで,メモリ使用量は抑えられているはず.次はそれぞれのノードがtransitionに失敗したい時のfailure functionとしてどのノードを持つべきかを計算する関数を実装していく必要があるが,これについてはアルゴリズムがどういうものだったか忘れたので,論文を読み直してから実装方策を考える.

採点業務を進めた ( 1 session ) 

 採点業務を進めて,後半から数えて3つ分の課題に対して言おうすることができた.一つの課題の回答がキャッシングされたら,素早く回答を返せるようになるので,短時間で一気にやってしまうことが重要だ.採点に関しては,若干甘めにつけないとこれは0点ばっかりになってしまうので,気をつけよう.

TA事前学習をした ( 1 session ) 

 C言語のTA業務に備えて,本日扱う内容のプログラムを読み込むなどした.今回は単にコードを実装するというよりは速度を測定するという部分に重きが置かれていて,ある程度サイズがある文字列ファイルを色々なソートアルゴリズムでソートして,その時間を計測する意という内容になっている.ソートアルゴリズム中の操作についても,二分探索など,探索アルゴリズムを適用することで高速化が可能になるということであった.

C言語のTAに従事した ( 1 session ) 

 本日もC言語のTA業務に従事することができた.今日はいろいろなソートのアルゴリズムの動作検証であり,動作時間を図ることでソートアルゴリズム間の性能差を見ることができた.今日の入力データにおいては,データの配置がごちゃ混ぜになっていたので,挿入ソートが異常に遅かった.

生活面

1時起床.大体4時間睡眠.とはいえ,昨日はほとんど寝て過ごしたので,睡眠負債はほとんどなし.

床の清掃をした.これで埃を一掃した.また,可燃ごみを廃棄した.この時期はごみを溜めないことが重要である.

昼には生協で買ってきた麻婆豆腐をたべた.スパイスが効いていて,かなりすんなりと食べれた.

昼過ぎに山のふもとのローソンまで歩いた.アップダウンのある道を40分ほど歩き,これによって十分な運動量を稼ぐことができた.

7/20

 進捗報告

Arch Linux導入 ( 4 sessions )

 新しく購入したBMAXの1万円のマシンに,Arch Linuxを導入することができた.Arch LinuxはLinuxディストリビューションの一つで,とにかく無駄な機能のないシンプルな使い心地が人気のディストリビューションである.Ubuntuをはじめとして他の奥のOSには複数のバージョンが存在していて,それが結構数字を刻んでいくわけだが,Arch Linuxにはひとつしかバージョンがなくて,それをひたすらアップデートして使い続けることができるため(ローリングリリースという),いちいちバージョンごとに乗り換える手間が省けてとてもいい感じ.

 ISOについてはたったの1.3GBしかなくて,インストールメディアは他ディストリビューションと比べると圧倒的に小さい.これは,インターネット接続を前提としていて,必要最小限のパッケージすらがISOに含まれていないからというのも理由の一つだが,最も大きい理由はインストーラが存在しないことである.他ディストリのISOにはインストーラが入っていて,それに従うことでOSをPC本体にインストールできるが,Archにはそれがない.そのため,ISOが非常に小さい.

 インストールはそこそこに手間がかかる.手順としては,まず,ディスク上のパーティションを切るところから始める.OSをまともに動かすためには,EFIを動かすための領域と,Swap領域,それからOSとユーザデータを入れる領域の3つを切る.今回はそれぞれ512MiB,512MiB,残りの全領域とした.このマシンはSSDが128GBあるから,116GiBくらいユーザが好き勝手使える.領域が切れたらそれぞれをフォーマットする.EFI SystemsはFAT32,SWAPはswapfs,残りの領域はext4でフォーマットした.フォーマットしたらディレクトリをマウントする.swapfsに関してはswaponで,swapに割り当て,EFI Systemsは/mnt/boot (/boot),残りの領域は/mnt/ (/)にマウントする.そこまでできたら/に対してArchの最小構成をインストールしていく.そこまでできたら,ようやくSSD側のArchにログインできるようになるから,ログインして,GRUBの導入と,諸々の設定(ネットワーク設定,ユーザ名の設定など)を済ませる.ここまできたら,ようやくSS側のシステムが利用可能になるので,リブートをかけて,ログインする.

 SSD側のシステムが立ち上がるようになったら,普段使っているソフトを入れて,SSHDを立ち上げて普段使いのmacからログインできるようにする.これで導入作業が完了.GUIなんてものはないので,全てCUI上で実施する.特にパーティションを切ったりという作業は普段あまりやらないので,とても勉強になった.


7/19

進捗報告

小説を読み進めた ( 1 session ) 

 長らく積読していたSF小説を読み進めることができた.読んでいるのはたったひとつの冴えたやり方(原題は The Starry Liftらしい)というもので,短編集なのだが,現在は3つ目の話を読んでいるというところ.SFとミステリーに関してはネタバレについは,かなり風当たりが強いので詳細について言及することは避けるが,まぁ面白いな.

TGのコードをリファクタリングした ( 4 session ) 

 TGのコードにBTのコードを移しつつもリファクタリングを進めることができた.BTのコードをProcessing用に書いて,これは文法的にはJavaのスタイルをとっているので,C#をもとに作られたUnityスクリプトにも容易に移行することができた.また,それに伴った周辺のコードもかなり書き直して(コードによっては100%書き換え),可読性がかなり高めることができた.今読み直しているコードは昨年のこのくらいに書かれたコードが主なのだが,忙しかったということや,可読性への意識がそこまで高くなかったということもあり,かなりコードの品質が低い.それを全面的に書き直していくと,当時と今のコーディングスキルの差が感じられて,これは体験としてはそこそこ良いものだ.

 また,最近はAIコーディングの流れが結構あるので,試しにgithub copilotを導入してみた.github copilotをVSコードに導入すると,コメントなどをコード中に書いておくと,その途中をAIが書いてくれるという感じ.また,インラインチャットで,書いて欲しいコードとか,修正したい理由とかを書くと,それに沿ってコードを書き換えてくれる.ただ,書いてくれるコードの品質はお世辞にも高いとは言えない状況があって,また,頼んでなくても続きのコードの提案をひたすらしてきて,それが全く的を得ていないことがほとんどなので,コーディングに全く集中できない.ということで,AIコーディングの本格導入に関しては,もう少し先延ばしにすることになった.オープンソースの人たちがAIによるコミットをウザがっている理由が少しわかった気がする.

生活面

16時起床.12時間睡眠.かなり高い覚醒度を得た.

夕方はグラタンを買ってきて食べた.結構美味しく食べれた.

夜に学校に忘れ物をとりにいき,それによって40分ほどの散歩が発生したので,十分な運動量を稼ぐことができた.


7/18

 進捗報告

neko.cを改良した ( 1 session ) 

 クラスメートの作成したneko.cというプログラムを改良することができた.端末の幅を実行時に取得して,それをもとに文章の表示のセンタリングをする.また,オプション類についても綺麗に整理することができた.

 このプログラムは普通にすごく便利で,日常的にすでにかなり使っている.湾曲のワイドディスプレイを使っているとマニュアルとかドキュメント類が左端に寄ってしまってかなり読みにくいのだが,このプログラムを使うと画面の真ん中にそれらを持ってくることができ,とても読みやすくなる.なぜなのか,この手のオプションはlessとかの中には含まれていなくて,端末側でもそれをささっとやるいい感じのコマンドがないので,困るのだが,今回これが解決されたということで非常に嬉しい限り.

regexのテストをした ( 2 sessions + 40mins ) 

 Regexのマッチングを適用するために,PCRE2を導入し,これをテストすることができた.PCRE2の使い方自体はpcre2demoというマニュアルページがあり,これを見ながらコードを書いていくことでマッチングを実施することができた.手順としては準備をしてから,regex patternをコンパイルし,コンパイル済みのマシンを使って,subjectにマッチングをかけるという形になっている.

 インタフェースをととのえて,mainの側ではpatternを投げ込んで,マシンを準備する関数を呼び,評価用関数にsubjectを投げ込めばbooleanで評価結果が返ってくるという形にした.この評価関数を実行して,trueだった場合に値を加算していくようにすればregexの検査は実施できるようになるはずだ.

Linuxの本を読み終えた ( 1 session + 45mins )

 Linuxのしくみを読み終えることができた.全体として図表が多めで,実験も多かったので,言っていることは理解しやすかった.概略を掴むというところに関して非常に良い本で,また,カーネルに関しては,こういった概略を掴むための入門書が不足していたという部分もあるので,非常に貴重だったと思う.学校の講義がちょうどこの本に連動してカリキュラムが組まれていたというのもあって,半期の間少しずつ勉強しながら読めたというところも恵まれた点だった.実装については,結局それぞれについてもっと勉強して,最終的には実装を追っていくということをしないと理解できないと思うので,ステップアップは必要だし,それが前提の記述だと思う.

TGのコードを整理した ( 1 session ) 

 TGのコードを書き足す前にコードを整理することができた.TGではこれまで,オブジェクトごとにディレクトリを分けてきたのだが,これによって,コードがかなり散財していて,管理がかなり面倒になっていた.この手の業務はそれぞれの業務ごとに作業が切り分けられるのがデフォなので,なんだかんだでファイルの種別ごとにディレクトリが切り分けられているのが正義だと思う.

生活面

12時起床.10時間睡眠.十分な覚醒度を得た.昨日は睡眠不足で一日中よくわからないことを口走っていたので,元に戻ってよかった.


7/16

 進捗報告

Linuxの本を読み進めた ( 2 sessions )

 試して理解Linuxのしくみを早朝から読み進めることができた.今日のところで,7章と9章を読み終えた.7章はファイルシステム,9章はブロックデバイス,主としてHDDについての内容であって,関連があったので読みやすかった.ファイルシステムにはext4とかのほかにもtmpfs,procfs,sysfsなどが用途ごとに使われている.それからネットワーク越しで使うものではnfsとかcephfsがある.ブロックデバイスに関しては,アクセス順序でスピードが落ちたりするので,順序を効率化するI/Oスケジューラが存在していて,また,空間的参照局所生を活かすためにreadaheadという機能がある.I/Oスケジューラに関してはブロックデバイスが十分に高速な場合(NVMe SSDなど)には,むしろボトルネックになるケースがあるが,readaheadについては,どちらの場合においても良好な結果を示した.

市内でショッピングした ( 2 sessions )

 単体テストの本が欲しかったので,市内の本屋に出かけた.目的の本を無事入手することができた(単体テストの考え方/使い方).東急ハンズにも行って,切れていたインクを補充したりできた.その後にミスドに行って,コーヒー片手に本を読み進めたりした.帰り際にドラックイレブンに行って,生活用品を補充したりできた.トータルで3時間くらいのショッピングで満足できた.

Linux講義レポートを作成した ( 1 session ) 

 明日提出のLinux講義レポートを提出することができた.コマンドのソースコードを読み直して,挙動を説明した.この講義のrepositoryがかなりごちゃごちゃしていたので,きれいに整理して,見通しが良くなった.来週の部分についてはまだできていないが,ソース自体は完成しているので,あとはレポートに実行結果を記載するだけという状況にはなっている.

Regexライブラリをテストした (  + 30 mins ) 

 Regexのライブラリをテストしかけた.PCREは使い方自体はシンプルな感じであった.

Unitテスト本を読み進めた ( 1 session + 50mins ) 

 単体テストの考え方/使い方を2章の中盤くらいまで読み進めることができた.これによってテストの考え方が大まかには古典学派とロンドン学派の二つの学派に分かれていることが分かった.古典学派はa unit of behaviorを単体の単位として,ロンドン学派はa unit of codeとして,1クラスを単体の単位とする.テスト対象が依存している他のオブジェクトについてはモックで置き換えることになるが,古典学派では共有依存しているオブジェクトのみを置き換えて,ロンドン学派では共有依存と可変依存をモックで置き換える.

生活面

4時半起床.だいたい6時間睡眠.昼頃に仮眠するかも.案の定10時くらいに4時間くらい仮眠して,これによってようやく十分な覚醒度を得た.睡眠負債も返済できた.

朝から床の清掃をした.これによって床の埃が目につかなくなった.

洗濯を1ラウンド回して,月曜日の突然の雨の分をやり直すことができた.干すところまで行ったので,あとは待つだけ.

昼はミスドでドーナツを食べた.チュロスとポンデリングを頼んだ.チュロスを食べたところで電車の時間が来てしまったので,残りは持ち帰った.コーヒーを併せて飲んで,覚醒度が高まった.

市内を歩き回ったので,本日はそれによって十分な運動量を稼げた.

7/15

 進捗報告

ルールパーサを拡張した ( 10min )

 phase5のルールに対応できるようにルールパーサを拡張することができた.作業内容としてはこれまで作ってきたパーサの実装と全く同じコードをつくって数字を5に打ちかえるだけの簡単なものであり,10分で実行結果を確認するところまで辿り着けた.

進捗報告書を作成した ( 60min ) 

 1時間くらいかけて進捗報告書を作成することができた.先週はライブラリ選定に時間を使っていたというのは言い訳で,インタプリタをめちゃくちゃ書いていたので,あまり研究上のコードは書かなかった.今週はライブラリを使いながら点数を足し上げる処理を書くのと,AC事態を実装するのが重要なタスクになる.

ACアルゴリズム実装 (  2 session + 60min  ) 

 新しくブランチを切ってACの実装を始めることができた.とりあえずノードの構造体を書き始めて,再帰的にinsertとdumpの関数を作り,freeする関数まで作って幸先の良いスタートを切ったのだが,どうもブランチを追加する処理でセグメンテーションフォールが出力される.これのデバッグをする必要がある.

Python画像処理のTA ( 1 session ) 

 Pythonの画像処理の研修でTAを担当することができた.今回の講義では,システム上のトラブルも色々とあって大変だったが,なんだかんだで楽しくやることができた.

生活面

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

 昼はからあげ丼を食べた.なかなかボリュームがあったが,食べれた.

 夕方に40分ほど散歩した.図書館で本探しをして,楽しく過ごせた.十分な運動量が稼げた.

7/14

進捗報告
GNU Coding Standardを読み進めた ( 2 sessions ) 
 GNUのCoding Starndardを2session分読み進めて,Chapter1,2,3とchapter5の半分を読むことができた.研究用のコードはGNUのコーディングフォーマットに寄せている形でコードを書いていて,この形式に近づけるとなんだかんだで,かなり綺麗に書けるということが経験的にわかっているので,最終的にはこのフォーマットを準拠する形に変えていきたいと思っている.ブロックのインデントが割合特徴的で,関数の{が関数処理の最初の行の一列目に現れる.ifやwhileに関しても{は改行するが,関数とのみ間違えを防ぐために2space分下げる.
int 
main (void) 
{
    if (condition)
      {
        process;
      }
    return 0;
}
という感じ.

TAの準備をした  ( 15min )
 5限のTAで使うプログラムを15分くらいかけて読んで,動作を理解することができた.これで質問されてもなんとかなると思う.コードの品質については先週のサンプルプログラムと比較するとかなりマシになっていると思う.

Regexのライブラリを探した ( 1 session )
 Regexのライブラリを色々と探してよさげなライブラリを選定することができた.組込み向けとか,軽量化のために様々なslreや,tiny-regex-cをはじめとしたさまざまなライブラリが開発されていることが分かった.しかし,処理したいマッチング用の文字列がperlの方言で書いてあるので,この記法への互換性は残さないといけない,ということでpcre2に落ち着いた.
 pcre2のソースを手に入れることができたので,実際にbuildしてみた.

C言語のTA業務に従事した ( 1 session ) 
 今日もC言語のTA業務に従事することができた.今日は二分探索だったのだが,問題そのものは二分探索と関係のない部分だったのでアルゴリズムで悩んでいる人はいなかった.そろそろ様々な期末テストが実施されているということで,化学とか数学とかの問題を解いている人もいる.ここらへんも学び直したいけど,今は勉強は基本PBLでやることにしているので,作りたいものがないと勉強を始めるということにならない.特に作りたいものが思い浮かばないからなぁ.

Proxyのリファクタリングを進めた ( 1sessions + 40 mins )
 Proxyのコードをリファクタリングすることができた.サーバ側のプロキシが,かなり色々なコードが入り混じっていてごちゃごちゃとしていたので,これを切り分けたりして,また,うまく動作していない関数についても全面的に書き換えて,整理することができた.これにより,今後のデバッグが楽になったと思う.次のセッションでは,それぞれのサーバコンポーネントについてのテストケースも記述していきたい.
 
ACの論文読みをした ( 1session ) 
 ACのコードを書くために,ACの論文を読むなどした.これによって,gotoテーブルの作り方とfailure functionの作り方を知ることができた.ツリーのたどり方についての基本的な考えも理解できた.アルゴリズムとしてはそこまで複雑ではないので,数百行で書けそうではある.明日時間をみて実装を進めていきたい.

生活面
11時起床.おおよそ10時間睡眠.十分な覚醒度を得た.
昼は生協で,コロッケ丼を食べた.白身魚も入っていて,割合食べやすかった.
夕方4時にクラスメートと一緒にキャンパス内を35分ほど散歩した.雨上がりということもあり,割合涼しかったので快適に散歩できた.十分な運動量を稼げた.
夜は米,春雨スープ,鮭の3点セットでバランスよく食べれた.
深夜にも1時間ほど運動して,これによって気分が上向いた.

7/12

 進捗報告

コードのリファクタイングを進めた ( 2 session + 60min )

 昨日にクラスメート一緒に描いたbook-meterのコードを時間をかけてリファクタリングすることができた.今回はmainのファイルから主要な機能に関係のないヘルパー関数的なものを全て,本構造のデータを処理するためのファイル群に映して,また,誤解を招くようなインタフェースになっていた部分についても修正することができた.

 shell_modokiのコードについても多少リファクタリングを進めていって,とりあえず良い感じになったので,公開することにした.これでShellModokiのタスクは本当に終了.全体を通して,結構楽しくプログラミングができたという印象.

ゲーム開発会議をした  ( 1 session ) 

 ゲームの開発会議を実施することができた.今週は特に進捗についての話はなかった.シナリオとまではいかなかくても,そもそもどういうストーリーのスタイルに落とし込むかが決まらないと,コーディングが進んでいかない.よくわかっていないものをコードに起こすことは不可能だ.

生活面

12時起床.だいたい9時間睡眠.十分な覚醒度を得た.

夕方にエアコンの清掃をした.フィルターを水洗いして,フィンを洗浄スプレーで洗浄していった.今回はちょっと高価な洗浄スプレーを使ったので,効果を期待したい.無香料のものを買ったのだが,こっちのほうが前回よりいい感じだった.

夜は米,春雨スープ,世田谷食品の魚のあんかけみたいなもの.美味しく食べれた.

7/11

進捗報告
採点業務を進めた ( 2 session )
 C言語講義の採点業務を進めることができた.これ以上課題が増えることはないので,ひたすら再提出を打ち返し続けるフェーズになっている.とはいえ,もうすでに3ラウンド目くらいに到達していて,すでにまともなレポート群は通過済みなので,題意を満たしてくれない人々にひたすらお願いしてなんとか題意を満たしてもらうという,そんな様相.

水平ワークショップ ( 1 session )
 水平ワークショップでここ数年の特にマルウェアなどの脅威の調査状況について聞くことができた.どの話も非常に面白くはあった.研究にも役立てそうなので,新しく知った情報を元にリンク集を組み直すなどしたい.

Book-Meter推進 ( 2 session )
 我らのブックメータプロジェクトに新しいメンバを加えることができた.彼はC言語を研究で使うらしいので,このプロジェクトはその練習台として非常に良いものになると思う.今回は,実際に目の前にコードの説明をしながら一つの機能を追加していって,コードの全容を把握してもらった.


生活面
朝9時半起床.おおよそ11時間睡眠.十分な覚醒度を得た.
昼は生協で弁当を買って食べた.割合あっさり食べれた.野菜が歯に引っかかった.


7/10

 進捗報告

Shell Modokiの実装を完了させた ( 6 session ) 

 Shell Modokiのコードをひたすらに書き足して,elif elseにも対応して,fizzbuzzが実行可能になるまで持っていくことができた.加えて,このコードについて説明する簡単なプレゼン資料も作成することができた.後半はかなりデバッグが大変だったが,漫然とlldbを叩き続けることにより,問題の原因を特定して,解決することができた.とにかくデバッガを振り回す力を身につけることが,効率的なソフトウェア開発においては重要である.

Shell ModokiのREADMEを書いた ( + 40min )

 Shell ModokiのコードについてのREADMEを書くことができた.スライド資料にリンクを掲載したのだが,飛び先でソースファイルについての説明が一切ないのはさすがに不親切かなと思ったので,動作方法と実装された機能,ソースファイルの解説などを入れた.READMEを書くと突然しっかりとしたプロジェクトのような見た目になるのが不思議である.


7/8

 進捗報告

進捗報告書を作成した ( 1 session )

 進捗報告書を作成することができた.今回も下書きをして,それをもとに文章を起こしていった.先週までで何を実装していけばよいか,という詳細を考えることができた.全体の見通しを確保できたことが大きい.実装の手が軽くなった.今週は,この結果を用いてどんどんコーディングを進めていきたい.

PythonのTA に従事した( 1 session )

 PythonのクラスのTAに従事することができた.今回はDXの色々な関係者とたくさん雑談できて,割合楽しい時間を過ごせた.Pythonを教えるということが一番重要な業務ではあるのだが,講義で課されている課題が非常に簡単なので,この部分で教えるべき部分は特になさそうだ.

Shell_Modokiのコードを書き足した( 2 session ) 

 Shell_Modokiのコードをさらに書き足して,if, whileのなかのcondition上で算術演算を実施できるようになった.-というトークンを別トークンとして切り出したことで,condition上の処理では思わぬ副作用が発生したが,これまでのコードを書き直し,ことなきを得た.今はこのconditionの中で変数を扱えるように変更を加えている途中であり,これがうまくいけば,ifやwhileが変数に駆動して動くようになるはずだ.そこまでできれば,fizzbuzzはできたも当然である!

色々読んだ ( 1 session ) 

 SFとか,マルウェアのレポートとか,Unityのコーディングフォーマットとか,そういうものを特に集中するわけでもなかったけど,ダラダラと読んで,忙しさをリセットできた.

生活面

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

空き缶を廃棄することができた.缶・瓶のターンは1か月の中でも希少なので,このタイミングを逃さずにキャッチできてよかった.

夕方にキャンパスを少し長めに散歩して,十分な運動量を得た.

夜は帰り際に買ったトルコライスを食べた.なかなかボリューミーだったが,昼を欠食していたので,さらっと食べれた.

7/7

 進捗報告

論文読みをすすめた( 1 session + 30min ) 

 パターンマッチングの論文を読み進めることができた.ちょうどAC法というマッチングの方法を勉強しようとしていて,YARAをこれ使って効率化しようという内容だった.AC法自体は,1975年くらいからある,かなり歴史のあるアルゴリズムで,ツリー構造を辿ってマッチングをするアルゴリズムなのだが,それぞれがfailure nodeというようなものを持っていて,移動する先がなくなった時にそこに移る.AC法は移動先の設計が秀逸で,ちょうど,rootノードからその直前文字列を読み込んだ先にあるノードに対して移動する.なので,1回の読み込みで,オーバラップも発見できるという触れ込み.

セキュリティ機構のリファクタリングをした ( 1 session )

 セキュリティ機構のプロキシ部分を少し整理することができた.サーバ側のproxyのhttp parserの動きが不安定な部分があって,それは,自前実装の関数が複雑すぎることが原因でデバッグが難しいので,これを綺麗にしようとして,処理を切り出したりとかをしている.明日は,ここにセキュリティ検査機構を組み込む処理を足していこうと思っていて,今日のコードも引き続いて改善していきたい.Unitiyのコーディングにもあったが,良いコードは1日にしてならず.新しいコードを書き足していくとともに,作業時間の固定の割合を既存のコードのリファクタリングに回して,何度も同じコードを読み直しながら書き換えていく.この繰り返しによって,ようやくまともなコードというのが出来上がっていくというわけ.

CRSの調査を進めた ( 1 session + 30min )

 今日もCRSの調査を進めて,922-multipart-attackと994-application-session-fixationを読み切ることができた.ここまでで,だいたい半数以上のルールを検査したわけで,どういうルールの構造があるかということが,理解できた.残りのルールに関しては,もう明日まででは調査が終わりそうにないので,ここまでで分かったことで,コーディングの指針を定めて,残りのルールの読解は,それと並走する形で進めていくことにする.おそらく毎日3時間くらいをこれに当てれば,一週間で読み切れると思う.XSS,SQLI,RCEがラスボス級で,2000行くらいルールがあったりするので,これが時間を食いそうだ.

C言語TA( 1 session + 30 min )

 今日もC言語のTAに従事することができた.本日はハッシュテーブルの実装についての話だった.コードの品質が不足していて,かなりわかりにくいコードになっていたので,TAに行く前に自前で書き直して,これによってよく理解できたので,説明も淀みなくできた.次回は二分探索で,ツリーの構築とか,少し複雑な処理が入ってくるので,頑張っていきたい.

生活面

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

外が晴れていたので,洗濯物を処理することができた.洗濯機を回して,干すところまで進めたので,あとは待つだけである.

夜は,米,シャケ,春雨スープの3点セットで,バランスよく食べれた.

7/6

進捗報告

shell_modokiの算術演算の実装を進めた

 8時間くらいコーディングをして,与えらた算術式を計算して,その答えを返すという処理を実装することができた.オペレータの優先度を見ながら算術式をツリー構造に変換して,そのツリー構造をもとに再起的に計算を進めて,最終的な答えを得るというプログラム.この機能はshell_modokiの算術式のオペランドを開くための機能に過ぎないのではあるが,算術式をパースするということ自体が,なんだかんだで一つの処理系であって,コーディングは結構大変だった.ただ,これによって算術式は暑かるようになったので,あとはこれをcondtionノードの実装に組み込んで,ifやwhileの中で使えるかを確認していく.

githubの自己紹介文を書き換えた

 githubの自己紹介文を更新することができた.前の自己紹介文は,ずいぶんと前に書いていたもので,自分の現状とはマッチしなくなってしまっていたので,更新できてよかった.自己紹介文を書くときはCS学科の学生ということで,端的に書きすぎているきらいがいつもあるのだが,github上ではアマチュアプログラマを名乗るという方針にして,以下のようにした.

I'm an amateur programmer living in Japan. Security is my major. On Github, I'd like to contribute to projects in GameDev, CLI utilities and Secuity Mechanisms!

 字数制限が結構厳しくて,これでちょうど最大字数という感じ.

CRSの読解を進めた

 今日も3時間くらいCRSのルールを読み進めて,response953-data-leakages-php,request930-aplication-attack-lfi,request931-application-rfi, response-952-data-leakages-javaを読むことができた.これで細かいルールを片付けたという感じ.これで, ようやく残り10個ファイルくらい.かなりルールも読み慣れてきた.正規表現も読み慣れてきた.明日1日使って,全部読み切ってしまって,実装の方針を決めたい.

 生活面

12時起床.6時間睡眠.そこまで睡眠負債がなかったので,十分な覚醒度を得た.

昼は紅茶スコーンとエピを細かくしたようなものを食べた.結構量があったけど食べれた.

昼間に学校に出かけて行って,その行き帰りで十分な運動量を稼ぐことができた.

夜は,米,春雨スープ,世田谷食品の宅食の3点セットで,バランスよく食べれた.


7/3

 進捗報告

Unityコーディングフォーマット読み

 Unityのコーディングフォーマットをきちんと設定して,TGでは,このフォーマットに準拠していこうと考えていて,そのためにUnityコーディングフォーマットを読み始めた.今のところ3章の半ばくらい.基本的にはMSのコーディング標準をベースにしていて,Sunのコーディングフォーマットと,そこまで大差ない感じ.割合簡単に導入できそう.TGでは,単純にコーディングフォーマットが不揃いというところだけでなく,可視性の設定が雑なところがあるので,そのあたりも併せて整備していきたい.

Linux講義出席

 1限のLinuxの講義に出席することができた.今回はLinuxカーネルモジュールを実際に作ってみるというような内容だった.きわめて単純なLKMはコードもわいあい簡素.これを発展させてドライバとか自作してみたら面白いと思う.アイデアはあるが,これが走り出すかは不明.他のタスクの進捗次第.

if文実装

 講義後に2時間ほど作業を進めて,昨日の続きを書いて,if文を実装することができた.ifの実装ができたら,whileは似たようなものなので,昨日のコードを見ながら実装していけば,何とかなりそう.あとはconditionの中で,算術演算とか,変数の展開とかができるようになったら,fizzbuzzに手が届くと思う.

while文実装

 if文の実装から,さらに1時間ほど作業を進めて,while文を実装することもできた.ifのコピーかと思ったけど,想像以上にあちこちにコードを書き加える必要があった.あとは,conditionの中の算術演算ができるようになったら良いと思う.もう一息だ.

本読み

 家に帰って,読みかけだった本を2冊読むことができた.1つはクロスバイク図解マニュアル,2つ目は風の谷のナウシカ第7巻.これで.ナウシカについてはシリーズを通して全部読んだことになる.感想は後ほど整理したい.

生活面

 朝7時起床.だいたい5時間くらい睡眠.十分な覚醒度を得た.

 昼は生協のそぼろ三食丼を食べた.あっさりとしていて,非常に食べやすかった.

 夕方にt_h_氏とともにキャンパスを一周分散歩した.セミが活発に活動しているみたいなので,木に接近して様子を観察するなどした.これによって十分な運動量を稼ぐことができた.

7/2

進捗報告

shell modokiプログラミング

 6時間くらいかけてshell modokiをさらに拡張して,if文をparseできるようになった.conditionの解釈にかなり手間取ったのだが,時間をかけてデバッグして何とかなった.

生活面

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


7/1

 進捗報告 

CRSルール読解

 3時間ほどかけて,さらにルールを読み進めることができた.今日はresponse999,request949, response 980が読み終わった.901がもう少しで読み終わる.ファイル数で数えるとだいたい1/3以上が読めた形.ルールの進行にも段々と慣れてきたので,明日はもっと早くルールが読めると思う.

進捗報告書作成

 だいたい1時間ほどで,進捗報告書を作成することができた.ブログ的なフォーマットについても段々と書き慣れてきて,下書きさえきちんと書けば,ものの30分くらいで文章を空らしく起こすことができる.

資格説明会聴講

 クラスメートが資格取得の体験について説明しているのを聞くことができた.もう3回もやっているということで,かなり話慣れた感じではあった.モチベーションとか,そのあたりに焦点を置いて話をしていたのが良かったと思う.

旅行話

 ゼミの後に,研究室にいたたくさんの人と,旅行話でかなり盛り上がった.あちこちに行った話とか,各地のスポットの話とか,資格取得の話とか,バイトでの面白話とか,そういうのを色々聞けて非常に楽しかった.

ShellModoki実装進め

 ShellModokiの実装をさらに進めて,今日はconditionを扱うためのコードをtokenizerに追加して,これによって,conditionと,その中で使う算術演算の演算子$(())をトーカない図できるようになった.また,conditionを持っておくための構造体を追加して,これにデータを読み込むためのparserの関数も追加した.まだテストしていないので,早急にifを追加してテストしたい.

生活面

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

昼は生協のもやし唐揚げ丼.あっさりと食べられたには食べられたのだが,あまり美味しくはなかった.

夕方に散歩に出掛けて図書館横の塔を制覇することができた.これでキャンパス内の建物はほぼ全て網羅できたと思う.十分な運動量を得た.

夜は米,鮭,春雨スープの3点セットでバランスよく食べることができた.

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点セットを食べた.きちんとした量を食べられたので良かったと思う.

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

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時間睡眠.昨日のボーッとしてたのが嘘のように頭が回る.何にせよ.きちんとて寝て,とにかく覚醒度を維持することが,生産性を高めるための基本だ.

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

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

4/30

 進捗報告

myshell 

 深夜に6時間くらい集中して300行くらい書き足して,いい感じのトーカナイズができるようになった.コマンドをセパレータと混ぜて入力したら,それらがきれいに分割されて上がってくる.あとはこのトークンを構文解析してツリーを作成し,実行できるようになればとても良い.

TA書類提出

 TAの提出資料を出すことができた.これで今月分のTAは完了.来週も楽しくC言語を布教していきたい.


生活面

 10時起床.睡眠時間は未定.覚醒度はそこまで高くはないが,普通に思考はできるレベル.朝は昨日の残りの焼き鳥を焼いて食べたりした.昼は生協のおにぎりセットを食べたりして,調子は割といい感じ.

 今日もキャンパスを一周して適度な運動量を稼ぐことができた.

4/29

 進捗報告

プロジェクトの点検課題

 学校の課題でプロジェクトの点検をプロジェクトマネージャー目線でやりましょうというのがあったので,90分くらいかけて,点検作業をした.点検の結果を受けて,プロジェクトの行く末を色々と考えることができた.

両親と買い物

 両親がはるばる大分までやってきたので,一緒にあちこち出かけることができた.車に乗って,ホームセンターに行きラックを購入した.続いて赤レンガ館にいってちょっと高級路線な商品を色々とみた.コメダに行ってコーヒー休憩を挟み,明倫堂で買い物.最後にトライアルで生活費術品を色々と買い揃えて帰宅.かなり色々と話もできて非常に楽しい買い物だった.


生活面

9時半起床.7時間睡眠.覚醒度は高め.そもそも睡眠負債がないからこれくらいか,という感じ.昨日は太陽が昇るよりも前に起床していたが,あんまり早く起きすぎるとそれはそれで眠くなるので,結局7時から9時の間くらいに起きるのがいい感じだと思う.

昼食はピザとパン.コーヒーを飲んだ.

疲れたので夕方にしばらく寝た.15時半くらいに寝て20時半に起きたから,5時間くらいの昼寝というか夕寝.たくさん寝れて良かったねという感じ.

夜は焼き鳥があったので,それを焼いて食べた.

4/28

進捗報告

本読み

 昨日から読んでいる数学ガールの誕生を1時間半かけて読み切ることができた.数学ガールがどのようにして作られたのかということ書いてある.対談形式というか,講演での聴講者との議論が載っている.著者のプロ意識が垣間見える本.

myshell

 3時間くらいmyshellを書いて,&&セパレータのための実装を進めていた.非常に集中して取り組めた.どうやらループの2周目でコケることがあるらしくて,これがまだデバッグできていないので,明日またやる.

C言語TA

 今日もC言語のTAで大学2年生と3時間ほど交流できた.3週目ともなると,学生間でレベル感がお互い把握できるようになるみたいで,教えあいが発生しているところをたくさん目撃した.これによって,僕がいちいち対応しなくても,受講者同士のコミュニケーションで問題が解決することが多い.とても良い傾向だと思う.


生活面

朝4時に起床.8時間睡眠.覚醒度は高め.十分に寝たのちに朝早く起きられてとても満足.

昼食は生協のバランスから揚げ弁当を食べた.スパイスが効いていた.野菜もとれるのが良い点.割とサクサク食べれた.

おやつの時間にフレンチクルーラを食べた.そこそこに冷えていて,甘さがいい感じだった.

4/26

 進捗報告

洗濯と掃除

朝一発目で掃除と洗濯をすることができた.掃除は床とベランダの掃除から始まり,水回りの片付け,そして,調理器具の清掃もした.なんだかんだで十徳を初めて水につけてそうじした.アルミも張り替えてガス周りがだいぶマシになった.洗濯を掃除をしている間に第一便が干すところまで達した.昼頃に乾き具合を見て,もう一便回したいところ.

晴天により,無事第一便がバッチリ乾燥したので,第二便を回した.これで手元の洗濯物がほぼ100%捌けた.素晴らしい.

picoctf2025振り返り

picoCTF2025の問題を解き直していた.3時間かけて,2問片付けることができた.bitlocker2でvolatalityというソフトを初めて使ってみて,メモリフォレンジックのソフトのようなのだが,ダンプファイルが大きすぎて結果が返ってこなかった.volatalityの導入に際して,pip2でパッケージを取ってくる必要があって,これはget-pip.pyというスクリプトを実行することでまずpip2を取得し,それをつかって,distorm3というのを入れればよかった.

川に行った

休日なのでどこか外出しようと思って,ホームセンタにいったのだが,その流れであちこち自転車で動きまわって,相当な運動量を稼ぐことができた.ホームセンターの後にツタヤで本とかDVDをみて,イオンに立ち寄っておにぎりを買って,川に行って歩きながら食べて,最後にパソコンや2箇所をみて返った.晴天だったので,川の風景はかなり綺麗だった.水の流れは比較的穏やかで河川敷を歩くには良い天気だった.写真もいいものが撮れた.

Linux本読み

Linuxの仕組みをようやく読み始めて,大体4時間くらい読んで90ページくらい進んだ.今はちょうど4章の間くらいで,メモリ周りの話をしている.OSの講義で仮想メモリとかは勉強したが,Linuxでメモリがどう扱われるのか,というところは勉強したことがなかったので,色々と発見があって面白い.

生活面

9時半起床.睡眠時間8時間.覚醒度は高め.

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

自転車移動と徒歩移動とで,2時間半ほど移動をして,この1ヶ月では一番運動量を稼ぐことができた.帰りの際には,横断歩道以外では足つきしなかった.家の前の激坂を久しぶりに立ち漕ぎで登ってきて,無酸素的な要素も得られた.坂を上り切った時には大きな達成感が得られた.

昼はおにぎりとパウチタイプのゼリーを食べた.うめしそが効いているのりが巻いてあった風味が良かった.鉄分をプッシュしているマンゴー味のスムージーも飲んだので,鉄分も摂取できた.

夜は帰り際に買ってきたマックのバーガーを食べた.基本的に夜食は固定にしてるのだが,たまには別のものを食べるのも良い.

4/25

進捗報告

プロキシ制作

 3時間くらいプロキシのコードをきれいにリファクタして,構造体をより良い形に変更することができた.これを起点にコードを拡張していきたい.レスポンス時の挙動に怪しいところが残っているが,デバッガをうまく使ってデバッグしていきたい.

book-meter進捗

 読書管理アプリをクラスメートと作っていて,それが今日も進捗できた.今日はMakefileを作成して,ディレクトリ構造を整理した.これによって,プログラム全体をmakeでビルドできて,開発の効率を向上させることができる.

本読み

    昨日に引き続いてプログラミング作法を3時間程度読み,50ページほど読み進めることができた.アルゴリズムの実装について大量のコード例とともに書かれた説明を読み進める.結構ハードだったが,何回か読み戻ったりしながら,何とか読み進むことができた.3章を通して,プログラムを書き始める前にソフトウェアが扱う情報をどのデータ構造で扱うべきか十分に検討する重要性を学ぶことができた.使うデータ構造はシンプルなもののほうがよくて,使うアルゴリズムはデータ構造にかなり依存するので,用途に対して適切なデータ構造を選択すること.

ブログ書き

 週1更新の予定のブログ記事を書き,今週分の記事も準備することができた.日曜日公開.今回は,買ってきたPS3で今後遊びたいゲームを列挙してみた.

生活面

9時起床.12時間30分睡眠.覚醒度は高め.昨日までのような体のダルさがないのがかなり良い.いろいろなことをやるためには,体が軽いことがとても重要だ.

昼は生協のバランス竜田揚げ弁当を食べた.今日は胃腸も調子が良く,おいしく食べることができた.

3時に散歩をして,運動量を稼ぐことができた.毎日の散歩は運動強度は軽いが,自然の中を歩くことで,高いリラックス効果を得ることができる.

夕飯は,ハンバーグとフルグラを食べた.米も食べれた.結構食べれた.

4/23

 進捗報告

プログラミング本読み

 プログラミング作法を2時間半ほど読んで,40ページほど読み進めることができた.今日のところは基本アルゴリズムのところで,単純な配列,リスト,ハッシュ,ツリーなどの基本的なデータ構造の性質を振り返り,それぞれのデータ構造が得意とする問題について格納できた.基本的に予測可能なサイズで移動が頻繁でない場合は単純な配列が一番高速で,移動が頻繁に発生しデータサイズが予測できないときはリストを使う.検索の高速化を図る場合にはハッシュやツリーが有効に機能する.

myshell 

 myshellのソースコードを2時間かけて,きれいにリファクタすることができた.文章のトーカナイズと実行をきれいに書き分けることができたので,今後の拡張がやりやすくなった.

発表練習中を聴講

 クラスメートの発表練習を聴講した.70枚くらいの非常にグラフィカルなスライドを彼は3日で作ったらしい.僕もパワポの勉強をして,もう少しパワポパワーを向上させていきたいところ.


生活面

9時起床.8時間半睡眠.覚醒度高め.昨日はあまり睡眠のパフォーマンスが良くなかったので,それと比較すると今日のパフォーマンスはかなり良いといえる.

昼食はビーフンを買って食べた.ビーフンは軽くて非常に食べやすかった.

4/22

 進捗報告

進捗報告書の図表作成

 昨日書いた進捗報告書の内容をわかりやすくするための図表2枚を30分くらいで作成することができた.これによって機能書いた文章の内容が仮に理解できなくても,図を見ればどういうことをやっているかだいたい理解できるようになったはずだ.

1年生と交流

 学部1年生と交流して,暮らしぶりとかについて色々聞くことができた.サークルと部活に複数所属して,毎日何かしらのスポーツをやる生活をしているという人がいた.ハードな運動を生活に取り入れたいと思っているので,見習いたい.

C言語宿題

 ゼミ後に,3時間くらいかけてC言語の復習問題を解ききることができた.スタックのメモリサイズなど,突き詰めて考えると結構難しい.


生活面

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

 起床後,フルグラを食して,朝食の欠食を未然に防ぐことができた.

 外出の準備をスムーズに進めて,起床して20分くらいで外出することができた.

 夕飯はお好み焼きを焼いてたべた.結構焼いたけども,案外さらっと食えた.

4/21

 進捗報告

リバプロ制作

 5時間くらいコーディング作業を進めて,ようやくGETリクエストがクライアントとサーバ間で通るようになった.これによってプロキシ作成はかなり希望が見えてきた.このコードを綺麗にリファクタリングしながらPOSTにも対応できるようになったら,チェッカの制作に映ってもいいだろう.

進捗報告作成

 明日提出の進捗報告の作成をするなどした.ちょっと手間取ったが1時間くらいで大枠はかけた.後はもう少し視覚的な資料があれば良いが,それについてはまたあしたの午前中に頑張れば良いだろう.

C言語TAをやった

 C言語の講義で,学部生にC言語の書き方などを教える手伝いをした.本日は3回目で,そろそろ受講生ともいろいろな話を気楽にできるようになってきて,ワイワイできるようになってきた.ここからは,単に課題の手伝いをするだけでなくて,プログラムをかく面白さとか,プログラムの美しさの重要さとか,そういうところに重点を置いて話をしたりしたい.


生活面

10時起床.9時間半睡眠.覚醒度は非常に高め.

昼食はオムライス&パスタを食べて,ミルクティーを飲んだ.非常に食べやすくてすいすい食べれた.

昼過ぎに散歩を挟んで,また,TAのために何度か移動を繰り返して,それによって十分な運動量が稼げたと思う.

夜は時間がなかったので,帰り際にかったドリアを食べた.これもサラッと食べられたのでよかった.あと,ビタミンなどが若干不足気味だと思ったのでフルグラを食べた.これも食べれた.


4/19

進捗報告 

ブログ書き

 AviUtlパーフェクトガイドを読み終わったので,その感想などをブログ上に書いた.大体1時間強で1500文字くらいの記事を書くことができた.記事は日曜日に公開されるように予約投稿したので,公開されたらまた読み直すなどしたい.

parsec設定

 マシン再起動時にもParsecでログインできるようにする方法を1時間半模索した.設定自体はうまくいかなかったが,WIndowsのサービスを管理すためのscコマンドの使い方を覚えることができた.また,nssmというプログラムについても学ぶことができた.
 Parsecが起動されるのはマシンを起動して,ユーザーログインをした後なので,マシン自体が再起動されて,ユーザのログイン状態がリセットされるとParsecがいないという状況になる.このため,NSSMを使い,pservice.exeというParsecのサービスを起動時に自動で立ち上げ,僕のユーザアカウントでログインをするように設定した.しかし,うまくいかず.今後も良い方法を探し続けたい.


生活面
昨日の夕方に寝て22時くらいに起床したので,日を跨いだタイミングでまだ起きている.覚醒度はそこそこ高め.モチベーションは高めなので,眠気が来るまでいろいろな作業を進めていきたい.夕飯の代わりに,残っていた素麺を食べた.非常に食べやすかった.

4/18

進捗報告

動画編集本読み

2時間くらい読み進めて,AviUtlパーフェクトガイドを読み切ることができた.この本を読むことで,AviUtlの操作とか,基本的な概念は理解できた.ニコニコ動画で使われてるテクニック群は,ニコニコ動画講座の方をみながら学んでいけばよいし,この本を読んだおかげでそうした講座を理解するための下地は準備できたと思う.このソフトを使っていろいろな動画を編集していきたい.

外出用事

大分市内に行って外出用事を済ませることができた.この頃は運動もちゃんとしているし,食事も自宅や学校ではきちんと取れているし,睡眠時間も長めに確保できているから,この調子を続けていきたい.週に一度程度,散歩よりも運動強度が高い運動をすることと,何か他にも趣味か何かを始めてみることを提案された.


生活面
 9時起床.6時間睡眠.若干少ないけど,日中の活動には支障がないレベルの覚醒度.
 身の回りを1時間くらいかけて綺麗にすることができた.洗い物をまとめて片して,床を清掃して,ベランダも清掃した.
 昼は駅のパン屋でパンを買ったので,それを食べた.サクサクチキンとベーコンポテトパン.どちらもスパイスが効いていて美味かった.
 やはり睡眠時間が不足していて,パフォーマンスが上がらなかったので夕方は寝ていた.歩き回って疲れたので,4時間くらい寝た.
 運動量は市内をそこそこに歩き回ったので,平日の運動量としては十分な運動量が稼げたと思う.電車に乗って移動も久しぶりだった.もっと積極的に乗り物であちこち移動したい.

4/17

 進捗報告

Linux講義

 Linuxの講義になんとか間に合って出席できた.今日は簡単なシェルを作ろうという内容で,周りとわいわい騒ぎながら機能を足していくことができて,おもしろかった.

メモリ周りデバッグ

  serverレスポンスをバッファンリングする関数がメモリエラーを起こしていて,これのデバッグにこの二日間かなりの時間を費やしていたのだが,今日やってみたら25分で解決できた.これで開発をまた押し進めていくことができる!すばらしい!

外部技術者講演

 外部の技術者の人による講演を聞くことができた.100人以上の規模のソフトウェア開発でどのような流れでシステム設計を進めていくのかということを聞くことができて,とても面白かった.大規模開発では大量のモジュールを並列で開発していくので,インタフェースの設計をきちんとやることの重要性がとても高いということだった.

C言語復習課題

 シェルを作るという楽しい課題を進めていって,cd やhistory,exitなどを実装した.この調子でどんどんbash見たいな感じで機能を増やしていって,強くしていきたい!

動画編集本読み

 帰宅後,Aviutlパーフェクトガイドを3時間読み進めて,chapter 5,6,7,10を読み進めることができた.あと3つチャプターを読んだら,読み切れる.そろそろniconico動画講座などもみれるようになってきていて,動画編集を始める機運が高まってきている.

生活面

8時半起床.8時間睡眠.覚醒度は十分高め.今日も元気に暮らしていきたい.

昼はのり弁とチョコチップパンを食べて,紅茶も飲んだ.かなりエネルギーレベルが補充できた.

夕方にクラスメートと一緒に学内を一周して運動量を稼いだ.

4/15

 進捗報告

リバプロ制作

 3時間半くらいリバプロのコードを書いていて,とりあえず,CBを引っ掛けて,サーバから返ってきたデータをチェックする方法を明らかにできた.あとはバッファをうまく与えて,このバッファに対して書き込んでくれるようになったら良いと思う.

生活面

朝9時起床.9時間30分の睡眠.覚醒度は高め.中途覚醒は朝6時前の1回のみ.エアコンをきちんと入れて暖かくしたら通しで寝れるということを発見できた.

朝はフルグラを食べた.まずは朝を欠食しないということを達成していきたい.

昼は生協の弁当を食べて,フルーツティーを飲むことができた.今日もラジオを聞いたり,クラスメートから地元について紹介されたりしながら,ゆっくり昼食がとれた.

夕食はたこ焼きを焼いて食べた.たこ焼きをきれいな球状に焼くためには結構コツが必要だが,焼いている途中にだんだんわかってきた.内容量はかなり多かったけど,なんか食べれた.

運動はゼミの合間にクラスメートと一緒に散歩したので,多少の運動量が稼げた.

4/14

 進捗報告

クラスメート論文読み

 クラスメートの論文を4時間くらいかけて何とか読み切ることができた.アルゴリズムをたくさん引っ張ってきて,それを動かして色々なパフォーマンスが検証されている.ヘビー内容だったが,僕が言えることはきちんとコメントできたと思う.

進捗報告書作成

 1時間強くらい集中して,キーボードを打ちまくって,明日発表する分の進捗報告資料を作成することができた.今年度から箇条書きで図表多めで発表ではなく,文章ベースで報告書を作成するスタイルにしなさいというお達しがあり,僕の場合はむしろ,そのスタイルのほうが圧倒的に楽なので,結構サクサク作れる.いいね!

C言語TA

 C言語のTAを始めた.3時間くらいの講義で,いろいろな学生にLinux操作やC言語の書き方について教えることができた.ハードな演習ではあるが,わりとわいわいして楽しい感じではあった.

生活面

7時半起床.7時間睡眠.覚醒度はやや高め.睡眠負債が全くないので,正直これ以上寝られないという感じ.連日調子は良いので,続けていきたい.

朝はフルグラを食べた.朝食はこれで固定していて,食物繊維やらビタミンやらが取れると信頼して食べている.

昼は生協の弁当を食べた.少し量が多めだったがけども,ラジオ聴きながらゆっくり食べた.

運動は,TAの講義のあいだずっと歩き回っていたので,それで多少の運動量が稼げた.

夕食は,ハンバーグとフルグラ,米を食べた.米は少し多めに食べれた.

4/13

 進捗報告

動画編集勉強
 AviUtlの使い方を勉強するために,AviUtlパーふぇtくとガイドを再び手にとった.今日の午後に3時間くらい読んで,150ページを超えたくらいのところまで到達できた.これでchapter 1~ 4が片付いた形.それから最後のchapter 12も読んだ.この本自体は300p強くらいの本なので,これで大体半分くらい片付いた形.

電気代支払い
 散歩のついでに,コンビニによる気になったので,先月の分の電気代を支払うことができた.先月はほとんど大分にいなかったので,電気代は相当に安上がりで済んだ.

生活面

11時起床.9時間睡眠.覚醒度は高め.中途覚醒が一回あったけど,そうなったら二度寝したら良いだけ.

ベランダと部屋の床の清掃をして,綺麗になった.ベランダの鳩被害についてはスパイクを設置した箇所に鳩が止まらなくなったので,これによって,鳩の止まる位置をコントロールできるようになった.鳩が止まる回数も減った気がする.もう2セットくらい買って設置しても良いかもしれない.そうすれば,洗濯竿のうち,洗濯物を吊っている箇所をほとんどカバーできそう.

昼間は菓子パンを2つ食べれた.合わせて深煎りエスプレッソ.

夕食は,レトルトカレーが残っていたので,カレーを食べれた.食事量を増やしていこうと思っているので冷凍のハンバーグものっけた.ちょっと重めだったけども,食べれた.

久しぶりに洗濯をした.これで溜まっていた洗濯物のうち60%くらいを処理できた.明日の昼までは晴天が続くようなので,今回の便はなんとか掃けると思う.次の便は明後日の午前中になると思われる.

夕方に地区一周の散歩をして,1時間半くらい歩いた.十分な運動量が稼げた.昨年度の終わりに研究室の人々に,近場の散歩ルートを色々教えてもらったので,そこらへんのルートもそろそろ行ってみたいと思う.できれば明るいうちに.

4/12

 進捗報告

バイオ6

 バイオ6をやり始めて5時間くらい集中してやっていた.アクションゲームとしては,近接攻撃の爽快感があって面白いと思う.UIはそこまで優れてないので,思い通りにキャラクタを動かすことは結構難しい.クイックショットを撮るとよろけが取れるらしいので,これをもう少し使いなして,スピーディーに敵が倒せるように練習していきたい.

生活面

11時半起床.睡眠時間は8時間程度で,覚醒度は高め.ここ数日はスムーズに寝れてて,良い傾向.

4/11

進捗報告 

C言語を復習
 3時間くらいクラスメートと協力しながら宿題を進めていって,なんとか取り組み必須の問題をすべて解き終えることができた.課題提出まではまだ時間があるので,少しずつ必須以外の問題も倒していって,来週の講義までにすべての課題を解き終えたいと思う. 

敵AI作成
 4時間くらいコーディングをして,自機と敵にHPとダメージの概念を導入し,対戦らしいことができるようになった.UIパーツも実装し,キャラクタのHPがHPゲージに連動して動くようにした.また,ゲーム全体を制御するenumを定義して,これを元にオープニングやゲームクリア画面,ゲームオーバー画面に遷移することもできるようになった.これで大方,やりたいことはできたが,敵AIの行動は今後も増やして,ゲーム本体の実験場として大いに活用したい.



生活面
 朝8時半起床.7時間半睡眠で,十分な覚醒度.朝早くから活動できてとても良かった.昨晩は割合スムーズに入眠できた.
 昼は,おにぎりを4つくらい食べて,十分なエネルギー量を補給することができた.
 3時ごろに,クラスメートの健康診断についていくついでで,少し散歩して,運動量を稼ぐことができた.

4/10

進捗報告 

Linux講義

 Linuxの講義の第1回に出席した.朝1限の講義なのだが,何とか出席できた.第1回の内容は,ユーザランドとカーネルランドの説明と,Cプログラミングの復習.Cプログラミングのパートはワイワイみんなでやっていて,楽しい感じだった.githubに講義用のディレクトリを作って,学校からpushできるようにした.

健康診断
 健康診断を完了した.身長と体重を図って,血圧,レントゲンなど.スムーズに進んで5分くらいで終わった.

リバプロ制作
 2時間くらいコーディングして,とりあえずクライアント側のリクエストがサーバに到達できるようになった.この調子で,コーディングを続けて,サーバのリクエストが今度は,Webブラウザ上で確認できるようになったらとてもうれしい. 

自宅ネットワーク設定
 Wifiブリッジを再設定して,実家で作った環境をアパートでも使えるようにできた.これによって,Wifiブリッジ配下の全てのホストからインターネットにアクセスできる.5GhzのAPが何故かTP-Linkルータから発見できなかったので,2.4GhzのAPに接続したが,スピードテストをしたところ,そこまで5Ghzと大差なかった.

C言語宿題
 C言語の復習をするための宿題が出されたので途中くらいまで頑張ってこなした.残り半分はまた明日,クラスメートと一緒に頑張る予定.

生活面

 朝8時半起床.6時間睡眠.睡眠時間はやや短いが,覚醒度はやや高め.

 昼前にクラスメートと一緒に散歩をして,少し運動量を稼ぐことができた.

 昼飯は鳥そぼろ丼を食べた.少しボリュームがあったが,味付けがあっさり目立ったので,すいすいと食べれた.

4/9

 進捗報告

TA書類提出
 今期のTAのための書類を提出できた.クラスメートに確認しながら3枚の提出書類を準備して,新しく来た事務員に提出した.新しく来た事務員は非常に話しやすい人であったのでよかった.
 
弁当殻運搬
 研究室にあった大量の弁当殻をついに生協に持っていくことができた.大型の段ボール箱にすべて入れて,二人で運んで持って行った.生協の人は若干引き気味だった.

プロキシ制作
 午後に2時間くらいコードを書く時間があったので,プロキシのコードを書き進めていた.とりあえず組み込みたい機能を書く位置は決まったので,そこにどんどんヘッダの読み変えの機能を追加して行っている.明日も多分同じ部分の実装を進めていると思う.この部分はコード量は増えるけども,やっていることは割合単純なので書きやすい.

雨傘入手
 そろそろ雨が降りそうらしいので,雨傘を入手した.学校帰りにアタックスまで歩いて行って,かってきた.700円くらいで入手できたので,お手頃だったと思う.雨が降る前になんとか入手できたのでよかった.

鳩よけ組み立て

 鳩よけ用でスパイクを手に入れたので,それを組み立てた.土台にスパイク用のピンをはめていく.30分くらいアニメとかをみながら作業を続けて,25cmの長さのスパイクを8台組み立てることができた.これを明日,主に洗濯バサミや室外機の上のポールに仕掛ける予定だ.

生活面

 11時起床.昨日は1時睡眠だったので,10時間睡眠.覚醒度は高め.昨日と比べるとかなり動きやすい.睡眠時間をきちんと確保すると,何かをしようという気力を維持できる.

 昼食は鳥めしを買って食べた.卵焼きとセットで,どちらも食べれた.それからコーヒーを飲んだ.ミルク入りの軽めのやつ.

 夕食はチヂミを焼いて食べた.タスクが終わってゆっくりしていた時間だったので,一人前半くらい食べれた.

 アタックスに行くために,1時間強くらい歩いたので,良い運動になった.睡眠時間も運動量も,昨日今日の二日分を補填できている.

4/8

 進捗報告

研究計画作成

 3時間くらいかかって,今年度の研究計画をたてることができた.今年度はどちらかというと開発がメインタスクで,これについては,実際にコードを書き始めたことで結構ディティールがわかるようになってきた.なんであれ,動くものをベースに話を進めるということが一番大事だと思う.判断をするときの確度が圧倒的に違う気がする.実装が難しいものについては,その簡易版でもいいから,とにかく,なにかしらコードを書くと良いと思う.

論文読み

 クラスメートの論文を1時間くらいかけて半分読むことができた.検知に使う手法の出自はともかくとして,コンセプト自体はいいんじゃないかなと思った.統計処理についてはもっと勉強したいと思う.

荷物受け取り

 フルグラの箱を午前中に受け取ることができた.残りの荷物も夕方に届く予定.転送周りでゴタゴタしたけども,時間指定もできたので,なんとかなりそうだ.

 夕方になってクール便の荷物とスチールラックも受け取ることができた.お金はかかったが,荷物はすべて遅れなく手元に入った.困ったらメールで騒げばなんとかなるということを学んだ.クロネコは結構融通が利く.

自宅PC設営

 スチールラックが届いたので,コンピュータ群をすべてこの上に設置して,ケーブルを引きなおしたりした.結束バンドをスチールラックの棚とか足に沿って固定していくことでかなり整理できて,床の上からケーブルを浮かせることにある程度成功した.
 PCの配置場所変更でLANケーブルの長さも変わったので,新たに作り直したりした.3本くらいか占めているうちに,T-568Bを作るのが少し上達した.色の配置も覚えてきた.

生活面

6時50分起床.5時間くらいの睡眠.覚醒度は普通.連日と比べると低めだが活動自体は可能なレベル.

夕食は食べやすいものをと思って,素麺を食した.いつも通り食べやすかった.