hitode909の日記

以前はプログラミング日記でしたが、今は子育て日記です

季節の変わり目で家庭内の体調はいまいちなのだけど、妻がハロプロコンサートのチケットを取っていたので河口湖あたりまで出かけた。
河口湖ステラシアターという会場で、半分屋外のコンクリート製の劇場で、入口でおじさんがサウナで使うようなウレタンの座布団を配っていた。
コンサート会場を設計しよう、というときに、座席はコンクリートとして簡易クッションを配りましょう、と決めるのは勇気ある決断だ、と思っておもしろかった。
実際に、ファンたちは立ち見なので、座布団は、ほぼ使われていない。

河口湖付近は、京都と比べるとマイナス5度くらいで、山から常に風が吹いていて気持ち良い空間だった。別荘地として人気になるのもわかる。
その点で、京都に遊びに来る人というのは心地よさに対する感覚が鈍いと言える。

合意形成について。
リーダーシップを発揮したら話を進めることができるけど、勝手に決めちゃうと、リーダーが決めてるだけじゃん、となってしまう。
一方で、全員で決めようとすると、全員の話を聞いて回っているだけで、べつにリーダーじゃなくない?と思う。
えいっと決めたとしても、こんなのに決めてしまったんですけど、どう思います?って結局、全員にヒアリングに回るので、先に聞いて回るか、あとで聞いて回るか、という違いなだけにも見える。
会社で暮らしていると、決まっていること、の価値が高くて、それ以外の、醸成された空気、みたいなものは評価しづらい。
「決まってはいないけど、みんなこんな気分になっています」みたいなものは会社のプロセスには入りづらい気がする。
決まっていたら従う、とか、決まったルールに沿って動いているか、といった機械的なチェックが好まれている、というか、そうでないと複数名で活動しようというときに扱いづらいのだと思う。
人事評価とかで、「なにひとつ定まったものはありませんが、なんとなくみんなの気分は揃っていると感じます」と言っても評価されづらいと思うけど、そのような状態になっていたら、なにか新しいことを始めようというときに、みながおなじ気分になっていたら、話が早いと思う。
こういう気分になろう、というときに、リモートワークだとやりづらい。
オンラインMTGって直訳したら会うだけだけど、ミーティングには目的が設定されていて、これこれについて決める、ということになりがち。気分を整える、みたいな目的の会議は設定しづらい。
会えていたら、説明しづらいけど、同じ釜の飯を食ってるので、ということで、誰がどんな感じになっているかは察することができる。

全然、合意形成の話じゃなくなったけど、こうことを最近よく考えている。

8月に群馬で開催される保育の勉強会に行こうかと検討しているけど、さまざまな課題がある。

  • 京都からの移動手段
    • 新幹線(4時間7分)
      • 子が暴れるのが嫌
      • 自由席に座れるかが鍵
      • 18900円 x 2 x 2 = 往復8万円くらい
      • 土曜の朝から行けば、先生たちと一緒に移動できる
    • 車(6時間25分)
      • (高速代7400円+軽油代3000円) x 2 = 往復2万円くらい
      • 1泊2日で、そのうち13時間車に座っているのはちょっと厳しすぎ?
  • 会場での過ごし方
    • 保育がないので、子が飽きてきたら、片方がプログラムに参加、もう片方は会場近辺をふらふらすることになる
      • 公園とか、科学館とかはある
    • 移動手段によって、どこまで行けるかに差がある
  • 会社の飲み会
    • 前日夜に飲み会があるので、そこで全力で飲むと移動が困難になるおそれ
  • 他の予定
    • 温泉めぐりなど、他の予定とくっつけるのはどうか
      • これも移動手段が課題で、高崎から草津温泉までは車で1.5時間など、群馬のスケール感を感じる
      • 現地でタイムズカーシェア→1万円くらい
        • 最近はジュニアシートが搭載されてないらしい
      • レンタカー→2万円くらい
        • これで草津温泉に行けるならありな気がする。あるいは2日目の午後からちょっと夜とか
      • 電車移動→2時間半かかる…
    • お出かけ情報雑誌を眺めてたら、各地の温泉がおすすめされているけど、温泉は山奥。勉強会は高崎で、距離が大きい
  • 宿泊施設
    • 調べたらコンテナに泊まるような施設しか予算の条件に合うものがない
    • なにも準備してないけど先生方もまだ準備されてないらしい

