mizdra's poem

雑なこと (日記/技術ポエム/メモ/…) を書くブログです. 真に受けないでください.

2019-07-28

掃除

部屋の掃除をした. 本当はもっと前に掃除するつもりだったのだけど, 以前自室に寝そべる空間を作るために敷いたマットが掃除機をかける邪魔になっていて, 結果として掃除が億劫になり今日まで放置されていたのだった. 僕にはマットは向いていないということが分かった. 今日一番の成果です.

同じ過ちを侵さないためにメモ書きしておきました.

scrapbox.io

クレジットカード

クレジットカードの与信限度額に達してしまい, 様々な定期購入が失敗し始めている. 元凶はこれです.

定期購入は勝手に解約され, Amazonで漫画も買えず, ほぼ毎日使うKyashは使い物にならない… 困った...

f:id:mizdra:20190729005149p:plain
余命宣告

流石に何とかしなきゃなと思い, クレジットカード会社に電話して期日前の入金用の口座番号を聞き出したりしていたのだけど, ATMまで行くのが面倒過ぎて諦めてしまった. まあこのまま放置しても月曜に自動的に口座から引き落とされるので, 今日と明日我慢すればそれで良かったりする. 解約された定期購入契約し直すの面倒だけど…

研究

無. 計画性のない人間なので, 1週間ごとにゼミで成果発表するのしんどすぎる (とはいえ短いスパンでフィードバックが貰えるのは助かっている). 毎日親に勉強しろと言われているような気分になる. 難しい. ゼミに対する心構えが間違ってる気がする.

2019-07-21

研究

明日ゼミがあるので研究をしていた. 先週海の日でゼミが休みだったこともあり, 2週間分の進捗を報告しなければならないのだけど, 朝の時点で進捗は無. 何とか巻き返そうと今日一日研究してたけど, たった1日で2週間分の進捗を出すのは無謀ということが分かっただけだった. 研究は計画的に.

MacBook Air 初期化

最近新しいMacBook Proを買ったので, 前使っていたMacBook Airを家族が使えるよう初期化していた. MacはWindows機と違って初期化時にリッチなブートメニューが出てきて便利ですね (なんとローカライズもされている). 画面みながらポチポチしているだけで何とかなって良かった.

選挙

午前中に候補者調べて午後投票に行ってきた. 今回は投票したくなるような人が候補者の中に居て助かった.

漫画

PrimeDayで20%オフで買ったDr.STONEを読んでいた. 今最新巻の11巻の半分くらいです. 1, 2巻は科学への好奇心唆るような書き方されてたけど, 3巻以降は子供向けのギャグ漫画っぽくなっていてちょっと残念だった. 週刊少年ジャンプの読者層とマッチしなかったのかな… 悲しい…

女子高生の無駄づかい

今期一オススメです.

2019-07-18

事件

とにかく辛い. 悲しい.

僕が最初に事件を知ったのは死亡者が出ているという一報を見た時で, この時はまだ「何か大変なことが起きたんだな」程度にしか考えていなかった. が, その後の続報で次々と被害の大きさが明らかになるにつれ, どんどん胸が苦しくなった. 現場の詳細な状況を聞いた時は本当に辛かった. もう何もやる気が起きないし疲れた. 今はとにかく怪我をされた方が早く元気になることを祈っている.

2019-01-17

日常の些細な困り事探して技術で便利にできないか考えるキャンペーーーーーン

をしている. よく触っている部分が便利になると感動しそう. 絶対感動してみたい気持ちでやっている. あと2018年の振り返りで2019年の目標として掲げていた「最高のWebサービスを作る」を意識しての行動だったりする. 「日常に無くてはならないもの」を作れたらそれは少なくとも自分にとっては最高のWebサービスであるはずなので.

poem.mizdra.net

何かアイデアが浮かんだら個人Slackの #idea もしくはTwitterに書いていき, 後から見返せるようにしておく. できるだけ個人Slackに書いておきたいけどSlack起動遅いしチャンネルの切り替えも遅いしチャンネル開かないとアイデアが目に入らないしで難しい. これ, ハイパー困り事ですね…

今の時点でキャンペーン開始から2週間くらい経過したけど意外と便利にできる困り事見つからないもので, 分かっていたけど難しいねとなっている. スーパーカミオカンデみたいに常にアンテナを張り続けて気長にその時を待つ, みたいな気持ちでいると良さそう.

2019-01-13

緊張感を設定する

GitHubの芝見ると分かるけど, 無気力すぎて去年の6月くらいからコード書く回数減っている. 以前までは何か思い立ったら我武者羅にすぐにコードを書く, みたいなことをしていたのだけど, それをやらなくなったのが6月くらいだった気がする. やらなくなった, というよりはやる気力が中々湧いてこない. やるぞ!!!ウオー!!!バリバリバリーーーー!!!みたいな機会が減ったという感じ.

多分, 緊張感が足りなくなったのが原因なんだろうと思う. 以前は憧れのエンジニアを頭の中に思い浮かべて追いつく気持ちで活動していたのだけど, 4, 5月くらいから意識しなくなった気がする. 憧れのエンジニア, なりたいエンジニア像を設定して自分の能力と比較し, 緊張感を持たせる. そうして気力を引き出していたように思う.

