11/21

 進捗報告

検知率の取得作業を進めた ( 4 sessions )

 誤検知の問題をひたすら治していて,加算される指標値の方の指定が間違っていたり,variableをとってくる時の型の間違いなどを発見して修正した.これによって,とりあえず遮断アクションは動くようになった.

 しかし,その後に初期化チェックのルールの誤検知が毎回発生していることに気がついて,これは,contextをコピーせず,毎回再生成しているからだということを発見するところまでは達した.このため,次のセッションでは,セットアップルールを読み込んだ後のoriginalのコンテキストをもとにコピーをして,これを持ち回すように変更したい.

 オリジナルのcontextというものを作っておき,これに対して値をセットできるようにsetup rulesを回していけばよいと思う.

 オリジナルのコンテキストをコピーする関数を作って,それをもとにチェックをするように変更したのだが,依然として,CRSがセットされていないという内容で誤検知を引き起こしている.次のセッションではこの問題に対処する.

 原因の調査をさらに進めたところ,どうやら,初期化ルールだけが,代入文が式になっていなくて,左辺と右辺が切り分けられてルールファイルに書かれていた.これによって,式が正しく解釈されていなかったようである.

スライドの作成を進めた  ( 3 sessions ) 

 週明けに取得したパフォーマンスの値をスライドに書き入れた.また,背景のところを削ったりして,時間の調整を図ったりしている.とにかく結果を書き入れて,今日を乗り切るためのスライドを完成させること.それが次のセッションで絶対に達成しないといけないこと.

 とりあえず結果を書いて,システムの説明についても書いた.後何枚か議論が不足指定部分があるという感じである.実験結果については学校についてから,それらしく分析したいところである.

 とりあえず考察らしい考察とも言えない何かを書いたりした.検知精度が取得できるようにしないことには何とも言えない.パフォーマンスチューニングとかの話も入ってきてしまうのか.人々の反応を見る.なんかそれらしいコメントが得られたらいい.

発表練習をした ( 70mins + ) 

 とりあえず通しで発表をしてみて,話が通るかどうかを試してみたりした.まだ,スライドが不足していて,途中がブレブレになってしまう.あまり内容量を増やすとみんな疲れると思うので,要点だけをひたすら話していくという構成にする.

 研究発表の練習をした.ヒントはそんなに得られず.しかしバッシングもそんなにされなかった.

