プログラミング

縦書き画像をSNSに投稿できるWEBツールを作った

どうも、やまぐろです。 ひととおり週次タスク(家事)も終わって時間ができたので、なんか作るかーって感じで「縦書き画像ジェネレーター」が誕生しました。↓ https://iris-on-tools.net/vertical-text-generator/ 外観とか 恐らく解説がなくても使えるような感じになっていると思います。SNS投稿ボタンの挙動がちょっとクセありますが、間に説明挟んだので大丈夫なはず。。 なぜ縦書きツールを作ったのか 入口は季節感 なんか季節感あるやつを作りたいなーって思いたち、そういえば七夕が近いなーとなりました。なのでもともとはSNS投稿用の短冊ジェネレータとして構想したものです。5分くらいの構想ですがw そこから縦書きが合うような短歌や詩なども画像化できたらいいなあと思い、テンプレートが増えていった感じです。 なんとなく今後も拡張できそう そもそもツール群として動かしているサイトの一部のコンテンツになるので、一度作ったらあんまりアップデートしない想定ではあるんですが、これについては季節感がスタートなので今後も拡張できる
4 min ❤️

ブログにいいねボタンを実装してみた

どうも、本業エンジニアです。今回はこのブログに「いいねボタン」を実装してみました。細かいコードはAIに聞けばすぐ出てくると思うので、主に構成とか仕組みについて紹介していこうと思います。 なお、外部のいいねボタンサービス(LikeBtn、Lyket)を利用しない方針でやっています。また、無料で実装&運用できる方法を選択しています。 完成イメージ 以下のようないいね機能が出来上がります。 押すといいね数が繰り上がるボタン↓ 記事上にいいね数を表示↓ ざっくり処理フロー 以下のフローで実装しています。恐らく登場人物はなんとなくこれで分かるかと思います。 構成について 今回は以下の構成でやっていきます。 * Cloudflare Workers(いいね数の管理に利用、無料で使えます) * Ghostの独自テーマ(いいねボタンの表示、いいね数の更新連携) コードが必要な部分も上記のみになるので、比較的少ないコード量で実装が可能です。 ざっくり手順 以下のステップでやっていくといいと思います。 * Cloudfl
4 min ❤️

【予算0円】個人開発でやっておくべきセキュリティ対策

初めに 「個人開発のサイトなんて、誰も狙わないでしょ?」 もしそう思っているなら、今すぐその考えをゴミ箱へポイしちゃいましょう。ネットの海には、24時間365日、獲物を探して徘徊する「攻撃ボット」が溢れています。彼らにとって、あなたのサイトが「個人」か「企業」かなんて関係ありません。 でも、安心してください。 「セキュリティは、必ずしも札束で殴る必要はない」んです。 今回は個人開発をしてる現役エンジニアの視点で、最低限やっておくべき対策を開発・実装・運用のフェーズ順に紹介していこうと思います! 【開発時】Git管理してはいけない「地雷」の見定め方 セキュリティツールを導入する前に、絶対にやってはいけないことがあります。それは 「秘密の情報をリポジトリに含めること」 です。一度でもGitHubにプッシュしてしまったら、たとえ後から削除しても履歴には残り続けます。 「何を .gitignore に入れるべきか?」——その判断基準を整理しましょう。 絶対にプッシュしてはいけない「3種の神器」 * 認証情報(Secrets):APIキー、DBのパスワード、SSH秘
4 min ❤️

Claude Codeプラグイン「frontend-design」は本当にAIっぽいデザインを避けることができるのか?

筆者が運営しているサイトは3つありますが、どれもフロントエンドのスタイルについては基本的にAIにまかせてコーディングを行っています。 自分で頑張ってスタイルシートを書かなくて済むのでめっちゃ便利な反面、世間でも言われている通り、どうしても「AIっぽいデザイン」に収束してしまうのが玉に瑕なんですよね。 今回はこの「AIっぽいデザイン」を回避できると噂のClaude Codeプラグイン「frontend-design」を利用して、どのようなものが出来上がるのかを確かめてみたいと思います。 まずは元の状態から もともとのデザインはこんな感じ。ちなみに、簡易的なWEBツールを配置しているサイトになります。 https://iris-on-tools.net/ 実はこのサイト、AIでデザインを行った際の特徴がふんだんに盛り込まれています。 例えば * なんとなく紫が貴重になっている * グラデーションが利用されている * 絵文字が多様されている という要素はAIに良くみられる特徴です。やったことある方には分かるはず! frontend-des
3 min ❤️

【Excel】PERSONAL.XLSBにマクロ保存して、どのファイルでも自作マクロを使えるようにする

