データ・連携– category –
JSON、CSV、データベース、API、クラウド連携を扱います。
-
データ・連携
CSV連携を壊さない設計|UTF-8・BOM・改行・引用符・型変換
CSVはExcel、Python、データベース、CAD、部品表の間で使いやすい交換形式です。しかし、拡張子が.csvで同じでも、文字コード、区切り文字、改行、引用符、NULLの表現が異なれば別の形式として扱う必要があります。 「表計算ソフトで開けた」ことと、「同... -
データ・連携
差分同期でデータを欠落させない設計|watermark・checkpoint・削除伝播
データ連携を毎回の全件コピーから差分同期へ変えると、処理時間やAPI負荷を抑えられます。一方で、updated_at > 前回実行時刻だけを条件にすると、同時刻に更新された複数レコード、処理途中の失敗、遅れて確定した更新、削除済みデータを取りこぼすこ... -
データ・連携
サーバー間API連携のOAuth 2.0設計|Client Credentials・scope・token管理
サーバーから外部APIを呼び出す処理で、API keyを固定文字列として埋め込むと、権限の分離、期限管理、失効、監査が難しくなります。OAuth 2.0のClient Credentials Grantを使うと、利用者の操作を介さず、登録済みclientが自分の資格情報で短期間のaccess... -
データ・連携
APIスキーマを壊さず変更する設計|field追加・型変更・version移行の実務
APIは公開した後も変化します。新しいfieldを追加し、表現を改善し、古い項目を整理する必要があります。しかし、server側だけを見て「JSONを返せたから変更成功」と判断すると、既存client、CSV取込、保存済みpayload、CAD連携が突然動かなくなることがあ... -
データ・連携
APIエラーを機械処理できる設計|RFC 9457 Problem Detailsの実務
API連携で正常responseだけを設計し、エラー時は{"error":"失敗しました"}のような独自JSONを返すと、利用側はAPIごとに別の分岐を書かなければなりません。HTTP statusだけでも、入力のどこを直すべきか、同じrequestを再試行してよいか、問い合わせ時に... -
データ・連携
APIのページネーション設計|offsetとcursorで重複・欠落を防ぐ
APIから部品、図面、計測結果などを一覧取得するとき、全件を一度に返すと応答が大きくなり、DBとネットワークの負荷も増えます。そこで結果を複数回に分けるページネーションを使います。 しかし、page=2を追加するだけでは十分ではありません。取得中に... -
データ・連携
APIの上書き事故を防ぐETag設計|If-Match・412・楽観ロックの実務
APIで同じレコードを複数の利用者や処理が更新すると、先に保存された変更を、古いデータを持つ別の更新が消してしまうことがあります。これは「更新消失(lost update)」と呼ばれる競合です。 ETagとIf-Matchを使うと、クライアントが取得した版と、更新... -
データ・連携
Webhookを安全に受信する設計|署名検証・再送・冪等性の実務ルール
Webhookは、あるシステムで起きたイベントを別のシステムへHTTPで通知する仕組みです。定期的にAPIを巡回するポーリングを減らせますが、単にPOSTを受け取るだけでは安全な連携になりません。 受信側には、送信元の確認、改ざん検知、再送による二重処理の... -
データ・連携
APIのNULL・未指定・空文字を混同しない設計|JSON・PATCH・DB更新の実務ルール
API更新でnull、field未指定、空文字""、false、0を一括して扱うと、変更していない項目が消えることがあります。JSON、PATCH、DB、CSV、Pythonを通して、値の有無と更新操作を分離する設計を整理します。 まず5つの状態を分ける プロフィール更新を例にす... -
データ・連携
設計データの単位を壊さない設計|valueとunitを分離するJSON・CSV・Python変換
圧力の14は14 Pa、14 MPa、14 barのどれでしょうか。単位を取り違えると、計算結果、部品選定、検査判定まで誤る可能性があります。設計データをAPI、CSV、DB、CAD、Pythonの間で再利用するため、value、unit、quantityを分け、検証から保存までを壊れにく...
