Skip to main content

tk3++

2026年5月に読んだ本

唐突ですが、自分は本を読んだ後に振り返ってその本のことを考えようとハイライト機能を使っています。しかしハイライトとしての意味をなしていないことに今回気づきました。まとめようとした時、あちこちハイライトにしすぎてまとめきれない。そして何か大事なことが抜け落ちているような気がしてならない。ただハイライトをして、見返すだけでは不十分のようです。

それでは2026年5月に読んだ本です。

# 思考の整理学

https://www.chikumashobo.co.jp/product/9784480020475/

人間には、グライダー能力と飛行機能力がある。受動的に知識を得るのが前者、自分でものごとを発明、発見するのが後者である。

が印象的でした。冒頭の章にあるから、途中挫けた人でもこのフレーズを知っている人はいると思う。

考えていること(問題など)は寝かせることが必要だという。ただぼんやりしていたのではいけないし、それについて考え過ぎてもいけない(〝見つめるナベは煮えない〟と表現している)。それらのことに気をつけ、寝かせることで思考が生み出されるとしている。

「コンピューター」という章もとても印象的でした。コンピューター人間を脱却し、創造的な思考を持つことが重要であるとしている。今やAIの登場により、この書籍が書かれた時よりもコンピューターの比重はさらに多くなった。エンジニアという仕事をしている手前、面白い時期なのかもしれないです。良い面でも悪い面でも。

あと本当に感想レベルなのだが、文章全体が冗長であるように感じた。各章だけでは少しだけしか掴めず、後の章を読んだりすることで前の章の理解が進むようになっている感じ。この本に対して、自分の文書を読み取る力が不足しているかも。あまり深い理解が得られない感じ。

# アート・オブ・クリーンコード

https://www.kyoritsu-pub.co.jp/book/b10136509.html

個人的に大事だと思ったのが、「第2章 80/20の原則」の「フォーカスとパレート分布」。どこに集中すべきかを誤ると効果の薄いものになってしまう。効果の高いフィードバックを得るにはどうしたらいいかを改めて考えさせられました。

何となく知ってた事柄について深掘りした内容になっていてとても為になった。

この本についてはKindle版が欲しいと思った。やはりハイライト機能を使いたい。

# 技術記事を書く技術 ITエンジニアの価値を高めるアウトプットのすべて

https://www.shoeisha.co.jp/book/detail/9784798177045

技術の読まれやすさや文章の読みやすさなどてんこ盛りな内容だった。一つ一つ具体例があり、理解しやすい内容となっている。タイトルや見出しのつけ方、正確な文章の書き方まで。いろいろある。最初から読んでももちろんいいのだが、自分が気になる章だけを読むのも良いと思う。

mise を使って開発環境を構築し直しました

# はじめに

お手製でインストールしたツールや既にインストールしていたツールを一元管理するためにmiseを使って環境を構築しなおしました。miseはディレクトリ階層ごとに環境を作ることができますが、今回は一般ユーザーの共通環境として利用できるよう、ホームディレクトリ(~)直下を対象に構築しています。

# まとめ

今回使用したコマンドの一覧です。

コマンド説明
mise registryリポジトリにあるツールを一覧表示する。
つまりインストールできるツールの一覧
mise search キーワードインストールできるツールをキーワード検索
mise ls-remote ツール名指定したツールでインストールできるバージョンを表示
mise install ツール名@バージョンツールをインストール。バージョンは任意
mise use ツール名@バージョンツールを有効にする。バージョンは任意
mise unuse ツール名インストールしたツールを削除する
mise ls今インストールされているツールを表示する
mise current今有効になっているツールを表示する

# miseのインストール

Getting Started を参考にmiseをインストールする。

Getting Started https://mise.jdx.dev/getting-started.html

次のコマンドで、miseがインストールされたかを確認する。次のような出力が表示されたら成功。

$ mise version
              _                                        __
   ____ ___  (_)_______        ___  ____        ____  / /___ _________
  / __ `__ \/ / ___/ _ \______/ _ \/ __ \______/ __ \/ / __ `/ ___/ _ \
 / / / / / / (__  )  __/_____/  __/ / / /_____/ /_/ / / /_/ / /__/  __/
/_/ /_/ /_/_/____/\___/      \___/_/ /_/     / .___/_/\__,_/\___/\___/
                                            /_/                 by @jdx
2026.5.6 linux-x64 (2026-05-11)

# ツールをインストールする

今回はHOME直下の環境すべてで使いたいので、HOME直下でインストール作業を行った。

英語の学習を始めました

英語の学習を始めました。

まずはリスニングと思い、今はTEDを聴いています。TEDを聴き始める前にポッドキャストに手を出したけれど、うまく馴染めず続きませんでした。ただ聴くだけになって、話の内容がまったく分からないで終わってしまう。また何を言っているか分からないことが多かった(英語初心者なので、それはそう)。

そこで、短い尺のコンテンツがあり、文字起こしがある、できたらスマホとPCで聴ける。この3つができるものを探していたところ、TEDが良さそうという結論になりました。TEDにはiOSアプリがあり、スマホで視聴することができます。もちろんPCでも。また文字起こしがあり、視聴しながら英文を読むことができます。日本語でも読むことができます。そして、動画の尺はいろいろ。

まずは英文が聞き取れるようになりたいので、聞きやすさを優先し、動画を探しました。そして3つほど良さそうなものを3つ見つけました。 一つの再生時間は3分から6分。3つの合わせた再生時間は約12分。初心者の自分にはちょうどいい塩梅。

続けることが大事なので、続けていきたいと思います。継続は力なり。

再生時間は2:52。「ムーブメントはどのように起きるのか?」という話。

再生時間は3:16。「成功するために必要な8つの要素」についての話。

再生時間は5:59。「8 secrets of success」と近い内容だけれど、面白そうだったので。

MyList実装 Head/Tail/Remove F#

dojo/fsharp/MyList/Program.fs at main · tk3/dojo

今日はHead/Tail/Removeを実装した。これまでの経験があればこそ比較的楽に書けた。 ただ、書けはしたものの、tryItemがちょっと怪しくて、removeAtは怪しい。体感では理解していても、きちんとした理解になっていない気がする。慣れるしかないのか。分かるようで分かっていない感じ。あーもどかしい。

let tryHead list =
    match list with
    | Empty -> None
    | Cons(x, _) -> Some x

let tryTail list =
    match list with
    | Empty -> None
    | Cons(_, tail) -> Some tail

let rec tryItem idx list =
    match list with
    | Empty -> None
    | Cons(x, tail) ->
        if idx = 0 then
            Some(x)
        else
            tryItem (idx - 1) tail

let rec removeAt idx list =
    match list with
    | Empty -> Empty
    | Cons(x, tail) ->
        if idx = 0 then
            tail
        else if idx < 0 then
            Cons(x, tail)
        else
            Cons(x, removeAt (idx - 1) tail)