技術記事
現場の言葉で、深掘る。
表面の Tips で終わらせない。「なぜそうなるか」まで分かるから、次の現場でも応用が効く。全部、保守の実データ前提。

このセクションで得られること
原因から理解できる
丸暗記じゃない。仕組みが分かるから応用が利く。
保守の実データが前提
理想論じゃなく、現場で起きた事象ベース。
調べ直す時間が減る
一次情報をまとめてあるから、ここで完結する。
Pickup最近の人気記事
新しい順記事を探す
147 件
技術記事SQL Server で複数行の文字列をカンマ区切りに連結する(STRING_AGG と FOR XML PATH)SQL Server で複数行の文字列を1つに連結・集約する方法を、2017 以降の STRING_AGG と 2016 以前の FOR XML PATH + STUFF の両対応でコピペ即動作のコード付きで解説。GROUP BY でグループごとに連結する書き方、特殊文字のエスケープや8000バイト制限のハマりも Do
技術記事ASP.NET MVC で画面の共通部品を作り分ける(部分ビュー / HTML Helper / ViewComponent)ASP.NET 部分ビュー 使い分けに迷う業務SE向けに、部分ビュー / HTML Helper / ViewComponent を「何を共通化するのに向くか」で作り分けて解説。部分ビューに親モデルが暗黙で渡る罠や、ViewComponent の独自ロジックと非同期を、コピペで動くコードで整理します。
技術記事WinForms の DataGridView 仮想モードで10万件を固まらせずに表示するWinForms の DataGridView に10万件を DataSource で流し込むと固まる。原因と、仮想モード(VirtualMode + CellValueNeeded)で大量データを軽く表示する仕組みを、業務SE 視点でコードから解説。RowCount 未設定や CellValueNeeded 内の重い
技術記事【SQL Server】動的SQLを sp_executesql で安全に書く落とし穴5選(インジェクション対策)SQL Server の動的SQLを sp_executesql で安全に書く方法を、EXEC の文字列連結が SQL インジェクションに弱い理由から実機で解説。値のパラメータ化、識別子の QUOTENAME、実行計画の再利用まで、業務SEが可変検索で踏む落とし穴5選。
技術記事C# の nameof / typeof / GetType() の使い分け(リネームに強いログを書く)C# の nameof / typeof / GetType() の違いと使い分けをコピペで動くコードで解説。nameof はコンパイル時に名前へ・typeof は静的な型・GetType() は実行時の実際の型。リネームで壊れないログや例外メッセージの書き方を業務SE視点で。
技術記事ASP.NET MVC のアクションフィルターで認証・例外・ログを横断的に挟むASP.NET MVC アクションフィルターの使い方を、認証・例外・ログを横断的に挟む仕組みと実行順序(認証→アクション→結果)から解説。4種類のフィルターの役割分担、属性で個別 vs グローバル登録の使い分け、実行順序の誤解で例外処理が効かない罠まで。
技術記事@Html.AntiForgeryToken() の仕組みと使い方 — ASP.NET MVC の CSRF 対策と Ajax POST でハマる所(業務SE向け)ASP.NET MVC の CSRF 対策をレビューで指摘された業務SE向け。CSRF がなぜ成立するかの仕組みから、@Html.AntiForgeryToken() と [ValidateAntiForgeryToken] でトークンを埋めて検証する対策、Ajax の POST でトークンをヘッダやフォームで別送する
技術記事ASP.NET MVC5 から Core への移行、最初に変わる3つ(DI標準 / Startup / appsettings)ASP.NET MVC5 Core 移行で最初に変わる3つ(Program.cs / DI標準 / appsettings.json)を、旧 Framework 版と Core 版の実コード対比で解説。全部を一度に移すのではなく新規から Core で書く現実的な進め方と、System.Web が動かない・HttpCon
技術記事ASP.NET の Web API と MVC コントローラの違い(JSON を返す社内 API はどっち)ASP.NET の Web API と MVC コントローラの違いを、JSON を返す社内 API はどっちで作るかの判断軸つきで整理。MVC でも JsonResult で返せるが REST 作法は Web API が素直、という使い分けと、同一プロジェクトに混ぜてルーティングで詰まる罠を実コードで解説します。
技術記事C# 拡張メソッドの使い方 — 作り方と実務3パターン(既存型を汚さず .Xxx() を足す)C# 拡張メソッドの使い方を作り方から実務3パターンまで。this 付き static メソッドで既存の string や DataRow に .Xxx() を生やし、Utility.Trim(x) を x.Trim() に整理する。業務SEが最初に詰まる using 忘れ・同名メソッド優先も開示。
技術記事C# LINQ の遅延実行と即時実行の罠(同じクエリを2回回して DB に2回問い合わせる事故)C# LINQ 遅延実行の仕組みを知らずに、同じクエリを2回回して DB に2回問い合わせる・ループ変数をキャプチャする・DbContext 破棄後に列挙して落ちる、といった業務SEが踏む5つの罠と、ToList/ToArray での回避をコピペで動くコードで解説します。
技術記事SQL Server の CROSS APPLY / OUTER APPLY でグループごとの上位N件を取る3パターンSQL Server の CROSS APPLY 使い方を、グループごと上位N件・テーブル値関数の行適用・STRING_SPLIT 展開の3パターンで解説。CROSS と OUTER で行が消える違い、JOIN では書けないケースの判断軸も業務SE向けに実機で。コピペで動くコード付き。
技術記事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つ。