日頃の行い

個人的な日頃の行いをつらつら書いてます\\\\ ٩( 'ω' )و ////

2025年3月に読んだ&読んでいる本たち

3月は色々忙しすぎて1冊どうにか読めたくらいだった。
ポジティブに捉えれば忙しい中で1冊読めただし、ネガティブに捉えれば時間を作りきれなかったと思う。
仕事と子育てが体力的にきついので、どうにか最低限を維持しつつポジティブな流れにして読書時間を作っていきたい。

読んだ本

イシューからはじめよ

大事だと思っていること書かれすぎている本だった。
1章だけでかなりいや〜そうだよな〜〜〜の気持ちで満腹になった。
特にそうだよなと思ったやつ

  • イシューを見極める
    • 問題をすぐ解くのではなく見極める
  • 仮説を立てる
    • 何はともあれ「言葉」にする
      • ”主語と動詞をいれる”
      • 主語と述語で話すことが大事だと思っていて、余計な言葉が入ると伝わりづらくなるので意識するべきと思っている(自戒も込めて
  • 良いイシューの3条件
    • ”イシューらしいもの」が見えるたびに、「本当に今それに答えを出さなくてはならないのか」「本当にそこから答えを出すべきなのか」と立ち返って考える”
      • 不確実性も相まって結論を出せないものは進んでからわかることと合わせて後々結論を出したほうが良かったりするので、決断を後回しにするのが大事だと思っていて、それに近いのかなと思っていた
  • イシュー特定のための情報収集
    • コツ①一次情報に触れる
      • 伝言ゲームになるとその人のバイアスが含まれてしまい本来の課題からずれる可能性があるので一次情報は本当に大事だと思っていた
      • ”肌で感じない限り理解できないことは多い”
      • 本当にこれ
    • コツ③集めすぎない・知りすぎない
      • ”情報収集にかけた努力・手間とその結果得られる情報量にはあるところまでは正の相関があるが、そこを過ぎると途端に新しい取り込みのスピードが鈍ってくる。これが「集め過ぎ」だ。大量に時間を投下しても、実効的な情報が比例して増えることはない”
      • 体感としてある
      • それ以上やっても無駄が多いからさっさと実行に移そうと思うことが多々ある
  • イシュー特定の 5つのアプローチ
    • アプローチ①変数を削る
      • ”結局のところ何が肝心の要素なのか、何が決め手なのか、そもそもそうしたものがあるのかすら見えないことがある”
      • めっちゃわかる〜〜〜ってなった
      • 高校の数学の問題に似てるなという気持ちにもなった
    • アプローチ③ 最終形からたどる
      • いつもやるやつ〜
      • 全ての制約がない場合の理想状態ってなんだっけから話すと必要な要素そうではない要素を分けれるのでな
    • アプローチ④ 「So what?」を繰り返す
      • 本質的にはこれを繰り返すのが大事なんだけど、このままのフレーズで他人に使っていくと不要にネガティブな印象を持たれるやつだなってなったw
  • コラム 課題解決の2つの型
    • ”課題解決は、あまり多く語られることがないが大きく2つの型がある。”
    • ”ひとつはあるべき姿が明確な場合の課題解決であり、もうひとつはそもそもどういう姿が望ましいかを見極める必要がある場合の課題解決だ。”
    • この後者が難しいんだよなとなった

2~4章は一応読んだがあまり言語化出来ていない部分だったので理解が浅く読み込みが必要だった。
5章は、どうまとめるかどう伝えるかという点の話だったので比較的理解できている内容に感じた。
会社のチームで読む時間があるので、読み直して再度深く理解したいと思いました。

読んでいる本

AI Engineering

Tidy First?

過去に読んだ本

arata.hatenadiary.com

www.amazon.co.jp

M4 Mac miniでUGREENのキャプチャボードをOBS経由で使ってゲーム配信をする

はじめに

M4 Mac miniを購入して仕事やら趣味の開発で使っているんですが、Apple Siliconに移行したことで、以前使っていたIntel Mac用のキャプチャボードが使えなくなってしまいました。
そこで、M4 Mac miniで使えるキャプチャボードを探していたところ、Amazonで安価なUGREENのキャプチャボードを見つけたので試してみました。
本記事では、実際に使ってみた感想と、セットアップ方法について紹介します。
利用したMac miniは10コアCPU / 10コアGPU / 24GB ユニファイドメモリのスペックのものになります。
結論から言うと、UGREENのキャプチャボードはM4 Mac miniで普通に使えて、コストパフォーマンスも良いのでおすすめです。

UGREENキャプチャボード

価格

  • 価格は5,999円
  • Amazonのセール時には4,499円で購入できました

セットアップ方法

接続方法

  1. HDMIケーブルをゲーム機とキャプチャボードの入力ポートに接続
  2. USB 3.0ケーブルをM4 Mac miniとキャプチャボードに接続

電源はUSB Type-Cから供給されるため、別途電源アダプターは不要です。

OBSのインストール

OBS公式サイトから最新版をダウンロードしてください。

ダウンロード | OBS

OBSにキャプチャボードの設定

  • ソースの追加→映像キャプチャデバイス
  • バイスで「UGREEN HDMI Capture」を選択
  • ソースの追加→音声入力キャプチャ
    • 映像のみだと音声が入らなかったのでこの設定を行いました
  • バイスで「UGREEN HDMI Capture」を選択

気になったこと

映像キャプチャデバイスが上下逆さまで写る

家のHDMIの配線周りがごちゃついているのでそれが悪さをしているかもしれないのですが、そうなってしまいました。
ただ、ソースの部分を右クリックし、「変換」の中の「垂直反転」を選べば解決したので良しとしました。

実際の使用感とパフォーマンス

画質

下記の動画はOBS上の映像キャプチャデバイスの設定を初期値のプリセットのHighのままにしていたものになるのですが、そのままだと解像度が荒かったです。

www.youtube.com

また、この解像度の設定を1920×1080にしたままで配信を行った際、数分で画面が固まってしまうという現象が見られました。
もう少し試してみないと確証は得られないのですが、配信では解像度は少し犠牲にしないといけないように思います。
ただ、この固まってしまうという現象は配信の時のみで起こり、録画では起きませんでした。
「録画品質」の設定を配信と同じにしているのでほぼ同条件だと思うのですが、もしかしたら詳細設定で回避できるかもしれません。

CPU負荷

実際の使用では、Dockerコンテナをバックグラウンドで動かしながら配信を行っても、ブラウザ操作など他の作業に影響が出ることはありませんでした。
だいぶ強いので気にならないでしょう。

まとめ

購入を検討している方へ

  • M4 Mac miniとの相性は良い
  • コストパフォーマンス最高
  • ちょっと画像が荒いかも・・・?
  • でもコスパ的に非常におすすめです

代替製品

より高品質なキャプチャを求める場合は、ElgatoのHD60 S+やXを検討するのも良いかもしれません。
ただし、価格は20,000円以上と高めなので、用途に応じて選択することをおすすめします。
注意点としてElgatoのHD60 S(+が無い)はM4 Mac miniに対応していないので購入の際は気をつけてください。

2025年1月に読んだ&読んでいる本たち

12月から読んでいたプログラミングRustがあったり、1月前半は休みだったりしたのでそれなりに進んだ気がする。
年明け一発目なのもあり勢いよく読めているので継続していきたい。

読んだ本

プログラミングRust

12月から読んでいた本。
12月に書いた内容そのままだが、4章と5章はRustのパラダイムの理解が深まるのでそれだけでかなりおすすめできる。
ちなみに4章は「所有権と移動」5章は「参照」の話。 GC(ガベージコレクション)に頼る言語を主に触ってきた身としてはRustは所有権周りが特にパラダイムがわかっていなかったのですごくいい本に感じた。
図解も豊富で、非常にわかりやすい本で読んで本当に良かった。
後半の章はかなり具体的な話に寄っているので、もう少し使いこなそうと思った際に読みに戻って来るのが良いなと思った。
10章くらいまでをまず読んであとはRustを書いてみるのがいいだろうと思う。

君に友だちはいらない

会社の先輩に読んでみると良いよと言われて読んだ本。
何かを成し遂げたいときに、馴れ合いするだけのような"友だち"は不要で、背中を任せられるような仲間を作ろう。
仲間を作るのであれば、ビジョンを描きそれに共感できるような仲間を集めるのが良いという話と理解した。
個人的には仕事でリーダーポジションをやっているならもっと大きなビジョンを描いていくのが大事かもなと思わされた。
また、ビジョンを描いても伝わらなければ意味がないので、伝える際に自身をラベリングして伝えやすくするという話があり、これは今自身をラベリング出来るのかわからないのでやってみたい。
「君に友だちはいらない」というタイトルから周囲の人の必要性に目がいくが、既に会社などのチームに属しているという前提になるとその人達をこの本でいう「仲間」にするためにはどういうものが必要かという話が書かれているなと感じた。
読み取ったものを活用していけると良いなと思う。

読んでいる本

未顧客理解

この本も会社の人に教えてもらった本。
読み切れていないし、仕事で活きそうな気もしているので読むぞという気持ちを高めた。

積読(読みたい本)

人月の神話

単語としては知っているが、読んでいないなと思ったので読んでみるかと買った。

過去に読んだ本

arata.hatenadiary.com

www.amazon.co.jp

猫にあげる1日の餌のカロリー量とフードのグラム数を計算出来るツールを書いた

背景

猫がご飯を全然食べずに順調に痩せていってしまったので、ウェットフードやドライフードやおやつなどの複数種類のご飯を合わせたときに必要な食事量はどれくらいにすべきなのかについて調べていました。
複数種類を1日にあげるとしたとき、ウェットフードは1袋あげるとした場合にドライフードは何gあげるべきかを計算できるようにしたいというのが目的でした。

その結果作ったのが猫のカロリー計算出来るページです。

nekometry.web.app

いくつか自分が見たことのある市販のフードのカロリーを入れているので、後に出てくるDERを元にそのフードを1日何gあげればいいのかを出してくれるようなツールです。
一般食を含めると素人には無理な気がしているので、総合栄養食のみであればカロリーの計算で大丈夫と思うんだけどな・・・という気持ちで実装しています。

3行まとめ

  • 猫のカロリー計算は体重から出した安静時エネルギー要求量のRERと、運動量やライフステージを元にした係数を合わせて1日当たりのエネルギー要求量のDERという値で求められる
  • 体重と係数を入れると、DERを満たすような1日分のフードの量猫のカロリー計算 | Nekometry で求められる
  • 自分が便利に思える機能をたくさん拡張していきたい

計算方法

必要なカロリーの計算についてツールの方では勝手に計算するようにしていますが、どういう考え方で計算しているのかを紹介します。
ド素人が調べた結果なので、活用する際はかかりつけの獣医師の方と相談の上自己責任で活用してください。
いやいやおかしい!とかあればぜひコメントなどで教えていただけると嬉しいです。

安静時エネルギー要求量 RERについて

安静時エネルギー要求量(Resting Energy Requirement:RER)は猫の体重を基に計算され、次のいずれかの方法で求めることができます。

計算式

  1. 計算式:RER(kcal) = 70 × 体重(kg)0.75
  2. 簡易計算式:RER(kcal) = 体重(kg) × 30 + 70

簡易式との差分について

簡易式でも大きな問題とならないので良いという話を見かけましたが、差分からどうなのかを考えてみました。
これらの差分は、体重をxとすると

f(x) = 70x0.75-30x-70

になり、微分すると

f'(x) = 52.5x-0.25-30 = (52.5-30x0.25) / x0.25

となります。この場合、f'(x)が0になるのは
x0.25 = 52.5/30 ⇔ x = (52.5/30)4 ≒ 9.378...
なので、f(x)は約x=9~10あたりまでは単調に増加します。
したがって、差分はxの定義域を1kg~10kgと考えると、取りうる値域は-30kcal~23.6kcalとなります。
3kg~5kgの場合、2式の差分は-0.43kcal~14kcalとなるので、大きな猫ちゃんじゃなければ確かに大きな問題にはならなさそうに思いました。

1日当たりのエネルギー要求量 DERについて

1日当たりのエネルギー要求量(Daily Energy Requirement:DER)は、RERに猫のライフステージや活動量を考慮した係数を掛け合わせることで計算します。
これにより、日々の生活や成長、健康状態に応じた適切なカロリー量を把握できます。

計算式

DER(kcal) = RER × 係数

係数一覧

以下は、一般的な係数の例です。

  • 成長期の猫(生後1歳まで):
    • 生後4ヶ月未満:RER×3
    • 生後4~6ヶ月:RER×2.5
    • 生後7~12ヶ月:RER×2
  • 未避妊・未去勢の成猫:RER×1.4~1.6
  • 避妊・去勢済みの成猫:RER×1.2~1.4
  • 活動的な成猫:RER×1.6
  • 非活動的・肥満傾向の猫:RER×1.0
  • 減量が必要な猫:RER×0.8
  • 増量が必要な猫:RER×1.2~1.4
  • 妊娠中の母猫:
    • 妊娠初期:RER×1.6
    • 分娩時:RER×2.0
  • 授乳中の母猫:RER×2.0~6.0
  • 高齢猫(7~11歳):RER×1.1~1.4
  • 超高齢猫(11歳以上):RER×1.1~1.6

計算例

体重3kgの避妊済み成猫の場合:

  1. RER = 70 × (30.75) ≒ 159.57kcal
  2. DER = RER × 1.2 = 159.57 × 1.2 ≒ 191.48kcal

または簡易計算式を使用して:

  1. RER = 3 × 30 + 70 = 160kcal
  2. DER = RER × 1.2 = 160 × 1.2 = 192kcal

カロリー計算に関して参考記事

今後の機能追加

  • スマホで見てもいい感じに見れるようにしたい
  • フード内容を増やしたい
    • フードローテーションさせたいと思ったのでそのたびに追加していこうと思っています
  • フードの選び方のUIを選びやすくしたい
  • もしこんな機能が欲しいとかフードがほしいとかあればこちらのフォームから送ってもらえたらできる限り対応します
    • コメントもらえたらめちゃくちゃ喜びます

(余談)簡単な技術選定の話

  • フロントエンドだけで簡潔する気がしたのでGitHub Pagesでやりました
  • TypeScript + React + Vite + Tailwind CSS(Flowbite) を使っています
    • TypeScriptとReactは特に理由なく
      • VueとReactだとReactのほうがなんとなく好きなので選んだ
    • ViteとTailwind選定理由はなんとなく今流行りな気がしたため
  • SSGやってみたかったのでVikeでSSGしてみました

まとめ

  • 猫に必要なカロリーを計算して市販のフードを何gあげるといいかのツールを作った
  • 結果猫も体重を取り戻してきたので良かった
  • フロントエンドでパッと作るの楽しかった
  • 技術検証がてら機能追加していきたい