みんなの現場、全部ここに。
図鑑・記事・現場メモ・キャリア論。タブで部屋を切り替えて読める。

C# の日付計算3パターン|Nヶ月後・日付の差・営業日を月末またぎで事故らせない
C# の日付計算でハマりやすい3パターン — Nヶ月後(AddMonths の月末ずれ)・2つの日付の差(TimeSpan に月と年がない)・土日祝を飛ばす営業日計算を、コピペで動くコードと現場のハマりポイント付きで解説します。請求の締め処理のバグを減らす定石をまとめました。

【C#】複数キー・独自ルールのソートを実装する3パターン(IComparer / Comparison / OrderBy)
C# のソートを IComparer / Comparison / OrderBy で書く3パターンをコピペで動くコードで解説。複数キーや特定コード先頭固定などの独自ルール、List.Sort が不安定で OrderBy が安定という業務SEが見落としがちな違いまで。IComparer の使い方に迷ったらここから。

C# の値型と参照型の違い(引数を書き換えたのに反映されない/される、の正体)
C# 値型 参照型 違いを、代入や引数渡しでのコピー挙動・ref/out・struct と class の使い分けまで、コピペで動くコードで解説。「引数を書き換えたのに反映されない/される」の正体を業務SE目線で腑に落とすところまで、スタックとヒープの図つきでまとめました。

SQL Server の ROLLUP / GROUPING SETS で帳票の小計・総計行を出す
SQL Server の ROLLUP / GROUPING SETS で GROUP BY の結果に小計・総計行を足す方法を、実テーブルで解説。小計行の集計キーが NULL になる問題を GROUPING() で見分ける肝と、UNION ALL で自前で足すより短く書ける比較まで、Docker の SQL Serve

ASP.NET MVC でフォームの値がモデルにバインドされない時に見る3箇所(プレフィックス / コレクション / Bind)
ASP.NET MVC でフォームを POST したのにモデルバインディングが効かない・一部 null になる時に見る3箇所(name プレフィックス不一致 / コレクションのインデックス記法 / [Bind] と過剰バインディング)を、仕組みと実コードで解説します。

ASP.NET MVC のフォーム入力検証 — DataAnnotations と ModelState.IsValid を業務SEが4ステップで組む
ASP.NET MVC バリデーションを DataAnnotations 属性 + ModelState.IsValid で組む4ステップ手順。WinForms の Validating イベントから属性ベース検証への橋渡しつき。クライアント検証だけで素通りする罠、[Required] が int に効かない罠も実例で

C# のボックス化・ボックス化解除とは何か、大量処理で効いてくる理由
C# ボックス化 とは何かを、値型と参照型のメモリの動きから解説。ArrayList や object 引数が大量ループで遅くなる正体(無意識のボックス化と GC 圧)と、List・ジェネリックで避ける書き換え3つを、コピペで動くコードで整理します。

SQL Server の JOIN 完全ガイド — INNER / LEFT / RIGHT / FULL / CROSS を業務SEが件数で腹落ちさせる
SQL Server JOIN 種類(INNER / LEFT / RIGHT / FULL / CROSS)の違いを、同じデータで結果件数がどう変わるかで腹落ちさせる完全ガイド。LEFT JOIN したのに WHERE で右列を条件にして実質 INNER になる罠、結合キーの NULL が一致しない罠も実例で解説しま

C# の yield return で大量データを遅延評価で返す(メモリを食わないイテレータ)
C# の yield return の使い方を、大量データを List に全部詰めずに1件ずつ遅延評価で返す仕組みから解説。遅延評価ゆえに DB 接続を開いたまま回すと閉じるタイミングがずれる落とし穴、ToList() での使い分けまで、コピペで動くコード付きです。

SQL Server の MERGE で UPSERT する時に業務SEがハマる3つの罠(同時実行・HOLDLOCK・削除誤爆)
SQL Server の MERGE で UPSERT する時に業務SEが踏む3つの罠 — 同時実行での一意キー違反(HOLDLOCK 不足)、WHEN NOT MATCHED BY SOURCE の削除誤爆、source の重複キーで出る Msg 8672 を、Docker 実機で再現しながら回避策まで。

SQL Server の窓関数 LAG / LEAD / 累計 (SUM OVER) を業務帳票で使う3パターン
SQL Server の窓関数を業務帳票で使う3パターンを、OVER 句の考え方から積み上げて解説。LAG で前月比、SUM() OVER で累計、LEAD で翌月比較。カーソルや自己結合で書いていた前月比・累計を窓関数一本で。ROWS BETWEEN を省くと累計がずれる落とし穴も。

SQL Server の TRY_CONVERT / TRY_CAST で変換失敗を NULL にしてバッチを止めない
SQL Server の TRY_CONVERT / TRY_CAST で、変換できない値を例外ではなく NULL にしてバッチを止めない方法を実テーブルで解説。CAST は失敗でステートメント全体が落ちる違い、2012以降の制約、NULL の後続処理など業務SEが踏む落とし穴を5つ。