bouzuya.hatenablog.com

ぼうずやのにっき

『習慣の力』を読んだ

『習慣の力』を読んだ。

風が吹けば桶屋が儲かる」的な例で信用できない。習慣はきっかけ・ルーチン・報酬からなるらしい。ルーチンは入れ替えることができて習慣は変えられるらしい。習慣化しているものを改変する形は確かに定着しやすい気はする。気はする。


今日のコミット。

bouzuya.hatenablog.com > blog.bouzuya.net

bouzuya.hatenablog.com は blog.bouzuya.net をミラーでしかない。ただ bouzuya.hatenablog.com のほうが blog.bouzuya.net より長く存在している。

blog.bouzuya.net は 2012-02-16 https://blog.bouzuya.net/2012/02/16/ から。

bouzuya.hatenablog.com は 2011-12-30 https://bouzuya.hatenablog.com/entry/2011/12/30/082541 から。

それ以前ははてなダイアリーで 2010-06-04 https://bouzuya.hatenadiary.org/entry/20100604/1275652738 から。 URL は自動移行されたもののはず。

それより前のものは非公開にしている。


今日のコミット。

include_str! を知った

include_str! を知った https://doc.rust-lang.org/std/macro.include_str.html

相対パスを指定してそのファイルを文字列としてコンパイル時に埋め込む。

これを使って SQL を別ファイルにしてみた。 https://github.com/bouzuya/rust-sandbox/commit/800ea2b9573039176f047f584df60a9ddab2a68finclude_str! の使用箇所が折りたたまれてしまうけど。

sqlx::query! を使って SQL のチェックなどをすべきな気もするけど SQL のみのファイルだとフォーマッタが期待通りに動くなどいろいろ嬉しい。


今日のコミット。

2021-W28 ふりかえり

2021-W28 をふりかえる。

2021-W28 の目標 とその記事

目標。

  • ☑ tags に期間指定を追加する
  • ☑ リングフィットアドベンチャーの 2 周目を終える
  • ☐ blog.bouzuya.net とはてなブログを同期する

記事。

つくったもの

よんだもの

(なし)

みたもの

(なし)

その他

勉強会。

(なし)

おでかけ。

  • 川で涼んだ

ゲーム。

買い物。

(なし)

体調。

(なし)

育児。

  • 上の子は川で遊んでいた
  • 下の子は紙をぼろぼろにして遊んでいた

2021-W26 は育児休業が終わった。 PAST #7 に参加した。 2021-W27 は競プロ典型 90 問が終わった。週 5 日出勤した。 2021-W28 はどうだったか。

リングフィットアドベンチャーの 2 周目が終わった (2021-07-12) 。待機ターンが 0 威力が攻撃範囲ごと一定になった。すべてのレベル III のウェア・チカラドリンク・マモリドリンクを買えるようになった。レベル III のウェアは攻撃力・防御力が一定になった。特殊効果と見た目で選べる。あとはコンプリートと 3 周目クリアを目指して進めるのみだ。

体操は続けている。早寝早起きは先週 (2021-07-11) から改善できていない。

rust365 (2021-05-14) は bouzuya/rust-sandbox の bbn と tags を更新した。 tags は crates:git2 を使って高速化した。もともとは絞り込み条件を指定できるようにして高速化するつもりだったけど不要になった。 bbn は blog.bouzuya.net と bouzuya.hatenablog.com の同期をとろうとした。約 550 件ほど対応関係のうまく取れないところが残っている。あとは実装の粗い箇所を直している。

仕事はまだリハビリの途中という感じがある。淡々と続けている。

2021-W29 の目標

blog.bouzuya.net と bouzuya.hatenablog.com の同期の進捗

bouzuya/rust-sandbox の bbn コマンドを使って https://blog.bouzuya.net/https://bouzuya.hatenablog.com/ を部分的に同期した。

きちんと数えていないが 2000 記事くらい修正していそう。

主な差分は次の通り。

  • blog.bouzuya.net の http -> https の移行によるもの
  • [ ] -> の移行によるもの
  • リンク切れの修正
  • 追記

あと 567 件ある。何件か見たところ pubdate と update が一致していないので対応関係が取れていない状態になっている。明日でなんとかして同期を終えたい。


今日のコミット。

凍らせたみかんの缶詰を食べている

凍らせたみかんの缶詰を食べている。 2019-08-062017-07-21 にも書いている。もうずっと夏になると食べている。今年からは子どもも食べている。


今日のコミット。

git2 crate で tag を操作してみた

bouzuya/rust-sandbox の tags/0.2.0 をつくった。

git を実行していたのを crates:git2 を使って直接ファイルを読むことで高速化した。日付などの検索条件をつけようかと思っていたけど当面はこれで良さそうだ。

いまのところ↓のような形になっている。

  • tag の reference を得る
  • 参照先の object を得る
  • tag object なら更にその先を得る
  • commit object なら Ok, そうでなければ Err
  • commit の日付を得る
  • commit の日付の昇順に tag name を並べる

ひとつ詰まったのは tag の target がいつも commit object とは限らないこと。間に tag object が挟まっていることがある。どうもメッセージなどのデータをつけたときは tag object が挟まるらしい。

Twitter で聞いてみたら返信をもらった。

git のtagは内部的には2種類あり.git/refs/tags配下にあるオブジェクト名を格納したファイル(ref)とオブジェクトDBに格納されるタグオブジェクトです。 アノテーションタグを作るとタグオブジェクトが作られ ref のタグはそのタグオブジェクトを指す一方、普通のタグはコミットを直接指します

https://twitter.com/ktateish/status/1415478933760270338

refの方のタグが指す先は実はオブジェクトなら何でもよく、blob (普通のファイルコンテンツ)や tree を指すこともできます。メンテナのGPG pubkeyをtagでソースツリーとは独立して格納しているプロジェクトもごくごく稀に見かけることがあります。

https://twitter.com/ktateish/status/1415479302657765377


今日のコミット。