個人作品集へようこそ。
ここでは、これまでの作品やこれから出す作品を随時公開していきます。
NotebookLMポートフォリオ解説
複数画像をJPEG一括変換
- 目的: オフラインで動作するシンプルかつ信頼できる一括 JPEG 変換ツールを提供し、簡単に再現できるビルド手順で配布すること。
- 主な機能: 複数ファイルのドラッグ&ドロップ; PNG/WEBP/GIF/JPEG の自動判別と変換; 画質・ファイル名テンプレート設定; Windows onefile exe(ImageToJpgApp.exe)で配布。
- 安全設計: 処理前プレビュー・上書き防止・詳細ログ出力(app_run.log)を備え、トラブル時にログで迅速に解析できます。
- 配布形態: dist\ImageToJpgApp.exe をそのまま Releases に添付して配布。配布ファイルには SHA256 を併記することを推奨します。
- 自動ビルド: GitHub Actions を使い、PyInstaller による onefile ビルドワークフローを用意しています(assets/app.ico を含めて再現性を担保)。
使い方(簡潔)
- dist\ImageToJpgApp.exe(または Releases からダウンロードした ImageToJpgApp.exe)を実行します。
- 変換したいファイルまたはフォルダをウィンドウへドラッグ&ドロップして追加します。
- プレビューで仕上がりを確認し、画質・出力先・ファイル名テンプレートを設定します。
- 「変換」を押して処理を実行。処理ログは app_run.log に出力されます。
- 問題がある場合は app_run.log(最後 200 行推奨)を付けて Issue を作成してください。
リポジトリ / リリース
使用技術
Python 3.12
PyQt5
Pillow
PyInstaller
GitHub Actions
配布と運用上の注意
- 配布ファイル(ImageToJpgApp.exe)には必ず SHA256 を添付することを推奨します。
- 未署名のビルドは Windows SmartScreen の警告対象になります。広く配布する場合はコード署名を検討してください。
- 配布前に別マシンでダウンロード→実行確認を行ってください。問題があれば Issue を作成してください。
画像一括圧縮ツール
- 目的: オフラインで動作する一括画像圧縮 GUI を提供し、再現可能な CI ビルドで配布可能にすることを最優先に設計。
- 主な機能: 複数ファイルのドラッグ&ドロップ; PNG/JPEG の自動判別と最適圧縮; pngquant を利用した高圧縮(tools/pngquant.exe がある場合); 出力品質とファイル名テンプレートの指定。
- 安全設計: 処理前プレビュー・上書き保護・処理ログを備え、問題発生時にはログ(app_run.log)を元に迅速にトラブルシュートできます。
- 配布形態: Windows onefile 実行ファイル(dist\app.exe)を ZIP にまとめて GitHub Releases で配布。配布には SHA256 の添付を推奨。
- 自動ビルド: GitHub Actions で PyInstaller による onefile ビルドと Release 作成ワークフローを実行しています(ツールバイナリは tools/ に固定して再現性を担保)。
使い方(簡潔)
- アプリを起動する(dist\app.exe を実行、またはソースから python app.py)。
- 画像をドラッグ&ドロップ、または「開く」で追加する。
- プレビューで圧縮後の見た目を確認し、品質・幅/高さ・アスペクト比維持を設定する。
- 出力先とファイル名テンプレートを指定して「一括実行」する。
- 問題がある場合はプロジェクトルートの app_run.log を確認して Issue を作成してください。
リポジトリ
使用技術
Python 3.12
tkinter / ttkbootstrap
Pillow
pngquant(オプション)
PyInstaller
GitHub Actions
配布と運用上の注意
- 配布 ZIP には必ず SHA256SUM を添付することを推奨します(例: SHA256SUM-v1.0.0.txt)。
- 未署名ビルドは SmartScreen の警告対象になります。公開配布時はコード署名を検討してください。
- app_run.log を問題報告時に添付いただくと解析が早くなります(最後 200 行を推奨)。
画像サイズ一括変更ソフト
- 目的: 大量画像のサイズ変換・リサイズ処理をシンプルかつ高速に行う。品質と出力形式を保ちながらバッチ処理を行えることを最優先に設計。
- 主な機能: 複数ファイルのドラッグ&ドロップ; プレビュー表示; アスペクト比維持オプション; 幅/高さ/画質指定; フォルダ丸ごと処理; 出力名テンプレート
- 安全設計: 実行前プレビューと差分表示。既存ファイルの上書きはデフォルトで保護され、確認ダイアログを表示します。
- 配布形態: Windows 実行ファイル(ImgResizer.exe)を GitHub Releases で配布。インストーラ(Inno Setup)版も同梱可能。
- 自動ビルド: GitHub Actions で PyInstaller によるビルドを実施。リリース作成ワークフローと連携可能。
使い方(簡潔)
- アプリを起動する
- 画像をドラッグ&ドロップまたは「開く」で追加する
- プレビューで表示を確認し、幅/高さ/画質やアスペクト比維持を設定する
- 出力先とファイル名テンプレートを指定して「保存」または「一括実行」する
- 必要ならログから個別ファイルの処理結果を確認する
リポジトリ
使用技術
Python 3.11
tkinter
PyInstaller
Windows exe
GitHub Actions
配布と運用上の注意
- 重要ファイルは事前にバックアップしてください。
- Undo 機能はアプリ内操作のロールバック用で、外部で変更された状態には対応しない場合があります。
- 未署名ビルドは SmartScreen の警告が出ることがあります。公開配布ではコード署名を検討してください。
複数ファイル名の一括置換ソフト
- 目的: 大量のファイル名を短時間で安全にリネームする。プレビュー・Dry Run・Undo による失敗対策を最優先に設計。
- 主な機能: ファイル複数選択; ベース名・開始番号・桁数の指定; 旧名→新名プレビュー; Dry Run; 実行と Undo(undo ログを出力)
- 安全設計: 実行前にプレビュー表示を必須化。既存ファイル名の衝突は検出して警告を表示します。
- 配布形態: Windows 実行ファイル(file_renamer_gui.exe)を GitHub Releases で配布。ソースは Python + tkinter。
- 自動ビルド: GitHub Actions で PyInstaller によるビルドを実行。リリース作成には workflow に
permissions: contents: writeを設定してください。
使い方(簡潔)
- 「ファイル選択」で対象ファイルを追加する
- 「ベース名」「開始番号」「桁数」を設定する
- 「プレビュー」で旧名→新名を確認する
- 必要なら「Dry Run」で動作検証する
- 問題なければ「実行」を押し、必要なら「最後の操作を元に戻す」を利用する
リポジトリ
使用技術
Python 3.11
tkinter
PyInstaller
Windows exe
GitHub Actions
配布と運用上の注意
- 重要ファイルは事前にバックアップしてください。
- Undo は外部操作(移動・削除)に対しては失敗する場合があります。
- 大量配布する場合はコード署名を検討してください。ダウンロード時の信頼性が向上します。
メッセージアプリ
- 開発の流れ: Spring Boot プロジェクトを作成 → Dockerfile でコンテナ化 → Render にデプロイ → PostgreSQL を接続 → 環境変数を設定 → Health Check を導入。
- データベース接続: Render の Managed PostgreSQL を利用し、
SPRING_DATASOURCE_URLに External URL を設定。SSL 接続必須のため?sslmode=requireを付与。 - 環境変数管理: ユーザー名や JDBC URL は公開可、パスワードは Secret ON に設定し安全に管理。
- ヘルスチェック:
/actuator/healthを Render の Health Check Path に指定し、起動確認を自動化。 - デプロイ運用: GitHub と連携し、Auto Deploy を ON(On Commit)に設定。push するだけで Render が自動ビルド&デプロイ。
- 制約: 無料プランのため、サービス停止時にデータはリセットされる。永続利用には外部ストレージや有料プランが必要。
💾 Renderは無料枠、Web Serviceの無料インスタンスは5分間のアクティビティがないとスリープ(休止)します。そのため、本番環境や常に稼働させたいサービスの場合は、スリープしないStarterインスタンス(月額$7)が最安の選択肢となります。
GitHub リポジトリ
使用技術
Java 21
Spring Boot 3.x
Maven
Docker
PostgreSQL
Render
Spring Boot Actuator
PostgreSQL 17
今後の改善予定
- ユーザー認証機能(ログイン/ログアウト)の追加
- プロフィールページや投稿機能の拡張
- Docker Compose によるローカル開発環境の整備
- CI/CD パイプラインの導入
簡易版コメント投稿
履歴保持電卓アプリ
- 履歴保持: すべての計算結果を履歴に保存し、履歴パネルから再利用・削除が可能。
- テーマ・カラー: ダーク/ライト切替とカラーセットで視認性を重視したデザイン。
- アクセシビリティ: aria 属性、aria-live、role 指定でスクリーンリーダー対応。
- キーボード操作: 数字キー、演算子、Enter(=)、Backspace(⌫) 等をサポート。
- レスポンシブ: 固定高さの電卓領域と内部スクロールでモバイルでも履歴が使いやすい。
使い方
- ボタンをクリックまたはキーボードで入力して計算します。
- 履歴アイテムをクリックするとその計算を再度表示できます。
- 「C」「CE」「⌫」で入力クリアや桁削除、%や1/x等の高度な演算も対応。
GitHub リポジトリ
使用技術
HTML
CSS
JavaScript
Accessibility
LocalStorage
⚠️ 注意: 画面サイズやブラウザによりエフェクトの挙動が異なる場合があります。モバイルではエフェクトが控えめに表示されることがあります。
TODOリスト
- 直感的な追加: 入力欄から素早くタスクを追加。
- フィルター: すべて・未完了・完了を切替、各タブに件数表示。
- 一括操作: すべて完了・完了タスクの一括削除で管理が楽に。
- ローカル保存: ブラウザの LocalStorage に保存、リロードしてもデータ保持。
- レスポンシブ: モバイルでの使いやすさを重視したレイアウト。
⚠️ 注意: Render の無料プランを利用しているため、初回アクセスや長時間アクセスのない後は起動に 30秒〜1分 程度かかる場合があります。ページが白紙の場合は数秒待ってから再読み込みしてください。

