Skip to main content

tk3++

このブログの方針

このブログの方針を変えようとかと思っています。これまではプログラミングや何か学習したものを主にこのブログで扱ってきました。ブロとして開設してまだまもないですが。

これまでは趣味に関することはnoteというWebサービスに残すようにしていました。しかし、続けるうちに自分にはnoteは合わないと感じるようになってきました。note特有の雰囲気というか何というか。そう思った時にブログを持っているので集約するのも悪くはないと思い始めたというわけです。

そういうわけでnoteに書いていたライブの感想とかもこのブログに書こうかなと思います。今はそんなにライブに行っているわけでもないし、それほどノイズにはなりそうにないと考えており、今まで通りプログラミングに関するブログをやっていこうと思っています。

Seicho 0.2.18

ここ最近開発しているHugoエディター、 清張 ことSeichoを紹介します。

SeichoはHugoの記事をブラウザで手軽に編集・管理できる、軽量なローカルエディターです。Webアプリケーションです。Go言語で作っています。実行ファイル一つ実行するだけで、動作します。設定ファイルはありません。

tk3/seicho: A lightweight local editor for creating and managing Hugo posts.

主な機能は以下の通りです。

  • 記事の作成・検索・編集・保存・リネーム・削除
  • Hugoを使った新規投稿
  • Front Matter編集とGoldmarkによるMarkdownプレビュー
  • Zen Mode
  • 文字数表示(Zen Modeのみ)
  • 日英UI
  • ライト/ダークテーマ
  • Gitのコミット機能

自分が欲しい機能は最低限作りきったかな。ただUIが雑なのでどうにかしたいところ。UIって難しい。

Codexを使い始めました

最近ChatGPT Plusを契約したので、Codexを使っています。

開発するのが楽しいです。ただ自分はほぼコードは書かず作りたい機能をプロンプトに投げるだけで、エージェントに任せっきりです。やりたいことをできあがっていく様が面白いです。自分が欲しいと思っていたアプリケーションを作るのがいいですね。何か作りたいものがあるのなら、コーディングエージェントはいいツールだと思います。

何を作っているかというと、Hugoの記事を編集するエディターを作っています。このブログはHugoで生成しています。今まではVS Codeを使って記事を書いていたのだけれども、hugo new するためにターミナルを立ち上げたり、その作成したファイルをエディターで開くのが面倒でした。それを解決するためにこのエディターを作りました。

Go言語でWebアプリケーションを作るということにしました。開発方針はこんな感じです。自分がCodexの実力を測れるようにやっています。

  • 実装経験のあるものであること
  • ソースコードが読める言語であること

新しいものに挑戦するということも考えましたけれど、まずはCodexの経験を積むということで。

学んだことをは後日書きます。

それでは。

F# Workbook

Google Gemini を使って、F# の基本的な学習をやってました。その記録を簡単にまとめておきます。

プロンプトは特に考えずに、F# を基本が学習したい と入力し、次に 1 日ひとつ F# に関する何かを学習したい と入力するだけ。 たった 2 つのプロンプトで短期のカリキュラムを考えてくれました。

それで実際生成されたものです。1 週間分あります。1 日 10 分くらいでできるものでした。内容が足りないと感じたら、もっと深く理解したい と入力すると、さらに課題を出してくれます。便利な世界になりましたね。

  • Day 1: 不変性(Immutable)の安全さと、let の基本
  • Day 2: 関数をパーツのように扱う「カリー化と部分適用」
  • Day 3: 括弧の地獄から解放される「パイプライン演算子(|>)」
  • Day 4: データの形を綺麗に仕分ける「パターンマッチ」
  • Day 5: Nullの悪夢を世界から消し去る「Option 型」
  • Day 6: 不正な状態を型レベルで防ぐ「判別共用体(DU)」
  • Day 7: ループを使わずに宣言的にデータを加工する「コレクション操作」

# 学習した内容

## 「最後の引数をあえて省略して関数を定義する」スタイル(ポイントフリースタイルとも呼ぶ)

let multiply x y = x * y

let triple = multiply 3

let result = triple 4
printfn "結果は %d です" result  // 12

## パイプライン演算子(|>)

let square x = x * x
let increment x = x + 1

// パイプラインを使った書き方
let result = 4 |> square |> increment

printfn "結果は %d です" result // 17

実は (|>) という関数だという。

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

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