動くコード図鑑技術記事現場の渡り方キャリア論すべての記事About

みんなの現場、全部ここに。

図鑑・記事・現場メモ・キャリア論。タブで部屋を切り替えて読める。

C# の日付計算3パターン|Nヶ月後・日付の差・営業日を月末またぎで事故らせない
技術記事AddMonthsC#

C# の日付計算3パターン|Nヶ月後・日付の差・営業日を月末またぎで事故らせない

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

2ヶ月前16 min
もっと読む
【C#】複数キー・独自ルールのソートを実装する3パターン(IComparer / Comparison / OrderBy)
技術記事C#IComparer

【C#】複数キー・独自ルールのソートを実装する3パターン(IComparer / Comparison / OrderBy)

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

2ヶ月前16 min
もっと読む
C# の値型と参照型の違い(引数を書き換えたのに反映されない/される、の正体)
技術記事C#struct

C# の値型と参照型の違い(引数を書き換えたのに反映されない/される、の正体)

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

2ヶ月前16 min
もっと読む
SQL Server の ROLLUP / GROUPING SETS で帳票の小計・総計行を出す
技術記事GROUPINGGROUPING SETS

SQL Server の ROLLUP / GROUPING SETS で帳票の小計・総計行を出す

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

3ヶ月前15 min
もっと読む
ASP.NET MVC でフォームの値がモデルにバインドされない時に見る3箇所(プレフィックス / コレクション / Bind)
技術記事ASP.NETMVC

ASP.NET MVC でフォームの値がモデルにバインドされない時に見る3箇所(プレフィックス / コレクション / Bind)

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

3ヶ月前8 min
もっと読む
ASP.NET MVC のフォーム入力検証 — DataAnnotations と ModelState.IsValid を業務SEが4ステップで組む
技術記事ASP.NETDataAnnotations

ASP.NET MVC のフォーム入力検証 — DataAnnotations と ModelState.IsValid を業務SEが4ステップで組む

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

3ヶ月前11 min
もっと読む
C# のボックス化・ボックス化解除とは何か、大量処理で効いてくる理由
技術記事boxingC#

C# のボックス化・ボックス化解除とは何か、大量処理で効いてくる理由

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

4ヶ月前12 min
もっと読む
SQL Server の JOIN 完全ガイド — INNER / LEFT / RIGHT / FULL / CROSS を業務SEが件数で腹落ちさせる
技術記事INNER JOINJOIN

SQL Server の JOIN 完全ガイド — INNER / LEFT / RIGHT / FULL / CROSS を業務SEが件数で腹落ちさせる

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

4ヶ月前10 min
もっと読む
C# の yield return で大量データを遅延評価で返す(メモリを食わないイテレータ)
技術記事C#IEnumerable

C# の yield return で大量データを遅延評価で返す(メモリを食わないイテレータ)

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

4ヶ月前8 min
もっと読む
SQL Server の MERGE で UPSERT する時に業務SEがハマる3つの罠(同時実行・HOLDLOCK・削除誤爆)
技術記事HOLDLOCKMERGE

SQL Server の MERGE で UPSERT する時に業務SEがハマる3つの罠(同時実行・HOLDLOCK・削除誤爆)

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

4ヶ月前12 min
もっと読む
SQL Server の窓関数 LAG / LEAD / 累計 (SUM OVER) を業務帳票で使う3パターン
技術記事LAGSQL Server

SQL Server の窓関数 LAG / LEAD / 累計 (SUM OVER) を業務帳票で使う3パターン

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

4ヶ月前12 min
もっと読む
SQL Server の TRY_CONVERT / TRY_CAST で変換失敗を NULL にしてバッチを止めない
技術記事SQL ServerTRY_CAST

SQL Server の TRY_CONVERT / TRY_CAST で変換失敗を NULL にしてバッチを止めない

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

4ヶ月前13 min
もっと読む