💾 データについて: データはブラウザの LocalStorage に todos キーで JSON 形式に保存されます。別端末との同期が必要な場合はクラウド保存や API 連携を検討してください。
操作メモ
- タスクをクリックで編集、チェックで完了切替。
- フィルターで表示切替、件数で進捗を把握。
- 一括操作ボタンでまとめて管理。
GitHub リポジトリ
使用技術
HTML
CSS
JavaScript
LocalStorage
Responsive
ジャンプアクションゲーム
- 操作: クリック / タップでジャンプ。スペースキーでも操作可能。
- ゲーム性: ランダムな障害物を避けながらスコアを稼ぐ。3つ通過後に徐々に難易度上昇。
- レイアウト: 雲だけのパララックス背景、地面はシームレスで隙間が開かない実装。
- 音: WebAudio を用いた効果音とミュート切替を実装。
GitHub リポジトリ
使用技術
HTML
CSS
JavaScript
WebAudio
Responsive
⚠️ **注意:** ブラウザやデバイスによって描画や音量の差が出る場合があります。特にモバイルではパフォーマンス優先で一部エフェクトを控えめにしています。
三目並べ
- ゲームプレイ: X と O が交互にマークを配置。縦・横・斜めで3つ揃えば勝利。
- スコアボード: X / O / 引き分け の勝利数を記録。ラウンド開始・リセット機能あり。
- レスポンシブ: スマホからデスクトップまで快適に操作可能なUI。
- 勝利演出: 勝利時に紙吹雪エフェクトで演出。視覚的に盛り上げます。
- 操作と導線: ゲーム下部にサイトへ戻るナビゲーション配置。
GitHub リポジトリ
使用技術
HTML
CSS
jQuery
JavaScript
Responsive
⚠️ 注意: 画面サイズやブラウザによりエフェクトの挙動が異なる場合があります。モバイルではエフェクトが控えめに表示されることがあります。



![【原神】刻晴超開花パーティ 夜蘭蒸発パーティ 深境螺旋12層攻略 Genshin Impact [4K] (げんしん)](https://design-pull.com/wp-content/uploads/2022/12/gensinabyssal_spiral12_20221126-320x180.jpg)





MiniComment
GitHub リポジトリ
使用技術