”「怠惰」なんて存在しない”を読んだ

”「怠惰」なんて存在しない”を読んだ

「怠惰」なんて存在しない: 終わりなき生産性競争から抜け出すための幸福論 

読んでいると、度々本書では「怠惰の嘘」という言葉が出てくる。
定義としては下記になる

  • 人価値は生産性で測られる
  • 自分の限界を疑え
  • もっとできることはあるはずだ

自己啓発書ではよく見かける言葉ではあるし、評価や目標設定ではまさにこれ。成長に対して主眼を置くとこうなるような気がする。

逆に言うと、これに反することを怠惰として考えられてしまうことに対して、本書ではそれは「怠惰」ではない、と言うことを言いたいわけです。

言っていることはわからなくもないんだけど、これは「頑張っている人に対して休んでもそれは怠惰ではないよ」という話であって、「怠惰なんて存在しない」という話ではないだろうと思わずにはいられない。

前提に来るのは、頑張りすぎている人に対しての話だろうと。
一方で、そういう人がこの本を取るだろうか?という疑問はなくはない。

なんというか、あまりためになった本な感じは受けなかったのが正直なところでした。

Duolingoを始めてみた

言語学習アプリであるDuolingoを始めてみました

https://ja.duolingo.com

きっかけとしては、最近聞き始めたPodcast「ひまじんプログラマーの週末エンジニアリングレッスン」の中で話題に取り上げられたのです

#341 Duolingoから学ぶ開発目線
https://podcasts.apple.com/jp/podcast/341-duolingo%E3%81%8B%E3%82%89%E5%AD%A6%E3%81%B6%E9%96%8B%E7%99%BA%E7%9B%AE%E7%B7%9A/id1601084785?i=1000700974125

英語学習アプリでいうと、mikanを試したりしたことはありますが、考えてみるとあとはPodcastを聞き流す程度だったなぁと。

とりあえず、初めて見たものの最初は簡単なものが続くみたいでちょっと退屈感はあります。

さて、これどこまで続けることができるでしょうかね。。。

トレーニングステータスが回復しない

ここのところずっとGarminのトレーニングステータスが回復しません

単純に、負荷のかけすぎという見方もできるかもしれませんが。。。

とはいえ、乳酸閾値走などでVO2MAXの改善も図りたいということで、今日はおすすめもされていない乳酸閾値走をやってみたものの、全然足がついていかずにメニューをこなせませんでした。

疲れが溜まっているということですね。。。

おすすめのメニューをこなすこと自体はいいのですが、内容がペース走中心になっていく傾向があり、少し焦ります。

一つの要因としては、ここのところ毎週30km走をしていることが揚げられます。
そのせいで、無酸素メニューがおすすめされません。

体力がしっかりとついてくれば、30km走をしても乳酸閾値やインターバルなどが出てくるのだろうと思いつつ、確実に体にたまる疲れが抜けない状態で無酸素系をやってもメニューを実施できず。。

少し良くないループですね。
そういう意味ではトレーニングステータスの示す値というのは確かなのかもな、と思い始めています。

ちょっと、まずは落ち着いてみようかしら

APNプロファイルが鬼門になりそう

Hanacellで15日間のeSIMを購入後、開通申請を行いました

直後は回線申請中だったものが・・・

無事に開通しました。

この状態で、eSIMをQRコードを用いてダウンロード。
設定を行うところまで実施しました。

あとは現地でモバイル通信を日本用のものからHanacellに切り替えればOK!と思っていたのですが。。。

モバイルデータ通信の初期設定 iPhone 【eSIM】
https://support.hanacell.com/us-mobile/esim/5860

上記ページにAPNプロファイルに関しての記述が。。。

現状はIIJのプランを使っているので、IIJのプロファイルがインストールされています。
ダウンロードだけはできるのでHanacellのプロファイルをダウンロードだけしておいて、現地にて回線切替で接続のテスト。
接続のテストがNGだった場合はIIJのプロファイルを削除した後にHanacell向けのAPNプロファイルをインストールして接続テスト。。。という流れが発生しそう。

うーん、一気に不安になってきた。

とりあえず、教えるしかないですが、このあたりを子どもにやらせるのはなかなか心配ですね。

まぁ、最後は死ぬわけじゃないしって思うしかないです。
最悪、データ通信はできなくても音声通話はできるでしょうし。

HanaCellで話せるのか

