🕰 4年ぶりの更新です。ブログ、再始動します!
ブログ、再始動します!インクを新しく満たして、また書き始めました。
✨🕰 今後ブログで取り上げるトピックについて
具体的な発信内容について整理です。
🖥 PCの設定や活用方法
- 🚀 Obsidian Vault(保管庫)をiCloudからNextcloudへ移行し、複数環境から共有可能な準備を構築する
- Docker Composeで構築!ObsidianのSelf-hosted LiveSync用CouchDBサーバー
- 自前CouchDBと接続!Obsidianで「Self-hosted LiveSync」を設定して同期する方法
- 【Obsidian】大量のデータがあるVaultにSelf-hosted LiveSyncを安全に導入・初期同期する手順
Google API(Books API)を作成し、ObsidianのBooks SearchコミュニティプラグインにAPIキーを設定する
- 🗃️ "はてなブログ"で公開しているコンテンツをGitHubでバージョン管理 〜準備編〜
- 🗃️ はてなブログのコンテンツをGitHubでバージョン管理する 〜設定編(ed25519 SSH Key)〜
- 🗃️ はてなブログのコンテンツをGitHubでバージョン管理する 〜Git設定編(SSHキー/エディタ)〜
- 🖼️ はてなブログの画像をPythonで一括ダウンロード!記事タイトル別にフォルダ分けして保存する方法
- 🖥️ macOS上のVS CodeからUbuntu 24.04にssh鍵認証(ed25519)で接続するため設定
- 💬 Pythonの対話的なプログラミング環境を作ろう!
- 🐳 Pythonの対話的なプログラミング環境を作ろう!(GPU対応編)
- 【Astro + Tailwind + React】GitHub連携からCloudflare Pagesへ爆速デプロイする完全ガイド(Wranglerエラーの回避策つき)
- Astro v5のContent Layer APIで構築する!Markdownドキュメントの自動収集とReactサイドバー連携
- Vue.jsでMarkdownを読み込む2カラムブログサイトを作る(前編:ローカル環境構築編)
- Vue.jsでMarkdownを読み込む2カラムブログサイトを作る(後編:GitHub・Cloudflare Pages連携とエラー対策編)
- Vue.js×Markdownブログを作ろう(番外編:ソースコードの全容と各ファイルの「役割」を整理する)
- Vue.js×Markdownブログを作ろう(番外編2:一見空っぽな「index.html」の秘密と、モダンなWeb開発の仕組み)
- Vue.js×Markdownブログを作ろう(番外編3:心臓部「App.vue」のコードを完全解剖して仕組みを理解する)
- Vue.js×Markdownブログを作ろう(番外編4:「package.json」と「package-lock.json」の違いと役割を徹底解説)
- Vue.js×Markdownブログを作ろう(番外編5:なぜ3つもある?「tsconfig」ファミリーの役割を徹底解説)
- Vue.js×Markdownブログを作ろう(番外編6:「vite.config.ts」と「env.d.ts」の役割を徹底解説)
- Vue.js×Markdownブログを作ろう(番外編7:最終成果物「dist」ディレクトリの正体とビルドの裏側)
- Vue.js×Markdownブログを作ろう(番外編8:謎の巨大フォルダ「node_modules」の正体と、正しい付き合い方)
- 🖥️ デスクトップPC購入記:写真整理からUbuntuデュアルブートまで
- 🚀 Ubuntu 24.04でNextcloud上のObsidian上のVault(保管庫)と連携した環境を構築する
- 🚀 Ubuntu 22.04LTSのアップグレード(22.04 LTSの区画を初期化した上で24.04 LTSをインストール)
- 🚀 Ubuntu 22.04LTSのアップグレード(22.04 LTSの区画を初期化した上で24.04 LTSをインストール)後の環境構築:ディスク増設、Docker、各種アプリケーションの導入」
- 🚀 Ubuntu 22.04LTSのアップグレード(22.04 LTSの区画を初期化した上で24.04 LTSをインストール)後の環境構築:Docker上にオープンソース全文検索システムFessの導入
- 🚀 Ubuntu 24.04LTS: Docker上のFessを15.1.0にアップデート!ファイルシステムクローリングも設定してみた
- 🚀 Ubuntu 24.04LTS: Docker上のNextcloudを30.0.14にアップデート! 〜SSL化も実施〜
- 🚀 Ubuntu 24.04LTS: Docker上のNextcloudを30.0.14にアップデート! 後編 〜docker compose/SSLの設定とトラブル対応〜
- Nextcloud 32へのバーションアップ(その1: 方針の検討)
- Nextcloud 32へのバーションアップ(その2: ソフトウェア要件の確認)
- Nextcloud 32へのバーションアップ(その3: MariaDBのオプションの確認)
- Nextcloud 32へのバーションアップ(その4: Nextcloudのオプションの確認)
- Nextcloud 32へのバーションアップ(その5: 自己署名証明書生成)
- Nextcloud 32へのバーションアップ(その6: Nginx Proxy Manager の設定)
- Nextcloud 32へのバーションアップ(その7: Nextcloudの初期設定)
- Nextcloud 32へのバーションアップ(その8: Nextcloudの追加設定)
- Nextcloud 32へのバーションアップ(その9: Mac版Nextcloudデスクトップクライアントの導入)
- Nextcloud 32へのバーションアップ(その10: ファイル名が長いエラーへの対応)
- 番外編 ファイル名の文字数チェックに便利!長さ指定でフィルタリングできる一覧表示Pythonスクリプト
- Nextcloud 32へのバーションアップ(その11: ローカル環境での名前解決のため、Docker上にCoreDNSを構築)
- Nextcloud 32へのバージョンアップ (その12: iPadへの自己署名証明書登録とHTTPSでNextcloudへ接続)
- Nextcloud 32へのバージョンアップ (その13: 続編 iPadへの自己署名証明書登録とHTTPSでNextcloudへ接続)
- Nextcloud 32へのバージョンアップ (その14: 続編 iPadへの自己署名証明書登録とHTTPSでNextcloudへ接続)
- 🚀 Ubuntu 24.04.3 Server LTSのインストール(続編)
- 🚀 Ubuntu 24.04.3 Server LTSのインストール(続編-写真管理アプリ「PhotoPrism」の導入)
- 🚀 Ubuntu 24.04.3 Server LTSのインストール(続編-全文検索システムFessの導入 Part1)
- 🚀 Fess導入記録 (Part2) MaxLengthExceededExceptionエラーの原因と解決方法[Ubuntu 24.04.3]
- 💡 Ubuntu Server 22.04の起動時、SSSDのエラーが出るけど大丈夫?LDAP/ADを使っていない場合の対処法
- 💡 Ubuntu 24.04 の起動が遅い原因「systemd-networkd-wait-online.service」で2分待たされる問題の解決方法
- 🧩 Ubuntuで「phased updates(段階的展開)」によってアップグレードが保留されたときの話
- 🚀 Ubuntu UFWのログ確認方法とポート開放・削除方法
🖥️ macOS Windows AppからUbuntu 26.04へのRDP接続でエラー0x207が発生する場合の対処法
🚀 Fess導入記録 (Part3) OutOfMemoryErrorエラーの原因と解決方法[Ubuntu 24.04.3]
- 🚀 Fess導入記録 (Part4) OutOfMemoryErrorエラーへの対策 [Ubuntu 24.04.3]
- 🚀 Fess導入記録 (Part5) OutOfMemoryErrorエラーへの対策 [Ubuntu 24.04.3]
- 🚀 Fess導入記録 (Part6) OutOfMemoryErrorエラーへの対策 [Ubuntu 24.04.3]
- 📄 File Crawling Configの設定で特定拡張子のファイルを対象外にする設定方法
- 📄 macOSのAutomatorでファイル名の先頭に、yyyymmdd_を付与する
- 🛠️ FessのFailure URLにあるパーセントエンコーディングをデコードするツールを作ってみた
- 🛠️ FessのFailure URLをログからまとめてデコードするツールを作ってみました
- 🧰 よく使うコマンド集 随時アップデート
- 🗂️ Pythonで最新のファイルを見つけ出す! ディレクトリ内の全ファイルを走査して最終更新日を確認する方法
- Pythonで指定ディレクトリ配下で指定した拡張子のファイルを見つけ出す
- ディレクトリ間で修正されたPythonスクリプトを特定する方法(.pyc除外)
- GitHubでマージ済みの更新ファイルを特定する方法
- 📊 マシンの物理メモリーを使っているプロセスを確認するには
- Ubuntu 24.04でディスクアクセスしているプロセスを確認する方法
- 🔄 rsyncでUbuntuのデータバックアップを取る方法
- 💻 rsyncで大容量ファイルを安全に同期!Bashスクリプトをfindと
-executeオプションで堅牢化するテクニック - 🗂️ 2つのディレクトリ構造を比較するPythonスクリプトを作成
- 💻 【Linux_ネットワーク】Ubuntu 24.04で開いているポートを確認する方法と、超便利なcurlコマンドの主要オプションまとめ
- 💻【Ubuntu 24.04対応】チェックサムで重複ファイルを検出!Pythonとteeコマンドで画面・ファイル同時出力
- 💻【Ubuntu 24.04対応】チェックサムで重複ファイルを検出!(改良案をGeminiに聞いてみた!)
- 💻 Ubuntu環境のセキュリティを強化!オープンソースのウイルス対策ソフト「ClamAV」の導入と使い方
- Pythonのvenv環境を切り替える際に、インストール済みモジュールを引き継ぐ方法
- OSキャッシュを完全攻略!ストレージの真の実力と信頼性を測るファイルシステム試験スクリプト
- 💥 Ubuntu 24.04がinitramfsで起動したときの対処法
- 📊 Linuxのメモリ管理|Freeコマンドで見るバッファ_キャッシュの謎
- 📊 Ubuntu 24.04で物理メモリを32GBに増設したので、swapサイズを再設定
- Python+tkinterを利用したカレンダーWidgetの作成(その1: 表示フレームの作成)
- tkinterを利用したカレンダーWidgetの作成(その2: 表示する月と曜日の表示)
- tkinterを利用したカレンダーWidgetの作成(その3: 祝日に対応した日付の表示)
- tkinterを利用したカレンダーWidgetの作成(その4: 前月・次月切替の実装)
- tkinterを利用したカレンダーWidgetの作成(その5: メモを記入するエリアの追加)
- tkinterを利用したカレンダーWidgetの作成(その6: カレンダーの日付にボタンクリックのアクション機能の追加)
- tkinterを利用したカレンダーWidgetの作成(その6 補足: カレンダーの日付にボタンクリックのアクション機能の追加)
- tkinterを利用したカレンダーWidgetの作成(その7: メモに保存機能を追加!SQLiteとMarkdownを活用 DB作成編)
- tkinterを利用したカレンダーWidgetの作成(その8: メモに保存機能を追加!SQLiteとMarkdownを活用 DB書込み編)
- tkinterを利用したカレンダーWidgetの作成(その9: メモに保存機能を追加!SQLiteとMarkdownを活用 DB読込み編)
- tkinterを利用したカレンダーWidgetの作成(その10: カレンダーとメモを「同期」させる)
- tkinterを利用した予定・実績管理Widgetの作成(その2: プロトタイプの作成)
- tkinterを利用した予定・実績管理Widgetの作成(その3: スケジュールタイトルの固定)
- tkinterを利用した予定・実績管理Widgetの作成(その4: ポップアップWindowに登録済スケジュールを表示)
- tkinterを利用した予定・実績管理Widgetの作成(その5: 登録スケジュールの更新・削除)
- tkinterを利用した予定・実績管理Widgetの作成(その6: 表示の改良)
- tkinterを利用した予定・実績管理Widgetの作成(その8: macOSダークモード対応とUIの微調整)
- tkinterを利用した予定・実績管理Widgetの作成(その9: PEP8準拠でコードを美しく整える その1: pycodestyle)
- tkinterを利用した予定・実績管理Widgetの作成(その10: PEP8準拠でコードを美しく整える その2: flake8)
- PythonのGUIライブラリ「Tkinter & ttk」ウィジェットのまとめ: 役割と階層構造
- PythonのGUIライブラリ「Tkinter & ttk」ウィジェットのまとめ: Top-Leve Widget
- PythonのGUIライブラリ「Tkinter & ttk」ウィジェットのまとめ: Top-Leve Widget続編(サブウィンドウからメイン画面へデータを渡す)
- PythonのGUIライブラリ「Tkinter & ttk」ウィジェットのまとめ: Top-Leve Widget続編(サブウィンドウからメイン画面へデータを渡す: キャンセル対応)
- PythonのGUIライブラリ「Tkinter & ttk」ウィジェットのまとめ: Container Widget
- PythonのGUIライブラリ「Tkinter & ttk」ウィジェットのまとめ: Container Widget: packとgrid伸縮マスター編
- PythonのGUIライブラリ「Tkinter & ttk」ウィジェットのまとめ: Controls, Display
- tkinterを利用してカレンダーWidgetと予定・実績管理Widgetを統合する(その2: カレンダー画面1)
- tkinterを利用してカレンダーWidgetと予定・実績管理Widgetを統合する(その3: メモ画面1)
- tkinterを利用してカレンダーWidgetと予定・実績管理Widgetを統合する(その4: カレンダー画面2)
- tkinterを利用してカレンダーWidgetと予定・実績管理Widgetを統合する(その5: カレンダーの月移動機能の実装とレイアウトの最適化)
- tkinterを利用してカレンダーWidgetと予定・実績管理Widgetを統合する(その6: 日付選択機能とエリア間連動の実装)
- tkinterを利用してカレンダーWidgetと予定・実績管理Widgetを統合する(その7: メモ入力の実装とスケジュールUIの拡張)
- tkinterを利用してカレンダーWidgetと予定・実績管理Widgetを統合する(その8: Canvasによる24時間バーチカル表示の実装)
- tkinterを利用してカレンダーWidgetと予定・実績管理Widgetを統合する(その9: カレンダーとスケジュールの連動)
- tkinterを利用してカレンダーWidgetと予定・実績管理Widgetを統合する(その10: SQLite3によるメモ機能の永続化)
- tkinterを利用してカレンダーWidgetと予定・実績管理Widgetを統合する(その11:スケジュール登録とCanvas描画の実装)
- tkinterを利用してカレンダーWidgetと予定・実績管理Widgetを統合する(その12:登録済みタスクの管理・削除機能の実装)
- tkinterを利用してカレンダーWidgetと予定・実績管理Widgetを統合する(その13: メモエリアのUI改善とプレースホルダーの視認性向上)
- tkinterを利用してカレンダーWidgetと予定・実績管理Widgetを統合する(その14: 表示モード切替機能の追加とUIの動的更新)
- tkinterを利用してカレンダーWidgetと予定・実績管理Widgetを統合する(その15:週次表示モードのレイアウト実装)
- tkinterを利用してカレンダーWidgetと予定・実績管理Widgetを統合する(その16:週次・日次スケジュールのデータ描画実装)
- tkinterを利用してカレンダーWidgetと予定・実績管理Widgetを統合する(その17:ダークモードの実装とUIパーツのLabel統一)
- tkinterを利用してカレンダーWidgetと予定・実績管理Widgetを統合する(その17:ダークモードの実装とUIパーツのLabel統一)
- tkinterを利用してカレンダーWidgetと予定・実績管理Widgetを統合する(その19: コードレビューの反映とスケジュール描画のDB接続最適化)
- tkinterを利用してカレンダーWidgetと予定・実績管理Widgetを統合する(その20: 登録済みスケジュールの修正機能を実装する)
- tkinterを利用してカレンダーWidgetと予定・実績管理Widgetを統合する(その21: MVCパターンリファクタリング その1)
- tkinterを利用してカレンダーWidgetと予定・実績管理Widgetを統合する(その22: MVCパターンリファクタリング その2 DBスキーマ初期化)
- tkinterを利用してカレンダーWidgetと予定・実績管理Widgetを統合する(その23: MVCパターンリファクタリング その3 メモのCRUD)
- tkinterを利用してカレンダーWidgetと予定・実績管理Widgetを統合する(その24: MVCパターンリファクタリング その4 スケジュールのCRUD+キャッシュ)
- tkinterを利用してカレンダーWidgetと予定・実績管理Widgetを統合する(その24: MVCパターンリファクタリング その4 スケジュールのCRUD+キャッシュ 番外編)
- tkinterを利用してカレンダーWidgetと予定・実績管理Widgetを統合する(その25: MVCパターンリファクタリング その5 メインウィンドウ)
- tkinterを利用してカレンダーWidgetと予定・実績管理Widgetを統合する(その26: MVCパターンリファクタリング その6 カレンダーグリッド描画)
- tkinterを利用してカレンダーWidgetと予定・実績管理Widgetを統合する(その27: MVCパターンリファクタリング その7 メモテキストエリア描画)
- tkinterを利用してカレンダーWidgetと予定・実績管理Widgetを統合する(その28: MVCパターンリファクタリング その8 スケジュールキャンバス描画)
- tkinterを利用してカレンダーWidgetと予定・実績管理Widgetを統合する(その29: MVCパターンリファクタリング その9 状態管理・全イベントハンドリング)
tkinterを利用してカレンダーWidgetと予定・実績管理Widgetを統合する(その30: MVCパターンリファクタリング その10 メイン作成と稼働確認)
tkinterを利用してカレンダーWidgetと予定・実績管理Widgetを統合する(番外編1
__pycache__とは何か?)- tkinterを利用してカレンダーWidgetと予定・実績管理Widgetを統合する(番外編2 tkinter ウィジェット編:Label, create_line の書き方の改善)
- tkinterを利用してカレンダーWidgetと予定・実績管理Widgetを統合する(番外編3 SQL文編:スクリプト内のSQL文字列の書き方の改善)
tkinterを利用してカレンダーWidgetと予定・実績管理Widgetを統合する(番外編4 関数定義編:def文の型ヒント・改行・docstringの書き方の改善)
tkinterを利用してカレンダーWidgetと予定・実績管理Widgetを統合する(番外編5 現行スクリプトのGitHubへのロード)
- tkinterを利用してカレンダーWidgetと予定・実績管理Widgetを統合する(番外編6 main.pyの改善確認)
- tkinterを利用してカレンダーWidgetと予定・実績管理Widgetを統合する(番外編7 config.pyの改善確認)
- tkinterを利用してカレンダーWidgetと予定・実績管理Widgetを統合する(番外編8 database.pyの改善:SQL文字列・制約・関数名の見直し)
- tkinterを利用してカレンダーWidgetと予定・実績管理Widgetを統合する(番外編9 note_model.pyの改善:docstring・SQL文字列・クォート・initの見直し)
- tkinterを利用してカレンダーWidgetと予定・実績管理Widgetを統合する(番外編10 schedule_model.pyの改善:型ヒント・docstring・SQL文字列・クォートの見直し)
- tkinterを利用してカレンダーWidgetと予定・実績管理Widgetを統合する(番外編11 calendar_view.pyの改善:型ヒント・docstring・Callable・メソッド分割・Label引数の見直し)
- tkinterを利用してカレンダーWidgetと予定・実績管理Widgetを統合する(番外編12 main_view.pyの改善:型ヒント・docstringの見直し)
- tkinterを利用してカレンダーWidgetと予定・実績管理Widgetを統合する(番外編13 note_view.pyの改善:型ヒント・docstring・Callable・ウィジェット引数の見直し)
- tkinterを利用してカレンダーWidgetと予定・実績管理Widgetを統合する(番外編14-1 schedule_view.pyの改善:型ヒント・docstring・Callable・冗長コード・ウィジェット引数の見直し)
- tkinterを利用してカレンダーWidgetと予定・実績管理Widgetを統合する(番外編14-2 schedule_view.pyの追加リファクタリング:pylint警告への設計改善による対処)
- tkinterを利用してカレンダーWidgetと予定・実績管理Widgetを統合する(番外編14-3 schedule_view.pyの改善:コーディングスタイルの見直しとpylint警告への対処)
- tkinterを利用してカレンダーWidgetと予定・実績管理Widgetを統合する(番外編15-1 app_controller.pyの改善:docstring・型ヒント・ネスト関数の見直し)
- tkinterを利用してカレンダーWidgetと予定・実績管理Widgetを統合する(番外編15-2 app_controller.pyの改善:docstring・型ヒント・ネスト関数の見直し)
tkinterを利用してカレンダーWidgetと予定・実績管理Widgetを統合する(番外編16 アプリ起動時のレイアウト(PanedWindowのサッシ位置)を固定する)
- PythonのMVCアプリに新しいWidgetを追加するときの進め方(補足: チャート)
- PythonのMVCアプリに新機能を追加する【第1回】Model層とDBテーブルの設計
- PythonのMVCアプリに新機能を追加する【第2回】View層
compass_view.pyの新規作成 - PythonのMVCアプリに新機能を追加する【第3回】
main_view.pyの修正でレイアウトに組み込む - レイアウト情報の永続化【第2回】
ui_settings_model.pyを新規作成する(Model層) - レイアウト情報の永続化【第3回】
main_view.pyにサッシ位置の取得・適用メソッドを追加する(View層) - レイアウト情報の永続化【第4回】
app_controller.pyで起動時読み込み・終了時保存を配線する(Controller層) - 一週間コンパスのUI改善:EntryとTextの右端がズレる問題を解決するレイアウト術
📱 ガジェットの設定や活用方法
- 📡 SwitchBotのAPIについて調べてみた
- 📡 PythonでSwitchBot プラグミニ(JP)の消費電力を定期取得とCSV保存
- 📡 SwitchBotプラグミニのステータスをPythonでSQLiteに記録する
- 📡 【続編】SwitchBotプラグミニのデータをPythonでグラフ化する
- 📡 【続編】SwitchBotプラグミニのデータをStreamlitでリアルタイム可視化する
- 📡 【続編】StreamlitでSwitchBotプラグミニのステータスをリアルタイムダッシュボード化
- 📡 StreamlitでSwitchBotプラグミニのステータスをリアルタイムダッシュボード化アプリのコンテナ化
- 📡 SwitchBotプラグミニのステータスダッシュボードの表示日時を日本時間に
- 📡 StreamlitでSwitchBotプラグミニのステータスをリアルタイムダッシュボード化(コードの改良案①)
- 📡 StreamlitでSwitchBotプラグミニのステータスをリアルタイムダッシュボード化(コードの改良案②)
- 📡 StreamlitでSwitchBotプラグミニのステータスをリアルタイムダッシュボード化(コードの改良案③)
- 📡 StreamlitでSwitchBotプラグミニのステータスをリアルタイムダッシュボード化(コードの改良)
- 🗃️ SQLite3の.dbファイルをコマンドラインで覗く!DB・テーブル・カラムを確認する手順
- 📡 StreamlitでSwitchBotプラグミニのステータスをリアルタイムダッシュボード(コンテナ+MariaDB)
💧 【SwitchBot】防水温湿度計の情報をBLE APIで取得し、コンテナ環境でPythonスクリプトを実行してみた
- 💧 【SwitchBot】防水温湿度計の情報をBLE APIで取得するPythonスクリプトの確認(その1) bleakとは
- 💧 【SwitchBot】防水温湿度計の情報をBLE APIで取得するPythonスクリプトの確認(その2)
- 💧 【SwitchBot】防水温湿度計の情報をBLE APIで取得するPythonスクリプトの確認(その3)
- 💧 【SwitchBot】防水温湿度計の情報をPlotly/Flaskでリアルタイム可視化する
- 🗄️ SQlite3の ATTACH DATABASEコマンドの発行方法
- 🗄️ 複数のSQLite DBファイルに対してSQL文を発行する場合、他のRDBに移行すべきか
- 🗄️ SQLiteからの移行準備: DockerでMariaDB環境とデータ検証環境をセットアップする
- 🗄️ SQLiteからMariaDBへ!
sqlite3-to-mysqlを使ったデータ移行(その1) - 🗄️ SQLiteからMariaDBへ!
sqlite3-to-mysqlを使ったデータ移行(その2: 実際の変換・インポート手順編) - 🗃️ MariaDBをコマンドラインで覗く!DB・テーブル・カラムを確認する手順
🗄️ SQLiteからMariaDBへ!sqlite3-to-mysqlを使ったデータ移行 (その3:検証とトラブルシューティング編)
- 🐳 Docker Composeで即座にMariaDBへCLI接続できるクライアント環境を構築する
- 💻 【Maria DB】新規DB作成・DB管理者の設置
- 💧 【SwitchBot】防水温湿度計の情報をBLE APIで取得したデータをMariaDBへ定期保存する(Python, Bleak)
- 📝 MariaDBに保存したBLEセンサーデータをPlotlyとDashで可視化するダッシュボード構築手順
- 💧 【SwitchBot】防水温湿度計のデータをGrafanaで可視化する
- 🗃️ 【SwitchBot】MariaDBのテーブルの変更(防水温湿度計)
- 💧 MariaDB で sensor_readings のデータを wp_thermo_hygrometer_utc へ移行する
- 💧 SQLiteDBのデータ(sensor_readingsテーブル)をMariaDBのテーブル(wp_thermo_hygrometer_utc)形式に変換する
💧 【SwitchBot】防水温湿度計のデータをGrafanaで可視化する(wp_thermo_hygrometer_utcテーブル対応)
🕓【Docker × Grafana × MariaDB】タイムゾーンずれの原因を整理し、UTCに統一する方針を立てました
- 🐳 Docker Composeでコンテナのタイムゾーンを「Asia/Tokyo」から「UTC」へ変更する設定方法
- 🌐 Docker ComposeでGrafanaをUTC(協定世界時)環境で起動する
- 🚀 GrafanaでUTCデータをJSTで表示!タイムゾーン設定を攻略
- 🗃️ 【SwitchBot】収集データ格納用テーブルの新規作成の検討
- 📡 SwitchBotプラグミニ(JP)データ収集Pythonスクリプトの修正
- 🗃️ MariaDB で status_log のデータを plugmini_jp_utc へ移行する(JST → UTC変換あり)
- 🗃️ MariaDB で status_log のデータを plugmini_jp_utc へ移行後の確認
- 🗄️ DB操作もPython開発も!DockerでSQLite3 + Python環境を構築する
- 🗃️ SQLiteDBのデータをMariaDBのテーブル形式に変換する(JST → UTC変換あり)
- 🗃️ SQLiteDBのデータをMariaDBのplugmini_jp_utc へロードする(JST → UTC変換あり)
- 📡 SwitchBotプラグミニ(JP)データ収集Pythonスクリプトの修正(第二弾-改良点の検討)
- 📡 SwitchBotプラグミニ(JP)データ収集Pythonスクリプトの修正(第二弾-改良点の反映)
📡 【SwitchBot】SwitchBotプラグミニのデータをGrafanaで可視化する(plugmini_jp_utcテーブル対応)
- Dockerコンテナを「資産」に変える:インベントリ管理を支えるLabels活用術
- docker runコマンドをDocker Composeに移行する
mbentley/timemachine:smbを使ってTime Machineバックアップサーバーを構築するubuntu:24.04ベースでmbentley/timemachine相当のTime Machineサーバーコンテナを自作する- Avahi とは
- Dockerで作るTime Machineサーバー:UbuntuベースとAlpineベースのイメージサイズを比較してみた
- ubuntu:24.04 ベースの自作 Time Machine コンテナに Labels を追加してインベントリ管理を強化する
- Dockerコンテナの設計思想を残す:Labels以外の情報をどう文書化するか#1
- 設計の意図をコードと一緒に残す:インラインコメントの実装#2
- 設計の意図をコードと一緒に残す:ADRの実装#3
- セットアップと変更履歴を整備する:README.md と CHANGELOG の実装#4
- Nextcloud の docker-compose.yml に Labels とインラインコメントを追加してインベントリ管理と可読性を向上させる
- Nextcloud の docker-compose 構成に README・CHANGELOG・ADR を整備して設計の意図を残す
- Nginx Proxy Manager の Custom Nginx Configuration を設定して Nextcloud の大容量ファイル転送を安定させる
- CoreDNS の docker-compose.yml に Labels とインラインコメントを追加してインベントリ管理と可読性を向上させる
- CoreDNS 構成に README・CHANGELOG・ADR を整備して設計の意図を残す
- Ollama + Open WebUI の docker-compose.yml に Labels とインラインコメントを追加してインベントリ管理と可読性を向上させる
- Ollama + Open WebUI 構成に README・CHANGELOG・ADR を整備して設計の意図を残す
- Grafana の docker-compose.yml に Labels とインラインコメントを追加してインベントリ管理と可読性を向上させる
- Grafana 構成に README・CHANGELOG・ADR を整備して設計の意図を残す
- Dockhand の起動を shell スクリプトから docker-compose.yml に移行し、Labels とインラインコメントを追加する
- Dockhand 構成に README・CHANGELOG・ADR を整備して設計の意図を残す
- Jellyfin の docker-compose.yml に Labels とインラインコメントを追加してインベントリ管理と可読性を向上させる
- Jellyfin 構成に README・CHANGELOG・ADR を整備して設計の意図を残す
- PhotoPrism の2インスタンス構成を「1ファイル2インスタンス」から「ディレクトリ分離」に移行する
- SwitchBot BLE スキャナーの docker-compose.yml に Labels とインラインコメントを追加してインベントリ管理と可読性を向上させる
- SwitchBot BLE スキャナー構成に README・CHANGELOG・ADR を整備して設計の意図を残す
- SwitchBot BLE スキャナーPythonスクリプト(ble_scan_parser.py)のリファクタリング
- ble_scan_parser.py にインラインコメント・README・CHANGELOG・ADR を整備して設計の意図を残す
- Pythonとbleakでアドバタイズメントパケットを解析するスクリプトの基本設計書
- Pythonとbleakでアドバタイズメントパケットを解析するスクリプトの詳細設計書
- SwitchBot BLE スキャナーPythonスクリプト(collect_data_from_Switchbot-Waterproof-Thermo-Hygrometer_viaBLE.py)のリファクタリング
- collect_data_from_Switchbot-Waterproof-Thermo-Hygrometer_viaBLE.py にインラインコメント・README・CHANGELOG・ADR を整備して設計の意図を残す
- 【SwitchBot BLE】collect_data_from_Switchbot-Waterproof-Thermo-Hygrometer_viaBLE.pyの基本設計書
【SwitchBot BLE】collect_data_from_Switchbot-Waterproof-Thermo-Hygrometer_viaBLE.pyの詳細設計書
- 🌡️ Raspberry Pi PicoとDHT22、SSD1306 OLEDで日付・温湿度を表示する
- 🌡️ Raspberry Pi PicoとDHT22、SSD1306 OLEDで日付・温湿度を表示する(電圧の測定を追加)
- 🌡️ Raspberry Pi Pico Wからの温湿度データを受け取る(DB準備)
- 🌡️ Raspberry Pi Pico Wからの温湿度データを受け取る(DBカラム追加)
- 🌡️ Raspberry Pi Pico Wからの温湿度データを受け取る(POSTリクエストの受信)
- 🌡️ Raspberry Pi Pico Wからの温湿度データを受け取る(POSTリクエストの送信)
- 🌡️ Raspberry Pi Pico Wからの温湿度データを受け取る(POSTリクエストの受信) コンテナ化 その1:WSGIサーバーの導入
- 🌡️ Raspberry Pi Pico Wからの温湿度データを受け取る(POSTリクエストの受信) コンテナ化 その2:WSGIサーバーの導入
- 🌡️ Raspberry Pi Pico Wからの温湿度データを受け取る(POSTリクエストの受信) Grafanaダッシュボードへの追加
- 🌡️ Grafanaダッシュボードでのタイムゾーンの課題: MariaDBのtimestamp属性とdatatime属性の違い
- 🌡️ Grafanaダッシュボードでのタイムゾーンの課題:MariaDBのTIMESTAMP型をDATETIME型へ変換して「9時間のズレ」を根本解決する
- 🍓 Raspberry Pi Pico WとSCD40 CO2センサーでCO2・温度・湿度の測定
- 🍓 Raspberry Pi Pico WとSCD40 CO2センサーでCO2・温度・湿度の測定: キャリブレーション
- 🍓 Raspberry Pi Pico WにENS160+AHT21 CO2+温湿度センサーを接続
- 🍓 Raspberry Pi Pico WからAHT21 温湿度センサーが認識されているかの確認
- 🍓 Raspberry Pi Pico WでENS160を動かす!Device IDの確認と温湿度補正も実装
- 🌡️ Raspberry Pi PicoとDHT22、SCD40、ENS160+AHT21を接続し情報を取得
- 💧 複数の環境センサー(DHT22, SCD40, ENS160)のデータを保存するDBテーブル設計
🔍 ITを活用した情報収集や活用方法
- 今後にご期待を
📓 ITとアナログの関係
🚀 チャレンジしていること
- 天気に関するトピック
- 🌤 PythonでAccuWeather APIを使って時間別天気を自動取得してみた!
- 🌤 AccuWeather APIの無料提供が終わっていました。。。
- 🌤 PythonでOpenWeatherMap APIを使って天気データを取得・活用する
- 🌦️ PythonとDockerで実現!OpenWeatherMap APIデータ収集・SQLite保存の自動化
- 🌦️ PythonとDockerで実現!OpenWeatherMap APIデータ収集・SQLite保存の自動化(コードの改良)
- 🌦️ OpenWeatherMap APIで収集データの参照
- 📸 写真のExifデータから撮影日時を自動抽出!Pythonプログラム入門
- 📸 機械学習に使う写真の要件は?
- 🛠️ Pythonで画像処理を効率化する3つのスクリプト
- 📸 写真から天気を推定するPython with PyTorchプログラムを(ResNet18)作ってみた!
- 📸 写真から天気を推定するPython with PyTorchプログラム(EfficientNet-B0)を作ってみた!第2弾
毎朝自宅のベランダから空の写真をここ数年撮り続けています。
天気に関する情報収集や空の写真から天気をどこまで予測出来るのか等を取り上げます!
- LLMに関するトピック
- 📚 書籍のサンプルプログラムをローカルPCで動かすためにChatGPT互換環境を構築する
- 🖥️ ローカルLLM環境をさらに手軽に! Ollama WebUIの導入とLM Studioとの比較
- 💻 PyQtでOllamaの簡単なフロントエンドアプリを作ってみた!
- 🤖 DifyをmacOS上のDockerで起動し、Ollamaと接続
- 🤖 DifyのRAG機能の確認
- Ubuntu 24.04上のDockerでDifyを構築する(33100番ポート運用と443番衝突回避)
- 【続編】Difyと外部サーバーのOllama(10.0.1.11)を連携させてローカルLLMを活用する
- 【完結編】Difyで外部Ollama(10.0.1.11)を動かす!モデル登録から動作確認までの完全ガイド
📅 最終更新: 2026年6月24日