なぜ行きたいかというと、普段から保育の手法とか、先生方がどういうことを考えられているかって気にはなっていて、また、保育園に通うのもあと1.5年なので、参加するとしたら今年か来年のみ、ということ。
ただ、群馬へのアクセスが悪いのが課題。飛行機で北海道、とかなら、もっと楽しみにして行けるかもしれない。

朝、トマトと卵の炒め物を作った。
ウー・ウェンさんの本に出ていたレシピによると、炒めてから塩をまぶすと食材から水分が抜けないらしい。
卵→トマト→塩→水溶き片栗粉、の順。本では、胡椒とニンニクを入れていたけど、子が食べるかと思って入れなかった。
でも子はトマト嫌いと言って食べなかったので、胡椒とニンニクは入れたら良かったと思う。


いい感じにできたので写真を撮っておこうと思って、撮影するときに、食卓の照明を消して、太陽光で撮ったら自然な色で撮れた。
これは、先日読んだ写真の本に、「照明の色が複数混ざると変な色になるので、日中は照明を消して撮るのが良い」と書かれていたアドバイスを実践している。


電球色の照明をつけるとこうなる。


炒め物を作ってから写真を撮る、というだけで参考文献が2冊発生していておもしろいと思う。
文化的な生活をしているかどうかの観点に、参照している本が何冊あるか、という数値がありそう。
本の受け売りじゃん、という突っ込みがありそうだけど、やってみて、どうだったか考えるのが重要と思う。
ちなみに本のアドバイスからは、スマホに転送して眺めたいので、RAWで撮りましょう、というアドバイスは実践できていない。

子が発熱していて家にいた。
昼ご飯のあとにブタメンを食べる、と言いだして、さっきご飯食べたところなのだから、今はちょっとやめて、とか言っていたのだけど、自分でフタをあけて水をかけて食べようとしていた。
食べてほしくないスタンスは変わらないものの、食べないにしても水をかけて食べないだけってもったいなすぎるし、水をかけても食べれないのでこのままほうっておくとより事態が悪化する、と思って、お湯を注いであげた。
共有のリソースに不可逆な変更をして、元に戻れない段階まで進めると、相手は手伝うしかない、という、交渉術。

ページにもともと読み込まれているCSS由来のスタイルを打ち消して、しがらみのない開発をするのにall:unset, all:revertを使えそう

長年開発を続けているページでは、Bootstrapなど、ページ自体のスタイルを丸ごと上書きしてしまうCSSライブラリが読み込まれていることがある。
一方、最近はReactコンポーネントを作って、スタイルはCSS Modulesで当てたい、という機会が増えている。
CSS Modulesを使うと、コンポーネントに適用スタイルを明示的に指定することができるが、そこにページ丸ごと上書きCSSライブラリが混ざってくると、思うようにスタイルが当たらない、ということになる。
たとえば、Bootstrapを読み込んだページのpタグには、margin bottom: 10pxのようなスタイルが問答無用で指定されてしまう。


こういうしがらみから逃れる手法は無いのかな、と思って、Bootstrapを読み込み済みの歴史のあるページでは、Shadow DOMなどを使ったらBootstrapの依存を消せますか?などとAIとチャットしていたら、all: unset, all:revertの存在を教えてもらった。
デモのHTMLを作ってもらって、GitHub Pagesにデプロイしている。

この3つのエリアは同じマークアップが並んでいて、左側は古いバージョンのBootstrap、真ん中は完全リセット、右側は、ブラウザ標準に戻す、という3パターン。

Bootstrapを入れると、pタグにmargin bottomが設定されてしまうのだけど、all:revertを使うと、その影響から逃れて、なにもスタイルが当たってない状態に戻すことができる。
たとえばReactとCSS Modulesを使って開発していて、まっさらなページにいろんなコンポーネントをマウントするカタログを作っているとする。
カタログでみたときは良かったのが、実際にBootstrapが読み込まれたページにマウントした途端、意図しない見た目になってしまう。
こういうときに、all:revertを親要素にしておくと、まっさらな要素にマウントするのと同じ扱いにできそう。
all:unsetはブラウザ初期の状態もなしで、すべてが同じ見た目になる。
フォントサイズの大小やボタンらしい見た目も無くなるので、いわゆるreset.cssのかわりに使えそう。

他に思いつく使い道としては、ユーザーが自由にテーマをカスタマイズできるページ内に広告を読み込みたい、そのときにユーザーが書いた変なスタイルが適用されてしまうのを避けたい、ということも考えられそう。

上のHTMLがぽいっと置いてあるだけだけど、一応リポジトリ。
GitHub - hitode909/escape-from-twitter-bootstrap-using-all-revert