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

技術記事

現場の言葉で、深掘る

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

このセクションで得られること

原因から理解できる

丸暗記じゃない。仕組みが分かるから応用が利く。

保守の実データが前提

理想論じゃなく、現場で起きた事象ベース。

調べ直す時間が減る

一次情報をまとめてあるから、ここで完結する。

Pickup最近の人気記事

新しい順

記事を探す

142
ASP.NET MVC のアクションフィルターで認証・例外・ログを横断的に挟む技術記事ASP.NET MVC のアクションフィルターで認証・例外・ログを横断的に挟むASP.NET MVC アクションフィルターの使い方を、認証・例外・ログを横断的に挟む仕組みと実行順序(認証→アクション→結果)から解説。4種類のフィルターの役割分担、属性で個別 vs グローバル登録の使い分け、実行順序の誤解で例外処理が効ASP.NET MVC の CSRF 対策 — AntiForgeryToken でトークンを埋める仕組みと Ajax でハマる所技術記事ASP.NET MVC の CSRF 対策 — AntiForgeryToken でトークンを埋める仕組みと Ajax でハマる所ASP.NET MVC の CSRF 対策をレビューで指摘された業務SE向け。CSRF がなぜ成立するかの仕組みから、@Html.AntiForgeryToken() と [ValidateAntiForgeryToken] でトークンを埋ASP.NET MVC5 から Core への移行、最初に変わる3つ(DI標準 / Startup / appsettings)技術記事ASP.NET MVC5 から Core への移行、最初に変わる3つ(DI標準 / Startup / appsettings)ASP.NET MVC5 Core 移行で最初に変わる3つ(Program.cs / DI標準 / appsettings.json)を、旧 Framework 版と Core 版の実コード対比で解説。全部を一度に移すのではなく新規から CASP.NET の Web API と MVC コントローラの違い(JSON を返す社内 API はどっち)技術記事ASP.NET の Web API と MVC コントローラの違い(JSON を返す社内 API はどっち)ASP.NET の Web API と MVC コントローラの違いを、JSON を返す社内 API はどっちで作るかの判断軸つきで整理。MVC でも JsonResult で返せるが REST 作法は Web API が素直、という使い分けC# 拡張メソッドの使い方 — 作り方と実務3パターン(既存型を汚さず .Xxx() を足す)技術記事C# 拡張メソッドの使い方 — 作り方と実務3パターン(既存型を汚さず .Xxx() を足す)C# 拡張メソッドの使い方を作り方から実務3パターンまで。this 付き static メソッドで既存の string や DataRow に .Xxx() を生やし、Utility.Trim(x) を x.Trim() に整理する。業務SC# LINQ の遅延実行と即時実行の罠(同じクエリを2回回して DB に2回問い合わせる事故)技術記事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 / OUTER APPLY でグループごとの上位N件を取る3パターンSQL Server の CROSS APPLY 使い方を、グループごと上位N件・テーブル値関数の行適用・STRING_SPLIT 展開の3パターンで解説。CROSS と OUTER で行が消える違い、JOIN では書けないケースの判断軸もC# の日付計算3パターン|Nヶ月後・日付の差・営業日を月末またぎで事故らせない技術記事C# の日付計算3パターン|Nヶ月後・日付の差・営業日を月末またぎで事故らせないC# の日付計算でハマりやすい3パターン — Nヶ月後(AddMonths の月末ずれ)・2つの日付の差(TimeSpan に月と年がない)・土日祝を飛ばす営業日計算を、コピペで動くコードと現場のハマりポイント付きで解説します。請求の締め処【C#】複数キー・独自ルールのソートを実装する3パターン(IComparer / Comparison / OrderBy)技術記事【C#】複数キー・独自ルールのソートを実装する3パターン(IComparer / Comparison / OrderBy)C# のソートを IComparer / Comparison / OrderBy で書く3パターンをコピペで動くコードで解説。複数キーや特定コード先頭固定などの独自ルール、List.Sort が不安定で OrderBy が安定という業務SC# の値型と参照型の違い(引数を書き換えたのに反映されない/される、の正体)技術記事C# の値型と参照型の違い(引数を書き換えたのに反映されない/される、の正体)C# 値型 参照型 違いを、代入や引数渡しでのコピー挙動・ref/out・struct と class の使い分けまで、コピペで動くコードで解説。「引数を書き換えたのに反映されない/される」の正体を業務SE目線で腑に落とすところまで、スタッSQL Server の ROLLUP / GROUPING SETS で帳票の小計・総計行を出す技術記事SQL Server の ROLLUP / GROUPING SETS で帳票の小計・総計行を出すSQL Server の ROLLUP / GROUPING SETS で GROUP BY の結果に小計・総計行を足す方法を、実テーブルで解説。小計行の集計キーが NULL になる問題を GROUPING() で見分ける肝と、UNIONASP.NET MVC でフォームの値がモデルにバインドされない時に見る3箇所(プレフィックス / コレクション / Bind)技術記事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 を業務SEが4ステップで組むASP.NET MVC バリデーションを DataAnnotations 属性 + ModelState.IsValid で組む4ステップ手順。WinForms の Validating イベントから属性ベース検証への橋渡しつき。クライアンC# のボックス化・ボックス化解除とは何か、大量処理で効いてくる理由技術記事C# のボックス化・ボックス化解除とは何か、大量処理で効いてくる理由C# ボックス化 とは何かを、値型と参照型のメモリの動きから解説。ArrayList や object 引数が大量ループで遅くなる正体(無意識のボックス化と GC 圧)と、List・ジェネリックで避ける書き換え3つを、コピペで動くコードで整SQL Server の JOIN 完全ガイド — INNER / LEFT / RIGHT / FULL / CROSS を業務SEが件数で腹落ちさせる技術記事SQL Server の JOIN 完全ガイド — INNER / LEFT / RIGHT / FULL / CROSS を業務SEが件数で腹落ちさせるSQL Server JOIN 種類(INNER / LEFT / RIGHT / FULL / CROSS)の違いを、同じデータで結果件数がどう変わるかで腹落ちさせる完全ガイド。LEFT JOIN したのに WHERE で右列を条件にしてC# の yield return で大量データを遅延評価で返す(メモリを食わないイテレータ)技術記事C# の yield return で大量データを遅延評価で返す(メモリを食わないイテレータ)C# の yield return の使い方を、大量データを List に全部詰めずに1件ずつ遅延評価で返す仕組みから解説。遅延評価ゆえに DB 接続を開いたまま回すと閉じるタイミングがずれる落とし穴、ToList() での使い分けまで、コSQL Server の MERGE で UPSERT する時に業務SEがハマる3つの罠(同時実行・HOLDLOCK・削除誤爆)技術記事SQL Server の MERGE で UPSERT する時に業務SEがハマる3つの罠(同時実行・HOLDLOCK・削除誤爆)SQL Server の MERGE で UPSERT する時に業務SEが踏む3つの罠 — 同時実行での一意キー違反(HOLDLOCK 不足)、WHEN NOT MATCHED BY SOURCE の削除誤爆、source の重複キーで出るSQL Server の窓関数 LAG / LEAD / 累計 (SUM OVER) を業務帳票で使う3パターン技術記事SQL Server の窓関数 LAG / LEAD / 累計 (SUM OVER) を業務帳票で使う3パターンSQL Server の窓関数を業務帳票で使う3パターンを、OVER 句の考え方から積み上げて解説。LAG で前月比、SUM() OVER で累計、LEAD で翌月比較。カーソルや自己結合で書いていた前月比・累計を窓関数一本で。ROWS BSQL Server の TRY_CONVERT / TRY_CAST で変換失敗を NULL にしてバッチを止めない技術記事SQL Server の TRY_CONVERT / TRY_CAST で変換失敗を NULL にしてバッチを止めないSQL Server の TRY_CONVERT / TRY_CAST で、変換できない値を例外ではなく NULL にしてバッチを止めない方法を実テーブルで解説。CAST は失敗でステートメント全体が落ちる違い、2012以降の制約、NULLC# の IDisposable を正しく実装する(Dispose パターンと using / ファイナライザ)技術記事C# の IDisposable を正しく実装する(Dispose パターンと using / ファイナライザ)C# の IDisposable を実装する Dispose パターンを、単純版・Dispose(bool) 版・using との関係で整理。マネージドだけなら単純版で足りる落としどころと、ファイナライザ / GC.SuppressFinaWinForms の入力チェックを ErrorProvider でスマートに — Validating と e.Cancel の落とし穴技術記事WinForms の入力チェックを ErrorProvider でスマートに — Validating と e.Cancel の落とし穴WinForms の入力チェックを ErrorProvider と Validating イベントでスマートにする方法を解説。入力欄の横に赤アイコンとツールチップでエラーを出す実装から、e.Cancel=true でフォーカスが抜けられなくSQL Server の PIVOT / UNPIVOT で業務帳票のクロス集計表を作る技術記事SQL Server の PIVOT / UNPIVOT で業務帳票のクロス集計表を作るSQL Server の PIVOT の使い方を、月×商品の売上を帳票用クロス集計表に変換する実例で解説。UNPIVOT で横→縦に戻す方法、列が増える時の動的 SQL、GROUP BY + CASE との比較まで、コピペで動く T-SQLSQL Server の TRY…CATCH エラー処理 — バッチを安全にロールバックする落とし穴5選技術記事SQL Server の TRY…CATCH エラー処理 — バッチを安全にロールバックする落とし穴5選SQL Server の TRY…CATCH エラー処理でバッチを安全にロールバックする型を、業務SEが踏む落とし穴5選で解説。CATCH で自動ロールバックされない・XACT_STATE(-1) の doomed 判定・THROW 再スロC# の ?? / ?. / ??= 演算子 使い分けガイド(DBNull・Nullable 値型で事故らない書き方)技術記事C# の ?? / ?. / ??= 演算子 使い分けガイド(DBNull・Nullable 値型で事故らない書き方)C# の ?? 演算子の使い分けを、?. / ??= と一緒に業務SEが DBNull・Nullable 値型で事故らない形で整理。DataAdapter で拾った DBNull は ?? で潰せない理由も含め、コピペで動く3パターンとハマ