プログラミング

その他

Claude Codeで毎日の作業を自動化:常時稼働PCに任せていること【連載1】

Claude の Max プランを使いきれず、ノートパソコンをつけっぱなしにして AI に毎日仕事を任せています。動かしているもの、一番助かっている予定づくりと ToDo、スマホからの指示で困ったこと、2週間でわかったことを書きます。
SQL

日本語の全文検索:MySQLのFULLTEXTとngramの使い方

MySQLで日本語の部分一致をLIKE '%語%'より速く探すために、ngramパーサーのFULLTEXTインデックスの作り方と検索の書き方を実例で解説します。BOOLEAN MODEを使う理由や、「京都」で「東京都」が出る落とし穴も扱います。
SQL

ALTER TABLEを止めずに行う:INSTANTとINPLACE

MySQL 8.0でALTER TABLEをサービスを止めずに行う方法を、ALGORITHM=INSTANT・INPLACE・COPYの違いから解説します。VARCHARの255バイトの境目やメタデータロック待ちの防ぎ方も、実行結果つきで紹介します。
SQL

MySQLでcreated_at・updated_atを自動で入れる

作成日時・更新日時をMySQLに自動で入れるDEFAULT CURRENT_TIMESTAMPとON UPDATEの書き方を、実行結果つきで解説します。値が同じだと更新日時が変わらない点など、MySQL 8.0で確かめた注意点も載せています。
SQL

MySQLの生成列と関数インデックスで式やJSONの検索を速くする

MySQLの生成列(VIRTUAL・STORED)と、8.0.13からの関数インデックスの作り方をEXPLAINの結果つきで解説します。JSONの値に貼るとき、照合順序が合わずにインデックスが使われない落とし穴も紹介します。
その他

絵からあみぐるみの編み図を自動で作るアプリをClaudeで作った【編み図アプリ1】

絵や写真から、かぎ針のあみぐるみの編み図・3D・材料を出すアプリを、Claude との会話で作りました。目数を AI に推測させず計算で出す考え方と、公開されている編み図と比べて直したことを書きます。
SQL

NOT NULL・UNIQUE・CHECK制約で不正データを防ぐ

MySQLのNOT NULL・UNIQUE・CHECK制約の書き方と、違反したときのエラーを実行結果つきで解説します。CHECKが効くのは8.0.16以降で、NULLは素通りする点にも触れます。初心者向け。
SQL

大量データのDELETE・UPDATEをLIMITで分割する方法

MySQLで数百万行のDELETEやUPDATEを1回で流すと、ロックやレプリカの遅れが起きます。LIMIT付きで少しずつ処理するループの書き方と、UPDATEが途中で止まる落とし穴を、実行結果つきで解説します。
python

Pythonでシェルコマンドを実行する方法:subprocess.runの使い方

Pythonからシェルコマンドを動かすsubprocess.runの書き方を、実際の実行結果で説明します。出力の受け取り方、check=Trueで失敗を見つける方法、shell=Trueの危険、timeout、os.systemとの違い、Windowsでの注意点まで。
python

Pythonシェル(対話モード)の使い方:起動・終了とOSのシェルとの違い

ターミナルで python と打つと出る「>>>」の画面がPythonシェル(対話モード)です。起動と終了のしかた、直前の結果が入る _、スクリプトのあとに続きを試す -i、Python 3.13 で変わった点を、実際の画面で説明します。