予稿の修正作業を進めた ( 


生活面

12時起床.おおよそ5時間睡眠.覚醒度は中程度な気がするが,思考力は割合高い水準を維持していると思う.昼はフルグラを食べた.

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

11/20

 進捗報告

ACのライブラリを導入した ( 4 sessions ) 

 昨日,調査したACのライブラリで,自分のコードで使っているようなファイルからのtrie生成が可能であることを確認した.これで,もう少し大きいファイルでの文字列比較を確認してみて,それができたら,自分のシステムに対しても持っていくようにしたい.

 ACのライブラリを使って,もう少し大きいファイルでも文字列比較ができることを確認できたので,自分のコードへの移植作業を進めた.しかしながら,どうにも文字列からのツリー生成の扱いがうまくいっていないように思うので,テストケースを書いてみるとやはりうまくいかない.何かが無限ループに陥っているのだが,なぜだろうか.次のセッションではこれについてデバッグを進める.

 ACの問題は解決したのであるが,理由はとても単純で,単に,初期化関数を呼び忘れていただけであった.検知率が取れない問題が残っている.その問題を次のセッションで解決する.

 検知率がほとんどゼロに近いので,それはなぜであるかを検討したところ,ルールの発火のコードがかなり誤っていた.また点数加算に必要な値を引っ張り出してくるコードにも誤りがあったので,ここを直したところ,とりあえずは検知がかかるようになった.次は誤検知の問題を修正する.

RaspberryPiでのコードの動作を確認した ( 1 session + )

 昨日作成したコードをraspberry piに持ってきたところSIGSEGVが出てきてしまったので,それの修正をしていた.原因は2か所あって,reallocの書き方がまずいところがあったのと,それから,意図しないメモリの解放が紛れていた.これらは開発中に方針を買えたことでぎくしゃくしてしまったのだと思う.とはいえ,ここら辺のミスがあるにも関わらずよくもx64環境で動作していたものである.

実験結果を取得した ( 2 sessions + ) 

 攻撃発生時のパフォーマンスを取得していて,他のシステムの攻撃時の挙動などを調べたりしていた.自分のシステムについてもパフォーマンスを取得したりしていたが,検知率についてはまだ測れていない.これを今晩のうちに何とかしないといけない.

 結果の集計作業を進めていた.これによって検知率以外の値については,暫定的な結果が得られたという具合である.このエクセルシートの値をグラフにするか,表にするかして,まとめることで,明日の発表に持っていきたい.

 できれば,ACの実装を書き直して,まともに動く状態にしてから持っていきたいという気持ちもある.

スライドの作成を進めた ( 1 session + ) 

 研究発表のためのスライドの作成を進めていた.スライドに実験の結果を載せなければならないので,その集計作業に取り組んでいる.検知率については,まだとれていないという状態なので,いったんこの作業を終えて,研究背景とかを作ってから,対応したい.次のセッションでは,とりあえず現時点でわかっていることをまとめる.

研究発表を聞いた ( 30 mins ) 

 同級生の研究発表を聞きに行った.画像分析周りの機械学習モデルの話で,モチベーションや道具について色々と知ることができた.軽量な画像解析というのは重要な話題だと思うが,いろいろな周辺知識がないのでよくわからないところも多かった.機械学習全般についてもう少し真面目に勉強する必要がある. 

生活面

朝9時起床.おおよそ6時間睡眠.中程度の覚醒度を得た.

昼はのり弁等を食べて,コーヒーも飲んだ.エネルギー補給ができて気分もすっきりした.

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



11/19

 進捗報告

aarch64への移植の問題に対応した ( 4 sessions ) 

 学校側の用事で今日は入れないので,Raspberry piにアクセスできない.一応手元もmacもaarch64で動いているので,OS側の仕様が影響していなければ同様のメモリエラーを再現できるはずである.ということで,実験のシステムと同じ構成を作り始めて,とりあえず動作させるところまで入ったのだが,どうにもlldbがDYLD_LIBRARY_PATHで指定されたライブラリを探しに行っていないみたいで,デバッグができない.次のセッションでは,この問題を解決して,Raspbery Piと同じ現象を引き起こせるか確認する.

 色々試してみたけど,攻撃を引き起こすとmacの特有の問題なのか何かで,ファイルが送れないというエラーメッセージで落ちるので,再現できなかった.そういうわけで,ubuntu-serverのarm版で試してみることにしたのだが,ubuntuはarm版で2.8GBとかあるので,しばらくはダウンロード待ち,この間にルータのセットアップの情報などを集めた.

 debianのセットアップが終わったので,システムの試験に必要なソフトウェアを揃えたりしていた,その間にスライドを直したり,ACのライブラリを試してみるなどした.ACのライブラリは散々探した結果,どこかの誰から4人くらいで作ったライブラリがコードが綺麗で使いやすそうだったので試してみることにした.

 gdbと睨めっこしながら,システムを落としている部分をひたすら直していった.バックエンドへの送信が失敗している時にパースしようとしている部分があるので,それをやめさせた.それから,snprintfの使い方がめちゃくちゃ不味くて,format stringを使わずに,バッファの内容をそのまま書き込むみたいな,ある意味お手本的な脆弱性を作り込んでいて,そこが死んでいた.それらを直すと,セグフォは出なくなった.明日raspberry piにこのコードを流し込んで反応をみたいところだ.

スライドを作成した ( 1 session + ) 

 研究発表用のスライドを作成した.研究で開発しているシステムについて,類似のシステムがあまり開発されてこなかった背景について,説明を加えていた.結局は憶測ということではあるが,あまり大きくは外していないと思っている.

ACのライブラリを試した ( 45 mins + )

 ACのライブラリを色々と探し当てることができて,気に入ったのが見つかったので,それを自分のコードで適用できるような形で書き換えているところである.この作業はまだ終わりが見えないのでまた明日の午前中とかで頑張っていきたい.

生活面

8時くらいに地区を一周歩いて回って,これによって十分な歩行量を稼ぐことができた.

おひさしぶりです

 就活で東京に来ておりまして、夜が暇だったので久しぶりに書いてみます。


本屋に行くとワクワクする。

500円を握りしめ、ワンピースの最新刊を買う為、街まで走っていた小学生のあの頃から変わらない。
今でも本屋に行くと、最新刊や流行りの本のコーナーにふらっと立ち寄り、大好きなハヤカワ文庫の前では何か面白いものはないかと無意識に探している。
紙媒体は良い。物語が佳境に入るとページをめくるスピードが自然と早くなる感覚。自分の本棚を大好きな作品で埋めることで所有欲を満たすことができる。そして、自己啓発本や参考書を何度も読み返し、ペンやマーカーで汚し、読み古していく感覚。また、時が経ってそれらを本棚から取り出し、再び新鮮な気持ちで読む体験。これらは紙媒体だからこそ得られる体験だ。
2年前、生活環境の制限の厳しい特殊な職に就いた。自由な空間は一般的な社会人と比べて狭く、本棚を置くことができない。
そこで出会ったのが電子書籍だった。スマホのストレージとデータ環境さえ整えば、物理空間の制限なしに読書を楽しめる。また、クレジットカードさえあれば、ネット上で気軽に書籍を購入できるという敷居の低さも魅力的だった。そこからというもの、今まで読んでいた作品の最新刊、巻数が多くて購入に戸惑っていた作品、出先で気軽に読みたい本等など、すべてが電子書籍へ移行し、紙媒体で本を買うことがなくなった。
しかし、それでも本屋へ通うことは辞めなかった。本屋で気になる作品を見つけるとその場で電子書籍での購入をするという、本屋をバカにしたような行動を平気でやるくらいに電子書籍の利便性の虜になってしまっていた。(流石に最近は辞めた)
これはゲームにも同じことが言えて、今まではゲーム屋や電気屋で最新作のパッケージ版を買うという行為から得られる喜びや楽しみがあった。しかし、ダウンロード版という利便性の塊のようなものを知ってしまった今では、最新作をいかに0時からプレイするかということに囚われてしまい、あの頃のパッケージ版への熱が完全に冷めてしまっている。
アナログからしか得られないロマンにも近い体験、快楽を求めるのか。デジタルからしか得られない便利を求めるか。本質的な内容物は、本では文章、ゲームではデータという点では同じかもしれない。どちらを選ぶのに正解も不正解もないと思う。
それでも、自分の性格や状況にどちらが適しているのか、長い目で見たとき、どちらを選べば後悔が少ないのか。しっかりと見極めたうえで、自分の判断基準をしっかり持ち選んでいきたい。

11/18

 進捗報告

予稿の修正をした( 1 session + 65 mins ) 

 予稿の修正を進めて,前回の版についてコメントされた内容について一通り対応することができた.あとは,修正で加筆した文章について誤りがないかをチェックする必要があり,それがすんだらこの版を再度提出しようと思っている.

 文章を一通り見直して,誤字や,明らかにおかしい言い回しを直したりして,とりあえず提出をした.また内容面について修正があると思うが,とりあえずは実験の作成やスライドの作成作業に時間を割いていきたい.

進捗報告資料を作成した ( 1 session + ) 

 今週の作業内容をまとめて,進捗状況を示した.かなり問題が山積しているという状態であり,いろいろな問題を直さないと検知率をとれないという状況である.とにかく手を動かして進捗を稼ぐしかない.

研究発表のスライド作成を進めた ( 2 sessions + )

 構成をもとに,大まかにどのような内容を記載する必要がるかについて考えて,スライドに文字を入れていっている途中である.手元のメモをもとに,スライドにどんどん情報を入れていきたい.発表時間から考えるに,使える時間は普段の3/4の30枚から35枚程度と思われる.なので,どこを絞るのかということを考えていった方が良いということだな.次のセッションで,とりあえず話す内容についてはすべて決定してしまいたいところ.

 大まかな内容を決めたので,それぞれの内容を図表に直してく作業を始めた.この内容については以前にも何度も発表をしてきているので,そこで作成した資料を使いまわして素早く完成にまで持っていきたいところではある.

umbraの検知率を取得できるようにする ( 2 sessions ) 

 umbraではコネクションをどれだけ切ったかというのをカウントする機能がないので,その機能を付け足していた.総コネクション数についてもカウントして起き,キャンセルされたコネクションの数がその総コネクションに対して占める割合を計算することで,検知率を計算できるということである.

 変更がうまくいって,検知率を図ることができるようになった.これをgithub上のリポジトリとして保存して,raspberry piにおいても同じように動くようにしたい.検知率は変わらないことを確認しておくこと.

生活面

朝8時半起床.おおよそ5時間睡眠.中程度の覚醒度を得た.

昼はグラタンを食べて元気を回復した.

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

11/17

 進捗報告

予稿の修正をした ( 2 sessions ) 

 予稿の文章を修正した.先行研究の問題点を整理した上で文章に直して記載した.また,デバイスに既に実装されている機能が,今問題にしている攻撃とは微妙に噛み合わないということも書き加えておいた.先行研究の問題を整理したので,次のセッションではこれがさらなる研究によって解決される可能性があることを書いていきたい.

実験結果を取得した ( 1 session +  )

 実験結果の取得作業を進めていた.正常通信時の結果は取得したのだが,惨憺たる結果であった.プロファイラを使って最適化を頑張って進めるとかして,どこまで早くできるのか.ホットスポットがわかれば改善も図れそうなものだが.

 誤検知の問題もあるし,実験の進捗状況は芳しくないと言わざるを得ない.この問題がかなり心理的な負荷になってきている.

内定者研修のワークを進めた ( 2 sessions ) 

 内定者のグループで集まって,グループワークを進めた.お互いに持ち寄った観点や情報について説明をして,そのあとに未来予測に重要な要素がどれになるのかを一つ一つ検討して行った.最終的に2軸に絞ることができたが,それぞれの象限に何が入るのかについては意見がまとまらなかった.

 ということでさらにそれらについて検討して,来週もう一回持ち寄って議論しましょうということになった.僕の中ではある程度結論が固まってきているが,それを書いて説明できるようにならないといけない.

論文を読み進めた ( 1 session + ) 

 予稿かあるいは研究発表スライドの中で使おうと思っている,攻撃の組成の調査をした研究論文を読み進めていた.大体2/3位読んで,あと2ページくらいで読み終わる.攻撃の大まかな分布を知ることができた.

生活面

11時半起床.おおよそ6時間睡眠.覚醒度は中程度であった.昼はフルグラを食べた.そこまでボリュームはないが,欠食を防ぐ効果はあった.欠食を防いで大体同じ時間に胃腸を動かしていくことが肝要である.


11/14

 進捗報告

検知機構のデバッグを進めた ( 3 sessions + 45mins ) 

 検知機構のテストが動作しないので,その原因を探っていた.サンプル値のセットをするための初期化関数が動いていないので何事かと思ったら,fget()の戻り値をcharで受けていることが問題であった.fgetはint型を戻り値として扱うので,これをcharで受け取るとおかしなことが起こる.x64環境ではcharが符合扱えるのに対して,aarch64環境ではcharは符号なしになるので,このあたりがオーバーフローの原因となっている感じがする.

 アーキテクチャ間の差異についての問題を引き続き倒していた.やはりintで帰っている値をcharで受けていることが大きな問題になっている.getcもfgetcも値をintで返していて,これを符号なしのcharで取ろうとしていたので失敗していた.これらの問題を修正し,とりあえずtestについては正常に回るようになった.

 テストを通して,とりあえずOWASP juice shopのデータを伝播できるようにはなった.しかし,niktoで攻撃を仕掛けてみるとシステムが落ちてしまう.さすがにそれだと防御システムとしてはまずいので,検知はともかくとしても,これくらいでは落ちないように修正が必要である.まずは原因を明らかにするところから.

ソフトウェアアーキテクチャについて学んだ ( 1 session ) 

 ソフトウェアアーキテクチャの基礎という本を再び読み始めた.マイクロサービスアーキテクチャに関心が出てきたから,それについて知りたいと思って読み始めたのだが,アジャイルとの関連とかDevOpsの話とか,興味のある周辺分野の話も多く含まれているようで期待が持てる.とりあえず今日はイントロのところまで読んで,ソフトウェアアーキテクチャがアーキテクチャのスタイル,品質特性,利用上のアーキテクチャの決定,開発のガイドラインなどで成り立っていて,これらを決定することと,それら変更に際して周囲説得することがアーキテクトには求められているということを学んだ.

スライドの構成を考えた ( 1 session ) 

 研究発表のスライドの構成などについて考えた.今回は発表時間が15分しかない上に,これまでの発表内容に実験結果が載ってくるので,全体的にコンパクトに話をしないといけない.自身の卒業研究についてはカットしてしまってもいいかもしれない.

ゲームの操作系の開発を進めた ( 60 mins + )

 ゲームの操作系の開発を進めて,とりあえず武器を持っていなくても歩き回れるようになった.これで,歩行シーンと戦闘シーンを切り替えることができる.戦闘シーンに入ったらプリセットされた武器リストから,フィールドに対してオブジェクトを付与すればよい.次は歩行時のエフェクトとかに工夫を凝らそうと思ったのだが,エフェクト関連では色々と情報が見つかるのでどれを使ったら良いかわからない.サウンドエフェクトについては,もう少し単純そうだが,足元環境に応じた音を鳴らそうと思ったら工夫が必要そうではある.

アシモフのSFを読み切った ( 1 session ) 

 アシモフのわれはロボットを読み切った.トロンとかdetroit become humanみたいな対立構造に進んでいくと思って読んでいたのだが,どうにもそういうわけではなかった.それよりは遥かに平和的だども遥かに不気味な形での終焉となった.

killzone2を進めた ( 40 mins + )

 killzone2がだいぶ手前でとまってしまっていたので,先に進める気になったやり始めた.しかし,視点操作が鈍すぎて,途中で気持ち悪くなったのでやめた.やはり振り向きの加速機能は,快適に遊ぶためには必須だと思う.

生活面

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

11/12

進捗報告

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

 統計学入門の4章を読み進めて,区間推定の方法について勉強した.Z分布による区間推定は母集団の分散σがわかっていないと適用できないという問題があった.それを解決しているのがt分布による区間推定であり,自由度により形が変化するt分布の値に準標準化をして,区間推定をすることが可能であった.この際,母集団の分散σの代わりに,標本標準偏差sを含んだs/√n-1を用いる.

SFを読み進めた ( 1session + 60 mins  ) 

 アシモフのSFを読み進めた.星間飛行の話.

実験環境を整備した ( 60min + ) 

予稿の推敲作業を進めた ( 1 session + 30mins ) 

 予稿の第1章のイントロの部分を直していた.他の手法の問題点と,このシステムを導入する理由の部分がきれいに配列していない部分があったので,この部分を直そうとしている.そのほかの部分は些末な修正が多い気がするので,とにかくこの部分に重点を置いて直していきたい.

 イントロの該当箇所の文章については修正をすることができた.次は図表の体裁を整える作業に進みたいところだが,必要なファイルを家において来てしまったので続きは帰宅後に取り組みたいと思う.

生活面

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

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

夕方にエッグチーズマフィンを食べた.これによって多少なりのエネルギーを取り戻すことができた.



11/11

 進捗報告

実験環境のネットワーク設定を進めた ( 4 sessions + )

 Raspberry Pi側の別のアダプタについてもコネクションを設定して,他のマシンと通信ができるようになった.windows側ではルーティングプロトコルと書くことで,意図したインタフェースから通信が出ていくようになった.Ubuntu側でも同様の設定をする必要があるか?あと,Raspberry Piではudevルールを書かないと,再起動時にデバイス名と実デバイスの対応が崩れるという問題があるので次のセッションで対応する.

 udevルールを書いて,再起動時の挙動を見ているのだが,想定通りの割り当てになっていない.MACアドレスを指定しているにもかかわらず逆順でインタフェースの名前が割り当たっているのが意味不明である.

 さらに調査を進めると,Windows10のルーティングテーブルの設定に不備があることを発見した.どうやらケーブル引き抜くと,それに関連するエントリはまとめて削除される仕様になっているらしい.

 また,Raspberrypi側のルーティングの設定も追加する必要があった.Ubuntu側のルーティングテーブルも再設定した.Ubuntu側は,今後しばらくは電源が落ちることがないが,RaspberryPiについては,設定の永続化が必須である.nmcliを用いた設定では結果的に期待通りの挙動を示さなかったので,ip routeでやってみた.これはうまくいく.しかし永続ができない.

キャラクタの操作スクリプトの作成を進めた ( 1 session + 45 mins )

 キャラクタのアニメーション再生プログラムを書き進めて,Animatorの上で,それらに合わせてアニメーションが動くように調整をした.その結果として,期待通りのアニメーション再生を実現することができた.しかし,どうにもキャラクタの座標が動いていない.これはなぜのなのか?animatorとの噛み合わせの問題だろうか?よくわからない.次のセッションではこの問題に対応する.

 Animatorが座標操作に干渉しないようにして,あとは,rigidbodyのコードを上位クラスにまとめてしまって,プレイヤーの座標がキーボード操作に応じて変わるようにできた.あとはAnimationのトランジションのディレイをなくすことで,キーボード操作に即座に対応するようにできた.

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

 今週の分の成果を文章にまとめていた.ネットワーク構成については,一部まだ構想段階で,形になっていないところがあるので,ブロードキャストストームの発生やセキュリティ的な部分についてもう少し検証したいところ.それが書けたら,後ろ側のWebサービスについてもう少し真面目に検討したい.予稿の修正については,おそらく日中は手が回らないので夜間に実施する.

統計学の勉強を進めた ( 40 mins ) 

 統計学の勉強を少しだけ進めた.信頼区間の推定の概要の確認など.分散分析の勉強をしたい.

生活面

昼は生協で弁当を買って食べた.コーヒーと合わせて今日,コロッケとか食べれた.付け合わせもいい感じだった.

夜は米,生姜焼き,フルグラでバランスよく食べれた.

夕方にキャンパス内を1時間弱くらい散歩して,これによって十分な歩行量を稼ぐことができた.


11/10

 進捗報告

比較対象をビルドした ( 3 sessions ) 

 ModSecのビルドが昨日できたので,Umbraのビルドを進めていた.umbraの方のビルド作業を進めていた.このシステムのビルドにはpython2系が必要だが,今使っているdebianのバージョンのリポジトリにはなかったので,自前でpython2をビルドした.だいたい50分くらいでビルドについては終了して,これを使ってumbraをビルドすることができた.今はやられサイトの方のowasp juice shopを導入しているところだが,まずはnpmが必要なので,この準備を進めている.次のセッションでも同様の作業を進めていく.

 npmも導入して,juice shopの導入作業が完了したので,今度は自分の作ったシステムをビルドできるようにするために,いろいろなライブラリなどを準備した.これまでソースからビルドしていたものもdebianのリポジトリを探検してみると,まとまったパッケージがあったりして非常に便利だ.そして,ビルド自体のところはうまくいったが,動作がおぼつかない.アーキテクチャの違いとかも関係あるのか?

セキュリティの講習を受けた ( 1 session + ) 

 セキュリティ講習として,セキュリティ関連のマネジメントの話題を勉強した.色々とガイドラインが出されていて,大きな企業ではそのあたりを参考しつつ,法令とかをスクリーニングして運営しているらしい.とはいえ,相当な労力がかかっていて,専任の作業者がいないと回らないだろうという印象は受けた.



生活面

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

昼は豚丼とおにぎり,割とあっさり目の味付けだったので食べやすかった.


11/9

 進捗報告

ヒアリングシートを作成した ( 3 session )

 ヒアリングシートを書き進めている.ほとんどESを書くのと同じくらいの雰囲気で,それぞれの内容の柱を書いて,具体的な要素を取り合げて,過不足書いていくということの繰り返し.人事にどのように見えるのかというのが気になって,なかなか快適に書けない.とりあえず,各要素について書くべきことは書きつけたので,次のセッションでは,文章を削って枠に収めるという作業を進めていく.

 文章を削れたので,内容を見直したりしているのだが,サーバ周りに関してはあまり熱量がない文章になっている.再考を要する.あと研究内容を200字で書かないといけない.

 研究内容を記載して,そのほかの部分を記載してとりあえず提出した.第二希望の部署については,あまり,きちんとしたことを書けなかったが,致し方なし.

実験対象をビルドした ( 2 session + 5 mins ) 

 実験対象のシステムのビルドに必要なパッケージをそろえてビルドする作業をひたすらに進めていた.ModSec自体のビルドができたので,これをnginxの所定のバージョンに対してビルドするなどしていた.この設定に際して色々と手順があり,手元の手順書の不備があったりもして,試行錯誤が必要になった.最終的にはルールも持ってきて,必要なファイルも配置して,正常に設定が読み込まれることを確認した.実験についてはまた明日実施する予定である.

部屋の掃除をした ( 60 mins + )

 机の上に埃が目立つようになったので,タオルで全部綺麗に拭いた.そのついでに本棚やディスプレイの上とかも拭いて,床も箒では湧いて綺麗にすることができた.これによって気分が良くなった.

SFを読み進めた ( 1 session ) 

 食後にアシモフの小説を読み進めた.

生活面

朝9時起床.おおよそ5時間睡眠.そこそこの覚醒度を得た.

朝は米とシーチキン,フルグラでバランスよく食べれた.

夜は米,ハンバーグ,フルグラでバランスよく食べれた.

学校と家を1往復したので,これによって十分な歩行量を稼ぐことができた.

11/8

進捗報告

ネットワークの設定作業を進めた ( 4 session )

 ケーブルの作成を進めて,必要なケーブルをそろえることができた.これらを使って,実験用ネットワーク間をすべてつなぐことができた.そこで,ルータの設定を進めていたわけだが,VLANの切り分け作業に失敗して,ルータにアクセスができなくなってしまったので,failsafeモードでのやり直しを図っている. 

 ルータの設定ファイルの記述自体には大きな間違いはなさそうだが,疎通しない.failsafeモードに入って,専用のIPで中に入りなおすことはできたので,設定ファイルを点検している.VLANの設定が悪いのだろうか?

 failsafeモードに入って,再設定用のアドレスでアクセスして設定ファイルを書き直したりしてみたが,どうやら再起動のたびに設定ファイルが消えているようであり,そのせいでいつまでも設定が反映されない.これがなぜなのかはよくわからないが,初期化をかけないと解決しない気がしてきた.そういうわけで次のセッションでは,firmwareの初期化をかけてみる.

 初期化をかけてやり直して,ネットワーク設定を書き換えることで,ルータの設定がすべて思い通りになった.これで,実験用ネットワークの配下のマシンからaptでパッケージの更新をしたりできる.これはとても良いことだ.

 さらにローカルのネットワーク環境を快適に使うために,Windowsのhostsを書き換えて,名前でそれぞれのリソースにアクセスできるようにした.また,raspberry piやubuntuのマシンにおいてそれぞれアップデートをかけて,パッケージを更新するなどした.raspberry piに関しては,gatewayの設定する必要があった.

 Raspberry pi上に研究の比較対象のコードを導入する作業を進めていた.まだ途中だけれども,また明日続きの作業をしたい.modsecのbuildが一番重いタスクかもしれない.

アクションゲームのキャラ操作について考えた ( 1 session )

 作成中のアクションゲームのアニメーション制御のコードを書いたりしていた.どうやら,コードのパラメータとアニメーションのコードは別々で持つ者のようであり,コード中でパラメータの更新をして,その後にそれらにもどついてアニメーションのパラメータを設定する.アニメーションのパラメータを設定してやったら,あとはanimation controllerが,それに従って,適当なanimation clipsを再生することになるようだ.とりあえず必要なアニメーションはそろえたので,次のセッションでは,Animatorに適当な値を与えてトランジションがなされるかを確認する.

ゲーム開発会議に参加した ( 1 session ) 

 ゲーム開発会議に参加して,アニメーションの作成事情について説明したり,プロットの作成を促したりした.プロットについてはchapter1だけをとりあえずスコープにおいて,手堅く作っていきたいところだが,こういうのはコンセプトが非常に重要なので,どのようなコンセプトを貫くようにしてゲームを作るのか,よく考えていきたいところ.

ヒアリングシートの作成を進めた ( 40mins ) 

 面談に必要な書類の構成などを考えた.先日は随分と内容を考えるのに苦心していたが,今日は描くべき構成が割とすぐりに理解できたので,それを文章化した.きっちりとした文章に直したいところだが,それについてはまた明日考える.

文章の書き方本を読み進めた ( 1 session ) 

 わかりやすい文章の技術を読み切った.文章を分解する,語順を整理するといったような当たり前の内容が並べられている.現代にこういう本を新たに出版する必要があるのかは謎だし,内容面でも過去のものに敵わないので,講師業の日銭稼ぎ感があったが,最終章のチェックリストは推敲時の役に立つかもしれない.

生活面

12時起床.おおよそ13時間就寝.十分な覚醒度を得た.

昼はコンビニで買ったピザパンなどを食べて,コーヒーを飲んだ.タリーズのラテを最近は良く買っている.癖がなくてとても飲みやすいと感じている.

夜は米,鮭,サンドイッチで,まとまりはなかったが,色々食べれた.

11/6

進捗報告

本読みをした ( 2 session ) 
 手元のSF小説やミステリー小説を読み進めるなどしていた.

homelabの情報を集めた ( 1 session ) 
 homelabの情報を集めた.今日はケーブルの整理とか,照明周りについて色々と調べていた.ケーブルに関しては電源ケーブルをどうにかするということのほかに,映像出力とか入出力機器のケーブルを集約するということもまた重要だ.HDMIやUSBの切り替えをまとめたKVMスイッチというものがあるらしい.これがどれくらい実用的に使えるかについてもう少し調べてみたい.

タイピングの練習をした ( 30 mins ) 
 キーボードをたくさん叩いて,めざまし効果を得た.スピード自体は現状維持という感じ.

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

大分市の用事をこなした ( 2 sessions ) 
 


11/3

進捗報告

書籍の情報を集めた ( 1 session ) 

 色々とシステム周りのプログラムについての書籍情報を集めていた.分散システムに興味があるので,そのあたりの書籍を調べていると,色々見つかる.分散システムに焦点を当てると分散システムデザインパターンや,マイクロサービスアーキテクチャ,モノリスからマイクロサービスへなどがある.DockerやKubernetesについては,Docker実践ガイドや,Kubernetes完全ガイドが良さそうだった.
 あとは,OSについて調べていたら,タネンバウム本に新しいものが出ている.モダンオペレーティングシステムの第5半が,上下で出ている.

予稿の作成を進めた ( 6 sessions + 10 mins )

 実験手順についての説明を加えて,その上で,研究のlimitationについても記載した.これで大体,主要な部分のについては書くことができて,参照についても整備することができたので,ここからは文章全体を見直して,とりあえず,スラスラと読んで理解できるものに変えていく.
 予稿全体を印刷して,内容の過不足や構成の不手際のある箇所をチェックしている.頭からきちんと読んでいくとかなりの不備が見つかるので.これがなくなるまでひたすら修正を繰り返していきたい.
 予稿の不備を治す作業続けていた.図表についても必要な要素が足りないと思われる箇所があるので,作り直した.図表を作り直すと今度は,文章との不整合が生じるので,それも修正する必要がある.次のセッションで1巡目を終えて,もう一回印刷してチェックしたい.
 予稿の不備を直して2巡目の修正を完了することができた.日本語とし成立していない部分はないくらいに遂行はできたが,まだ,そもそも内容が足りていない部分が残っている.しかし,これ以上,作業内容を伏せ続けるのは危険な気がするので,ここまでのところで一旦指導教員に提出して,手の内を明かしておいたほうがいい気がする.次の印刷で内容をもう一度確認して,おかしな日本語が含まれていないことを確認してから,提出する.
 さらにもう一巡確認して,誤字などをつぶしていた.途中で図表番号がずれていることに気がついて,それも直したりした.どうやら,labelはcaptionの下あたりにないと変な番号を参照してしまうらしい.それで,とりあえず提出が完了したので,また明日以降で頑張っていきたい.

台所を片付けた ( 40 mins ) 

 台所の食器などを片付けたり,水回りそう清掃するなどした.これによって,生活空間が整って気分が良くなった.




11/1

 進捗報告

予稿の作成を進めた ( 3 sessions + )

 検知システムの図表をさらに作り進めて,その内容についても,一応,各部を1枚ずつの図表で表現することができるようになった.あとは,文章の方をこれを捕捉する形に修正して,わかりやすさを向上させていきたい.ルールの変換に関しては,図表での説明が難しいところがあり,どのようにするのか考え中.一旦次の章に行ってから,戻ってきて検討してもいいと思う.

 実験についての文章を書いたり図表を書いたりしていた.実験の比較対象の設定の部分に疑問を持ったので,それを紹介している論文の該当箇所を読み直したりして,設定を確認した.次のセッションでも引き続き実験概要についての説明を書いていく.

ゲームの開発進捗資料を作った ( 70mins )

 今週の開発会議の分のスライド資料を作成することができた.今回は,アニメーションの作成方法に焦点を当てて,その概要と具体的な操作を案内する内容になっている.先々週からタスク管理についてはtask branchesでやっているが,これについては,この二週間でだいぶものになってきた感覚がある.アニメーションの制御ぷプログラムについては,また別で作成を進めていきたい. 

不要家具の整理をした ( 40 mins + )

 使っていないパイプ椅子を廃棄するために,解体するなどした.ネジ締めを手当たり次第に外していって,これ以上分解的ない単位まで分解することができた.しかし,足回りのパーツなどの大型の部分は,このままでは捨てられないので,金物用の鋸でギゴギコする必要がある.フレームの一つには切ることができたが,パイプ切断はかなり力を使うので,これから毎日少しづつギコギコしていく.

文章の書き方本を読み進めた ( 30 mins + )

 手元にあった書き方本を読んで,トピックの出現順や,分割の粒度,パラグラフの構成などについておさらいした.

ゲーム開発会議に参加した ( 60 mins + )

 今週の分のゲーム開発会議に参加した.今週はアニメーションの作り方について説明した.

homelabの情報を集めた ( 10 mins + ) 

 ミニPCの値段を調べたりしていた.


生活面

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

夕方に,ベーコンとチーズで焼いたエピみたいなのを食べた.あっさり目立った.

10/30

 進捗報告

スライドの修正作業を進めた ( 1 session + 10 mins ) 

 スライドの補足資料を作成して,通しで何回か練習して,時間を測ったりした.時間を測ったらちょうど20分くらいなので,普通にやれば大幅に時間を超過したりすることはないだろうと想定.補足資料としては,色々なWAFのスタイルや,ルータの遠隔操作の利用用途などについて補足した.

研究発表をしたり聞いたりした ( 1 session ) 

 学内での研究発表をしたり,それを聞いたりした.スライドの修正作業の甲斐もあって,基本的にほとんど全ての質問に対して,対応する補足資料があった.やはり,なんだかんだでよく考えて,あれこれ作ることは意味があるなぁという,別に賢くもない実感を得た.

 他の人の研究発表も聞いたりしたがハードウェアについての話はやっぱりよくわからなかった.CPUとかGPU周りのアーキテクチャについてはもっと勉強をきちんとしたいところではある.

homelabの情報を集めたりした ( 1 session ) 

 我が家のWifiブリッジに使っていたルータが,Wifi用のチップセットの劣化なのか,かなり接続が不安定になってしまった.なので,このルータは,別の実験に使うようということにして普段使いからは退役.代わりのルータを探して,最終的にBuffaloのWSR-2533を買った.OpenWrt対応らしいので,届き次第Firmwareを書き換えて,設定したい.

 文献管理が中途半端にクラウドになってしまっているので,ローカルでコンテナを立ててやってしまいたい.ということで,文献管理のためのコンテナを探したりしてた.paperless-ngxというのが有力そうである.いちおうzoteroに関しては,ストレージを自前のwebdavに置き換えることも可能なようである.

予稿の作成を進めた ( 30 mins + ) 

 予稿を作るための資料を追加で集めたりしていた.販売ルータの市場リサーチみたいな論文があれば良いのだが,どうにも,そこまで整理されたものはなさそう.セキュリティリスクを整理しましたみたいなものは発見できたので,読んでおきたい.

業界地図を読み進めた ( 30 mins + ) 

 息抜きに業界地図を読み進めていたりした.VRとかAIとかは当然晴天になっているわけだが,セキュリティとかは記述内容に関わらず曇りがちになっている.サーバー機とかに関してもコロナ禍の需要がなくなって以降は,低調な感じ.

プレイヤーのスクリプトの作成を進めた ( 1 session )

 Unityのアニメーションウィンドウの使い方を覚えるなどして,ここで歩行アニメーションを作ったりしていた.一個作るととりあえずの作業手順が見えてくるからいい感じであるが,それにしたって,このUIは劣悪だろうと思うくらいにはユーザに対して不親切だ.まぁ,それはいいとして,次のセッションでは別方向の移動アニメーションについても作成していく.

 さらに作業を進めて,上,下,左方向の移動アニメーションについても作成することができた.左方向はスプライトが欠けていたのだが,反転画像を作ることにより,ことなきを得た.

タイピングの練習をした ( 30 mins + )

 ようやく一昨年くらいに真面目に練習していた時くらいの速度に戻ってきた.


生活面

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

夕方にクラスメートと散歩をして,十分な歩行量を得ることができた.

夕方にグラタンを食べたりした.わりあいあっさりと食べれた.



10/29

 進捗報告

予稿の作成を進めた ( 1 session + 45 mins )

 予稿の作成を進めることができた.第1章の文章を全体的に見直しながら参考文献を付け足していって,それなりに意味の通る文章が書けたので,第2章の方にも手を伸ばしていく.このペースで,第4章くらいまで駆け抜けることができたら,割合用意ペースである.次のセッションでは2章を推敲していく.

 さらに作成を進めて,レポート全体のフォーマットを指定された方式に変えることができた.今回の提出先は昨年も提出した人がいたので,その人が作成したスタイルファイルが参考になった.

発表スライドの修正をした (1 session + 60 mins )

 発表スライドを修正して,さらに,内容として不測のあると思われる箇所を補足したりした.もう少し補足の文章を追加したい気持ちがあるが,それについては明日の朝に対応したいと思う.あと,発表時間の目安を書き込んだりもしたいが,それについても明日の午前中に対応したいと思う.

タイピングの練習をした ( 30mins ) 

 散歩ときにクラスメートと一緒に,仮にタイピング速度が倍になったら生産性が倍になるということだねという話をして,それに感化されて昨日に引き続きタイピング練習をした.

生活面

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

夕方にクラスメートとキャンパス内を30分ほど歩き回って,これによって十分な歩行量を稼ぐことができた.


10/28

進捗報告

予稿を作成した ( 1 session + 45 mins )

 予稿の作成を進めた.引用が一部日本語を入れることによって壊れるという現象を発見していて,この問題と戦っていた.どうやら著者の末尾に勝手にバックスラッシュが一つ足されるという現象があるようで,この問題を回避するために,著者の末尾にバックスラッシュを余分に一つ足す必要があった.ここから参照を張りつつ,文章についても直していく.次のセッションでは第1章の文章を修正する.

 さらに作業を進めて,引用したい論文を使って,1章の文章を読みやすく書き換えている.1章については学校に作業途中で残してしまったので,続きはまた明日.次のセッションでは2章や3章の方を見直していきたい.

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

 進捗報告書の作成を進めていた.今週の成果物はスライド資料だったので取り立てて説明することはないが,実験準備とか,デバッグとかの進捗状況についても補足しておきたいところ.できれば,比較対象のシステムがビルドできるところまではたどり着きたい.

 比較対象のシステムば無事にビルドできることを確認したので,これでもって,実験に必要な競合プログラムはすべて自分の手元に準備することができた.こういうことなので,それを進捗報告書に記載したうえで,今週はデバッグと,予稿作成に力を注ぐということを示した.

コードのデバッグを進めた ( 30mins + ) 

 この前発見したルールのバグについては,真理値の反転処理のバグが原因であった.この問題を解決することで,意図しない検知は修正することができた.しかし依然として誤検知が起こる.なぜ考えてみると,未実装のために検査されていないルールについても,boolの反転が起こっているらしい.未実装の検査手法については検査結果についても無効にしないといけない.


タイピングの練習をした ( 60mins ) 
 なんだか突然タイピングの練習をする気になったので,キーボードを叩きまくるなどした.

生活面

朝9時半起床.おおよそ10時間睡眠.十分な覚醒度を得た.
昼は生協で買った弁当を食べた.夜は米と,竜田揚げ,フルグラでバランスよく食べれた.
夕方に1時間くらいキャンパス内を歩き回って,十分な運動量を稼ぐことができた.

10/27

 進捗報告

スライドの作成を進めた ( 1 session + )

 スライドの修正作業を進めて,大部分については修正事項に対応することができた.色々と困った論点は色々とあるので,それらについて,何かしらの回答を準備する必要がある.次のセッションでも,そのうちの一つに対応していく.

予稿の作成を進めた ( 45 mins + )

 この前書いた文章を見ながら,参考文献を入れたりしていた.イントロで大体4つくらい.関連で2つくらい,提案システムでいくつか,トータルで10個くらい参照すれば,分量に対してはちょうどいいくらいかと思う.

発表練習をした ( 1 session + 80mins ) 

 スライドの大まかな修正が終わったので,それを使って,スムーズに話ができるように3回くらい通しで話したりしてみた.話して,違和感のあったところはスライド側を修正したりして,とりあえず,20分で話し切ることができそうだ.時間が安定しない部分はあるが,それについては,本番までに目安時間を記載するなどして要調整.

sftpの調整をした ( 60mins )

 クラスメートと共有で使っているサーバのsftpが使えないというので,この問題に対処していた.どうにも/usr/bin/sftpというのがあるから,これをSubsystemとして使えばいいということみたいなのだが,うまくいっていない.さらに調査を進めると,ここで指定すべきなのは/usr/lib/ssh/sftp-serverの方らしいということがわかって,これによってことなきを得た.

 あとこのサーバについては,段々とipアドレスを思い出すのが辛くなってきたので,ドメインを取得した.これで,アクセスがかなり快適になるはずだ.ドメインは更新をしないのであれば1年間は1円で使えるらしく,大変経済的である.


生活面

朝7時起床.おおよそ5時間睡眠.覚醒度はあまり高くなかった.

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

昼は焼きおにぎりとコーヒーゼリーで軽めで食べれた.


10/26

 進捗報告

スライドの作成を進めた ( 1 session + )

 スライドの修正作業を進めて,攻撃の実例について,論文を使ったり過去の実例を使ったりして説明している.具体的な攻撃例についても,過去のスライドをそのまま使えば解凍できそうである.比較実験のフェアネスについては,正味どうしようもない部分があるから,本命は実機での実験なんですという風に言い張るほかないだろう.

homelabの情報を集めた ( 60 mins + )

 ルータの自作の話とかの情報を集めたりしていた.高価なハードウェアルータの代わりに,ミニPC1台を完全にルーティングのために使って10Gbpsルータを作成したみたいな話を読んで,契約はフレッツのONU直結にしているようだった.

デスク周りを片付けた ( 1 session + 15 mins )

 洗濯物を片付けたり,デスクの周りを片付けたりした.それに伴って不要な書類を整理したり,本を整理したり,棚の位置を入れ替えたりして,デスク周りに必要なものを集結することができた.ホコリがかなり多かったが,今回の片付けでかなり整理できた.本も平積みされていたせいで取りにくくなっていたものを縦に置き変えたことで,どれも簡単に手に取れるようになった.

生活面

11時起床.おおよそ6時間睡眠.覚醒度はそこそこ.


10/25

 進捗報告

予稿の作成を進めた ( 1 session + 60mins ) 

 提出用の予稿をコンパイルするにあたって,どのようにlatexを記述していけば良いのかについて付属の文章を読んだりしていた.べからず集というのがついていて,これによって,どのようなことに気を遣ってい書いていけば良いかがわかった.査読ありの前提で書かれてあるので,厳しめなことが書いてあるが,姿勢を正された感じもした.

 ここまで作成してきた文章を一旦Texのファイルに流し込みながら,問題がないかチェックして行った.文章については,まだ洗練されておらず,必要なことがもれなく書いてあるという感じでもないので,今後の改善方針などについて検討品が不足している文章について整理していきたい.

本読みをした ( 80mins + )

 葉隠の感想を書いたりした.話の技法のあたりについては,何回か読み返して,常にキャッシュに留めておくようにしたいものだ.

 アシモフのSFについてもさらに読み進めた.

生活面

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


10/23

 進捗報告

予稿の作成を進めた ( 2 session + 50mins ) 

 12月の研究発表のための予稿の作成を進めていた.検知システムについて書くべきことを大体書くことができた.しかし文章はまだ洗練されていないし,図表についても間に合っていないので,次のセッションでは,この辺りを作り進めていく.

 また,10月末の研究発表のための予稿についても,とりあえず第一案を作ることができた.プログラムに気を取られて完全に忘れていたので,こちらの修正作業についても急ぎ対応していきたい.

研究発表を聞いた ( 1 session )

 クラスメートの研究発表を聞くことができた.今日は全体的に,集中して聞くことができたと思う.プロセスの流れについても,今回は何とか追い続けることができた.

書類作成に対応した ( 10mins ) 

 書類作成の必要があったので対応した.事情が分かる人がいたので,このタスクは割合スムーズに片付けることができた.

家の清掃をした ( 40mins )

 水回りを清掃したり,紙類を整理するなどした.随分と手付かずな部分があったところを片付けられたので,かなりスッキリした.


生活面

朝9時起床.おおよそ5時間半睡眠.覚醒度はやや低めだった.

昼はネギ塩丼と,コーヒーを摂取した.軽めで食べれた.

10/21

体調崩したので,1日寝てた.進捗はなし

10/20

 進捗報告

研究発表スライド作成 ( 1 session + 5 mins )

 今日使う分のスライドを大まかに作り切ることができた.検知システムの部分の図表化を進めて,検知の動作がなんとかフォローできるようにした.まとめのスライドなどに関しては,あとで再検討することにする.ひとまずは何周か回してみて,構成に問題があるところを探していこうと思う.

 実験のところはさすがに見通しが悪いところがあるので,そこだけは直した.できれば,CPEルータとかの話も載せたいけど,それは余裕があればという感じ.

発表練習をした ( 1 session + 30 mins )

 スライドを何回か回して,話しにくいところを直したりした.前回使ったスライドに関しては2回くらいやったら,前回どういう感じで話していたのかを思い出したので,スムーズに喋れるようになった.新しく作成したところに関しては,本番までに何回か練習して,形にしよう.実験のところについては,実験がうまく行ったら内容が追加される可能性あり.

検知機構のテストを作成した ( 85 mins + )

 検知機構で有効になってはいけないルールが有効になっているようであり,これがなぜなのか調べていていた.調べを進めてみると,ルールの評価結果を反転するための項目が,向こうのはずのルールにおいても有効になっているようである.これがなぜなのかについては,さらなる調査を要する.

操作可能な自機オブジェクトを追加した ( 20mins + 


葉隠を読んだ ( 40 mins ) 

 葉隠を読み切った.理想論ではあるのだが,嫌味なところが全くなくて,すんなりと入ってくる.仕事の仕方とか,物の極め方とか,そのあたりの姿勢は参考にしたいと思う.

生活面

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


10/19

 進捗報告

研究紹介のスライドの作成を進めた ( 1session + 20mins )

 スライド作成を進めて,実験の部分のスライドの図表を主に作成していた.攻撃時と通常時とでそれぞれ必要だから,先に通常時を示して,同じ絵の上で攻撃時の実験方法についても示す.次のセッションでは,システム設計のところの図表化を進めていきたい.参考論文に関しては本番までに一度読み直しておきたいところだ.

 さらに作業を進めて,システム設計のところの図評価を進めている.Proxyに関しては,ある程度想像している通りの仕上がりになったので,次はRuleEngineとConverterの部分の説明を図表に直している.Converterに関しては,前回の内容を使いまわせば良いとは思うが,変換後ルールのフォーマットについても具体例を示しておきたいところ.最初の導入部分は実装部分の話の比重を増やすために減らしても良いかもしれない.

検知機構の動作を確認した ( 1 session + 20mins )

 検知機構の開発をしているVPSの,WebUIに,自宅のネットワークからもアクセスするように設定することができた.これで,基本はVPS上で開発するスタンスに移行できる.

 その上で,テストを書き進めることができた.先日,ルールの適用をルールの種別ごとに関数を分けて,またマッチングに関してはそれ専用のファイルを作成した.このため,テストもそれに合わせて分離して書き直す必要があり,その作業を進めている.今半分くらいなので,次のセッションで,全て移行して,テストが再び動くようにしたい.

 さらに,テストを書き進めて,オペレータのマッチングに関してのテストは全て差し替えることができたので,今は,テストファイルにそれを書き付けているところ.

予稿の作成を進めた ( 

葉隠を読み進めた ( 1session + 30mins )

 昨日に引き続き4章を読み進めていた.さらに5章も読んだ.5章の内容は,物の極め方についてで,最近帰り道に考えるようなことに,似たことが書いてあって,非常に共感した.


生活面

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

夕方に遠い方のコンビニに散歩ついでに買い物に行って,40分ほど歩いたので,これによって十分な歩行量を稼ぐことができた.


10/18

進捗報告

テスト用マップを作成した ( 1session + 30mins )

 マップチップの作り方をおさらいしておこうと思って,パレットを作るところからやってみている.ただし,スプライトの切り方とか,オブジェクトの生成の位置とか,色々と思い通りにならない.とりあえずSprite editorでの区切り方を変えることで,綺麗にスプライトを切り直したり,ディレクトリを切り分けて,混雑を防いだりということはできているので,引き続き作業を進めていきたい.

 さらに作業を進めて,アクションのテストをするための草むらのフィールドを作成することができた.パケットが変色してしまう問題については,素直に素材をインポートしなおすのが確実で,また,元ファイルのサイズをきちんと切り分ける型枠のサイズに合わせて切らないと余計な余白が入るということであった.そして,テストシーン作成のためのブランチの開発を終えたので,mainにマージした.これを繰り返して開発を進めていく.

ブランチについてまとめた ( 2sessions + 25mins )

 今週の進捗資料を作成するにあたって,ブランチ戦略の内容が非常に重要であるので,情報をまとめていた.ブランチ戦略にどのようなものがあるのかというのを紹介したのちに,自分たちの採用戦略について説明し,気をつけるべき点などについても紹介している.できれば,それをどのように実施していくのかということについて,デモができれば良いが,時間が許せばやるという感じ.

 資料を作成に,今週の文の説明をした.unity cloudの説明をして,一般のバージョン管理の説明や,ブランチ戦略ごとのメリットデメリットを説明し,task branchesの戦略を詳細に示した.最後に,実際にそれをやった例を示したりしつつ,具体的な説明をした.

葉隠を読み進めた ( 30mins + )

 3章を読み終えて4章を読んでいる.今日のところは諫言の手法というところで,表立って,物申すというようなことは,双方にとって理がないという話.仲間内で何かを言う時も,密かに進言して,対外的にはその人の評判に傷がつかな異様に取り計らうのが良いと言うことで,確かにそれはそうかもしれない.


家の清掃をした ( 50 mins )

 家の清掃活動がしばらく停滞していたので,かなり頑張って清掃した.床を綺麗には湧いて埃を整理したり,ゴミをまとめたりした.使っていない椅子を片付けたり,本を整理したりした.読んでいない印刷物については廃棄した.冷蔵庫の中身も整理して,これによってだいぶ生活環境がスッキリした気がする.トイレの床清掃は埃が堆積しすぎて,大変だった.

生活面

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


10/17

 進捗報告

研究発表のスライドの作成を進めた ( 1session + 50mins ) 

 研究発表のスライドの,それぞれの内容を書き込んでいっている.背景の部分はだいたい使いまわせばよいということがわかってきた.全体の比重としては,実装の部分が大きくなりそう.次のセッションでは,まず,実装の部分のスライドを文字だけで作っていきたい.

 実装の部分のスライドを作っている.プロキシに関しては,これまでと同じでよいという判断で,ルールエンジンの部分の説明を作り替えようと思う.ルールエンジンの内実が前期の段階ではあまり決まっていなかったが,今は,構成も決まっているので,それを反映させる.

 さらに,内容を書き込んでいって,とりあえず,それぞれのスライドで何を話すかは確定した.通しで一回喋ってみるとちょうど20分くらいだから,あとは,細かいところを詰めたり,スライドを図解でわかりやすく作ったり,流れを整理したりというところになりそう.これは週末に頑張って対応していきたい.

実験環境の整備を進めた ( 1 session ) 

  VPS環境の整備をして,クラスメートが同じサーバで作業できるようにするなどした.これによって,wslを十分に動かせない場合でも,快適なLinux環境を利用できる. WindowsのWSLの設定はなかなか難儀なのか,クラスメートの環境でWSLを入れようとしてひたすらエラーに悩まされた.

 この問題は解決されたらしい.どうやらWindowsのhyper-vが有効になっていなかったことが原因だったらしい.

homelabの情報を集めた ( 1 session +  ) 

 コンテナに興味があるので,おもしろそうなコンテナを色々と探したりしていた.ドキュメントの管理ツールや,PDFの閲覧ツールや,メディア管理ツール,家計管理ツールなどが面白そうだと思った.

 また,コンテナを立てまくる専用のコンピュータを自宅に用意しようと思って,ミニPCを色々とまた調査していた.みた感じ,中古市場だとeletedeskがかなり狙い目な気がする.thinkcenterやoptiplex,prodeskも出回っているいるが,eletedeskのコスパはそれらを上回っていると思う.

UVCSについて勉強した ( 75 mins + )

 UVCSについての文献を読んだ.このセッションでONE-TASK-ONE_BRANCHを読み終えて,UVCS(というよりはPlastic SCM)でのブランチ戦略について学ぶことができた.UVCSではGItとは違って,ブランチがマージされた時に,Chengesetsが直列化されないということらしい.それでタスクごとにブラントを切って行って,それを消さずに残しながら運用していく.そうするとプロジェクトによっては,かなりのブランチ量になるが,Plastic SCMはそうした運用をそもそも想定していて,きちんとハンドリングできるようになっているとのこと.タスクブランチの使い方も勉強できたので,今後のプロジェクトの運用に活かしていきたい. 

研究室の掃除をした ( 30mins ) 

 クラスメートと研究室の掃除をした.ほうきで床を中心に清掃を進めて,これによって,ほこりの大部分を取り払うことができた.今後も定期的に掃除を進めていきたい.

本読みをした ( 60mins + )

 今日も葉隠を読みすすめた.今日は仕事の姿勢について.いかにも侍らしいというか,主人への忠義をいかにして保つか,というようなことが書いてある.

生活面

朝9時起床.おおよそ6時間睡眠.最低限活動できるの覚醒度を得た.

昼は,チャーハンと,サラダを食べた.あっさり目で,かつバランスもいい感じで食べれた.

昼過ぎにクラスメートと散歩をして,十分な歩行量を稼ぐことができた.


10/16

 進捗報告

テストの修正をした ( 1 session )

 検知システムの一部の関数のインタフェースを変更したので,テストをそれに合わせて修正した.これによってユニットテストが再び利用できるようになった.あとは,どうにもOperatorの挙動がおかしい気がしているので,それも含めて,集中的に確認していきたい.

検査機構の動作確認を進めた ( 2 sessions + 10mins )

 検知システムのOperatorの挙動を確認したところ,どうにも意図しないマッチングが起こっているような気がする.しかし,このマッチング動作は,検知ループの中に入り組んで実装されているので,取り出してテストケースを書くということがとてもやりにくい.そこで,まずは検知ループを切り分けて,バラバラにするところからスタート.今は,検知対象文字列を引っ張り出してくる処理と,マッチングをする処理を切り分ける作業をしていて,これは次のセッションまでで実装できそうだ. 

 さらにコードの改変を続けて,検査対象文字列を引っ張る処理と,マッチングの処理は完全に切り分けることに成功した.また,ルールのタイプごとの関数も作成して,ルールごとにこれを呼ぶことにしたので,今後はルールごとのテストも可能になると思う.また,ログ周りの処理が綺麗に書かれていないので,次のセッションでは,その作業をする.

  さらに作業を進めて,ログ出力の関数も綺麗に書き直した.ここからテストを進めていきたいが,残りは明日やることにする.

実験環境の整備を進めた ( 30 mins + )

 実験環境のRaspberry Piの設定を進めることができた.これまではRaspberry Pi OSを使ってきたのだが,GUIのプロセスがリソース消費として映り込んできてしまうので,ノイズになる.ということで,Liteの方への移行をしようとして,SDカードにPI Imagerで焼いている.次のセッションで,これの設定をやって,テスト用ツールのビルドをするための準備をしていきたい.

研究発表を聞くなどした ( 30mins + )

 クラスメートの研究発表を聞いたりなどした.HTTPについてもバージョン2以降については,あまり詳しくないので,流行に遅れてしまっている.real world httpとか,その辺りのしっかりとした書籍を読んで,キャッチアップを図りたいところではある.

生活面

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

夕方にドリアとキレートレモン,コーヒーを飲食した.これを買いに行く過程でキャンパス内を歩いたので,これによって,十分な運動量を稼ぐこともできた.


10/15

進捗報告 

メモリリークの削減作業をすすめた ( 1 session + 35 mins )

 検知機構のメモリリークをさらに減らすことができ,30MBくらいあったリークがいまや20KB程度のみに抑えられている.bufferを僕が毎回新たに確保していたことが原因だったのだが,そして,それはlibmicrohttpd側にレスポン時にメモリの所有権が移ってしまうことへの対策でそれやっていたわけだが,どうやらキューに入れる時にコピーを作成することを強要するフラグがあるらしく.それを使って書き直して,バッファについても同じメモリ領域を使い回すように変更したことで,これが実現された.

 さらに修正を続けて,最終的にメモリリークを完全に撲滅することができた.これで,確保した目盛はすべて主機能によってきちんと使われて,使い終わった後には解放されているということになる.非常に良いことだ.

研究発表スライドの構成を考えた ( 40mins + )

 昨日作成した研究発表スライドに大枠をもとに,内容を考えたりした.前回は背景の紹介から,目的につなげる流れに強引さがあったが,今回は関連研究をもとに研究背景と開発要件を抽出するような流れで考えていて,これによって,前回よりは無理のない構成にできそうだと感じる.次のセッションで,それぞれのスライドの内容をクリアにしていく.

文章作成本を読み進めた ( 20 mins + ) 

 わかりやすい文章の作文技術を読み始めた.まずは悪い文章と良い文章の定義から始まったようだが,著者の考える謎の認知モデルの説明が続いていて,なかなか文章の話が始まらない.

フィルタ交換の連絡を入れた 

 フィルタ交換の連絡を入れることができた.やらないとと思いつつずっと放置していたので,対応できたよかった.

生活面

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

朝に洗濯物を回して,手前3日間分の洗濯物を処理することができた.

昼は,チャーハンと,海藻サラダを食べた.割合バランスよく食べれたと思う.

夕方にクラスメートとキャンパス内を1周した.これによって十分な歩行量を稼ぐことができた.


10/14

 進捗報告

予稿の作成を進めた ( 3 sessions +  )

 12月の発表で必要となる予稿の作成を進めていた.研究背景をなんとかそれらしく書いて,関連技術について書き進めている.UTMに関しては,どうやら僕の認識が違っている部分もあったので,内容を練り直し.CPEについてはリモート管理の主要な用途の一つかもしれない.ということで次のセッションも引き続き予稿の作成を進める.とりあえず,考えていることを書いてしまって,その考証を後にやるという手順でやるべきだろうと思う.

 さらに予稿の作成を進めて,関連技術の文章をあらかた書くことができた,あとは関連研究の紹介を少し書き足したいけれども,残りは学校でやろう.今日のうちに4章まで書ければ嬉しい限り.

 さらに予稿をの作成を進めて,研究も目的を整理して書くことができた.今は4章のシステム構成について書いているところである.それぞれの項目で何を書いているかをきちんと整理して,何を書くのかわかった状態で一気に書くようにしたい.

評価実験の計画をした ( 20 mins + )

 比較評価のための計画について考えた.昨日とはそこまで変わらない構成であった.評価方法については,以前考えていたものと比較すると割合シンプルなものになるはずだ.

UVCSの勉強をした (  1 sessions + 40mins ) 

 ディレクトリツリーの標準的な作り方や,UVCSでのブランチの切り方の戦略などを知るために,Unityのe-bookを読んでいた.めくって眺めてみると結構,様々な話題について言及していて,フォルダの名前の付け方とか,commitの粒度とかについても言及してあった.極力細かく頻繁にコミットしましょうとか,メッセージは解像度の高いものをつけようとか,割と基本的なことから書いてある.ブランチの戦略には愚直にmainにcheckinしていく方法のほか,git flowやtask branchesというのがあるらしい.task branchesはplastic scmのころからunity techのほうで推奨している方法のようで,plastic scmの文献をみると,これについてかなり詳しく書いてあった.これも読んでみる.

スライドを作成した ( 80 mins + )

 研究発表のためのスライド作成を進めた.今日は主に構成を考えていた.それで,その構成をスライドの目次に落として,全体の流れを考えた.スライドの中身自体は前期分をかなり流用できると思うので,時間はかからないだろう.

生活面

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

朝はフルグラを食した.

夜は,グラタンを食した.結構あっさりめで食べれた.

10/13

 進捗報告

メモリリークの削減作業を進めた ( 2 sessions )

 メモリリークの削減作業を進めていって,かなりの個数のリークを倒すことができた.これで全体として30MBくらいリークしていたのが,3MBくらいのリークに減った.これなら組み込みシステムでも許容できる範囲かと思う.今は,レスポンスボディのところのリークを直していて,何度もメモリを上から取り直しているようなので,reallocで確保し直すように変えている.ただし,なぜかここを変えるとコードが落ちるので,原因を調査している.

 status_lineも同じような方式で作っていたので,同様のリークが発生していると思われる.リクエストバッファではデータサイズとメモリサイズは別々で管理する方針でコードを書いていたがレスポンスではそうなっていなかったようである.なので,この辺りを差し替えて修正を進めている.しかし,use-after-freeでコードが落とされるので,意図しないfreeがどこかにあるな.bufferのfreeはコードの終了時にしてはいけないはずなので.

 さらに,コードのデバッグを進めて,reallocに差し替えてstatus_lineのところも差し替えた.相変わらずbodyのuse-after-freeが治っていない.次のセッションで確実にこれを直したい.

実験の計画を進めた ( 70mins + ) 

 実験の計画書の作成を進めることができた.取得するべき値を整理して,それをとるための手順と構成を考えている.今回の要件では,これまでの試験用ネットワークよりも単純な構成で実験が実施できそう.次のセッションでも構成の作図を進めていきたい.

 比較評価の方は作図を済ませて,実験する値などについて文章にした.あとは具体的な実験手順について書いていく必要がある.

進捗報告資料を作成した ( 50mins + )

 進捗報告資料の大枠を作成することができた.先週はいろいろ進めることができたが,いい感じの区切り目を迎えていないタスクがそこそこにあるので,明日の昼までに,それらのタスクを進めていきたい.

アンケート回答など雑事をこなした ( 45mins ) 

 回答しないといけない放置していたアンケートに対応することができた.実際に回答し始めたらそこまで時間はかからなかったので,毎日少しずつ雑事を片す時間を作って,たまらないようにしておくことが重要だ.メモリの有効活用のために.

 クラスメートの研究発表練習を聞くなどした.色々とアプリケーションの説明やネットワーク構成の話を面白く聞くことができた.

本読みをした ( 1 session + ) 

 本読みをした.葉隠がずっと積んであったので,読み始めたが,結構面白い.背景からして,やや理想論を語っているところがあるのはそうなのだが,背筋を正される.

生活面

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

朝はゆで卵を2つほど食べれた.久しぶりにゆで卵を食べたが,塩でシンプルな味付けで食べるのが良い.

洗濯物の第二便を回収することができた.結局台風は九州に上陸せず,天候も良好だったので,非常に順調に洗濯物をさばくことができた.

夕方に40分ほどキャンパスを歩いて,これによって十分な運動量を稼ぐことができた.

夜は,海老カツと米,フルグラでバランスよく食べれた.



10/12

 進捗報告

ロギングバッファの実装を進めた ( 1session )

 昨日ロギング関数自体のテストを実施できたので,これを実際の動作時に動くかどうかを確認しようとした.しかし,途中途中でLogBuffer用のメモリを取ろうとするところでメモリエラーが発生しているらしい.ここをデバッグしないと先に進まないので,次のセッションでもこの作業を継続する.

 メモリエラーの部分を解決できた.メモリ解放用の関数を作成したにも関わらず,これを適切に呼び出していなかったことが原因であった.この問題を解決したところ,アクションがトリガーされたルールに関しては,ファイルにその情報が書き出されていることを確認できた.なので,バッファの実装は以上で終了とする.

Unityのコードを移行した ( 1session )

 Unityのリポジトリを昨日作り直したので,これまでに書いたコードを移行したりなどをしていた.DiscordのWebHookについても設定を見直して,過剰な通知を抑制用としたりしたが,これについてはまだ調整中.次のセッションでも引き続きこの作業を続けていく.

 ソースコードの移行作業を完了して,とりあえず続きを作る準備ができたかと思う.それからUnity cloudのdevopsで自動ビルドが掛かるように設定した.これによりリポジトリに対して変更があった時に自動でビルドがかかって,ターゲット環境で問題が起こらないかをチェックできるということらしい.フリーで使えるのはWindowsマシンで200分間らしいので,使用状況をチェックしながら使っていきたい.

検知機構のメモリリークを改善した ( 65 mins + )

 検知機構のメモリリークを直している.全体で30MBくらいリークしているので,これは容認できない.細々したリークで,直しやすいものも結構あるので,画面出力の下から順にどんどん倒していく.同種の作業を続ける感じなので,そこまで頭使うという感じでなくて,適度な難易度で続けるクエスト.次のセッションも同じ作業を続ける.

鉛筆画の練習をした ( 1 session )

 デッサンの練習をした.今日は紙パックと卵を書く練習をすることができた.紙パックについては,この前1リットルの大きめのパックを使ったら,形のあたりを取るのに苦労しすぎたので,ファミマで500mlの牛乳を買ってきて,ネタにした.500mlならコンパクトなので割合形がとりやすかった.ただし,かなり濃ゆい色が入っていて,影との差別化をするのが難しかった.卵に関しては,正中線があんまり綺麗に取れなかったのでうまく描けてない.リベンジが必要.

生活面

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

昼は米と,デミグラスハンバーグとフルグラでバランスよく食べれた.

夕方に電気代を支払うためにコンビニに出かけた.大体45分くらいあるいて,十分な運動量を稼ぐことができた.電気代の支払いを終えられた点もよかった.

夜は乾麺があったので,それを食べた.たまには手間がかからないものも良い.

10/11

 進捗報告

Unity Cloudの設定を見直した ( 2 sessions + )

 相変わらずこの問題と格闘している.この前UVCSのバージョンを更新してから,これによって,Incoming changesでずっとエラーを出力していた件は解決されたらしい.しかし,ブランチをmergeしようとすると,Cloud repositories ~ is not in a workspaceという出力が出る.しかし,ブランチの切り替え自体はできているはずだし,変更をダウンロードしているようだから,同期されていないというのは流石におかしいのではないか?あと,ブランチをmainに戻そうとするとクラッシュする問題も出るようになった.本当に最悪だ.

 この問題とさらに格闘したが,結局直し方が判らず.これ以上は骨折り損な気もするので,リポジトリを作り直して,設定をきちんと確認しながら,新たに運用を始めようと思う.これに際してリポジトリや組織の設定なども設定し直した.これまで,全く設定されておらずメチャクチャな設定のままになっていた.また,WebHookの設定などもやり直したので,これで開発者どうしでお互いの作業をなんとなく把握できるようになるはずだ.

ゲーム開発会議に参加した ( 2 session  )

 ゲーム開発会議に参加して,今週の分の進捗について説明することができた.Unity Cloudのリポジトリ問題は結局よく判らなかったので,今後は設定に気をつけながらやっていきたい.Organization上での設定の話もした.

 リポジトリの設定ができたので,実際にファイルをCheck inして,WebHookが動作することを確認できた.

ロギングバッファの実装を進めた ( 30 mins + )

 昨日のテストコードを見ながら,メモリエラーの部分を修正して,とりあえず,期待した通りの形式でログ出力が得られることが確認できた.タグが複数ある場合には,タグが上書きされるが,検知したルール自体のIDがわかるから,デバッグ上は問題ないかと思う.あとは,このプログラムを実際に動かして,ログらしいログが得られればいい.


生活面

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

洗濯物をこなした.台風が近づいているし,正直に言ってあまり適切なタイミングとは言えないけども,これ以上洗濯物バッファを圧迫することはできないので,強行した.

コンビニに用があったので,そのついでに買ったおにぎりとハンバーガーを食べた.あまり軽くはなかったけど,食べれた.味付けは良い感じ.

夜は肉じゃが,米,フルグラでバランスよく食べれた.

10/9

 進捗報告

Homelabの情報を集めた ( 1session ) 

 Redditのr/homerabを眺めて情報を集めるなどした.次の拡張の指針をどうしようかという話だが,kubernetesに関心が出てきたので,Mini PCの上でクラスタを立てて,それを管理していくという方針を考えると面白いような気がする.またクラウドサービスが全く有効に使えていないので,そのあたりともうまく連携させることで,もっと面白いhomelabの展開が見れるのではないかと思っている.

外出の要件を片した ( 1 session ) 

 市内に出かける用事があったので,電車に乗って出かけてきた.今回は割合スムーズに用件をこなして戻ってくることができたので良かった.

ロギング機能の実装を進めた ( 1 session + 20mins )

 ロギング機能のテストをするため,テスト用関数を作成することができた.ただ,実行してみるとまだメモリエラーが残っているようである.次のセッションで,この問題を解決する.

鉛筆画の練習をした ( 2 sessions ) 

 鉛筆画の練習をすることができた.とりあえずリンゴと,カップを描いてみた.作業の流れはなんとなく掴めた気がするが,まだ,手順がおぼつかなくて前後することが結構ある.あと,模様を入れたり,グラデーションを入れるタイミングややり方が難しい.あと,鉛筆画の場合は,影のグラデーションと,色作りがどちらも黒のトーンを調整するという作業なので,これらをバランスよくやるということが結構難しい.当たりを取るのも難しくて,リンゴとかはそれ自体が含む図形が少ないので割合簡単だが,紙パックを描こうとしたらもうすでにむずかしかった.

生活面

朝10時起床.おおよそ8時間睡眠.高い覚醒度を得た.

昼はおにぎりとサンドイッチであっさりめで食べれた.昼過ぎに散歩に行き,これによって十分な運動量を稼ぐことができた.

10/9

 進捗報告

ロギングバッファの実装を進めた ( 2 session + 70mins )

 ログの内容をファイルに書き込むための機能を作成することができた.それぞれのメンバの内容をシリアライズして,それをファイルにログバッファごとに書き込んでいく.作成自体はできたが,まだテストができていないので,次のセッションではこの機能が適切に動いているかをテストしていく.テストファイル自体は外部からファイルパスを与えて実行できるようになっているので,テスト用のファイルを作ってやればよいかと思う.

 ログの内容をファイルに書きこむための関数を書くことができた.これがうまくいけば,それぞれのログバッファに含まれている情報を順番にファイルに書き出すことができるようになると思う.今はこの関数をテストするための関数を書いていて,サンプル用の値を書き込むためのテスト関数はかけたので,その値がファイルにかけているかを確認するデバッグ用関数を書いていきたい.次のセッションにて対応する.

アンケートなど雑事に対応 ( 30mins ) 

 健康診断の日程調整のアンケートに回答するなどした.

生活面

朝8時半起床.おおよそ12時間睡眠.高い覚醒度を得た.

昼は中華丼とサラダを食べた.あっさり食べれたし,食物繊維も摂取できた.

夕方にキャンパスを1周して,30分ほど歩き,これによって十分な運動量を稼ぐことができた.

10/8

 進捗報告

研究室紹介に参加した ( 60 mins ) 

 完全に忘れていたのだが,研究室紹介が午前中に入っていて,ちょうど研究室に到着したタイミングでスタートしたので,しれっと参加することができた.今日も1名の来訪で,感触はどうだかよくわからないが,研究室の紹介をすることができた.

Logging機能の実装を進めた ( 2 session + 80mins ) 

 ロギング機能の実装を進めて,単一バッファに対して値をセットする処理についてはテストも通して,だいたいは正しく動いていることが確認できた.ただし,どうやら仕様を見誤っていて,tagについては複数回登場しうるということへの対応が抜けていた.なので,tagについてはtagの個数を管理するメンバが必要で,やはりスロットを管理しないといけない.そうでないと,tagの上書きが起こって情報が失われてしまう.それから,ロギング機能全体のテストはまだできていないので,次のセッションで取り組んでいく.

 単一バッファに対して立て続けに値をセットする処理を書いたので,これがうまく動くかどうかテストを書いて確かめている.しかし,テストを走らせてみたところ,どうにもメモリエラーが発生している.次のセッションではこの部分を直して,次はログの文章そのものをファイルに対して書き出す処理を実装したい.

 前述のメモリエラーについては解消できた.構造体に追加されたメンバについての初期化処理が抜けていて,データ量を保持するメンバがめちゃくちゃな初期値になっていたので,これによってあるはずのないメモリ領域があると思い込んでデータ格納をやっていたことが原因であった.次はこのログから文字列を連結してファイルに出力していきたい.

本読みをした ( 1 session ) 

 手元の本を読み進めた.ムーミンパパの思い出がようやくラストに迎えた.

生活面

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

昼は中華丼を食べた.シンプルな味付けで,非常に軽く食べれた.食物繊維も取ろうと思って,トロピカーナを飲んだりした.

昼過ぎに35分ほどキャンパスを歩き回った.これによって十分な運動量を稼げた.

夜は素麺を食べた.あっさり食べれた.

10/6

 進捗報告

論文のイントロを作成した ( 2 session + )

 論文のイントロを書くための素材集めをすることができた.イントロはこの分野の現状がわかるように書かないといけないので,素材集めの部分では一番労力がかかる部分かもしれない.以前参照していた資料の現況を確認したり,市販製品のマニュアルを読んだりして,多少なり手元の素材を強化することができた.次のセッションでは素材集めを継続して,構成を作るところまで進めたい.

 素材集めにある程度見切りをつけて,構成を練ることができた.実際に構成をもとに文章を書き始めて,今半分くらい文章を書いているところである.次のセッションでイントロの文章を書ききって,次は,関連技術の素材を見直すなどしたい.

研究室紹介に参加した ( 60 mins ) 

 研究室の紹介に参加することができた.今日は1人に対して,研究室メンバーで集中砲火する形式になって,若干やりにくそうだったが,研究室でやっていることについては十分に伝わったかと思う.

logging機能の実装を進めた ( 1 session + )

 ロギング機能を作るために,ログ用の構造体を作成して,そこにデータをセットするための関数を作成することができた.今度は,このセット用の関数を使いながら,アクションの実行中にデータをセットしていくことができるようにしないといけない.今はこの作業の途中なので,次のセッションでも,引き続きアクション実施中にログをとれるようにする.

生活面

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

昼はピリ辛の鶏肉がのった丼もの.コンセプトは忘れたけども,軽めで食べれた.

昼過ぎにキャンパス内を一周して,これによって十分な運動量を稼ぐことができた.

夜は豚しゃぶ,米であっさり食べれた.

10/4

 進捗報告

本読みをした ( 1 session + ) 

 講談社ブルーバックスの疲労とは何かをよみすすめて,もう少しで読み終わるというところ.この本は非常に面白い.疲労の話とかは全然追ってきてなかっただが,この数年ですごく進展しているようである.

UVCSの調査をした ( 2 sessions + )

 UnityのVersion Control Systemの設定がうまくいっていないので,その原因を調査するなどした.Web上でMergeできないブランチの情報を確認すると,当該のブランチでは画面が暗転するという問題が起こっているのだが,これはどのようなことなのか?

 この問題についてさらに調査すると,どうやらUnity ForumのQ&AにUVCSのバージョンが古いとうまくいかないということが書いてあって,マニュアルを見ながらアップデートしてみたがうまくいかなかった,ただ,UVCSのクライアントアプリケーションでチェックインしてみたらクラウド側では反映されているらしい.これはUnity Editor側の設定が悪いのか?


生活面

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

昼はツナサラダと食パンを食べた.あっさりめ.

夜はそうめんを食べた.あっさりめ.

9/29

進捗報告

論文構成を検討した ( 4 sessions )

 論文に記載する内容を一通り書き出して,なんとなくの構成を考えることができた.これをもとに,もう少しかっちりと構成を作って目次としたいと思う.途中,WebUIの利用モチベーションをきちんと述べないといけない部分があるので,次のセッションで詳細に調べたいと思う.

 WebUIの利用モチベーションを調べると,法人の利用では,運用保守会社と利用会社で分けるみたいな利用があるらしい.個人の利用でも実家のルータを,遠隔地から管理してトラブルシュートをするというような使い方があるらしい.さらには,ルータに接続したUSBドライブを遠隔地から利用するというようなサービスもあり,これが脆弱性を発生させている事例があるらしい.

 利用のモチベーションを調べて,それを埋めて,大まかな構成を検討することができた.あとはこれを提出して意見をうかがうなどしたいところ.

 執筆スケジュールなどについても書いて,指導教員に提出した.後は返答を待つ.

セキュリティ機構の修正方針を検討した ( 30mins + )

 セキュリティ機構の開発に先日一区切りがついてきたところだが,検知遮断をきちんとやっていくうえでは,まだ問題がある.これをきちんとまともに使える検知機構にしていくためには,修正が必要なので,それをどのようにやっていくかを検討した.これもスケジュールを考えてやっていきたい.

VPS環境を整備した ( 30mins + )

国勢調査に回答した

 国勢調査の案内側舞ってきたので,回答した.そこまで時間はかからなかった.サクサクとマウスで選んで回答するだけ.

生活面

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

朝は軽めにホットサンドを食べた.朝食の欠食を極力なくしていきたい.

昼は丼ものと飲み物で,軽めに食べた.ヨーグルトも食べれたのはいいことだ.

夜は,朝のホットサンドの残りと,うどんを食べた.あんまり元気じゃないので,軽め.




9/27

 進捗報告

Variableの機能を拡張した ( 1 session + 50mins )

 昨日作成したcookieの値の取得の部分のコードを書いて,それぞれのテストを書いて,想定通りに動いていることを確認できた.これにて,cookieについては完了なので,次にURIのRAWの方の値を取得できるようにしているところ.pathとWEBUIからドメインを再構築してその値を持っておくことで,Variable側で取得できるようになるはずだ.コード自体はかけたので,次のセッションでテストする.

 URI_RAWのテストを書いて,期待通りに値がセットできていることが確認できた.また,VariableのPicker側の方のコードも書いて,そのテストも通過できるようになったので,これにてURIのコードは完成.

 Variableの機能拡張がかなり長らくかかったが以上で,この作業は完了とする.main branchにマージして,次の計画を練る.

買い物に出かけた ( 2 sessions ) 

 夏休み期間中に続けていたセキュリティ機構の開発が一旦,一区切りがついたので,出かけた.明日大分に戻るので,この夏何度も出かけた店にまた訪れたりした.今年の夏は主に日向方面の店に足繁く通った.本屋とか,スーパーとか.非常に長い夏休みだった.そこまで穏やかではなかったが,昨年よりは落ちついて創作活動に取り組めた気がする.次はタスクを抱えていない状態で戻ってきたい.

本読みをした ( 1 session + )

生活面

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

昼は,米,シャケ,とんかつ,ひきわり,サラダでバランスよく食べれた.

夜はすき焼きをした.結構ボリュームがあったが食べれた.

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

9/26

 進捗報告

Variableの拡張を進めた ( 3 sessions )

 ファイル名や相対ファイルパスの格納までがうまくいったので,それに対するテストを作成し,テストが無事にパスすることを確認した.Variableのpickerの方でもこれらの変数をバッファから取得できるようにして,これらについてもテストを作成して,期待通りに動作することを確認した.今は,クエリストリングのパースをするためのプログラムを書いている.基本的には&でクエリを切り分けて,=によって,keyとvalueを取ってきて,ARGSに投げ込んだらいいと思っている.次のセッションでもこの作業を続けていく.

 クエリをパースするプログラムを書いて,テストケースを走らせて,期待通りの処理結果が得られることを確認した.ARGS_GETについてはVariable側ではすでに処理が出来上がっていたらしく,新たに作成する必要のある部分はなかった.クエリの次は,cookieの値をパースするプログラムが必要なので,それを書いている.容量はクエリストリングと似たようなものなので,似たようなコードを書いて,テストしていきたい.

 Cookieについてパースする関数を書き足して,それに対するテストも作成し,期待通りにCookieの文字列をパースして,バッファに値がセットされていることを確認できた.愚直に値を持つとバッファがごちゃついてしまうので,cookie用に新たに構造体を拡張する必要があった.さらに,VariableのPicker側でも,これらを拾い上げるコードも書いた.今はそのコードをテストするためのテストコードを作成しているところ.次のセッションでは,このテストコードを完成させて,Cookieの値が入らなくなった時にメモリを解放するための機能を書き足していきたい.

散髪に行った ( 1 session ) 

 だいぶ髪が伸びていたので,散髪に行った.散髪屋のおばさんの凄まじいマシンガントークを聞いて,髪がさっぱりした上に,おばさんの家庭事情にも非常に詳しくなった.とにもかくにもメガネとか,ヘッドセットをする時に邪魔だった横髪が減って,非常に快適である.


生活面

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

昼は米,味噌汁,シャケ,サラダでバランスよく食べれた.

散髪の復路を歩いて帰ったので,これによって十分な歩行量を稼ぐことができた.

9/25

 進捗報告

物件情報を調査した ( 1 session )

 来年度から居住する地域をなんとなく決めようとして,物件情報を色々とみることができた.価格のレンジは結構広めで,下は2万円弱からある.リモートワークがそこそこに発生するので,仕事部屋と生活部屋を分けようと思っているが,どのようなスタイルにするのかについては,あまり明らかで無い.

Variableの機能を拡張した ( 3 sessions )

 昨日書いていたPostIteratorの処理をテストすることができた.どうやらライブラリの実装の問題でJSONでデータが渡っている場合には当該コールバッグが動かないみたいである.別のデータ形式で送信してみるときちんと期待通りの動作をしていることが確認できた.編集内容をコミットして,次はクエリストリングへの対応を始めた.クエリストリング自体を編集する必要はないので,取り出してきたらパースして,値をARGSにセットしていくだけ.クッキーに関しても同じような処理になりそうではある.

 クライアント側のプロキシのコードを整理して,クエリストリングを取る処理やファイルパスを取る処理をする関数をクライアント側に移してきた.これによってvariableのpicker側でガチャガチャと文字列を触ってクラッシュさせるというリスクを低減できた.次のセッションでも引き続きクエリ周りを扱うコードを書いて,できればテストまでいきたい.

 クエリストリングを抜き出してくるコードについてのテストケースを作成して,コードが適切に動いていることを確認できた.また,クエリストリングを除いてファイル名だけを残す関数がまともに動いていないことが判明したので,書き直して,これについてもテストを書いて,きちんと動いていることを確認できた.今は,ファイルパスから,ファイル名だけを抜き出してくる処理を記述しているとこ露である.次のセッションでも同様の作業を続けて,テストを実施するところまでやりたい.

生活面

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

昼はホットサンド,ミネストローネ,鶏皮,サラダでバランスよく食べれた.

夜はシャケ,米,納豆,以下の焼き物,サラダでバランスよく食べれた.

9/24

 進捗報告

Variableのコードを拡張した ( 4 sessions  )

 昨日からVariableのコードを拡張していて,今日はVariableの中で一番目立つARGSを実装している.ARGSはARGS関連のVariable同士で微妙に取れるところが違うという,少し複雑なVariableなので専用の構造体を抜きに作ると複雑になってしまうと考える.そこで新しく構造体を作り,初期化関数や,値のセットをする関数,パースをする関数などを作る必要がある.今はその辺りの道具を揃えているという段階.次のセッションでも引き続き,ARGS関連の関数を設計していく.

 さらにコードを書き進めて,ARGS関連のユーティリティを書いて,Variable picker側でこれを拾い上げるための処理を書くことができた.今は,これに対するテスト用の関数を書いていて,POSTについては問題なく動いていることが確認できた.次はGETについてて書いて,その後にARGS全体について書く.次のセッションでもテストを引き続き書いていく.

 テストコードを書いて,ARGS関連の関数が適切に動作していることが確認できた.次はこのセット用の関数を使って,client proxyが値をセットできるようにコードを書き進めていく.

 クライアントプロキシ側でARGSの値をセットするためのコードを書き足した.これによってひとまずはPOSTデータに関しては,値がセットできているはずである.これをテストするために初めてクライアントプロキシについてテストを書いて準備する予定で,そのためのコードを書いている途中である.次のセッションでは,このテストコードを完成させて動作を確認し,クエリストリングのパースもできるようにする予定である.

 Post Iteratorの動作を確認しようとしたが,どうやら,そもそも該当するコードが実行されていないように見える.調べてみるとどうやらPost Processorの定義の仕方ががあまりよく無いということらしい.これは修正が必要.ちょっと詰まったので,別のことをしようと思って,ルールのオペレータの否定演算に対応することができた.また,複数文を拾ってきた場合の演算にも対応した.これが動くのかどうかテストできていないが,明日のテストでここも含めて確認したい.

内定式準備 ( 1 session )

 内定式の研修で使う事前課題をこなすことができた.時間がかかるものだと思っていたが,やり始めたら割合すんなりと書くことができた.まだ,本番までに時間があるので何回か見直すなどしておくと良いだろう.

生活面

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

昼は,チャーハン,ピーマンの炒め物,ほうれん草の和物,鶏皮とで,ボリュームがあったが食べれた.

夜は,生ハム,米,麻婆どうふ,キャベツの和物であっさり目で食べれた.夕方に鮭も食べたから,それも含めると結構食べてるかも.

9/23

 進捗報告

睡眠の本を読み切った ( 1 session ) 

 睡眠リテラシーを高めるために睡眠の超基本を読み切った.ここ数日で睡眠環境は改善してきていて,夜間の電気を薄暗くしたり,夕方位以降のカフェインを避けたり,寝る時にアイマスクをしたり,していてる.そして,寝れない時に布団に居続けるのもよくないということなので,布団に入って20分くらい寝れなかったら布団から出るようにしている.こうした改善の効果もあって,徐々に入眠はスムーズになってきているような気がしている.今後も,睡眠の改善を続けていく.

メモリエラーの解消をした ( 5mins )

 昨日の夜に発生したメモリエラーの出所の検討がなんとなくついていたので,そこのコードを少し変更したら,システムはクラッシュしなくなった.今回の修正は僅か5分で完了.すばらしい.

取得できるVariableを増やした ( 1 session +  ) 

 これまでは1個のデータだけを返してくる実装をしていたのだが,複数個のデータを一度に返せるようにVariableを拡張できた.これによってRequest headerの名前一覧をまとめて返したり,headerの保持する値をまとめて返したりができるようになった.テストも通るようになって,ヘッダ周りはかなり幅が広がった.今は,file_namesやfile_basenameを取得できるようにコードを書き進めている.このためにはクエリストリングを取り除くためのコードを書かないといけない.次のセッションでも引き続きこの作業を続けていく.

買い物に行った ( 2 sessions )

 昼間に買い出しの用があったので,ついて行ってニトリやトライアル,ミスターマックスなどを見て回ることができた.家具や,電化製品,文房具などをかなり見て回ることができた.来年の新生活もあるので,どのような部屋を目指すのか,レイアウトを考えたりしてみると良いと思う.

UnityのVCSについて勉強した ( 1 session + ) 

 Best practice for organizing a Unity projectを読み進めることができた.最初のうちはUVCSの基本的な用語の整理があり,リポジトリの管理方法などについての説明があった.今は,ファイル構造についての説明を読んでいる途中である.

生活面

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

昼は鮭,米,味噌汁,卵焼きであっさり目で食べれた.

夜はハンバーグ,ピーマンの炒め物,鶏皮,ブロッコリー,米,おから,でかなりボリュームがあったが,バランスよく食べれた.

買い出しに行った先で3時間ほど歩いたので,これによって十分な運動量を稼ぐことができた.


9/22

 進捗報告

Checkerのコードを修正した ( 4 sessions )  

 request bodyに関するコードを修正することができた.どうやらリクエストをx-www-url-encodedの形式に直すコードに問題があり,データが適切にバックエンドに届いていないという問題があった.しばらくコードを書き直して,最終的にバッグエンドと適切にワンラリーができるようになったので,この問題は解決.色々な機能が揃ってきて,あとはvariableをきちんとハンドリングすることが大切になってきたので,次のセッションではvariableのコードをどんどん書き足していく.

 さらにコードを書き進めて,variableのrequest lineとquery stringを取得するためのコードを書いて,テストを通すと頃まで実施できた.今は,クライアントのIPアドレスを取得してバッファにセットするための関数を書いているところで,どうやらlibmicrohttpd側のconnection infoの中にその情報が入っているらしいので,それを抽出して文字列に変えてからバッファに書くようにする.次のセッションでも引き続きこの作業を進めていく.

 IPアドレスの抽出のコードを書き進めて,なんとなく完成系が見えるくらいのところまできた.connectionの情報をstruct sockaddr_inの形で抜き出せるので,ここからIPアドレスを得る.ただし,このままではアドレスが文字列型にならないので,inet_ntopという関数を使って,これを文字列に変換する.次回は,このコードが正しく動いているかテストしたいが,libmicrohttpdの構造体の中にあるものは,テストをセットアップするのが面倒だ.テスト用のConnection構造体みたいなのが作れればいいが,それも含めて次のセッションで考える.

 IPアドレスのコードについてテストをして,きちんと動作していることが確認できた.また,他にも,バージョンやボディについてもvariable_pickerの方できちんと拾って来れることを確認できた.ただ,テストの過程で,何か値をポストすると領域不足でクラッシュすることがあることに気づいた.明日はこの問題に対処するところからスタートする.

自己分析に対応した ( 40 mins )

 性格診断的なやつをやりなさいということだったので,ようやく対応した.SPIみたいな問題をまた解かされるのかと思っていたが,やってみたら性格診断だけだった.この手のアンケートに人間の性格をはかれるのかどうかについては疑問だが,兎にも角にも一つ作業が片付いて良かった.

生活面

11時起床.おおよそ9時間睡眠.高い覚醒度を得た.睡眠スケジュールが多少狂ってしまったが,そろそろ負債を返し切るくらいだと思うので,今日からまた目覚まし時計をかけて,寝るようにしたい.

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

夜は秋刀魚,米,小松菜炒め,味噌汁でバランスよく食べれた.おやつで栗食パンも食べたので,夕方以降は割とたくさん食べたことになる.

9/20

 進捗報告

Checkerの修正作業を進めた ( 1 session + 30mins ) 

 出発前に詰まっていたACの部分をデバッグすることができた.原因はregexのところとやはり同じのような物で,同じような作業をすることで直すことができた.これで,ルールが発火するかどうかの判定については全ルール分実施することができた.あとは,検査対象の文字列の取得のバリエーションを増やしていきたい.あとは,responseのbufferがリークしていて,かなり無駄になっているので,この部分を修正したい.次のセッションではresponse bufferのリークをなんとかしていく.

 レスポンスバッファのSIGSEGVを修正することができた.しかし,今までは,最後の処理がSIGSEGVで落ち続けていたので,メモリリークが報告されていなかったようであり,実は大量のメモリリークがあるということが判明した.なので,全体で換算すると90MB程度がリークしていて,組み込み機器では無視できないリーク量なので,修正が必要である.次のセッションでは,全体のメモリリークを見直して原因を調査していく.

睡眠リテラシーを高めた ( 1 session ) 

 睡眠の超基本を読み進めて,睡眠リテラシーを高めることができた.chapter3を読み切って,次はchapter4を読んでいる.前に一度読んだが,復習も兼ねてもう一回読んでいく.この本を読んで,だんだんと生活リズムを矯正してきている.

買い物に行った ( 2 session ) 

 かなり重荷だった作業に一区切りがついたので,息抜きに買い物に行った.ドラモリとイオンを回った.イオンのホームセンタにはかなり長い時間いた.

生活面

10時半起床.おおよそ9時間睡眠.ここ数日の睡眠負債をきちんと返すことができた.また,睡眠のパフォーマンスもそこそこ高かったと感じる.

昼は米,スープ,玉子焼き,サラダであっさりと食べれた.

夜は豚しゃぶ,オクラ,納豆,米,エリンギのバター炒めで,バランスよく食べれた.

9/17

 進捗報告

Checkerの調整作業を進めた ( 2 sessions + 40mins )

 regexの処理をparseのフェーズに移行することができた.これによって,regex patternsを実行時にコンパイルする必要がなくなるので,実行時間が短縮されるはずである.この作業は一発で成功した.難航する可能性もあったので,良かった.また,昨日の作業をcommitすることができた.これで,大分でも作業の続きができそうだ.regexについてはResponseのphaseでクラッシュするという問題があった.この原因を調査するとphase4でbinary dataが渡ってきた時に文字列終端を発見できないために,クラッシュするらしい.これについてはデータ長さを与えることで,なんとかなりそう.次のセッションではこの問題に対応する.

 データサイズをきちんとvariableのデータと合わせて提出する形にして,これをつかってregexのマッチングをするようにしたら,クラッシュせずに全てのマッチングをこなせるようになった.さすがにresponse bodyはデータ量が大きいからか,多少のもたつきを感じるが,もっと小さなWebサイトならそこまで問題にならないだろう.ただし,最後にacがregexと似たような問題でこけるようになった.今回はBuildACではなくて,parallelmatchingのほうだ.次のセッションではこの問題に対応する.最後のphaseで,ACのこの問題.結構ラスボス感がある.

 研究室の環境で試験をするために,研究室のWSLにOWASP Juice shopを入れようとしたら,npmがエラーを大量に出力して結局うまくいかなかった.ということで,ctfdを入れてみたところ,今度は見たことのない挙動をしてしまう.原因はよくわからないが,もう日も暮れたので帰ることにする.次のセッションでは,OWASP Juice shopの導入をする.それからWSLがあまりにも不安定なので,開発用のvpsを借りようと思う.

大分に移動した 

 大分のほうに用事があったので,特急に乗って大分に移動した.前日入りによって余裕を持てるのは非常に良かった.移動後にかつての研究室メンバーと再開することができた.なかなか元気にやっているようであって,良いことだ.

人工知能の勉強をした ( 1 session + 30mins )

 明日は人工知能関連の講義のTAをやることになったので,付け焼刃ではあるが,人工知能の知識をつけておこうと思って,特急でゼロから作る Deep Learningの2章と3章を読んだ. これによってパーセプトロンとニューラルネットの概念を復習することができた.学習に際してのポイントなどについては,より後の章に書いてあるので,帰宅後に読んでしまいたい.


生活面

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

昼は餃子と米,みそ汁でバランスよく食べれた.


9/16

進捗報告

Checkerのコードの調整を進めた ( 4 sessions + ) 

 setvarの文字列処理がらみのメモリエラーを解決することができた.また,数値代入の時の最後にこける問題についても原因を特定して解決することができた.これで,このアクションについての問題はしばらく大丈夫だとは思う.もう少しハードなテストケースも準備したいところだが,今はパフォーマンスの問題があまりに顕著なので,次のセッションで少しこの部分に手を入れてみる.

 パフォーマンスの問題を改善するために,ツリーの構築や正規表現のコンパイルに関する処理を全てパーサ側に持ってくるようにした.このためにコードをあちこち書き直すことになった.ただし,実際に動かしてみるとacのツリー構築の失敗関数の構築がメモリエラーを起こしているらしい.この問題はツリーのコードをもう少し細かく追わないと修正できない気がする.次のセッションではこの問題をもう少し細かく観察して,テストケースについても増強していく.

 ACのコードを見直したところインサートするところの処理が,おかしいことに気がついた.一文字がヒットするだけで文字列全体がヒットした扱いになっているらしい.先日GPTに相談して,指摘されて,確かにそうかと思って修正したのだが,元実装の方が正しかった.とはいえ,元実装の方はかなり意図の伝わりづらいコードだったので,元実装の意図を汲み取れなかったのは普通.次のセッションでは,この部分を書き換えていく.

 コードを見直したのだが,どうも釈然としない.FFのコードを無効にすると,とりあえずは動くので,できれば有効にするということで,進めていくことにする.FFのことを考えなければ,ルールの読み込みから実行までにかけてとりあえずは動くらしい.ユニットテストを見る限りマッチングも適切にできていそうではある.


買い物に行った ( 1 session ) 

 所用で大分に帰る必要があったので,特急の切符を取りに駅に行った.そのついででスーパーにいって,色々みてきたりもした.


生活面

11時起床.おおよそ9時間睡眠.高い覚醒度を得た.入眠に関してもそこまでの困難さがなかった.

昼はうどんを食べた.キウイフルーツと合わせて,あっさり目で食べれた.

9/15

 進捗報告

チェック機構のデバッグを進めた ( 5 sessions +  )

 チェック機構のオペレータのデバッグを進めて,メモリエラーをなんとか解消することができた.これによって,フェーズ1に関してはチェックをかけながらページをロードすることができるようになった.それはそれで非常に良いことなのだが,現状の実装では初期設定のフェーズでやるべき処理が実行時に回っている部分があり,ページの読み込み速度が非常に遅くなってしまう.そのため,処理の移動を次のフェーズに実施したい.そして,テストケースも修正する.

 setvarのコードを見返したら,文字列を全くうまくハンドリングできていないことに気がついたので,書き直している.おそらく途中で,別のタスクに移ってしまって,未完成のままに次の作業に進んでしまったのだろう.テストケースも一部に対してしか書かれていない.次のセッションではこの部分の書き直して,テストするところまで進みたい.

 さらにsetvarのコードを書き直して,代入の式の左右を別々に取得するように書き換えることができた.このコードによって文字列がきた場合でもハンドリングできるようになるはずだが,まだテストしていないので,次のセッションで検証したい.

 setvarのコードのテストをしてみて,コードにミスによってメモリエラーが出たりしているのを確認した.原因を特定して,この部分を治すことができたが,大規模な書き換えの結果以前動いていたコードが動かなくなってしまった.次のセッションでは,この部分を直していく.

 問題の原因を調査したところ,代入時の型の指定が間違っていたことが原因だった.これによって前述の問題は解決され,文字列のtokenizeについてもきちんとできることが確認できた.ただし,文字列の写しがうまくいかない.このためには片方をダブルポインタにしないといけない.この作業を次のセッションでやっていく.

生活面

昼はおにぎり,味噌汁,鮭で軽めに食べた.夜はスペアリブ,米,春雨スープ,納豆でバランスよく食べれた.夕方に地区を一周歩いていて,コンビニにも行って,十分な運動量を稼げた.


9/13

 進捗報告

睡眠のメカを勉強した ( 2 sessions + )

 ニコニコのポイントが余っていて,9月末で失効するので使いきれという通知が来た.これはBookWalkerという外部サービスと連携して使えるということなので,講談社ブルーバックスから刊行されている睡眠の科学を買って読んでみている.

 睡眠にはレム睡眠とノンレム睡眠があり,これらには別種の役割があることが知られている.ノンレム睡眠では,脳活動が同期的になり,レム睡眠ではバラバラに活動する.レム睡眠では,感覚器からの入力は低減されていて,脳内の内的な刺激で覚醒状態に近いレベルで活動している.ノンレム睡眠では,外部からの刺激はシャットアウトされている.

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

 はじめての統計学の第6章の練習問題を解き終えることができた.これで6章を突破.t分布を使った区間推定や点推定の方法についても,ある程度練習を積むことができた.サンプルサイズをどの程度必要かという話題も出てきて,結局は誤差をどの程度許容するのかによって変わってくる.誤差をεに抑えたいときは,だいたい(zσ/ε)^2程度のサンプル数を確保すれば良いということだった.次のセッションからは第7章に入ってくる.次の章はχ2検定を扱う.

ACのコードをデバッグした ( 2 sessions )

 ACのコードがルールファイルを与えることでなぜかSIGABRTを引き起こすという問題があるので,それのデバッグを進めることができた.デバッガで回してみて,とある入力によって,ある関数がコケるという部分までは特定できた.ただ原因は依然として不明.次のセッションで,この入力をさらに注意深くみていきたい.

 さらにACのコードをチェックすると,メモリの取る量を1 byte分間違えていて,それで境界外の書き込みをやっているのが問題だった.これを直して,さらに,ワードの追加であったバグも修正して,長らく放置していた問題を解決できた.


生活面

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

昼はとんかつ,米,味噌汁,サラダでバランスよく食べれた.

夜はビーフンとチキンできちんと食べれた.

夕方にマルイチまで90分くらい歩き,これによって十分な運動量を稼ぐことができた.


9/11

進捗報告

Bufferの要素取得の実装を進めた ( 2 sessions + 40mins )

 Bufferの要素取得の実装を進めることができた.これによってリクエスト側の要素取得を色々とできるようになってきているが,レスポンスとは一転してリクエスト側は取得が非常に多様になっていて,まだまだ実装量が全然追い付いていないという感じ.ひとまずは型枠だけ取ってしまって,それから中のものを一つづつ実装していこうかという感じ.場合によっては,構造体自体の仕様にも手を入れることになるかもしれない.

 実装を進めて,型枠を取り続けた.もう少しで型枠は取れると思う.Buffer類のメモリリークが途中で気になって,これを直し始めたのだが,完全には治せなかった.インタフェースのポインタの扱いが間違っているかもしれない.

 さらに実装を進めて,リクエスト側の型枠を大体取ることができた.バッファ類の変更によって,テストが通らなくなるという事態があったが,これについても修正した.ヘッダなど一部についてはリクエストをすでに取得することができるはずだが,他にも色々取り方を実装しないといけないので,次回以降のセッションで一つづつ実装していきたい.

設定ルールを個別に読み込むように変更した ( 1 session ) 

 設定ファイルとセキュリティルールが,今までは混在した状態で読み込まれていたので,それらが個別に読み込まれるように変更した.まずはconverterのコードを変更して,設定ファイルとルールファイルを別のファイルに出力するようにした.加えて,データファイルについてもここでコピーをかけることにした.pythonのファイルコピーにはshutilという便利なものがあり,これを使うことでデータファイルのコピーはスムーズにできた.それができたら今度はparser側のコードに設定ファイルを読み込むための機能を付け足して,今までのparsing関数では新たに追加されたデータファイルを無視するように修正した.これらをmain側で呼ぶようにして,最終的にこれらのファイルが個別に読まれていることを確認できた.

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

 統計学入門を読み進めて,第6章を突破することができた.第6章は色々な仮設検定手法を紹介するというもので,その計算の詳細には立ち入らなかったが,様々なシチュエーションでどの検定手法を選べば良いかということを勉強した.1標本では,ある母平均を仮定してt検定を実施するなどが可能.2標本同士の比較でもt検定などが実施できる.この際,等分散性と正規性を確認することが必要だが,どちらもそれを検定する手法があるということだった.しかし,仮説検定では中心となるある一点を帰無仮説に置かないといけないという都合上,正規性をもつことや,等分散であることがその1点になってしまい,検定で正規性を持たないという対立仮説に対して帰無仮説を棄却できなかったとしても,その帰無仮説自体をサポートすることはできないから,それらを積極的には主張できないという問題があった.3標本以上では,分散分析や多重比較があった.分散分析はF値を元に検定をする.多重比較には,それぞれの標本同士を比較するTukeys' Testや基準の群を設定してそれと他の群を比較する Dummes' Test,右肩上がりになっているかを検定するWilliams' Testなどがあった.分散分析から多重比較に移っていく流れが多いが,結果が食い違うときはむしろ多重比較のみに絞った方が良いということだった.

生活面

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

昼食はうどんを食した.割合あっさりと食べれた.

夜はチャーハン,チキン,納豆,切り干し大根でバランスよく食べれた.


9/10

 進捗報告

Bufferの要素取得を実装した ( 3 sessions )

 レスポンスバッファから所望の要素を拾い上げてくる処理を実装することができた.ルールセットを見返してみると,レスポンスに関しては色々な部分を取ってくるという感じでもなかったので,そこまでコード量を書かなくても実装がある程度形になった.リクエストについてはもう少し色々な部分を取ってきたりするので,工夫が必要.次のセッションではレスポンスの処理を一旦テストして,それができたらリクエスト側の要素の拾い上げにも対応していく.

 さらに書き進めて,レスポンス側のコードのテストケースを作成し,意図通りにコードが動いていることを確認することができた.途中でSIGSEGVが何度か起こったので,デバッグ作業が発生したが,テストによっていくつか修正点を見つけることができたので良かった.次のセッションではリクエスト側の処理を書き進めていく.

 リクエスト側ではリクエストラインを再構築できるように書く必要があるので,それに対応していた.途中で,proxyが通信を通過してくれないという問題が発生して,デバッガが途中で全く関係ない部分を指摘してくるので大変混乱したのだが,読み込めていないファイルがあることが原因だった.それから,bufferが解放されていないことによるメモリリークにようやく対応した.これでテスト実行後の大量のaddress sanitizerの出力を消し去ることができたので,いい感じだった.

9/8

 進捗報告

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

 統計学入門を読み進めて,確率分布や推測統計の基本的なアイデアを復習することができた.推測統計では,母集団を何らかの確率分布とみなし,得られた標本から母数を推測する.この際,全くのゼロから推測を始めるのは難しいので,通常は数学的な確率分布に母集団が近似すると仮定してから話を始める.標本を抽出する際には完全なランダムで値を抽出することが望ましいが,それが難しい場合には,層別に値をとったり,クラスタごとに値をとったりする.

 さらに同書を読み進めて,信頼区間の概念について学習した.ある値から標本平均を計算すると,それと母集団の真の平均には誤差があることになる.これを標本誤差という.標本誤差の分布については,中心極限定理によって,その分布は正規分布に近似され,サンプルサイズが大きい時には標本誤差は0に近づくことが知られている.このことから,得られた値から,0から±2σの区間を計算すると,その区間に95%の確率で真の平均値を含んでいることが期待できる.なお,サンプルサイズが十分に大きくできないケースでは,標本誤差はt分布に近似されることが知られており,こちらを使うケースも多い.

 それからまた読み進めて,仮設検定の基本的な流れと過誤について学習できた.t分布を用いた検定では,まずは分散を計算して,それを元にt値を計算する.そのt値が得られた標本間の差ということになるので,これを元にp値を計算して,それが有意水準を下回っているかどうかを確認する.下回っている場合には統計的に有意な差が見られたと言えるし,そうでなければ統計的な有意な差は見られなかったということで,帰無仮説は棄却できない.統計的検定がミスするのは2種類のミスがあり,帰無仮説が正しい場合に,帰無仮説を棄却して対立仮説を採択してしまう第1種の過誤と,対立仮説が正しい場合に帰無仮説を棄却できない第2種の過誤とがある.


生活面

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

昼はビーフンを食べた.野菜多めで,ボリューミーだったが食べれた.夜は卵焼き,豚しゃぶ,米,納豆でバランスよく食べれた.

夕方にスーパーやドラッグストア,100均の中を1時間以上歩き回った.また,作業時間の合間の休憩時間に椅子を持ち上げたりして,これによって運動量を稼げた.

9/6

進捗報告

A* pathfinding projectを試してみた ( 3 sessions )

 A* pathfinding projectのfree版を導入することができた.Pro版はAsset Storeにあるのだが,Free版は公式サイトでpackageデータを落としてきて,自分でローカルから入れる形式になっているようだ.あとは,これの使い方を学ばないといけないので,ドキュメントを読んでいる.次のセッションでもドキュメントを読んで使い方を勉強していく.

 ドキュメントを読んで,Unity上で試しにscanを実施するところまでやってみた.Tilemapの設定をして,A*のPathfindingのコンポーネントを付与したGemeObjectをマップに合わせてScanをすると,青線が引かれて,移動可能な経路の大枠が作られたらしい.次のsessionでは,試しにAIPathを付与したコンポーネントを配置して,ターゲットを置き,経路が計算されるかを試してみたい.

 試しに必要なコンポーネントをアタッチしたりしてみたが,プログラムがエラーを吐いてゲーム全体が落ちてしまう.どうやら,アップデートをかける関数が古いプロトコルをで通信をしようとしてUnity側がそれを落としてしまうらしい.どうせプロ版へのアップデートはしないので,update用のスクリプトに直接手を入れて,アップデートにまつわるところをコメントアウトして回ったら動くようになった.で,経路はどうもいい感じに計算されているので,これを使って,動き回るためのスクリプトを書いていきたい.どのようなデータ型で経路が保持されるのかは要調査.単方向リストか配列ならとても都合が良いのだが.スピードはどうするのか?

Redditのアカウントを作り直した

 なぜかRedditの僕のアカウントが永久BANを食らっていたので,アカウントを作り直した.紐づけただけで投稿がないアカウントというのはspamと間違われやすいのか,知らないが迷惑な話ではある.ついでなので,興味のある板をフォローしたり,アバターを真面目に作ったりしてみた.

Checkerのルール適用のコードを書き進めた ( 1 session ) 

 Checkerのルール適用のコードがphase1の分しか書かれていなかったので,別のphaseでも使えるようにコードを拡張した.この作業の結果phase 2,3,4,5でも同じ関数を実行できるようになった.また,SecRuleだけでなく,SecActionについても実行できるようになった.途中で,responseの引数の値を打ち間違えていたことでSIGSEGVが起こっていたが,最後の1分でミスに気づいて修正できた.これで一旦統合の作業は完了か.mainにmergeして,次の開発用ブランチを作ろうか.


ゲーム開発会議に参加した ( 1 session )

 ゲーム開発会議に参加して,今週の進捗状況について色々と報告することができた.向こうの進捗も聞いたが,序章のストーリーが少しづつ形になっているようで,いい感じだった.こちらも今週は新しいスクリプトを入れたりして,動きが増えたのが良かった点.

生活面

10時半起床.おおよそ5時間睡眠.それなりの覚醒度を得た.

昼間はハッシュドポテトなどを軽めに食べた.

夜は春雨スープを食べた,非常にあっさりでいい感じだった.

9/5

 進捗報告

Checkerのコードを修正した ( 4 sessions  )

 Checkerが実際のルールを読ませるとコケる問題について対応することができた.結局のところ原因は,Contextが0初期化されていないことだった.仕様上 "0"という文字列がそこにないと最初の値すらセットできないということになっているので,”0”という文字を入れて回る初期化関数を書いたらコケずに走るようになった.値のセットは,初期化以外の処理でも使うことになるので,外部に切り出しておくべきだと思う.次のセッションでは,この処理を書き足して,それに対するテストも準備するようにしたい.

 さらにコードを書き進めて,初期化関数のテストを書くことができた.そろそろテストがごちゃついてきて,見通しが悪くなってきている.そこで,関数ごとに切り分けたりしてテストを整理している.次のセッションでは,この作業を完了して,初期化関数の値のセットを専用の関数でやるようにやりかえていく.

 さらにコードを書き進めて,値のセットをするための関数を書いている.ただ,今回のケースでは複数ある選択肢から狙った変数だけを,狙った値で書き換えるということなので,うまくやらないと,コードがだらだらと長くなってしまう.スマートに書くのはむずかしいきがするが,列挙型でフィールドを指定するようにすることで多少は読みやすくなったかも.

 テストの作成をして,値をセットするための関数が動いていることを確認することができあ.これで,初期化関数の一連の作業は完了.もう一度動作の見直しをする.


生活面

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

昼はピラフとサラダを食べた.あんまり食欲がなかったが,なんとか食べれた.

夜は米,豚肉,鰹のたたき,卵焼き,サラダ,納豆でバランスよく食べれた.

夕方に1時間ほど小学校までの通学路を歩いて,十分な運動量を稼ぐことができた.


9/4

 進捗報告

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

 BTの記事を書き進めることができた.Actionの説明を書き終えて,Decoratorの説明も全て書き終えることができた.継承関係の部分についても説明を入れることができた.これにて,本文の部分は全て書き終えることができたので,見直しをして,概要とか,リンクとかを整備したら公開できる.次のセッションではそれらの作業を実施したい.

 さらにBTの記事を書き進めて,本文以外のところの文章も書き終えることができた.3回ほど見直しをして,ミスを修正するなどして,公開にこぎつけた.その後に,前パートのリンクを更新したりした.次のセッションでは,Part3の作成を始めたい.

Parserのデバッグ機能を拡充した ( 2 sessions )

 Parserにメモリ使用量を計算するための機構を追加することができた.これで,ルールがどれくらいのメモリ量を食っているかを手計算で求めたり,推測したりする必要がなくなるので,これはとても良いことだ.何のルールに対してのメモリ量計算も大体かけたのだが,テストがSIGSEGVでこけていて,どうもサンプルデータのパースがうまく行っていないらしい.原因を次回のセッションで調査する.

  デバッグを進めて,サンプルデータのフォーマットに問題があることを特定したので修正した.そこからさらにメモリ容量が適切に計算されているかどうかを確認するテストケースをいくつか作成して,手計算でもとめたメモリ容量と実際の計算値が一致することを確認できた.これにて,メモリ容量の計算関数は完成とする.

Checkerの検査機能の開発を進めた ( 1session + )

 checkerとproxyの統合作業を進めた.この前はその雛形のところまでを書いていたのだが,proxyの動きを改善するためにproxy側のコードをそこそこ変えたというところと,checker側のコードで他の種別のルールをサポートしたということで,加筆修正が必要になった.で,統合のためのコードがなんとなく書けたので,実際のデータとルールとで動かしてみたらメモリエラー.原因を探ってみると,コンテキストの初期化をNULLでやっていて,これがからかどうかをチェックする時に0と比較して真なら文字列が入っていない,みたいな仕様になっているらしい.これはとても面倒だ.力技だが,0\0みたいな文字を入れておくか?次のセッションで,この問題に対応して,ひとまずルールがこけずに全て走るようにしたい.

9/3

 進捗報告

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

 BTの記事を書き進めることができた.制御ノードの図表をつくって,コードを貼り付けて説明を書くところをやっている.SequenceNodeの説明までが書き終わっているところだが,Selectorのコードを貼り付けたところで,リファクタリングが十分に住んでいない部分に気がついてしまって,コードを直し始めた.次のセッションでは,このコードを修正して,SelectorNodeの説明を書いていく.

 SelectorNodeのコードを修正して,制御ノードについてはあらかた説明を書き終えることができた.現在は末端ノードの説明を書いているのだが,実際にゲーム上で使う末端ノードを汎用的に作ることはできないので,ここで定義するAction NodeやCondition Nodeは,あくまでそれ専用のノードを作るための雛形であるということを説明しないといけなくて,図表を作るところまで行ったが,その説明がうまく書けていない.次のセッションでは,ここの説明を拡充していく.

 さらに書き進めて,DecoratorNodesのコードを貼り付けたり,ActionやConditionの説明を書いたりした.Actionの説明をかけていて,今はConditionNodeの説明を書いているところである.しかし,Conditionにもコードの気に入らない部分があるので,先をそっちに直している.

買い物に行った ( 1 session )

 ミスターマックスに買い物に行って,食料品や電化製品を見て回ることができた.今日は,工作用品とか,カー用品とか,普段あまり注目しないとも割合きちんと見て回った.


生活面

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

朝は米,魚,玉子でシンプルに決めた.夜は山芋鉄板焼き,米,味噌汁,鮭でバランスよく食べれた.

買い物先で1時間以上歩き回っていたので,これによって十分な運動量を稼ぐことができた.後は,無酸素的な要素も入れようと思って休憩時間に椅子を30回ずつ持ち上げたりしていた.



9/2

進捗報告

Parserを調整した ( 4sessions )

 Parserの機能を調整してmarkerに対応するための一連の処理を書くことができた.これによってphase1においては,適切に新しいmarkerが追加されているのを確認することができた.しかし,複数フェースに同時に追加するという場合には,一つのオブジェクトが複数のリストに追加されようとするため,参照の書き換えがおこって意図しない動作をするようになる.そのため,この種のルールに関しては,オブジェクトのコピーをする必要がある.次のセッションではそれに関する処理を書いていく.

 さらに作成をすすめて,オプジェクトのコピー処理を追加して,全てのリストにMarkerが追加するようにした.途中,意図しない連結が起こったり,メモリがリークしたりというトラブルもあったが,最終的には全て解決して,SecMarkerの追加作業は完了した.ただし,まだParserは完全ではなくて,ファイルが命名通りにソーティングされていない.これはルール実行の上で重要な点ではあるので,次のセッションではこの問題に対応する.

 さらに改修を続けて,ルールファイルのソートを実装した.これによって,ルールが意図した順序で実行されるようになった.セットアップファイルが名前の問題で末尾に回ってしまうのだが,これはparserよりはconverter側の問題なので,そちらで解決するようにしたい.あとはここまで書いてきたParserの機能が十分にテストされていないので,次のセッションでテストを書いていきたい.

 さらにコードを書いて,ルール種別ごとのparseと,リストへのアペンドについてのテストケースを作ることができた.これによってparserの主要な機能の正常系は大体テストできた形.異常系のテストも準備することが望ましいが,ルールに関しては異常系の入力値が大量に届くということは考えにくいので,他のテストを書いて手が空いたタイミングで書いていきたい.この業務の最後のタスクは,ルールのサイズの計算の関数を書き直すことなので,次のセッションで対応したい.

 さらにコードを書き進めて,メモリサイズの計算の関数を書き直している.actionやvariableはそれ専用のメモリサイズ計算用関数を作った方が良いと思うので,それを作っている途中である.

生活面

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

朝はシャケ,ご飯,味噌汁でバランスよく食べれた.


9/1

 進捗報告

プログラミングの書き方本を読み進めた ( 2 sessions )

 プログラミング作法を読み進めた.8章の移植性についての章を突破して,9章の記法についての章を読んでいるところ.8章の後半ではバイトオーダーが移植性に与える影響などについて確認した.リトルエンディアンとビッグエンディアンが混在しているような環境では,例えばintファイル保存したデータが元通りの値で解釈されるとは限らない.これを回避するためにはpack / unpackを実装して,固定の順番でデータが解釈されるように調整する.あるいは,テキストへの変換が可能なら,極力テキストデータとして保存することでこの問題は回避できる.

 さらに読み進めて,プログラミング作法の最後まで読み切ることができた.9章の記法では,作業に適した言語を選択することの重要性と,それがない場合に自分でそれを作る方法があれこれと解説されていた.また,jvmをはじめとする仮想マシン向けの言語の実装や,jitコンパイルについても紹介された.

 全体的にこの本は,プログラミングに関連する様々なトピックについての明確な判断基準をを養成してくれるものになっていて,非常に良いものであった.

コードの書き方本についての記事を書いた ( 1 session + 60mins )

 プログラミング作法をついに読み終わり,手元のコードの書き方本を一通り読み終えることができたので,それをまとめるような記事を書いた.構成を考えてから文章に起こし,公開するところまでたどり着いた.まとめ作業まで済んだので,これにてコードの可読性を高めるタスクは終了.割と時間がかかかったけど達成できたよかったし,結構成長できた気がするのでやる価値があった.

生活面

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

昼は,スーパーで買ってきた天津飯を食べた.なかなかボリューミーだったが食べれた.

夕方に車で出掛けて,出掛け先の店内をしばらく歩き回ったので,これによって十分な運動量を得た.

夜はごぼう天うどんであっさり食べれた.

8/31

進捗報告

UVCSについて勉強した ( 3 sessions + 10mins )

 UVCSについて勉強を進めることができた.Unityのバージョン管理ツールであり,gitとは勝手が違うので敬遠していたのだが,Unityの管理をして共有する上では他に良さげなツールもないので使う他ない.Unity learn上で探してみると,Get started with Unity version Controlというコースがあったので,それを読んでいる途中.これで,基本的な概念とか,操作が拾えれば良い.

 さらにコースを読み進めて,クラウドの設定を確認したり,check inのながれ,branchの新規作成の流れなどを確認した.UVCSでは過去に状態に戻してから変更して,これを最新のワークスペースに反映するという機能があるらしい.これが過去の改ざんに思えてしまったのだが,調べてみると本質的には,末尾の変更リストへの追加で,インタフェース上でこういうことをできるようにしているだけらしい.コンフリクトがなければ,クラウドを経由して,最新のワークスペースで,過去のワークスペースでの修正を取り込める.

 さらにコースを読み進めて,完全に読み切ることができた.最後にはmerge conflictが発生した時の競合解決についての説明があって,参考資料もいくつか紹介されていた.最後には電子ブックの紹介もあって,こっちの方が解説は詳しそうなので,読んでみたら良いかもしれない.

https://unity.com/resources/best-practices-version-control-unity-6

生活面

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

昼はパン,ミネストローネ,ハッシュドポテト,キウイでバランスよく食べれた.

夜もキーマカレー,レタス,春雨スープ(トッポギ入り)でバランスよく食べれた.

夕方には30分ほど散歩をしたので,これによって運動量を稼げた.

8/30

 進捗報告

Parserの機能を拡張した ( 2 sessions + )

 Parserの機能を拡張するコードを書き,Actionへの対応を進めることができた.コードの概形は欠けているのだが,想定外の挙動をすることがあるので,その対応をしている.

 さらにコードを書き進めて,Actionの追加と削除が適切に実行されることを確認した.Dumpの結果を見ても,きちんと所望のphaseに対してSecActionが追加されていることが確認された.作成と削除の関数を作る,Parse用の関数を作る,リストへのアペンドの処理を作る,リストの削除関数を合わせて改変する,ダンプの関数を合わせて改変する,という作業を繰り返していくことで,新しいdirectiveにも対応することができるということがわかった.今はSecMarkerに対しても同様の作業をして,listへの追加を図ろうとしている.markerの場合は全てのphase listに対して追加をかけないといけないので,それを綺麗に書けるのかどうかというところが勝負になってくると思う.

ゲーム開発会議に参加した ( 2 sessions )

 ゲーム開発会議に参加して,お互いに作業進捗を報告し合うことができた.僕のほうでは,近接攻撃や弾丸スプライトの仕様について説明して,今週取り組むべき内容について報告した.また,イベントシーンの作り方について資料を示して議論することができた.Ririnはストーリーの構成について考えた結果を報告していた.

生活面

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

昼はシャケ,米,味噌汁,ハッシュドポテトであっさりと食べることができた.夜はフライドチキン,米,春雨スープ,サラダでバランスよくべれた.

昼間には運動公園のグラウンドを歩き回ったので,これによって十分な運動量を稼ぐことができた.

8/29

 進捗報告

parserのコードを修正した ( 1 session + 

 Parserのコードに手を加えて,昨日作成した基底構造体でもって,種類が混在するルール群をリストにまとめることができた.デバッグ用の関数で一覧を出力してみたところ,変更前と変わらない動作ができている.現在は別種のルール形式に対応するユーティリティを作っているところである.次のセッションではSecActionへ対応を進める.



生活面

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

8/28

進捗報告

本読みをした ( 1 session )

 昨日読んでいた偶然の統計学を読み切ることができた.最後の結びでは統計的に有意であることが,繰り返すことよって弱まるという話があって,それが面白かった.ある件について95%で正しく推論できるとしても,それが100件あると,全てが正しく推論される可能性は0.95 * 0.95 * 0.95 ... *0.95となり,とても低い確率になる.統計学ではこの手の問題を解決するための色々なテクニックもあるらしい.そこら辺は,勉強していきたい.

 プログラミング作法の方も読み進めることができた.移植性の部分で,標準ライブラリに固執することが,結局将来的にそのシステムをいろいろな箇所で使う上での早道になるという話だった.どうしても分ける必要がある時は,プログラムの制御構造と女権コンパイルの構造が混在するのは避けて,ファイルごとに分割して管理したり,環境を抽象化したインタフェースを定義してそれを前提に実装を進めたりすると良い.

Parserの修正作業を進めた ( 2 sessions + )

 Parserのコードの修正を進めて,大幅なメモリリークの正体を掴んで修正することができた.これでによって,今までずっと出力され続けていたaddress sanitizerの警告がようやく鳴り止んで,かなり気分が良くなった.今は,SecRule以外のルール体系への対応を進めている.そのためにここまで書いてきたインタフェースもいくつか書き直しになっているので,次のセッションでその作業に対応する.

 SecRule以外への対応を進めるために,ルールリストをこれよりも汎用的な基底構造体で持つことにした.そのために,SecRule用の構造体の中身を整理して,上位の構造体で,これまでと同様の操作ができるようにしようとしている.どうにも,実装がスムーズにいかず,結局一回git reset --hard HEADを実行することになったが,今度は慎重にやっているので,うまくいくと思う.次のセッションでも同様の作業を継続する.

Home Labbingについて調べた ( 1session + 30mins )  

 昨日紹介したhome labbingの入門記事を読み切り,どのように機材を選んで拡張を図っていけば良いかのイメージを掴むことができた.とにかくいろいろな記事を読んで慎重にハードを選んで行って,小さなミニプロジェクトをいくつも走らせながら段々と大きくしていけば良いという感じだった.情報源としては同サイト(linux blog.io)のほか,redditの/r homelabにも多くの情報が詰まっているということだったので参考にしたい.

生活面

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

朝は米,シャケ,味噌汁,海苔でバランスよく食べれた.

8/27

進捗報告

proxyとcheckerの統合作業を進めた ( 3 sessions )

 昨日はmakeが通らないというところでストップしていたのだが,問題の原因は単純でlink時にライブラリを作るためのコンパイルフラグを付与していないだけだった.これでbuildをできるようはなったのだが,どうにもparserがルールファイルを読み込むときにこけているらしい.問題箇所はどうも文字列コピーをやっている箇所らしい.おそらく,事前に準備したメモリ以上のパラメータが渡されたときにこけるらしい.なぜreallocで取り直すようになっていないのか.事前に長さを見てからmallocする形式になっていないのか不明だが,そのように書き直す作業を進めているところである.

 Operatorの文字列を渡される文字列を見てからチェックスするように変更した.それから渡ってきている文字列がfreeされていないことに気づいて,parserのメモリリークを一つ減らすことに成功した.あとはdisposeがきちんと動いてくれればleakはしないと思う.Variablesについても書き換えたが,このせいでTest側で値を直接書き込めなくなったので,値をセットするためのutilitiyを追加で作っている途中.これも一応完成したので,Testでこれを使うようにして全てきちんと動けば,Actionにも同様の処理をすれば良いだろう.

 さらにコードを書き進めて,VraiablesについてもActionについてもSet系のコードを作ってテストを通すところまで進めることができた.で,どうやら,cJSONがStringfyで返しているメモリ領域は新たに確保されたものではなくて,cJSONのオブジェクトが持っているメモリ領域のようであり,これをfreeすると,cJSONのfinalizerのfreeとでdouble freeになってコードが落ちるという問題が起こった.これについては,わかりにくい部分なので,コメントに残しておくこと.

本読みをした ( 4 sessions )

 偶然の統計学という本を読み進めることができた.読んでみると,教科書というよりは読物系の本で,いわゆる偶然の出来事と思われるものが統計的に考えると,十分に現実にありうるということをひたすら説明している本であった.宝くじの奇跡とか,偶然の一致,霊的現象などなど,いろいろな事象をぶった斬っている.

Home Labについて調べた ( 1 session )

 Home labbbingの情報を漁ったりしていた.宅内LAN環境の参考で,最近かなりhomelabbingの情報を見ていて,これについて,包括的なガイドが見つかったので読んだりしている.以下のリンクは非常に面白いものだと思った.

https://linuxblog.io/home-lab-beginners-guide-hardware/

生活面

1時起床.おおよそ3時間睡眠.それから8時に寝て,12時に起きたので,トータルで7時間くらいの睡眠で,十分な覚醒度を得ることができた.

昼はチャーハンを食べた.これはカレー風味で,あっさりと食べれた.夜はハンバーグ,叩き,米,味噌汁,卵とじとで,バランスよく食べれた.

夕方に30分ほど散歩に出掛けて,十分な運動量を稼ぐことができた.


8/25

 進捗報告

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

 response側のバッファに対してもheaderの構造体の変更を反映することができた.本日の目標は,とにかくWebページをきちんと適切に表示できるようにすること.以前は,welcomeページを表示するということをテスト項目にしていたが,welcomeページは例題として単純すぎたので今回はjuice shopを対象にする.juice shopは割合複雑な仕掛けでできていて,ページの表示もリッチだし,取得するファイルも多いし,画像のようなバイナリファイルも含まれるので,juice shopがきちんと動けば,それはwebuiでも適切に利用できることの証左と言える.

 コードの修正を繰り返して,とりあえずサーバのレスポンスがいくつかクライアントのところに返せるようにはなってきた.SIGSEGVなしで,きちんと動き続けているというのを見ることができるのはいい体験だ.現状の問題はpathの解決がきちんとできていないところで,ドキュメントルートのファイルはきちんと取れても階層化されたところのファイルのパスがきちんと解決されていないから,画像やcssの取得に失敗している.次のsessionではこの問題に対処していく.


生活面

12時起床.おおよそ8時間睡眠.十分な覚醒度を得た.昨日は何も聞かずに寝た.

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

夕方にゴミ捨てを兼ねた散歩をして,地区を一周した.これによって十分な運動量が稼げた.

夜は豚肉,ほうれん草,サラダ,米,納豆でバランスよく食べれた.

8/24

 進捗報告

近距離攻撃用の弾丸を実装した ( 1 session )

おでかけをした ( 2 sessons )

 日曜日ということで,家族でお出かけをすることができた.ホームセンター,イオン,ブックオフ,ドラッグストアなど,いかにもfamiliesが行きそうな場所を巡って,ウィンドウショッピングを楽しむことができた.

8/23

 進捗報告

目的地への移動プログラムを書き進めた ( 5 sessions )

 目的地への移動プログラムについて検討することができた.どうやら,A*アルゴリズムというものを使うことにより,障害物を避けつつも短い経路を計算することができるらしい.そしてunityでは,A* findingpath projectというpackageが提供されていて,これを使うことでその処理を使うことができるということがわかった.次のセッションではこれを試してみたい.

 また,Unityのversionのbranchを統合しようと思って久しぶりにUnity version controlを触ってみたりした.しかし,僕のブランチがクラウドワークスペースにないとか,なんとかで,結局mergeが反映されない問題が発生して,これと2session格闘したけども解決できなかった.Unity version controlの仕様は正直って,馴染みがなくてわかりにくいが,使えないと困るので調査したい.

 Reticleの実装を見直したりした.Atan2(x, y)と思って作っていたら,Atan2(y, x)が正しい順番であり,この勘違いによる実装を直して回っている.これまでは逆にしていたために変な結果になるところを-1をかけたりして直していたのだが,ようやく解決できそう.

 Reticleの修正が完了して,この流れで武器や弾丸などのマネージャーに潜んでいるAtan由来の問題も治して回ることができた.meleeWeaponに関しては,2piを超えた処理を終了するみたいな謎の終了条件で動いていたので変なところで攻撃が終わっていた.この問題は速やかに修正された.

 次のセッションでは敵機のmelee Weaponについて書いていきたい.基本的には敵機での場合は全てを弾丸として扱うことで,処理を単純化するつもり.

花火大会に行った

 花火大会の花火を見に行くことができた.割と円形ではあったが,小粒の色とりどりの花火が重なって連続するスタイルのものがあり,それが綺麗だった.後は,火の軌跡が柳のような格好で残存するタイプの厳かなものも気に入った.

生活面

昼は米,ウインナー,玉子,味噌汁でバランスよく食べれた.

夜は米,ハンバーグ,エリンギ,キャベツ,叩きで,かなりボリュームがあったが食べれた.

花火大会に行く過程で海岸を歩いたので,これによって十分な睡眠を稼ぐことができた.

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時間ほど散歩をして,これによって十分な運動量を得た.