C#– category –
-
Asp.net
ASP.NET MVC 5 を IIS にデプロイする初手 — 業務SE が踏むアプリプールと物理パスの罠
みなさんこんにちは!ヒロポンです! X見てるとマジで「IISデプロイで月曜朝に真っ白になった」って人多い!!!あーーみんなハマってるんだなーって。 publish後にプールリサイクルかけ忘れでアプリ更新したのに「あれ、全然反映されないんだけど?」って... -
C#
C# DataTable の大量行を Skip&Take でページングする3パターン — 1万行を1000件ずつ処理する設計
みなさんこんにちは!ヒロポンです! X見てるとマジで「本番でだけページングが急に死んだ」って人多い!!!あーーみんなハマってるんだなーって。 ステージングはデータ少なくて400ページまでしか試してなくて1000ページ超えたあたりでoffsetが重くなっ... -
C#
C# WinForms DataGridView のクリック3アクション — 左クリック / 右クリック / ダブルクリックを分ける実装
みなさんこんにちは!ヒロポンです! DataGridViewのクリックまわり地味にハマってる人めっちゃ多くない? 私の周りでも「CellClickイベントが全く起きないんだけどわかります?」とか、「CellClickで取った値をTextBoxに渡す方法がわかんないです」とか。... -
C#
EF6 + LINQ で N+1 問題を踏まない3つの書き方
みなさんこんにちは!ヒロポンです! X眺めてると、EF6でLINQ書いたら裏でSQLが1000本飛んでた、本番で朝までエンドポイント詰まってた、みたいな話。。マジで多い。 ローカルDBは50件しかないから12msで終わってた。でも、、本番で5万件+同時500ユーザー... -
C#
C# TryParse の正解 — int.TryParse / DateTime.TryParse / Enum.TryParse で業務SE が踏む3つのハマり
みなさんこんにちは!ヒロポンです! よくさーーtry/catchまわりで地味に削られてるなーーって思うわけ。 「赤文字エラーが出てるのに返り値は正常、例外も飛ばずにcatch スルー」と頭を抱える人。 「ChatGPTに書かせたスクリプトのtry-catch、例外を拾え... -
C#
C# Enum 完全ガイド — Description 属性 / [Flags] / 数値変換の使い分け5パターン
みなさんこんにちは!ヒロポンです! C#業務系で、こんな書き方してませんか?? if (status == 1){ /* 販売中 */ } else if (status == 2){ /* 一時停止 */ } else if (status == 9){ /* 廃番 */ } これ業務系でMagic Number流派ってやつで、半年後に「1... -
C#
C# 正規表現の業務系基本 — メール / 電話 / 郵便番号 / 全角半角の入力検証5パターン
みなさんこんにちは!ヒロポンです! C#業務系の入力検証で、こんなことないですか?? 新規登録フォームでメール検証の正規表現を書こうとして「正解の書き方が思い出せない」 電話番号のハイフン有無で正規表現が複雑になりすぎて挫折 全角混入チェック... -
Asp.net
ASP.NET MVC 5 で CSS が効かない時に確認する10項目 — 業務SE が踏むキャッシュとパスの罠
みなさんこんにちは!ヒロポンです! 連載「ASP.NET生存ガイド」の第7回です。今回はWinForms業務SEがASP.NET案件に押し出された時に踏む「CSSが効かない」ハマりを、10項目チェックリストで整理します。 ASP.NET案件で、こんな状況ないですか?? Razor V... -
C#
C# Generic 制約 (where T : …) — 業務SE が型安全コードを書く5パターン
みなさんこんにちは!ヒロポンです! C#でジェネリック使ってて、こんな経験ないですか?? Repository<T>を書こうとしてnew T()でエラー出てきて詰まった T item = null;で「型'T'を'null'に変換できません」って怒られた where T ... -
Asp.net
業務イントラの認証 — Windows認証 / Forms認証 / Cookie の使い分けで業務SE が踏む選択
みなさんこんにちは!ヒロポンです!! 今回はASP.NET生存ガイド連載・第6回の本論記事。業務イントラASP.NETで認証どうする??の話。 ASP.NET案件のキックオフで「認証どうする??」と聞かれて、WinForms時代のWindowsIdentity.GetCurrent()感覚で答え...