長女がアメリカに短期の海外留学。。。というか何と言うか、10日間ほどホームステイを兼ねた旅行みたいなものに出かけます。

長男も、かつては同じくらいのタイミングでニュージーランドに言っており、今回はアメリカはロサンゼルスを長女が選択。
ディズニーランドやドジャースタジアムにも足を運ぶそうで、もはや語学留学というよりは旅行色のほうが圧倒的に強い感じです。

連絡手段をどうするか

問題になるのは、連絡手段をどうするかというところです。
長男のときは、Wifiルーターをレンタルしてしのいだのですが、今回は主催元から音声通話が必要との通達が。。。
必須ではないものの、手段を色々と検討していました。

そこで試してみるのがeSIMです。

長女が使っているのはiPhone SE(第2世代)なのでeSIMに対応しています。
eSIM自体、私も使ったことがないので不安には不安なのですが、これに挑戦することに。

いろいろなサービスがあるのですが、音声通話もできて日数の選択肢もそれなりのがあったHanaCellというサービスを利用することにしました。

HanaCell
https://www.hanacell.com/?friends=67e01c9ca5150

実際に使えるようになるまでの流れとしては、

1.オンライン開通申請をする
2. eSIMのダウンロード
3. モバイルデータ通信の設定

という段取りを踏むことになりそう。
開通申請は事前予約は可能だが、米国における日付を指定することになるのが注意点。
予約しない形での当日開通に関しては30分ほど時間がかかるそうなので、余裕があるのであれば期間に余裕を持っていれば当日開通でも良さそう。

eSIMをダウンロードしてモバイル通信の設定に関してもザッと流れを見てみたが、それほどは難しくなさそう。

一つだけネックがあるとすれば、日本国内で確認をすることができないことくらいか・・・。
HanaCellは回線としてはT-mobileを使っているようなのでしょうがないですね。

自分が対応するのであればそれほど心配はしないのですが、そのあたりの設定に疎い長女一人でやってもらうことに一抹の不安はありますが、それも含めて勉強だろうと思うしかありません。

実際に問題なく使えるのか。
まずは、日本国内でダウンロードと設定だけして、手順を娘に教えて、、、どんどん書いていて不安になりますが、頑張ってもらいましょう

今年度の畑はじめ

ぼちぼち暖かくなってきたこともあって、今年も家庭菜園を始めています。

まだ、畑全体を耕すことはできておらず、雑草がびっしりと根を張ってしまっているゾーンが残ってしまっていますがそちらは徐々に耕していくとして、まずは手持ちの種を植えました。

じゃがいも

定番のじゃがいもは、今年は”とよしろ”と”メークイーン”を1kgずつ植えました。

じゃがいもはいつもあまり気にせずに植えているのですが、今年は少し購入してから陽の光を浴びさせたりして芽出しをやってみました。
といっても、加減がわかっているわけでもなく、しかも購入したとき入っていたネットに入れたままだったので芽が網に絡まってしまって取れてしまう場面も。。。

来年からはちゃんとネットから出して芽出しを行う必要があります。

じゃがいもはこれまでも育ててきましたが、大きな失敗はない印象ですが、今一度育て方を見返してみるとできていないところもちらほら。

ジャガイモ ー 野菜栽培マニュアル
https://www.takii.co.jp/tsk/manual/potato.html

土寄せはあまり上記の絵のようにはしっかりできていないなぁと思いながら、まずは何よりも芽かきだろうなぁという認識ですね。

きゅうり

きゅうりはこれまで基本的にホームセンターで苗を購入していましたが、以前Perplexity君に提案された”ホワイティ25”という白いきゅうりの種を購入し、植えてみました。

種からきゅうりを育てたことは過去に一度あるものの、身をつけるところまでは行きませんでした。
というか、きゅうり自体最初の頃はうまくいっていたのですが、ここ数年は失敗続きです。なんとか成功させたいところ

ホワイティ25の栽培方法欄に書かれていることとしては

  • 定植2週間毎それ以降2週間おきに追肥
  • 親ヅルの6節目までの脇芽はすべて除去する
  • 7節目以降の子づるは葉を2枚程度残して摘芯
  • 孫づるは混み合ったら適宜摘芯する
  • 親蔓は20~24節目で摘芯する

となっています。
過去、きゅうりの摘芯ってやったことないです。。。
そして2週間おきの追肥ってそれなりの頻度ですね。

