matobaの備忘録

育児しながら働くあるエンジニアの記録

BLOG HACKSという本を手に取る

BLOG HACKSという本を手に取りました。軽く眺めながら、つらつらと思うことを書いてみます。

BLOG HACKSという本

この本です。2004年に発売された本なので、インターネット古典のようは本かも知れません。

ちなみに現時点で私はこの本を精読してなくて、買って手元にあるものを今パラパラめくりつつ書いてます。

なぜ、買ったか、眺めているか

私は、よくブログについて話しているような気がしています。 理由は深く考えてませんが「なんとなく話したくなったトピックがブログに関する話題が多い」という状況だからでしょう。 というか、ここがブログだからですかね。別にオフラインで何かを話すときにブログに話をすることはほとんどないように思います。

自分がよく触れることが多いブログという題材に関する本であり、長くブログを続けている方がどこかの資料で触れているのをみました。 そして、タイトルが気になったので買ってみて眺めているという状況です。

テクノロジーより考え方の話

この本の中で触れられている話を眺めていると、私が興味を持つのはテクノロジーの話ではなくて、考え方の話であることがわかります。

例えば、次のような話はあんまり興味がありません。

  • Movable Typeのインストール方法
  • テンプレートのHack
  • その高速化、プラグインの開発方法

一方で次のような話は興味があります。

  • はじめに、あとがき、イントロダクション
  • 運用の効率化スクリプト、テクニック、カスタマイズポイント

別の言い方をすると、インストール方法や個別のチューニングは20年も経つと技術が変化して役に立たないことが多いと感じますが、そもそもの技術背景やその技術を利用した際の運用まわりのあれこれは今も変わってない部分があると思います。

そういう部分を見つけて、20年前はこうやってたんだなあ、今ならどうかなあ、と考えたりするのは、少し楽しかったりします。 あと、私は「インターネットやブログの価値は変わってない」と思っていて、「変わったのは周囲の環境である」と思っています。 周囲の環境が変わった結果、マーケティング関連の機能や何某かが出てきて、云々カンヌン、で今の状態になっていると思っています。

今、出版されている書籍や文章を読んでも、プリミティブな「インターネットやブログの価値」に触れるのは難しいので、このような書籍を読んでいるのはあります。

終わり

今回は手元にあったBLOG HACKSという本について私の思うことを書いてみました。 これも、「だから何」という話ではないのですが、こんなことをやってます、みたいな記事です。

お読みいただきありがとうございました。

ではでは

目標に関して私が思うこと

さて。ブログを更新します。更新目標は週に2~3回なのですが、しばらく更新できていませんでした。 「何か更新しないと」という意識が生まれており、「良いような悪いような...」、と感じています。特にネタはありませんが、思うことをつらつらと書いていきます。

とりあえず、「目標」という言葉が出てきたので、この言葉について、思うことを書いてみます。

続きを読む

vim-plugでプラグインをアップデートするコマンド

vim-plugを使っている。 ライブラリのアップデートコマンドを調べた。

vim-plugで、プラグインをアップデートするコマンドは以下。

:PlugUpdate

github.com

ちなみに、動機としては、NeoVimでGitHub Copilotを使っていて、プラグインをアップデートするような警告が出たから。

余談だが、NeoVimでGitHub Copilotを使う話はここを参考にさせてもらって使っている。

rcmdnk.com

あと、「NeoVimで GitHub Copilot Chatを使える時代はまだかなあ」と思ってる。(VS Code使えよ、という指摘は、認識してる)

と言いつつ、久しぶりにGitHub Copilot Chatのスレッドを見た。

github.com

で、これ見つけた、「おっ」

github.com

まだ使ってないが、近々使ってみたい。

Pythonプロフェッショナルプログラミング第4版が出版されました

Pythonプロフェッショナルプログラミング第4版が出版されました。 こちらの本の出版に関わらせてもらっているので、少しばかりブログ記事を書こうと思います。

続きを読む

PydanticOutputParserでPydanticの型エラーが出る場合

PydanticOutputParserでPydanticの型エラーが出る場合のメモ。

状況

  • LangChainのPydanticOutputParserを使っている。
  • Pydanticで定義した型のクラスを渡している。
  • mypyでチェックすると、型エラーが出ている。

発生したメッセージ

Value of type variable "T" of "PydanticOutputParser" cannot be "BaseModel"

原因

LangChainのPydanticOutputParserは、Pydanticのバージョン1を前提としている様子

具体的なコードとしてはこの辺にコメントがある。

github.com

Attention: To avoid potential compatibility issues, it's recommended to use
   pydantic <2 or leverage the v1 namespace in pydantic >= 2.

とりあえず、pydanticの2で型を指定して渡せば型チェックは通る。(それでいいかはおいといて)

pydanticのバージョン2にもv1のネームスペースがありそちらを参照できる。

from pydantic.v1 import BaseModel, ...