記事一覧
-
Python
Pythonでファイルとパスを扱う|open・with・pathlib・UTF-8の基本
PythonでCSVを変換する、計算結果を保存する、設定ファイルを読む、CAD用データを出力する。こうした処理では、ファイルの内容だけでなく「どのファイルを、どの形式で、どの文字コードで開くか」を明確にする必要があります。 ファイル操作で起きやすい問... -
CAD・製図
DXFのTABLESセクションを読む|TABLE・ENDTAB・シンボルテーブルの構造
DXFの図形を解析するとき、LINEやCIRCLEだけを読めても、図面を正しく復元できるとは限りません。 エンティティが参照するレイヤー、線種、文字スタイル、寸法スタイル、ブロック名などは、主にTABLESセクションで定義されます。 たとえばLINEに、 8 OUTLI... -
データ・連携
サーバー間API連携のOAuth 2.0設計|Client Credentials・scope・token管理
サーバーから外部APIを呼び出す処理で、API keyを固定文字列として埋め込むと、権限の分離、期限管理、失効、監査が難しくなります。OAuth 2.0のClient Credentials Grantを使うと、利用者の操作を介さず、登録済みclientが自分の資格情報で短期間のaccess... -
Python
Pythonのモジュール・パッケージ・仮想環境を理解する|import・venv・pipの基本
小さなPythonプログラムは1個の.pyファイルでも作れます。しかし、入力処理、計算式、検証、出力が同じファイルへ増え続けると、変更の影響範囲が分かりにくくなります。 そこでPythonでは、処理をモジュールやパッケージへ分けます。さらに外部パッケージ... -
データ・連携
APIスキーマを壊さず変更する設計|field追加・型変更・version移行の実務
APIは公開した後も変化します。新しいfieldを追加し、表現を改善し、古い項目を整理する必要があります。しかし、server側だけを見て「JSONを返せたから変更成功」と判断すると、既存client、CSV取込、保存済みpayload、CAD連携が突然動かなくなることがあ... -
計算・シミュレーション
油圧アキュムレータの容量を計算する|予圧・使用圧力・ポリトロープ変化
油圧アキュムレータは、圧力が高いときに作動油を蓄え、回路圧力が下がると蓄えた油を放出する機器です。 代表的な用途には、次のものがあります。 短時間だけ必要になる大流量の供給 ポンプ停止時の非常動作 漏れによる圧力低下の補償 ポンプ脈動や圧力衝... -
CAD・製図
DXFのHEADER変数を読む|$ACADVER・$EXTMIN・$HANDSEEDの解析
DXFを解析するとき、最初に確認したいのはLINEやCIRCLEではありません。 ファイルのバージョン、図面範囲、挿入基点、次に利用できるハンドルなど、図面全体へ関係する情報が記録されたHEADERセクションです。 HEADERを読むと、図形データの解析に入る前に... -
データ・連携
APIエラーを機械処理できる設計|RFC 9457 Problem Detailsの実務
API連携で正常responseだけを設計し、エラー時は{"error":"失敗しました"}のような独自JSONを返すと、利用側はAPIごとに別の分岐を書かなければなりません。HTTP statusだけでも、入力のどこを直すべきか、同じrequestを再試行してよいか、問い合わせ時に... -
Python
Pythonの例外処理を理解する|エラー・traceback・try・exceptの基本
Pythonでプログラムを書いていると、構文の間違い、未定義の変数、不正な入力などによって処理が止まることがあります。 大切なのは、エラーを消すことだけではありません。どこで、何が原因で失敗したかを読み取り、必要な場合だけ適切に処理できるように... -
データ・連携
APIのページネーション設計|offsetとcursorで重複・欠落を防ぐ
APIから部品、図面、計測結果などを一覧取得するとき、全件を一度に返すと応答が大きくなり、DBとネットワークの負荷も増えます。そこで結果を複数回に分けるページネーションを使います。 しかし、page=2を追加するだけでは十分ではありません。取得中に...
