41 連休をした

41 連休

41 連休でした

感想

  • 毎年欲しい
  • 重い技術書とか、長い休みが無いと厳しいものが結構ある
  • 気になってた技術とかかなり消化できる
  • プログラミング楽しい
  • 合宿的なやつ、捗る
    • コミュニケーションがどうこうとかじゃなくて、ゴリゴリ実装するのが捗る

予定

休みに入る前に立てた予定

読んだ本

取得した資格

  • 普通自動第一種運転免許

書いたコード

書いた文章

以下、毎日の日記

4/6

予定

  • 続初めてのPerl読み終わる
  • 満点様(普通免許の模試)全部やる
  • Database Design and Implementation 270まで読む
  • 時間あったら PerlJSON のパーサーを書き始める

やったこと

  • 満点様2.5/6
  • 続初めてのPerl読み終わった
    • まあなんとなく書けるようになった気はする
    • 人が書いたコードが読めるかは微妙

感想

満点様だるすぎ

4/7

予定

  • 満点様全部やる
  • Database Design and Implementation 270まで読む
  • PerlJSON のパーサーを書き始める

やったこと

  • 満点様全部やった
  • PerlJSON のパーサーを書いた

感想

満点様だるすぎて逆に終わらせたい気持ちが強まった

Perl のコード、自分で書いたコードはそんなに読みづらい感じがしない

もっと型で戦いたい気持ちはある

4/8

やったこと

感想

免許取るのどれくらい時間かかるかわからなかったので予定を立てずに言った

免許は取れた

空き時間ありすぎてニッポンの個人情報読み終わった

ニッポンの個人情報、問題点とか議論のポイントがなんなのか?みたいのはなんとなくわかるんだけど前提知識がなさすぎるのと、そもそも知りたかった個人情報ってなんなの?が未だにめちゃくちゃ曖昧な感じ

なので別の個人情報の本も読み始めた

4/9

予定

やったこと

  • Database Design and Implementation 266まで読む
    • 225-266
  • Amon 2 入門 前半だけやった

感想

SQL のパースについてはわりとさくさくいった

単純な再帰でパースできるやつなら SQL もそれ以外もあんまかわらんなという印象

Amon 2 ちょっと触った

4/10

予定

  • Amon 2 入門
  • Database Design and Implementation 293 まで読む

やったこも

  • Amon 2 入門
    • 一通りやった
  • Database Design and Implementation 270 まで読む
  • 個人情報保護法の知識 第5版 84

感想

Amon 2 の入門終わった

思ったより手軽っぽい

関係代数クエリの実行コスト計算のくだりを読んだ

このレベルだと実行計画に影響するのって product の順序だけなんだなと思った

このレベル以外のレベルがあるのかはわからん

4/11

予定

  • Amon 2 で適当な API 書く
  • Database Design and Implementation 293 まで読む

やったこと

感想

Amon 2 でなんとなく API がかけたが application/json のリクエストを受け取るまっとうな方法がよくわからなくて適当になった

DB の本、notion にノート取ってたんだけど 6万文字あたりからめちゃくちゃ遅くなって厳しいのでローカルのノートに移行した

4/12

予定

  • Amon 2 で適当な API 書く
    • MySQL で動くようにする
  • CDK のチュートリアル的なやつやる
  • Database Design and Implementation 312 まで読む

やったこと

感想

DBD::MySQL のインストールに MySQL 自体が必要なのがちょっとめんどくさいなと思った というか何か間違ってるんだろうか Docker イメージ作るときとかどうビルドするのがいいんだろうか

CDK ワークショップやった なんとなくのイメージ通りではあるがここからどうしたらいいのかはわからん

皆のあらばしり読んだ けつのあなカラーボーイの人、くらいの印象で読んだ 図書館で借りたのに図書館で一気読みしてしまった 結構おもしろかった

DB の本、なんでこのタイミングで JDBC なんだろうと思った サーバーベースの実装が RMI だった

4/13

予定

  • Database Design and Implementation 360 まで読む

やったこと

  • Database Design and Implementation 326 まで読む
    • index にはいって急にややこしくなった
      • extendable hash
  • ブックオフでいろいろ売った
  • 旅する練習(乗代 雄介)借りた

感想

Extendable Hash、むずかしい 図の上ではわかった気持ちになるんだけど実際のデータ上でどういう動きになるのかのイメージがつかない

旅する練習を借りてちょっと読んだ

4/14

予定

  • Database Design and Implementation 360 まで読む

やったこと

  • Database Design and Implementation 341 まで読む
    • B-Tree 構造は理解した
  • 未納の水道料金を払った
  • 旅する練習をちょっと読んだ

感想

なにかの表紙で未納になっていた水道料金を払いに行った 道中の川で魚がめちゃめちゃ死んでいた

Extendable Hash を多分理解した B-Tree+の章に入った インデックスの章に入ってからむずい

