mex

警察は別に好きじゃないんだけど刑事ドラマは結構好き。最近は警視庁捜査一課長やってると観てしまう。熱心なファンではないので食卓についたときにやってたら観るみたいな感じ。たいてい犯人の登場シーンは見逃しているから、クライマックスで犯人がでてきても誰かわからない。だから驚きも爽快感もない。じゃあなんで観ているかというと泥臭い人海戦術でしらみつぶしに手掛かりを捜すシーンが好きだから。様式美があり、あのシーンが出てくるとああもう終わりだなと思う。あと内藤剛志が帰宅して妻とのやりとりの最中(もしくは猫の様子から)、ハッとなにか思いつくのも好き。

アップダウン奏法についての動画みている。こういうのちゃんと意識したことなかった。意識しろよ。近所にスタジオ見つけたので練習します。
ユリイカがレイハラカミ特集をやってたので買って読んでいる。
特集と関係ない「新しい動物文学の誕生」っていう記事が面白かった。大江健三郎の「飼育」、「人間の羊」を引用して、人間を動物のように表現する技法が生み出す効果について紹介している。物語を食べるっていうシリーズで赤坂憲雄って人がやってるらしい。

コンビニを利用しまくっている。夕ご飯以外はコンビニで買ったものを飲み食いしていてほぼコンビニ人間になっている。マネーフォワードを見ると一日2~3回ほど利用していて一度で300~800円くらい使っていた。節約しよう。
とりあえず6月はコンビニの利用回数を減らします。タバコをやめたので抵抗がすくない。一週間くらい続けてみてどれくらい節約できたかチェックしてみます。
  • アイスコーヒやアイスティー、麦茶は作り置きしておく。
  • 朝昼晩はできるだけ作る。朝は喫茶店のモーニングでもよい。
話を変えます。
先日、ファミコン探偵倶楽部 消えた後継者 クリアしました。久々にゲームを頭からケツまでやった。すげー長く感じた。
後半。登場人物が手紙を書くシーンがあるんですが、その手紙を読み上げるセリフに合わせて手紙を書く手が動いたり止まったりしてめっちゃ凝ってんなと感動しました。まぁゲームめっちゃやってる人からしたら当たり前かもしれないですが。あとシナリオも面白い。

Rustの本を読んでいる。トレイトって馴染みないなぁ。
以下は雑なメモ。
RustはGCを持たない。所有権、借用、ライフタイムとプログロミング言語でメモリ管理を行う。
スコープを出た途端に破棄することを言語レベルでサポートしていることです。
ゼロコスト抽象化を追求、抽象化の機能を追加のコストなく使用できる(静的ディスパッチ)。
関連関数は型から関数を呼ぶ形式で定義される関数のこと。

React Hook APIの不満について述べた記事。依存関係が変更されたかどうかを参照でしか比較しないのが不満らしい。個人的には基本型以外をhook内で扱わないようにしています。特定の関心事に集中できていればローカル変数がCustom Hook内で登場してもあまり気にならない...と思うけど、続きの記事を読んでいくにつれて何を問題としているのかよくわからなくなってきた。
続きの記事
正直、現状のReact Hook APIにはかなり満足していて記事で述べられている問題点に関してはあまり意識できない。ただこれは自分がプログラミングパラダイムへの理解が浅いことにあるかもしれない。のでその辺勉強しようと思います。

最近読んだ本。マインドフルネス系の書籍はいままで忌避していたんですが、そろそろ三十路になるし食わず嫌い減らしたいなと思って手を出した。Kindle Unlimitedだったし......。
ブッダの言葉みたいなくだりはへぇ〜だったけど、かるい瞑想のやり方みたいなのも書いてありそれがとてもよかった。本書は欲望は人間の業からくる妄想と定義していて行動する前に心を整理しましょうねぇ、最近はコンプレックスや競争心、承認欲求が刺激される機会が多いですけど全部それあなたの妄想ですよねぇみたいな感じです。
社会人になりたてくらいの頃、誕生日に母親からアドラー心理学の本を5、6冊送られたことがあって当時はまぁげんなりしつつ読んでたんですが、アドラー心理学は我慢せずに辛い現状から逃げようぜ!みたいな感じなので、マインドフルネス系の書籍はなんか本当に読む人の現状によって評価変わるなと思いました。
次は意識高めの自己啓発系ビジネス書でも読むか、世界のエリートはなんちゃら〜みたいな本。
 

