記事一覧
-
データ・連携
BOMデータを正規化する設計|親子関係・revision・再帰SQLの実務
BOM(Bill of Materials、部品表)は、単なる部品一覧ではありません。完成品の下に組立品があり、その下に部品があるという親子関係と、各階層で必要な数量を表す構造です。 Excelの見た目をそのまま一つのtableへ保存すると、同じ部品名が何度も現れ、re... -
データ・連携
データ連携のハッシュ設計|SHA-256・Content-Digest・JSON正規化
ファイルをAPIやクラウドストレージへ送れたとしても、受信したbyte列が送信時と同じとは限りません。文字コード、改行、圧縮、途中の変換、保存ミスによって内容が変わることがあります。 ハッシュ値を使うと、送信側と受信側が同じbyte列を持っているか... -
計算・シミュレーション
油圧シリンダの座屈荷重を計算する|Euler式・有効長さ・安全率の考え方
油圧シリンダが押し方向へ大きな力を出すとき、ピストンロッドは圧縮材として働きます。 ロッドが短ければ材料の圧縮強度が主な確認事項になります。しかし、ストロークが長く、ロッドが細い場合は、材料がつぶれる前に横へたわむ座屈が設計を支配すること... -
Python
Pythonのテストとデバッグを理解する|unittest・型ヒント・mypyの基本
計算結果が一度正しく表示されても、プログラム全体が正しいとは限りません。入力値を変更したとき、境界値を与えたとき、コードを修正したときにも期待どおり動くことを確認する必要があります。 たとえば、油圧シリンダの推力計算では次の問題が起こり得... -
データ・連携
CSV連携を壊さない設計|UTF-8・BOM・改行・引用符・型変換
CSVはExcel、Python、データベース、CAD、部品表の間で使いやすい交換形式です。しかし、拡張子が.csvで同じでも、文字コード、区切り文字、改行、引用符、NULLの表現が異なれば別の形式として扱う必要があります。 「表計算ソフトで開けた」ことと、「同... -
Python
Pythonのクラスとdataclassを理解する|属性・メソッド・データモデルの基本
部品名、寸法、圧力などを別々の変数で管理すると、データ同士の関係が分かりにくくなります。辞書でまとめる方法もありますが、キーの書き間違いを実行時まで見つけにくく、データに関係する計算処理も別の場所へ散らばりがちです。 クラスを使うと、関連... -
CAD・製図
DXFのCLASSESセクションを読む|CLASSレコード・proxy flags・カスタムオブジェクト
DXFファイルでは、LINEやCIRCLEのような標準図形だけでなく、追加アプリケーションが定義した独自エンティティや非図形オブジェクトを扱うことがあります。 そのクラス情報を記録するのがCLASSESセクションです。 CLASSESは図形の座標や形状を保存する場所... -
Python
PythonでCSVとJSONを扱う|読み込み・検証・型変換・出力の基本
設計データ、部品表、計測値、設定ファイルをPythonで処理するとき、よく使われる形式がCSVとJSONです。 CSVは行と列からなる表形式に向き、JSONは辞書やリストによる階層構造を表せます。ただし、ファイルを読み込めただけでは安全に計算できません。 実... -
データ・連携
差分同期でデータを欠落させない設計|watermark・checkpoint・削除伝播
データ連携を毎回の全件コピーから差分同期へ変えると、処理時間やAPI負荷を抑えられます。一方で、updated_at > 前回実行時刻だけを条件にすると、同時刻に更新された複数レコード、処理途中の失敗、遅れて確定した更新、削除済みデータを取りこぼすこ... -
計算・シミュレーション
油圧シリンダの戻り流量を計算する|面積比・増幅流量・戻り配管の考え方
油圧シリンダの配管や方向制御弁を選ぶとき、ポンプ流量だけを見てはいけません。 片ロッド形の複動シリンダでは、ピストン側とロッド側で有効面積が異なります。そのため、シリンダへ40 L/minを供給していても、反対側から必ず40 L/minが戻るわけではあり...
