プルリクエストを作成できない : git checkout --orphan <branch-name> が原因?

`git checkout --orphan` で作成したブランチでプルリクエストが作れない問題の解決法 GitHubなどで課題提出用にプルリクエストを作成しようとした際、ファイルの差分表示画面までは進めるものの、その先にある「プルリクエストを作成(Create Pull Request…

自作アプリを Android 16(API レベル 36)対応版へアップデートしました

自作のアプリ「Simple Echo」をアップデートしました。 play.google.com アプリをインストールされる方は、いつもをご利用いただきありがとうございます。 このたび、Google Play の最新要件に対応するため、アプリを Android 16(API レベル 36)に対応した…

シェルスクリプトで特定キーワードを含むHTMLファイルのタイムスタンプを更新する

Linux のシェルスクリプトを学習する中で、特定のキーワードを含む HTML ファイルのタイムスタンプを更新する処理を作成した。 キーワード一覧をテキストファイルから読み込み、対象ディレクトリ内の HTML ファイルを検索し、該当するファイルに touch コマ…

vimtutorのChapter2を見る方法

下記のコマンドでvim チュートリアルのChapter2を見ることができます。 Chapter2起動コマンド `vimtutor -c 2` 経緯 vimtutorで開くチュートリアルのまとめ部分に「Chapter2で(チュートリアルを)続けることを検討してください」と書かれていた。 しかし、…

【WSL2】Debianを入れようとしてISOファイルを落としたら、謎のDドライブが出現して消せなくなった話

WSL2環境にDebianを導入しようとした際、思い込みと知識不足から完全に手順を間違え、少し焦るトラブルに遭遇しました。 今回は「こうしようとしたら、こうなってしまった」という失敗談と、その原因、そして正しい状態への戻し方を、自身の作業メモを兼ねて…

Docker学習記録② Docker DesktopでRailsコンテナを作成する

前回は Docker の基本概念について学習した。 今回は実際に Docker Desktop をインストールし、Rails が動作するコンテナを作成してブラウザからアクセスするところまで試した。 なおこの記事はChatGPTとの会話をChatGPTにブログ形式で出力させたものとなっ…

Dockerを理解するためにTCP/IPとミドルウェアから整理した話

Dockerについて調べ始めた当初、私は「同じ『仮想環境』という言葉で語られるPythonのvenvとどのように異なるのだろうか?」という疑問を抱いた。 しかし理解を進めるうちに、Dockerは単なる仮想環境ではなく、「小さな独立したマシン群を扱う技術」と考える…

プログラミング独学10年の私がCropper.js v2でweb画像の一括切り抜きツールを開発した話

今回作成したのが下記のツール : Multi Image Cropper | ブラウザで完結する一括画像切り抜きツール です。 Multi Image Cropper 複数画像の一括切り抜きを、手軽に自動化。プライバシーに配慮し、ブラウザ内だけで処理が完結します。 multi-image-cropper-x…

【Cropper.js v2】ページをリロードしても切り抜き設定を維持する実装と、初期化時のレースコンディションを回避した話

こんにちは!今回は、画像切り抜きライブラリの定番 Cropper.js (v2) を使ったWebアプリケーション開発において、「ユーザーが設定した切り抜き状態を、ページをリロードしても維持する機能」の実装方法について解説します。 一見シンプルに思える localStor…

Python : 作業用ファイルの作成と削除(pywでダブルクリック実行可)

処理の流れ pywファイルをダブルクリック実行 対象ファイルを選択するダイアログを表示 選択したファイルをtempフォルダにコピー メイン処理は省略 処理が終わったらtempのファイルを削除 備考 pywではコンソールでエラーの確認ができないためエラー時はlog…

Vue.jsでelement-plusの実装時に起きたエラーの原因と対処

Vite を使って Vue.js を学習している中で、UI ライブラリとして Element Plus を導入しました。インストール自体は正常に完了したものの、el-sub-menu タグが期待通りに動作せず、SASS のエラーも発生していました。 この記事では、実際に発生したエラーの…

Java 値を小さい(大きい)順に格納・取り出す

PriorityQueue(優先度付きキュー)を使用すると値を小さい順、もしくは大きい順に格納し、取り出すことができます。 以下ChatGPTの解説をまとめました。 【Java】PriorityQueue で値を大きい順・小さい順に取り出す方法を徹底解説! Java の PriorityQueue…

Jetpack Composeで理解する状態管理の基本:親子コンポーザブルと状態の委譲パターン

Androidアプリ作成の勉強をしています。下記の書籍を読んでいて疑問の思った部分をChatGPTに質問したことをChatGPTにまとめてもらいました。 https://amzn.asia/d/dOc6ob6また、下記の記事も拝読させていただきました。Composeがどのように状態を扱うとよい…

VBAから共有フォルダNASのPythonを仮想環境で実行する方法

業務で使用している Excel シートのボタンから、従来の VBA マクロの代わりに Python スクリプトを実行したいと思い、実装を試みました。Python は仮想環境(venv)で動作させたいという要件です。 今回は、Pythonの仮想環境はNASの共有フォルダ(ドライブレ…

VS Codeで正規表現メタ文字を一括エスケープできる拡張機能を作りました

VS Codeで正規表現メタ文字を一括エスケープできる拡張機能 正規表現を扱うとき、. や *、(、[ ] などのメタ文字を一つ一つバックスラッシュでエスケープするのは地味に面倒ですよね。特に、既存のテキストを安全に検索したいだけなのに、メタ文字のせいで検…

VSCode拡張機能「空白・改行無視検索パターン生成」を作ってみた

はじめに Dreamweaver を使用していて便利だと感じた機能の一つに、空白や改行を無視して文字列検索ができる機能があります。業務で VSCode を使うようになった際に、同じような操作性を再現したくて、この拡張機能を作りました。 この拡張は、ユーザーが入…

VSCode拡張機能自作 F5で起動できない時

VSCode拡張の雛形をF5で動かすまでの最小手順(TypeScript + ESBuild編) VSCodeの拡張機能を作ろうと思って、Yeomanで生成した雛形をそのままF5で動かそうとしたら、「何も起きない」「watchタスクでエラー」といった現象に遭遇することがあります。今回は…

Python エクセルのデータを置換対応表の文字列で一斉書き換えできるツールを作成しました。

汎用Excel置換ツール 使い方ガイド 1. 概要 このツールは、Excelファイル内のデータを、別のExcelファイルに記載された置換表に従って自動で置換するための汎用ツールです。 置換対象ファイル: 置換したいデータを含むExcelファイル(例:商品説明や文章デー…

Python 置換対応表でHTMLを置換するツールを作成しました。

========================================HTML文字列一括置換ツール 使用手順書======================================== ■ 概要このツールは、指定したフォルダ内のHTMLファイルに含まれる文字列を、「置換ルール表(replace_rules.xlsx または replace_r…

2次元配列 上下左右の値を取得する

2次元配列の任意の配列の位置から、相対的な位置 右, 下, 左, 上 にある値を取り出す。 forループでdColとdRowの値を順に取り出して、それを現在のインデックスの値に足すことで、右 下 左 上の順でその位置のインデックスを作成できる。 dCol[0]は1 dRow[0]…

Photoshopでシェイプが同じレイヤーに作成されてしまったときの対処法

Photoshopで四角形ツールや三角形ツールなどを使ってシェイプを作成するとき、気づかないうちに複数のシェイプが同じシェイプレイヤーに入ってしまうことがあります。別々のシェイプとして扱いたいのに、ひとつのレイヤーに同居してしまって困ったことはあり…

transformで中央配置できないときの注意点 : translate, scale併用時

transformを使用して要素を中央配置する機会は多いと思います。 しかし、思ったように中央配置できない場合、translateとscaleの記述の順番が影響しているかもしれません。 ポイント:scaleとtranslateの併用時は順番に注意する 中央配置したい要素をscaleを…

Android Studio USB接続で実機との接続がうまくいかない

今はじめてのアプリ開発を勉強を兼ねて行っています。Android Studioを使用しているのですが、エミュレーターがどうしてもエラーになってしまい起動できないのでスマートフォンをUSBで接続して動作テストをしています。 USBでのスマートフォンの接続が切れて…

10万円以下で自作PCを作る OS Windows11 インストール編

前回までで自作PCの組み立てまでを紹介しました。 hfactory.hatenablog.com 組み立てたPCの構成は下記の記事をご覧ください。 hfactory.hatenablog.com 今回OSをインストールしたので、その模様をシェアさせていただきます。 インストールしたOSはWindows 11…

10万円以下で自作PCを作る 組み立て編

前回の記事で総額10万円でできる自作PCを紹介しました。 今回は実際に組み立ててみた際に感じた注意点や難しかった点を紹介します。 hfactory.hatenablog.com PCの組み立ては下記の動画を参考にさせていただきました。 ただ、OSのインストールに関しては別の…

総額10万円以下で始める自作PC

PCについての知識を増やすために初めて自作PCに挑戦しました。 今使っているノートパソコンがwindows11に対応していないので、windows11に対応したPCが欲しかったというのも理由の一つです。 前提条件 PCを作ることで、PCについての知識を増やすことが第一の…

VSCode でDELという赤いラベルが表示された時の対処法

Visual Studio Codeで文字の代わりにDELという文字が赤い四角の中に白抜きで表示される現象に出会いました。 赤いラベルでDELの文字が表示された 赤いラベルの正体 この表示の正体は ASCIIコード127 (削除制御文字) でした。 ChatGPTに聞いたところ、「元々…

感想「脳に収まるコードの書き方」良い関数(API)とは

「脳に収まるコードの書き方」を拝読しました。 「脳に収まるコードの書き方」Mark Seemann 著、吉羽 龍太郎、原田 騎郎 訳、Robert C. Martin まえがき www.oreilly.co.jp 読んだ中で特に印象的だった点をまとめます。 8章 API設計 8章ではAPI設計について…

pywin32(win32com)でエクセルを操作する時に便利な自作関数まとめ

Pythonのpywin32(win32com)でエクセルを操作する時に便利なユティリティ関数を作成したので紹介します。 機能の概要 それぞれの関数は主に下記の機能が実現されています。 エクセルを取得する データを読み込む データを書き込む 最終行を取得する 最終列を…

バッチファイルでvenvをアクティベートする方法

バッチファイルで簡単にPythonの仮想環境venvをアクティベートできます。 @echo off rem 実行されたバッチファイルのディレクトリに移動。 rem /dフラグを使用することで、異なるドライブにいても移動可能。 cd /d "%~dp0" rem 仮想環境をアクティベートする…