Blender全然やらんからとりあえずやってみたいチュートリアルをピックアップして年内にやるみたいな感じにするか。やる気がないな本当に。

ducks module patternのいいところはめちゃくちゃ単純でわかりやすいっていうのにある。弊社のアプリケーションでも採用していてまぁうまくいっている。redux-toolkitのcreateSlice関数同様、ポータブルに扱えるのは機能を優先できるので重宝されるのだと思う。
気になるところをあげるとするならば、あまりにもわかりやすくて簡単なので本来propsで渡せばいいのにわざわざstoreを経由していたり、ReactのContext APIで解決できるシーンでstoreをつかって結果としてContext APIを使うためのノウハウなんかが身につかないとかです。前者はレビューで指摘すればいいし、後者はContext API使うのを諦めたらいい。
Context APIは使用するコンポーネント(Consumer)を明示的に制限できるのが利点。これreduxのstoreに置くのは大袈裟だよな〜っていうstateを管理するのに使えるんですが、結構考慮することが多くて、弊社のアーキテクト的な人もあんまり理解できていないと思う。
余談ですが、Context API vs Reduxみたいな記事でContext APIは簡単!ProviderとuseContextわかれば使える!ってたまに見かけるんですが、前述のとおりContext APIをreduxのように使うのはいろいろと考慮が必要なのであれは嘘です。

去年くらいからBlenderで3DCGをやっています。やったりやらなかったりしています。まぁ当然門外漢なので理解が及ばないところが多くて手が詰まりがちになるし、他にもやることがあるのでなんともいえない感じになっている。
3DCGを始めた目的は自分が音楽を作るにあたって良さげなアートワークが欲しいと思ったからなので、それを基にゴールを決めておく。
  1. ぱっと見リアルな建物を作れるようになる
  1. ぱっと見リアルな機械?っぽいものを作れるようになる
  1. 四角とか球体とかをモチーフにしない
 

田村正和が亡くなってショックです。大学生のころに古畑任三郎シリーズを全部観てめちゃくちゃおもろかった。
 
コードインタビューというものを知った。一行ごとにどのような目的でこのコードを書いたのか、説明を求められるらしい。本来はコーディング試験で行うらしいが、自分のコードを人に質問する際にこれを意識しておこうと思う。
 
Angular開発者からReactを使ってみた感想記事。これを見るとReactはやはりフレームワークではなくてライブラリなのだなと思う。ディレクトリ構成に悩むところとか、学習曲線が小さいところとか。ルーティングなんかはNext.js使ってればいいとは思う。
コンポーネントの粒度を細かくしようとすると途端に難しくなる。Atomic Designを使うにしてもちょっと工夫しないと難しそう。そもそもAtomic DesignをReactで使うとなるとcssは使えないのでデザイナーさんとの調整をしないといけない(css modulesを使えばいいのか?)。
 
Redux ToolKitを実は一度も使ったことがない。user guideを軽くさらってみたら非同期処理はMiddlewareに任せる(redux-thunkを使ってる)らしいとかしかわからなかった。createSlice関数とかはいまいちよくわからん。というかhookでいいんじゃんかなぁ。なんかアプリケーション作るか。
 
幽霊屋敷の恐怖 血を吸う人形を観ながらいろいろ作業している。この時代のホラー邦画の音楽はドローンっぽくていいですね。吸血鬼?役の女性はウルトラマンセブンにも出演してたりするらしい。
 

Bandcamp Fridayの日本人アーティスト特集を聴いています。Satomimagae、Mikazuki Bigwaveが登場していて嬉しい。あと一番最初に載っているeffe、初めて聴いたけどかっこいい。
Bandcamp Friday自体は多分5月7日で終わりだったらしい。まぁあんまり気にせずに購入していたけれどまた再開したら嬉しい。Bandcamp偉大だわ。
 