近年はそもそもそこまで大きく育てる前に苗がだめになってしまっていたので、なんだろう。。。単純に肥料不足だったのかなぁ。。。
ちゃんと白いきゅうりを食べるところまで行きたいものです

なす

ナスもPerplexity君のおすすめしてくれた”とろーり旨なす”という白いナスを種で購入、植えてみました。

白茄子は昨年も挑戦し、ホームセンターにあった苗を植えて実際に身をつけるところまでは行きました。
ただ、通常のなすと違って、収穫タイミングが良くわからずに遅れてしまい、結果的にとても硬くて美味しいという形になりませんでした。

また、苗自体も生育がうまくいかずにあまり実をつけさせることができませんでした。

こちらも2週間おきの追肥が書かれています。
きゅうりと同様にそれなりの肥料が必要な作物だったんですね。

また、夏の気温を和らげるために敷き藁がいいとも書かれています。
わらに関しては以前に妻が農家の方からいただいたものが取ってあるので、これを活用したいところです。

その他

それ以外ではミニカボチャである栗坊。トウモロコシの種を植えました。

昨年はサツマイモとジャガイモ以外は全体的にパッとしない結果に終わってしまっています。
その一つの要因としては夏の暑さということもあったのだとは思いますが、家庭菜園を始めたばかりの頃と家庭菜園自体に費やす時間は大きく変わっていることも関係ありそうです。

せっかく雑草と頑張って戦って場所を確保しているわけなので、今一度初心にかえるつもりで収穫まで持っていければと思います。

もうそろそろホームセンターにも各種野菜の苗が出始める頃なので、今回植えたもの以外でスイカやメロンもなんとか頑張りたいところ。
残りの雑草ゾーンをなんとかしないとなぁ。。。

VO2MAXが上がらない

本日も30km走を実施。
ここのところ土曜日に30km走を実施するように意識していて、ちゃんと実施できているので少しうれしいです。

Garminを使い始めてから色々と練習をしていて、今年に入ってから月間の走行距離も300kmを超えることができている一方で、成長することができているのかが非常に不安であります。

何を持って成長と捉えるかは非常に悩ましいところではあるけれど、一つの指標としてはVO2MAXがあります。
12月にGarminを購入して最初は54。その後は一瞬だけ56になりましたが55が続いている状態です。

マラソンのタイムを向上させるには? adidas Runnersコーチに聞くトレーニング方法
https://www.adidas.jp/blog/%E3%83%9E%E3%83%A9%E3%82%BD%E3%83%B3%E3%81%AE%E3%82%BF%E3%82%A4%E3%83%A0%E3%82%92%E5%90%91%E4%B8%8A%E3%81%95%E3%81%9B%E3%82%8B%E3%81%AB%E3%81%AF%EF%BC%9F-adidas-runners%E3%82%B3%E3%83%BC%E3%83%81%E3%81%AB%E8%81%9E%E3%81%8F%E3%83%88%E3%83%AC%E3%83%BC%E3%83%8B%E3%83%B3%E3%82%B0%E6%96%B9%E6%B3%95?srsltid=AfmBOop1e7GkHxZsoU_Bgx_hQDmGL5hYWRqo1D7NblLPFnBa2RGWSR23

上記記事で言うと、長距離走と言うよりはインターバル走を頑張ると良さそう。。。?
うーん、記事でも書かれていますが、提案されたメニューを盲目的にトレーニングに取り組んでいないかは、定期的に見直していきたいところです

useEffect, useCallback, useMemoに関しての使い分け

Claudeに課金をしたので、先日より取り組んでいるElectron製のアプリをちまちまと助けを借りながらいじっているのですが、

まずは、提示された内容を元に書き写すような形で進めています。

その中で、AIあるあると言えばあるある何でしょうけれど、生成されるコードがコロコロ変わる問題にぶち当たっています。

結局のところ、目的を達成する上でプログラミングの書き方としては複数のやり方があって、その背景をAIに伝えない限りはどの手法が適切なのかはわからず、その生成されるコードが変わるわけですね。

言葉で言ってしまえば、そりゃそうなんだけど、なかなかのストレスです。
完全に任せるわけではない、AIサポートの開発における難しさを感じますね。。。

こういうものを見ていると、結局コードに関しての知識は必要になりそうだな、という気がしてきます。