「このマクロ、他のExcelファイルでも使えるようにしたいなあ」ってのを解決する手段がコレです。 通常、Excelマクロ(VBA)は作成したブック(ファイル)内に保存されるため、別のファイルで同じマクロを使いたい場合は、マクロが保存されているファイルを開いておく必要があります。 しかし、「個人用マクロブック(PERSONAL.XLSB)」にマクロを保存しておけば、Excelを開いている時はいつでも、どのファイルからでもそのマクロを呼び出せるようになります。 今回は、この「PERSONAL.XLSB」の作り方と、便利な使い方について解説しようと思います。 「PERSONAL.XLSB(個人用マクロ ブック)」とは? PERSONAL.XLSB(個人用マクロ ブック)は、Excelを起動した際に「裏側(非表示)」で自動的に開かれる特別なファイルです。 このファイルの中にマクロのコードを保存しておけば、現在作業しているExcelファイルが何であっても、保存したマクロを呼び出して実行することができます。 「セルの書式を整える」「選択範囲の空白行を削除する」など、日常
3 min ❤️

ObsidianからGhostへ直接投稿するツールを自作した話

筆者は最近Obsidianで記事執筆を行うことが多くなっています。 んで、Obsidianで書いた記事をGhostブログに投稿する際、毎回ブラウザを開いてコピペするのが面倒だったので、Pythonで専用の投稿ツールを作ってみました。 今回は開発する際のあれこれをここで共有していきたいと思います。 開発の動機 正直なところ興味本位というのが強いのですが、一応「ブログ投稿の手間をより少なくする、という目的があります。 * 現状: Obsidianで書く -> ブラウザでGhost管理画面を開く -> 新規投稿 -> コピペ -> 設定入力 -> 公開 * 理想: Obsidianで書く -> ツール起動 -> ファイル選択 -> 投稿ボタン一発 この「理想」を実現するため、PythonからGhostのAdmin APIを叩くシンプルなツールとして設計することに。 なお、Ghostの記事(Posts)APIは画像データのアップロードは行えません。なので、「画像が必要な投稿には対応しない!」と割り切ることにしました。まあこのブログは基本的にテキストオンリーなので、
2 min ❤️

Antigravityで脱CMSした話

筆者はこのブログのほかに、 * しぇあほん(Webサービス) * アイリス・オン・ツールズ(自作ツール) という2つのWebサイトを運営しています。 そして、このたびツールを公開しているWordPressサイトを、Antigravityを利用してイチから書き直しました。もちろんもともとの機能はそのままです! 今回は、ここに至るまでの経緯と、どういう手法で移行したかをお話できればと思います! 脱CMSしたわけ 自作ツールについては、もともとは一つ一つWordPressのプラグインとして実装し、ショートコードで記事ページに埋め込むという手法で公開していました。 初めの頃は慣れ親しんだWordPressで作ったものを公開できるは楽でいいなと思っていたのですが、新しいツールを作れば作るほど、WordPressである必要を感じなくなっていきました。それもそのはず、そもそもプラグインという形式以外、WordPressに依存しておらず、利点である通常のブログ記事公開も一切していませんでした。そう、もはやコンテンツマネージメントする必要がない状態だったのです! はなからそのつもり
3 min ❤️

【導入~】Google Antigravityで適当にアプリケーション作ってみた【無料!?】

最近AIを使ったコーディングをあんまりしていなかったので、最近話題の「Google Antigravity」を導入して、試しにアプリケーションを作ってみました。 今回は導入方法や、どういう方法でアプリケーションを作ったのかを紹介できればと思います。 なお、よくわかりませんが2026年1月の時点では無料で利用できます。お試し期間ということなんでしょうね。他のAIエージェント型ツール(Manusとか)は有料だし。 Google Antigravityってなに? AIが統合されたIDE(統合開発環境)です。似たようなツールに「Cursor」や「Kiro」などがあります。2025年はこの手のツールがとても流行った年でしたね。 こんな感じで左側でコード参照&編集、右側でチャットができます。チャットで指示を出すだけでプログラムが進んでいくので、プログラム経験がなくてもそれっぽいアプリケーションが作れます。 導入方法 インストーラーをダウンロード https://antigravity.googl
3 min ❤️

【PowerShell】指定ディレクトリのExcelファイルにパスワードを設定(再帰)

本業の方で必要になった、というかあったらいいなあと思ったので仮組み。一応動作確認はしたので動くはず!(本日2度目) 用意するもの * Set-ExcelPassword.ps1(PowerShell) コード Set-ExcelPassword.ps1 # =============================================== # Set-ExcelPassword.ps1 # - Recursively set password for Excel files # - xlsx / xlsm / xlsb / xls # =============================================== # --- Ask target directory --- $RootPath = Read-Host "Enter target directory path (e.g. D:\Data)" if (-not $RootPath) { Write-Host "No
3 min ❤️

【PowerShell】指定ディレクトリのExcelファイル名をルールに則り置換(再帰)

本業の方で必要になった、というかあったらいいなあと思ったので仮組み。一応動作確認はしたので動くはず! 用意するもの * Rename-Files-WithRules.ps1(PowerShell) * replace_rules.csv(置換ルールファイル) コード Rename-Files-WithRules.ps1 [Console]::OutputEncoding = [System.Text.Encoding]::UTF8 $PSDefaultParameterValues['*:Encoding'] = 'utf8' # =============================================== # Rename-Files-WithRules.ps1 (Excel only) # - Rename file names of .xls / .xlsx recursively # - Rules are loaded from replace_rules.
2 min ❤️