話変えます。これ今日知って衝撃だった。
こっちは日本語
この辺はマジでちゃんと調べてなかったので次から気をつけます。Reactの公式ドキュメントもっとちゃんと読もう。
差分検出処理 - React
React は、各更新で実際に何が変更されるべきかを人間が心配する必要がないように、宣言型の API を提供しています。これによりアプリケーションの作成が大幅に容易になるわけですが、React の中でこの処理がどのように実装されているのかはよく分からないかもしれません。この章では React の "差分" アルゴリズムについて、コンポーネントの更新を予測可能なものとしながら、ハイパフォーマンスなアプリケーションの要求を満たす速度を得られるように、私たちが行った選択について説明します。 React を使う際、 render() 関数をある時点の React 要素のツリーを作成するものとして考えることができます。次回の state や props の更新時には、 render() 関数は React 要素の別のツリーを返します。React はそこから直近のツリーに合致させるように効率よく UI を更新する方法を見つけ出す必要があります。 あるツリーを別のものに変換するための最小限の操作を求めるというアルゴリズム問題については、いくつかの一般的な解決方法が存在しています。しかし、 最新のアルゴリズムでもツリーの要素数を n として O(n 3) ほどの計算量があります。 React でそのアルゴリズムを使った場合、1000 個の要素を表示するのに 10 億といったレベルの比較が必要となります。これではあまりに計算コストが高すぎます。代わりに、React は 2 つの仮定に基づくことで、ある程度近い結果を得ることができる O(n) ほどの計算量のアルゴリズムを実装しています。 異なる型の 2 つの要素は異なるツリーを生成する。 開発者は key プロパティを与えることで、異なるレンダー間でどの子要素が変化しない可能性があるのかについてヒントを出すことができる。 実際に、これらの仮定はほとんど全ての実践的なユースケースで有効です。
差分検出処理 - React
 

こういった文章を読むたびに音楽家は音楽を過大評価しすぎなのではと思ってしまう。音楽が単なるエンターテイメントコンテンツとしての振る舞いを求められる場面は多々あり、ストリートピアノもその一つで公園に置かれた遊具と変わらないと個人的には思っている。本来、駅はホームレスに庇を貸すための施設ではなく、駅を利用している人間の大多数はホームレスではない。大多数に向けてのサービスを展開されるたびに毎回毎回ホームレスへの配慮を求めるようになると結果的に駅構内からのホームレス排除につながるのでは。客ではないので。
まぁ実際のところ馬車道駅は去年の夏頃から「周辺住民の苦情」を基に駅構内にホームレス排除の張り紙なんかをしているみたいなので、駅とかストリートピアノとか関係なくてそういう地域性なんだと思います。
 

昨日の夜から愛知県に来ています。友人宅からこの日記を書いている。昨晩は土曜ロードショーのタイタニック(前編)を見つつ酒を飲んで終わった。
今朝は近所の喫茶店にモーニングを食べにいきました。小倉トーストは食わず、バターが塗られた普通のトーストを食べました。あとなぜか茶碗蒸しも付いてきた。喫茶店に分煙は存在していなかったが、コロナウイルス対策で入り口のドアも窓もすべて開放していて煙はあまり気にならなかった。壁紙は天井に近づくほど分厚く黄ばんでいて趣がありました。
隣席の高齢者は昔はこんな集まれるとこなかったからいいわよねぇ犬山は名古屋で勤めている人たちには人気なんですみたいな話をしていて、前の席の高齢者はコロナウイルスワクチン接種の予約をガラケーでしていた。隅の席で陣取るヤンキーっぽい感じのお兄ちゃんたちはタバコ片手にソシャゲの話で盛り上がっていて、なんかメデューサがどうとか灼熱で森を焼くとかマーマンをゾンビでぶっ倒したと大声で喋っていた。盛り上がりすぎて店員のお婆さんが若干機嫌悪くなってました。
今、自分は昼寝から起き、友人は二日酔いでダウンしていました。そろそろ名古屋に向かおうと思います。

