数式をpeggedで構文木生成
文法:
Arithmetic:
Term < Factor (Add / Sub)*
Add < "+" Factor
Sub < "-" Factor
Factor < Primary (Mul / Div)*
Mul < "*" Primary
Div < "/" Primary
Primary < Parens / Neg / Pos / Number / Variable
Parens < "(" Term ")"
Neg < "-" Primary
Pos < "+" Primary
Number < ~([0-9]+)
Variable <- identifier
数式
1 + 2 - (3*x-5)*6
生成結果:
Arithmetic("1 + 2 - (3*x-5)*6").writeln;
=>
Arithmetic [0, 17]["1", "+", "2", "-", "(", "3", "*", "x", "-", "5", ")", "*", "6"]
+-Arithmetic.Term [0, 17]["1", "+", "2", "-", "(", "3", "*", "x", "-", "5", ")", "*", "6"]
+-Arithmetic.Factor [0, 2]["1"]
| +-Arithmetic.Primary [0, 2]["1"]
| +-Arithmetic.Number [0, 2]["1"]
+-Arithmetic.Add [2, 6]["+", "2"]
| +-Arithmetic.Factor [4, 6]["2"]
| +-Arithmetic.Primary [4, 6]["2"]
| +-Arithmetic.Number [4, 6]["2"]
+-Arithmetic.Sub [6, 17]["-", "(", "3", "*", "x", "-", "5", ")", "*", "6"]
+-Arithmetic.Factor [8, 17]["(", "3", "*", "x", "-", "5", ")", "*", "6"]
+-Arithmetic.Primary [8, 15]["(", "3", "*", "x", "-", "5", ")"]
| +-Arithmetic.Parens [8, 15]["(", "3", "*", "x", "-", "5", ")"]
| +-Arithmetic.Term [9, 14]["3", "*", "x", "-", "5"]
| +-Arithmetic.Factor [9, 12]["3", "*", "x"]
| | +-Arithmetic.Primary [9, 10]["3"]
| | | +-Arithmetic.Number [9, 10]["3"]
| | +-Arithmetic.Mul [10, 12]["*", "x"]
| | +-Arithmetic.Primary [11, 12]["x"]
| | +-Arithmetic.Variable [11, 12]["x"]
| +-Arithmetic.Sub [12, 14]["-", "5"]
| +-Arithmetic.Factor [13, 14]["5"]
| +-Arithmetic.Primary [13, 14]["5"]
| +-Arithmetic.Number [13, 14]["5"]
+-Arithmetic.Mul [15, 17]["*", "6"]
+-Arithmetic.Primary [16, 17]["6"]
+-Arithmetic.Number [16, 17]["6"]
pegged調査
2020年8月26日
8:00 起床
8:30 朝食 ヨーロピアンシュガーコーン 130kcal
9:00 業務開始
12:00 昼食 スパゲッティ 650kcal
15:00 睡眠 1.5時間
19:00 夕食 焼肉定食(ごはん: 200kcal, カルビ: 400kcal, ホルモン: 300kcal) 900kcal
19:30 散歩 60分
20:00 間食 ポテサラ:250kcal ヨーロピアンシュガーコーン:130kcal
総カロリー
130+650+900+250+130 = 2060 kcal
あれ
思い返せば最近は、公私ともに活動のしすぎだった
何かに追い立てられるような気持があった
アクセルが0と1になっていて、全力で何かをするか、寝るかのどちらかになっていた
何なら寝るのにすら効率を求めていた
もう少し速度を落としていきたい
あれ
仕事進んでないなーやばいなーという気持ちはあるけども、数年もたてば仕事の成果は芥も同然なので、将来の健康のためだったと開き直っていきたい
無気力感
あれ
2020年8月25日
2020年8月23日
2:00 就寝
10:00 起床
10:30 朝食 ヨーロピアンシュガーコーン 130kcal
10:40 コーヒー
12:00 昼食 唐揚げの甘酢あんかけ 350kcal
15:00 枝豆 300kcal
16:00 睡眠 1時間
18:00 カレー 400kcal
19:00 散歩 1.5時間
21:20 間食 MOW 210kcal
総カロリー
130+350+300+400+210=1390kcal
唐揚げの甘酢あんかけ
冷凍の唐揚げ(4個)を素体に作る
多分350kcalぐらい
材料
- 唐揚げ 4個
- 玉ねぎ 半個
- 砂糖 適当
- 酢 適当
- 醤油 少な目
- ポン酢 わずかに
- 片栗粉 適当
2020年8月22日
1:00 就寝
7:00 起床
7:30 朝食 カステラ 500kcal
8:00 散歩 15分
8:30 作業 pegged調査
12:00 昼食 カレー 400kcal
18:00 夕食 スパゲッティ 550kcal 唐揚げの甘酢あんかけ 350kcal
21:00 室内運動 15分
間食
ヨーグルト 80kcal
アイス 132 kcal
枝豆 60kcal
コーンポタージュ 100kcal
総カロリー: 2172kcal
ScrapboxのデータをObsidianに移植
あれ
昼の13:00~20:00はどうも集中力が落ちる
生活や体調を整えるように時間を使いたい
散歩、細かい作業、家事、昼寝などに充てられると良い
次の日の午前の集中力を高めるようにする
2020年8月20日
8:00 起床
8:15 朝食 菓子パン
8:20 コーヒー
8:30 散歩 10分
9:00 業務 3時間
12:00 昼食 蕎麦
13:00 業務
16:00 散歩 45分
17:00 間食 枝豆
19:00 夕食 唐揚げ4個 ゴマ団子2個 コーンスープ
21:00 業務
2020年8月15日
2:00 就寝
9:00 起床
9:30 朝食 メロンパン
10:00 業務
12:00 睡眠 30分
13:00 業務
14:00 間食 こんにゃくゼリー4個
18:00 間食 こんにゃくゼリー2個
19:00 夕食 スパゲッティ
20:00 散歩1時間
21:00 間食 アイス ソーセージ3本
2020年8月12日
1:30 就寝
8:00 起床
8:15 朝ごはん 菓子パン×2 700kcalぐらい
9:00 出社
9:45 業務
12:00 昼食 イカフライ定食 1100kcalぐらい 食べ過ぎた
13:00 業務
17:00 退社
17:45 帰宅
20:00 散歩 30分
20:30 夕食 炊き込みご飯1膳、ミートボール1パック、ピーマン2個 400kcalぐらい
21:30 入浴
2020年8月1日
7:30 起床、ゴミ出し
8:00 朝食 菓子パン
9:00 荷物受け取り
9:30 PCの電源交換
10:21 PC復旧
12:15 昼食 コーンポタージュ
あれ
PC修理
事象: PCが起動しなくなる。BIOSのロゴも表示されない。電源から異音。カタカタと音がする。
対応: ケースファン交換、電源交換
結果: 修理完了
備考:
原因は電源ではなく、HDMIケーブルの差し間違いと思われる。GPUではなくマザーボードにHDMIケーブルを指していた。
交換前の電源は9年使ったため、故障していなくとも交換は妥当。カタカタ音がなくなったため快適になった。
カタカタ音はケースファンが原因かと思い交換したが、実際は電源から音がしていた。
2020年7月25日
1:30 就寝
10:00 起床
11:15 コーヒー
11:21 昼食 カレー
11:28 実装開始
12:59 実装完了
13:00 メモを残す
✅デライトの編集領域を勝手に広げてみる
デライトの編集領域を勝手に広げるウェブエクステンションのコード
実装完了
13:15 休憩
14:00 Workflowyをサイドバーに表示するアドオンを実装開始
15:30 Githubにアップロード、Firefoxのアドオンサイトに登録、メモを残す
16:00 休憩
17:00 夕食 カレー
18:06 散歩
18:50 帰宅
20:00 入浴
20:30 サバゲ準備
22:11 サバゲ準備完了
あれ
目が疲れてきた。一日中ずっと引きこもってパソコンを触っている。ちょっと外出したほうが良さそう。雨降ってるので外出は中止。
✅デライトの編集領域を勝手に広げてみる
デライトに書くりもScrapboxに書く方が心理的に軽い。デライトの編集領域は狭い
Stylusだけだと無理っぽい
html - Is there a way to get a textarea to stretch to fit its content without using PHP or JavaScript? - Stack Overflow
>Not really. This is normally done using javascript.
>there is a good discussion of ways of doing this here...
>Autosizing textarea using Prototype
Javascriptを実行できるWebExtensionを探す
→自前のWebExtensionを作ってやってしまう
セキュリティ的に怖い && プログラミングがしたい
デライトの編集領域を勝手に広げるウェブエクステンションのコード
let debug = false; debugLog = debug ? console.log.bind(null, "DEBUG: ") : ()=>{}; document.addEventListener("keydown", (event)=>{ let textareaArray = Array.from(document.querySelectorAll("textarea")); debugLog("on keydown"); textareaArray.map(textarea=>{ textarea.style.height = ""; textarea.style.height = textarea.scrollHeight + "px"; debugLog("change textarea heigth=>",textarea.style.height); }) }, false);</>
2020年7月24日
2:30 就寝
9:00 起床
10:00 朝食 バナナ2本
10:15 コーヒー
10:20 AndroidのWidget上でWebViewを表示する方法を調査→https://scrapbox.io/t-Impression/WebViewをAndroidのウィジェットで表示する方法
13:00 買い物
13:20 ボンじり半パック、スイカバー
15:30 ボンじり半パック
16:00 就寝
17:30 起床
18:30 カレー
2020年7月22日
1:30 就寝
7:30 起床
7:45 散歩 15分
8:00 朝食 おにぎり2個、ファミチキ
8:10 コーヒー
8:15 作業: 作業書き出し
8:40 コーヒー
8:45 作業: 調査
9:15 休憩15分
9:25 コーヒー
9:30 作業: 調査
11:20 休憩。集中力がなくなってきた。本格的に休む。昼ごはんにしよう。チヂミを作って食べる。
11:50 昼食: 玉ねぎ炒め。チヂミ作るのに失敗した。久々に中華鍋使ったら油を入れ忘れて盛大にくっついた。味も濃過ぎる。次回作るときは醤油を減らすか具を増やす。一食の塩分としてはこんなもん。
12:11 散歩 に行ってこよう。ちょうど晴れてる。ついでにBookOFF行ってこよう。いらない本を売る。買うための場所を確保したい。→BookOFFは夕方病院に行った後にする。めんどくさくなった.
12:46 散歩から帰宅。35分の散歩。湿度が高い。平日の雨上がりで人が少ないのは快適だった。帰りにアイスクロワッサンを買ってきたので食べる。
12:53 午後になってやる気がなくなってしまった。午後から別の作業に切り替える。
13:00 作業 事務作業
13:57 休憩
14:07 作業 事務作業。
14:25 休憩。集中力がなくなってきた。
16:50 外出
18:00 ラーメン 天下一品
18:30 BOOKOFFで本を売る。買う本も探したがよい本が見つからなかった
19:00 帰宅
20:00 入浴
21:00 デライトからScrapboxへ転記するスクリプトのジェネレータの作業を少しする
休憩のたびに背中のストレッチをした。背中に痛みがある。背中のストレッチをすると頭がすっきりする。背中の筋肉で血流が阻害されている可能性がある。
2020年7月21日作業記録
9:30 システム構築に使う技術を検討
10:00 休憩
10:05 システム構成図作成。技術調査の地図として使用する
10:30 デブサミ2020Summer視聴開始
10:30 システム構成図へコメント付記完了。検証すべきことが明らかになった。これで1歩づつ進められる。
11:00 構成要素を一つ検証→完了
11:30 タスクのキャンセルマークを検討。🚫を使うことに決定
16:00 今週分の進捗報告ができるところまで進められたと思う。報告ができるように準備しておく。業務としてこれ以上進めるべきか悩む。期待値を上げたくない。
17:00 疲れた。作業にならなくなってきている。休憩する。晩ご飯食べに行く
18:30 帰宅。汗でべとつく。夏らしい気候になってきた。
18:35 作業再開。業務は終わり。デライトからScrapboxへ転記するスクリプトのジェネレータの作業をやる
19:55 作業終了。デライトからScrapboxへ転記するスクリプトのジェネレータの作業をやった。集中して作業ができた。気持ちの良い開発だった。