-
Database
OracleのPROCESSESとOPEN_CURSORS、増やす前に何を見る? ORA-01000・ORA-00020の原因をV$RESOURCE_LIMITとV$OPEN_CURSORで切り分ける(19c)
こんにちは、おうどんです🍜 新人さん「ORA-01000 が出ました! OPEN_CURSORS を 300 から 3000 に増やしておきますね」 おうどん「10倍!?」 新人さん「ついでに PROCESSES も 2000 にしておきます。大は小を兼ねるので」 おうどん「……それ、再起... -
プログラミング
Pythonのログ集計を並列化しても速くならない原因と対処|ThreadPoolExecutorとProcessPoolExecutorの使い分け・GIL・max_workers・chunksize・Windowsのif name
こんにちは、おうどんです🍜 うどん屋の閉店後。 今日の注文ログを集計します。 1日ぶんで約12MB、それが8日ぶん。合わせて100MBほど。 Python で1ファイルずつ読んで、ステータスコードを数えるだけ。……なのに、ちょっと待たされます。 店長(おう... -
Database
Oracleの初期化パラメータ変更で再起動が必要か調べる方法|V$PARAMETERのISSYS_MODIFIABLE(IMMEDIATE・DEFERRED・FALSE)とORA-02095・ORA-02096の意味(19c)
こんにちは、おうどんです🍜 新人さん「OPEN_CURSORS を増やしたいんですけど、DB の再起動っていります?」 おうどん「いい質問だね。……ちょっと待ってね」 おうどん(心の声)「……どっちだっけ」 (会話は説明用の架空の場面です) 正直に言いま... -
AI
Claude Codeのhooksでブロックできない原因と対処|PreToolUseを終了コードで止めるなら2・exit 1だけでは素通り・stdinのJSONとmatcherの確認方法
こんにちは、おうどんです🍜 うどん屋の厨房に、門番を置くことにしました。 Claude が危ないコマンドを打とうとしたら、止めてくれる係です。 Claude Code の hooks(フック)で、PreToolUse に Python のスクリプトをつなぎます。 rm -rf が来た... -
プログラミング
Pythonのround()で2.5が2になる原因と四捨五入する方法|偶数丸め・round(2.675, 2)が2.67になる理由・Decimalの使い方(Java・C#・PowerShell比較)
こんばんは、おうどんです🍜 うどん屋の閉店後。 今日は替え玉の日でした。 お客さんが食べた玉数を、Python で集計します。 2.5玉食べた人は、四捨五入で3玉ぶんのお会計。のはずです。 for x in [0.5, 1.5, 2.5, 3.5, -0.5, -2.5]: print(f"round...