2026/03/12(木)Strawberry PerlでImage::Magick, DBD::Pg, DBD::mysqlをEXE化

最新Strawberry Perl 5.42で、PerlMagickを含むWindows用EXEを生成する方法。

Strawberry Perlのインストール

Strawberry Perlのサイトから、ダウンロードしました。現時点で最新は「5.42.0.1」。形式はどれでも構わないと思いますが、個人的にPortableを選びました。

以下 c:\strawberry-perl-5.42.0.1 にインストールしたものとして話を進めます。

続きを読む

2026/02/23(月)PostfixAdmin/SQLite を php-cgi として Debian にインストール

メールサーバのためだけにさくらのレンタルサーバを借りるのがもったいなく感じてました。ライトプランに変更できれば良いんですが、不可能なので、PostfixAdminを使ってWeb管理できるメールサーバを立てた記録。

※メモ代わりに PostfixAdmin 以外の設定も、おまけとして記載しています。

背景

そもそも「なぜさくらのレンタルサーバでメールを管理していたのか」という話になります。

  1. メールサーバが落ちると致命的であるので、自前サーバに依存させたくない。
    • 最悪、自前サーバを復旧させるためにメール受信が必要になると積む可能性がある。
  2. メールサーバは面倒な設定が多く、それでいて設定をミスると致命的であるので面倒くさい。
  3. Web上からメールアカウントを管理できると便利である。

この中で、一番下の要因を解決できないかと、試してみたのが PostfixAdmin です。PostfixAdmin は Postfix + DovecotによるメールサーバをWebから管理するためのツールです。PHPで作られておりブラウザからメールアカウントを管理することができます。

設定方針

  • サーバは Debian 13/Trixie。
  • Webサーバは稼働中の Apache を使用。
  • PHPは全体で有効にするのではなく、PostfixAdminの領域に限り cgi で実行。*1
  • DBエンジンは SQLite を使用。

Debian系では postfixadmin というパッケージがありますが、モジュール版PHPやMySQL(MariaDB)サーバなども一緒に入ってしまうこと、特に設定が楽になるわけではなさそうなので今回は見送りました。

続きを読む

トランス式ACアダプタの基礎と ADA-T60/E のレビュー

はてブ数 2026/01/30戯言::技術電子::電源

5V動作のスピーカーアンプ回路を製作中なのですが*1、秋月6Vスイッチング電源を使ったら(トランス式電源に比べて)音が悪かったので、ナカバヤシ(旧ミヨシ)製トランスACアダプタを購入しました*2。写真右は比較用のサンヨー(SANYO)製ACアダプタです。

ADA-T60.jpg

使ってみると普通トランス式ACアダプタと挙動が違うので、トランス電源の基礎的な部分の解説をしつつ解析してみました。また、分解せずに解析する過程で教科書で見るような電子回路の知識を活用しますので、そういう意味でも面白いかもしれません。

続きを読む

2026/01/16(金)JLCPCBを使ってみた(Elecrowとの比較)

ずっとElecrow専門でしたが、最近Elecrowの製造が遅めなので、試しにJLCPCBを使ってみました。

製造ルール抜粋

項目ElecrowJLCPCB
最小パターン幅0.15mm0.10mm / 2oz:0.16mm
最小パターン間隔0.15mm0.10mm / 2oz:0.16mm
最小パッド間隔0.15mm0.10mm
最小シルク高さ0.8mm1.0mm
最小シルク線幅0.15mm0.15mm
最小ホール経0.3mm0.3mm*1
最小ランド経0.6mm0.4mm
外形線との間隔0.7mm*20.20mm
  • シルクは、高さ0.8mmや幅0.1mmにしても、どちらも問題なさそう。
  • 製造能力は概ねJLCPCBのほうが高いけど、どちらも一般用途には十分。

参考資料

続きを読む

2025/12/13(土)CH32V003J4M6でハードウェアSerialとSWIOを同時使用 +Tips

CH32V003関連Tips集。特にSOIC 8pinのCH32V003J4M6について。

ハードウェアシリアルを有効にするとSWIOが死ぬ問題

CH32V003J4M6.png

CH32はSWIOと呼ばれるピン1本でファームウェアの書き込みができます。CH32V003J4M6では、SWIO(8pin)に他に多くの機能が割り当てられており、いずれかのペリフェラルをonにするとSWIO機能がオフになってしまいます。

SWIOがオフになると、CH32V003への書き込みに失敗するようになります。これを解決するにはWCH-LinkUtilityを使用してROMを消去する必要があります(参考サイト)。

回避策としては、

  • deley()や他の入力ピンなどを使用して、条件付きでSWIOをonにする。
  • ハードウェアシリアルを使用しない(ソフトウェアシリアルで代用)。

などが知られていますが、どれも不便です。

続きを読む