というわけで、今回は自分の学習記録として、useEffectとuseCallback。そして調べているうちに出てきたuseMemoに関して書いてみようと思います。

useEffect – 副作用の管理

特徴

  • コンポーネントのレンダリング後に実行される
  • DOM操作、データフェッチング、購読、タイマーなどの副作用を扱う
  • クリーンアップ関数を返すことで、コンポーネントのアンマウント時や依存配列の値が変わる前に実行される処理を定義できる

使用例

import React, { useState, useEffect } from 'react';

function UserProfile({ userId }) {
  const [user, setUser] = useState(null);
  const [loading, setLoading] = useState(true);

  useEffect(() => {
    // 副作用: APIからデータをフェッチ
    setLoading(true);

    // userIdが変わるたびに新しいユーザーデータを取得
    fetch(`https://api.example.com/users/${userId}`)
      .then(response => response.json())
      .then(data => {
        setUser(data);
        setLoading(false);
      });

    // クリーンアップ関数
    return () => {
      // コンポーネントのアンマウント時やuserIdが変わる前に実行
      console.log('User profile cleanup');
    };
  }, [userId]); // 依存配列: userIdが変わったときだけ実行

  if (loading) return <div>Loading...</div>;
  return (
    <div>
      <h1>{user.name}</h1>
      <p>{user.email}</p>
    </div>
  );
}

いつ使うべきか

  • 外部データの取得
  • イベントリスナーの設定と解除
  • DOM要素の直接操作
  • タイマーの設定とクリア
  • 外部サービスへの購読と解除

useCallback – 関数のメモ化

特徴

  • 関数をメモ化し、不要な再生成を防ぐ
  • 依存配列の値が変わるまで、同じ関数インスタンスを保持する
  • 子コンポーネントに渡す関数のパフォーマンス最適化に役立つ

使用例

import React, { useState, useCallback } from 'react';

// 子コンポーネント(React.memoでメモ化)
const ExpensiveList = React.memo(({ items, onItemClick }) => {
  console.log('ExpensiveList rendered');
  return (
    <ul>
      {items.map(item => (
        <li key={item.id} onClick={() => onItemClick(item.id)}>
          {item.name}
        </li>
      ))}
    </ul>
  );
});

function ItemManager() {
  const [items, setItems] = useState([
    { id: 1, name: '項目1' },
    { id: 2, name: '項目2' },
  ]);

  const [count, setCount] = useState(0);

  // useCallbackを使用して関数をメモ化
  const handleItemClick = useCallback((id) => {
    console.log(`Item ${id} clicked`);
  }, []); // 空の依存配列: 関数は再作成されない

  return (
    <div>
      <h1>アイテム管理</h1>
      <ExpensiveList items={items} onItemClick={handleItemClick} />
      <div>
        <p>カウント: {count}</p>
        <button onClick={() => setCount(count + 1)}>
          カウント増加
        </button>
      </div>
    </div>
  );
}

いつ使うべきか

  • `React.memo`でラップされた子コンポーネントに関数を渡す場合
  • `useEffect`の依存配列に関数を含める場合
  • イベントハンドラーが複雑で、不要な再作成を避けたい場合
  • 関数が他のフックの依存関係になっている場合

useMemo – 値のメモ化

特徴

  • 計算結果をメモ化し、不要な再計算を防ぐ
  • 依存配列の値が変わるまで、前回の計算結果を再利用する
  • 計算コストが高い処理の最適化に特に役立つ

使用例

import React, { useState, useMemo } from 'react';

function ExpensiveCalculation({ numbers }) {
  const [count, setCount] = useState(0);

  // 計算コストが高い処理をuseMemoでメモ化
  const sumResult = useMemo(() => {
    console.log('Heavy calculation running...');
    // 重い計算の例
    return numbers.reduce((total, num) => {
      // 人為的に処理を重くする
      for (let i = 0; i < 1000000; i++) {}
      return total + num;
    }, 0);
  }, [numbers]); // 依存配列: numbersが変わった時だけ再計算

  return (
    <div>
      <h2>計算結果: {sumResult}</h2>
      <p>カウント: {count}</p>
      <button onClick={() => setCount(count + 1)}>
        カウント増加(計算には影響しない)
      </button>
    </div>
  );
}

function App() {
  const [numbers, setNumbers] = useState([1, 2, 3, 4, 5]);
  return (
    <div>
      <ExpensiveCalculation numbers={numbers} />
      <button onClick={() => setNumbers([...numbers, numbers.length + 1])}>
        数字を追加
      </button>
    </div>
  );
}