昔広告で見かけた性欲の強い坊主のレディースコミック。読んだことはないけど広告だけ印象に残っている。ふとした時に思い出してなんだったかな〜となってしまうのでここにリンクを貼っておく。
 

スクラムについていろいろな悩みを聞いたりしている。弊社ではスクラムをやっているわけではないので聞くだけ。スクラムとは,なぜスクラムをやるのか、スクラムが有効なシーン、スクラムが力を発揮しないシーン。そもそもリリース日がビジネスサイドで固定された場合、スクラムは使えるのか?ウォーターフォールなのでは?ウォーターフォールではスクラムは機能しないのか?
 

GWが始まった。今年もまぁだらだら過ごしていつの間にか終わってるみたいな感じだろうと思っていたが、結構セッションや遊びの予定が入った。ありがたいことですね。
去年はどう過ごしていたのかなと日記を振り返ってみたけれど記録してないし、カレンダーにもジム以外の予定は入っていなかったので本当に何もしていなかったらしい。一回目の緊急事態宣言中だったと思うしそうですね。
ここ最近、仕事以外ではまったくコードを書いていない。これは意識して書かないようにしていて、仕事中にキャッチアップする時間を作ってやっている。これは多分いい傾向だと思っている。まぁやりたくなったらやると思います。

Bluetile Loungeがデモを一曲bandcampで発表していた。このまま活動を続け2ndも再発して欲しい。
先ほど見つけたいいバンド。しかしもう解散していそう。人生にはこういったことが多すぎないか。
最近、日本語歌詞のスロウコアを聴いてみたくて探しています。さっぱり見つかりません。日本のスロウコアバンドです!って明言しているバンドがそもそもなかなかいない。ようやく一つ見つけたと思ったらEnglishで歌っていた。どうもSSWとかエモに全部括られているのではと思っていますが。
 

FLoCとかサードパーティクッキーについて調べた。
サードパーティクッキーは、ユーザが閲覧するつもりのないサーバから発行されたクッキーのこと。
例えば、訪問したウェブサイトAがサーバXから画像などのリソースをとってくるようブラウザに指示すると、ブラウザとサーバX間で通信が発生し、サーバXからブラウザへクッキーを発行することができる。この時、サーバXから発行されたクッキーはユーザが閲覧するつもりのないサーバ(ウェブサイト)から発行されたクッキーため、サードパーティクッキーと呼ばれる。
ウェブサイトAを配信しているサーバから発行されたクッキーはユーザが意図して閲覧したウェブサイトなのでファーストパーティクッキーと呼ばれる。
サードパーティクッキーの問題点としては、複数サイトからCookieを付与することでユーザの行動履歴を把握できてしまうこと。例えば、サーバXからウェブサイトA、B、C、Dへサードパーティクッキーを発行していた場合、クッキーの有無で「Aを見た後、C、その後にDを見た」といった形でサーバXは判断できてしまうので、プライバシーリスクがある。
このサードパーティクッキーの仕組みはSafariやFirefoxはデフォルトではブロックされていて、サポートしているのはChromeだけ、それも2022年で終わりみたいです。まぁここまではなんとなく知っていた話。
そんな2020年で終わるサードパーティクッキーの代わりにGoogleが開発しているのがFLoC。
FLoCはFederated Learning of Cohortsの略称で直訳するとコホートの連合学習。
難しいのでどのようなシステムかは以下の記事から引用する。
FLoCを有効にしたブラウザは、ユーザの閲覧習慣に関する情報を収集し、その情報からユーザを「コホート」またはグループに割り当てる。似たような閲覧習慣を持つユーザは「似たような」という定義に沿って同じコホートにグループ化される。各ユーザのブラウザは、どのグループに属しているかを示すコホートIDをウェブサイトや広告主と共有する。この提案によると、少なくとも数千人のユーザが各コホートに所属することになる(が、そのように保証されているわけではない)。
このFLoCも新たなプライバシーリスクをもたらすとして批判されている。どのようなリスクがあるかは説明できる気がしない。上の記事が詳しいのでそちらを参照。まあでもユーザの大規模監視が必要になる可能性が高いらしく、一種のディストピア感がする
 
引用記事以外の参考
サードパーティークッキー
FLoC