趣味や自分の主張が時間の経過と共に綻び変わりゆくように, なりたいエンジニア像というものも綻びていく. だから適切なタイミングで緊張感, 頭の中の憧れのエンジニアを再設定する必要がある. 恐らくその時期がやってきたということなんだろう. とりあえず頭の中で思い浮かんだ数名を設定しておいたので, これからは緊張感出してやっていきたいですね.

がっこうぐらし!

土曜の話だけど, がっこうぐらし! 11巻を読んだ. こっちは(別の意味で)常に緊張感MAXで良いですね. 巻を追うごとに丈槍由紀さんと恵飛須沢胡桃さんが強くなっていてすごい. 次巻で最終巻らしいが果たしてどう終わるのか…気になる…

がっこうぐらし!  (11) (まんがタイムKR フォワードコミックス)

がっこうぐらし! (11) (まんがタイムKR フォワードコミックス)

ポエム

普段どんなこと考えながらプログラミングをしているか, ずっと整理してみたかったので, 雑にScrapboxに書いてみた.

scrapbox.io

2019-01-05

インタプリタ

今日もせっせと例のインタプリタを作っていた. 取り組んだのは評価器. まだ一部の式のみしか評価できなくて, 代入文やラムダ式は明日以降取り組む予定.

それとインタプリタ作っていて思ったことを言葉にした.

具体的には以下のような問題に遭遇した.

  • 失敗例1: 無の状態からインタプリタを作る際に, ある1つの言語機能 (例えば数値演算) がREPLで評価できるようにlexer, parser, evaluatorを一気に実装する
    • lexer, parser, evaluatorのそれぞれのドメインで必要とされる知識や概念が多くて詰まる
    • そもそもlexerやparserがlexer+parserではなく個々に分けられているのは, 巨大なために分割統治された結果であるから, 分割された領域ごとに取り組んだほうが良い
    • ドメインの依存関係が最初から多すぎるというのも問題
      • lexerだけ作るならlexerに対する依存関係はlexer->tokenくらいだが, parserも実装するとparser->{lexer, token, ast}の依存関係が発生する*1
      • evaluatorも実装するとevaluator->{parser, object, env, ast}が追加される
      • この状態でlexerのAPIを変更するとparserだけでなくevaluatorなども影響を受ける可能性がある
        • それがAPIの仕様変更が頻発する開発の初期段階で発生する
  • 失敗例2: パーサを作る際に「代入文もreturn文も式が使われているし, 式文を先に実装したら楽なのでは?」と考え式文から実装し始める
    • パーサ設計の中で一番難しいのが式のパース
    • 前置演算子と中置演算子の区別, 制御構文(if式, while式, ...), 演算子の優先順位など扱う要素が沢山ある
    • 途中で辛くなってブランチを放棄した
    • 最終的には書籍と同様に式のパース処理をダミーの処理にして代入文やreturn文を先に実装し, パーサのプロトタイプをある程度作ってから式文に取り組む方式に移行した
  • 失敗3: 評価器を作る際に最初から環境 (変数などのランタイムデータを保持するアレ) を考慮したコードを書く
    • 式文の評価だけ行うなら環境は不要 (なはず) なので, 環境を考慮せず式文からやるのが正解

小さいと思ったドメインが大きいとびっくりするし気が滅入ってしまうので, 正確にドメインの大きさを見定めるのは大事. が, よく分かってない分野では見定めるだけの能力を持っていないので失敗しがち. もうちょっとドメインの調査に時間を割いておけば良かったのかなあ. でも無限に調査する時間があったら手を動かしたほうが良い気もする. 上手くバランスを取っていきたい.

*1:厳密に言うとparserはtokenだけ受け取れればlexerに直接依存する必要はないが, lexerとtokenは強い依存関係にあり, そのtokenと間接的に依存しているので候補に上げている

2018-12-30

掃除

年末大掃除をやった.

人間優柔不断がちなので一度に不要なもの全てが捨てられる訳ではなく, 掃除の回数を重ねていって初めて捨てる決断が出来るものが増えていく. ものを捨てるという判断は意外にMPを消費するし, それが沢山行われるとなると1回の掃除で捨てられる数には限度がある. 実際, 1回目は悩んで捨てられなかったものが5回目にしてようやく捨てられるなんてことがザラにあった. 掃除は積み重ねが大事ということですね.

とりあえず自室は攻略完了したけどあんまり家の人が掃除に関心がなくて家中割れ窓だらけなので, 来年以降は掃除範囲を自室以外へと広げていきたい.

ReLIFE

12話まで見て放置していたReLIFEの続きをAmazon Prime Videoで見た. BD&DVDに収録されている地上波未放送の完結編 (14〜17話)もAmazon Prime Videoで配信されていてありがたい. After Storyで追い打ちを掛けてくるのがCLANNADっぽくて優勝でした.

振り返り

毎年大晦日に1年の振り返り記事を書き始めて年内投稿失敗, という芸をやっていたのだけど, 今年の僕は優秀なので勝たせていただきました.

poem.mizdra.net

2019年も宜しくお願いします.