4/15

予定

  • Database Design and Implementation 360 まで読む

やったこと

  • Database Design and Implementation 361 まで読んだ
  • perlAPIAWS に構築
    • AWS 全部忘れた
      • VPC ってなんだっけレベルだったので VPC 作ってサブネット作って・・・みたいなことをしていた
      • とりあえず EC2 単体にプロセスあげてインターネットからアクセス、みたいなことはできた
      • Perl のビルドよくわからん

感想

データベースについて何もわかっていないということがわかってきた 単純な B-Tree+ だとテーブルそのものに対してしかインデックスが効かない気がするが商用データベースだとどうなのか、とか JOIN したテーブルにインデックスが効くのがどういう仕組なのかわからん、とか 実行計画でインデックス使って検索したあとで JOIN してる、みたいな話なのか、JOIN したあとのテーブルにインデックス効かせる構造なの?とか

4/16

やったこと

  • perlAPIAWS に構築
    • RDS 込みで動作確認した
  • 車のうんてんした

感想

車の運転をした 車の運転ができる

4/17

予定

  • perlAPI を Docker で動くようにする
  • Docker image を GitHubレジストリに登録するよう Actions 設定する
  • Database Design and Implementation 396 まで読む

やったこと

  • perlAPI の Dockerfile 書いた

感想

Docker なんもわからん

4/18

予定

  • Docker image を GitHubレジストリに登録するよう Actions 設定する
  • Database Design and Implementation 396 まで読む

やったこと

感想

Perl の環境構築するたびに DBD::mysql のインストールで謎のハマり方をする

4/19

予定

  • 7 章だけ読む
  • Database Design and Implementation 396 まで読む
  • 時間があったら Fargate で amon-todo の構築

やったこと

感想

WebAuthn、なんとなく思い出してきた

4/20

予定

  • Fargate で環境構築
  • 時間があったら CDK

やったこと

  • Fargate で環境構築
  • Database Design and Implementation 402 まで読む

感想

AWS 全部忘れた感がすごい ECR 以外のリポジトリを使うときにサービスをプライベートサブネットに置くの、どうするといいんだろうか NAT高いやつ

4/21

予定

  • CDK

やったこと

感想

  • CDK 便利っぽい
    • とりあえず動いたのでよし
    • これ以上はCDKの話よりもAWSとCFnがわかってない問題がほとんどっぽい気がする

4/22

予定

やったこと

  • Database Design and Implementation 418 まで読む
    • コスト計算の話になると全然すっと読めなくなるので全訳することになり、めちゃくちゃ進捗が悪くなる
      • 数学(算数)まじめにやったらこの辺の感覚マシになるんだろうか
        • この場合コストはテーブルのサイズの平方根になりますよね?みたいなことを当たり前みたいな感じで言われても、「なんで?」ってなって手で計算して納得するまで時間がかかる
  • webauthn のチュートリアル

感想

算数わからん問題 クエリツリーの計算コストの話をしてるときに root という単語がツリーのルートだと思って読んでたら平方根の方のルートでめちゃくちゃはまった

4/23

予定

やったこと

感想

WebAuthn、あとは入力でどういう挙動の変化があるかを確認するのと、検証を自分で書いてみるやつ、という感じ

4/24

予定

  • Database Design and Implementation 読み終わる

やったこと

  • Database Design and Implementation 読み終わった

感想

全部読み終わった

クエリオプティマイザの章は本を読みはじめるときに知りたかった話感が結構あってよかった

なんかコード書いてから詳説 データベースとかも読んでみようか悩む

4/25

予定

  • CSVSQL 投げるやつ書く
    • 大雑把な設計
    • 簡単な SQL のパース
    • くらいまで

やったこと

感想

移動時間かかりすぎた

https://www.hostel-sawara.jp/ 初日

4/26

予定

  • CSVSQL 投げるやつ書く

やったこと

  • CSVSQL 投げるやつ書く
    • 最低限の where が動くのに必要なパーツがだいたいできた

感想

predicate の実装、操車場アルゴリズムで書いて逆ポーランドでもった値をレコードに対して評価する、みたいな書き方したんだけど、複雑化してくるときびしそうな気がしなくもない

パイプラインでスキャンを書いていくのはなんとなく頭にはいっていてなんとなくかけた マージジョインとかソートとかそういうややこしいのが出てきたらどうしようかな感 だいたいそもそもインメモリなんだから B-Tree とか実装するメリットないのでは?という気もする

https://www.hostel-sawara.jp/ 2日目

4/27

予定

  • CSVSQL 投げるやつ書く
    • とりあえず動く、レベルまで書きたい
    • 次に何からやってくか考える

やったこと

感想

パーサーが適当なのですぐハングする

あと csv-parse を webpack で動かすのめんどくさいっぽかった

なんで動くのかよくわかってない