いつ使うべきか

  • 計算コストが高い処理の結果をキャッシュしたい場合
  • レンダリングごとに再生成したくないオブジェクトがある場合
  • 大きな配列やオブジェクトの変換や加工を行う場合
  • コンポーネントの再レンダリングが頻繁に発生する場合

まとめ

結局のところ、どこまでキャッシュさせることが可能な内容何だっけ?ってところなんでしょうね。

計算コストが高くても、再レンダリングが頻繁に発生しようとも、表示内容が再計算必要なものであればuseEffectにするしかないんだろうし。。。くらいに覚えておくことにします!

トイレとの仁義なき戦い

詰まりました

我が家には1階と2階にトイレがあるのですが、2階のトイレが詰まり、流れていかない状態に・・・

実は、過去にも一度経験をしていてその時にアイテムを手に入れました

【専門家が推薦】GANGAN パイプクリーナー ワイヤー 回転式 排水管 排水溝 つまり ワイヤーブラシ 5m 排水溝 詰まり 解消 洗浄 掃除 家庭で使える 業務用清掃ブラシ 手袋 保管袋 スポンジ付き

前回、これでワシャワシャやることによってなんとか詰まりを取ったことはあるのですが、今回はうまくいかず。。。
しかも流さないと水は溜まっていきついには溢れてしまうので、それはもうひどい状態に・・・。

本当、この作業は精神を削られます

妻が、ワイヤーじゃなくてスッポンだ!というので、急遽ホームセンターまで行き、スッポンを購入

SANEI(旧社名:三栄水栓製作所)真空式パイプクリーナー 大型洋式トイレ用 詰まりを解消 大・小 ゴム付き 強力吸引力 PR8700-L

これでワシャワシャやっていたのですが、何故かそこで水が流れ始めてまた溢れてしまう・・・。

もう、私のライフはゼロよ・・・

それでも、何度となくスッポンとワイヤーで挑戦をし続けたことでなんとか詰まりを解消することができました・・・と思う。

業者呼んだら、絶対高く付く!と思っているので必死になったものの、もはや今日は何もやる気力起きず・・・。
何をやっているんだか。。

マネジャーが健全なハードワークを続けるための心得 – HBR4月号

HarvardBusinessReviewの4月号。なかなか読み進めることができていませんが、インタビュー記事として掲載されている「マネジャーが健全なハードワークを続けるための心得」が面白かったです

DIAMONDハーバード・ビジネス・レビュー20 2025年4月号 [雑誌]特集「持続可能なハードワーク」 DIAMONDハーバード・ビジネス・レビュー

今月号の特集は「持続可能なハードワーク」ということで、ハードワークすることに関して焦点を当てています

ともすると、今の主流の考え方はハードワークそのものを否定しかねない形になっているように感じます。
もちろんパワハラ的なハードワークは論外ですし、一昔前の残業が常態化した状態を懐かしんでいるわけでもないですが、本インタビューでも書かれているように、「成果を出すためのハードワーク」は必要に感じるシーンはあります。

もちろん、ハードワークをしなくても成果が出せるように動くということも大事なのでしょうけれど、ある程度の競争が生まれる業務においてそれで成果を出せるのか。勝つことができるのかは別問題ではないかと。

腹落ちハラスメント

インタビュー記事を読んでいて、面白い言葉だたな、と思ったのは「腹落ちできないので、この仕事はしません」というような話題。

では、若手が未知な業務を習得することにおいて体感・体験しない状態で本当に腹落ちなんてできるのか?実践を通してようやく論理と繋がるのではないかという考え方でした。

やりたい仕事だけやっていて成果を出せたり業務全体が回ればそれは一番いいのかもしれませんが、実際のところそれでは仕事が回らないこともありますし、そんな都合のいい仕事ばかりではない。

腹落ちまではいかなくても、どうやってそれらを伝えるのか。
伝え方の工夫で。。。となっていますが、正直結構難しいな、と思うわけなんですよね。
ハードワークという一言で語られていますが、どこからがハードワークなのか。そもそも何をハードとして捉えるのかも人によってまちまちです。

このあたりは教育の難しさを感じずに入られませんし、その人のライフステージによっても変わってきそうです。

嫌になっちゃうテーマですね。。。