https://www.hostel-sawara.jp/ 3日目

4/28

予定

  • 自転車で銚子に行く

やったこと

  • 自転車で銚子にいった
  • CSVSQL 投げるやつ書く
    • 複数テーブルに対して動くようにした
    • でも JOIN できないので積だけ

感想

足がつかれた

めちゃくちゃ疲れてると海鮮丼よりスニッカーズのがうまいかもしれない

和菓子屋で140円の大福と150円のもなかをかったら店員さんが「こんな高いの!?」みたいなことを言って割引してくれた

https://www.hostel-sawara.jp/ 4日目

4/29

予定

  • 帰宅

やったこと

  • 帰宅
  • CSVSQL 投げるやつ書く
    • ORDER BY 対応した
    • BETWEEN 対応した
    • 比較演算子を = 以外も使えるようにした

感想

足が筋肉痛になった

https://www.hostel-sawara.jp/ 5日目(帰宅)

4/30

予定

  • CSVSQL 投げるやつ書く

やったこと

  • CSVSQL 投げるやつ書く
    • GROUP BY 対応した
    • INNER JOIN 対応した

感想

INNER JOIN って直積に WHERE で条件つけても同じことできるんだなと思った

アゴダクリストフの悪童日記を読んだ

5/1

予定

  • CSVSQL 投げるやつ書く

やったこと

感想

OUTER JOIN 実装したらなんとなく満足してしまった

サブクエリ書けるようにしたい気もするけどどうしようかな

5/2

予定

  • WebAuthn の API のパラメーターを眺める
  • perl で WebAuthn をスクラッチで書いてみる

やったこと

5/3

予定

とくになし

やったこと

感想

ジョージオーウェル動物農場を読んだ

5/4

予定

  • WebAuthn の API のパラメーターを眺める
  • WebAuthn をスクラッチで実装してみる

やったこと

感想

個人的には一覧があるとかなり見通しがよい

レスポンスも欲しいが

5/5

予定

やったこと

感想

牡蠣と茶碗蒸しがおいしかった

5/6

予定

  • 横浜

やったこと

  • 横浜

感想

ココアがおいしかった

アゴタ クリストフのふたりの証拠を読んだ

5/7

予定

やったこと

  • WebAuthn の RP スクラッチで実装してみる
    • register までできたっぽい

感想

意外とできるっぽい雰囲気を感じた

アゴダクリストフの第三の嘘を借りた

5/7

予定

やったこと

  • WebAuthn の RP スクラッチで実装してみる
    • register までできたっぽい
      • アテステーションの検証はしてない

感想

意外とできるっぽい雰囲気を感じた

5/8

予定

やったこと

感想

RPは手順通りに書いていけばなんとなく書けた COSE よくわからんのでそのへんはライブラリから持ってきた やっぱ暗号周りの知識が全然ない あと署名 TLSとかもよくわからん

5/9

予定

  • なし

やったこと

  • 勢いでパタヘネの上を買った
    • なんとなく外で読んでたら寝ちゃった
    • アゴダクリストフの第三の嘘を読んだ

感想

パタヘネをよんでいたら眠くなってしまった

5/10

予定

  • ワクチン

やったこと

  • アゴダクリストフのどちらでもいいを借りた
  • ブックオフで本を売った
  • 暗号技術のすべてを買った
  • ワクチン売った

感想

ワクチン

5/11

予定

  • 副反応

やったこと

  • なし

感想

微熱

5/12

予定

  • 副反応

やったこと

  • 暗号技術のすべてをp124まで読んだ

感想

あんま副反応なかった

古典暗号のくだりはだいたいサイモン・シンの暗号解読だった 識別不可能性の計算でかなりはまった

たぶん amazon のレビューでも言及されてるあたり

https://www.amazon.co.jp/-/en/gp/customer-reviews/R1XY3YRFIQ19J2

でもめちゃくちゃ頑張ればいける気がする むしろこれ、理系の高校レベルの数学がわかってればサクサク読めるのか?というのは気になる(わかってないのでわからない)

5/13

予定

  • 暗号技術のすべて

やったこと

感想

暗号の実装、出力が正しいかどうかの基準がわからないのでテストケースが難しい テストケースのサンプルみたいの欲しさがある

Go 標準の crypt/des のコード、バイナリの扱い方が全然違うのでどう比較していいのかわからん というかバイナリをみんなどうやってあつかってるのかわからん padding のことを考えるのが嫌すぎて byte とか int とかの配列じゃなくて bool の配列でやりたくなってしまう

5/14

予定

  • 暗号技術のすべて

やったこと

感想

平文が復号した結果とマッチしなくてめちゃくちゃハマった なんとテストケースで暗号を復号せずに平文を復号していた

encrypt := Encrypt(plain)
decrypt := Decrypt(plain)
if plain != decrypt {
    t.Error("plain and decrypted unmatched.")
}