ほのぼの C#開発

開発の基礎から、現場で使用できるC#を掲載していきます。

2018-03-01から1ヶ月間の記事一覧

C# シリアライズとでシリアライズ

シリアライズ デシリアライズについて オブジェクトのディープコピーに用いたりする。 シリアライズ /// <summary> /// シリアライズを行います。 /// <typeparam name="T">オブジェクトのタイプ </typeparam> /// <param name="filePath">ファイルパス</param> /// <returns> /// 対象ファイルから復元したデータ /// </returns> public static void Seri</summary>…

C# APサーバの負荷分散

負荷分散について 複数人が同時にサーバーへアクセスしたい際に、サーバへの負荷がかかるため、ロードバランサを用意して、複数台のサーバを設置して負荷を下げる。 現状 :サーバ1台 負荷軽減:サーバ複数台、ロードバランサ 問題点 クライアントから要求…

SQLServer TempDbのラッチ状況

TempDBについて SQLサーバーでTempDbを使用すると、サイズが足りない場合に自動的に拡張します。 その際に、ラッチ(オブジェクトの保護)が発生して、他の処理が待機状態になる可能性があります。 ラッチは、SQLサーバーの利用モニタで確認できます。 ラッ…

C# SQLServerでBulkCopyして高速化

大量のデータをInsertする場合、SQLサーバとの通信がSQLの実行のたびに時間がかかってしまう。 1万件のデータをInsert Insertを1件毎に実行:98.32秒 Insertを1000件毎に実行:15.34秒 Bulkを使って1000件たまったら実行:0.57秒 BulkCopyを使用すると、速…

C# メールアドレスの正規表現

C#

メールアドレスの正規表現 アドレスのメール検証処理時に使用する正規表現 ^([a-zA-Z0-9_/\.\-\?\+])+\@([a-zA-Z0-9]+[a-zA-Z0-9\-]*\.)+[a-zA-Z0-9\-]+$

C# ソースをHTMLに変換

C#のソースをHTMLに書く際に重宝する。 Online syntax highlighter like TextMate

C# log4net ログの世代管理

log4net ログの世代管理 log4net ログの世代管理について紹介します。 今回は、ある一定期間を過ぎたログファイルを削除する。 ログの削除 //------------------------------------------------- // ログの削除(世代管理) //-----------------------------…

C# パフォーマンスの向上

パフォーマンスの問題 現場にいると ・画面表示される速度が遅い ・初回表示するのが遅い ・使っているとだんだん遅くなる など色々な意見をもらう。 ⇒まず、どこで遅いか切り分ける。 クライアント描画処理? ネットワークの負荷率? サーバー処理? DB処理…

C# リトライ処理

リトライ処理 リトライする処理とエラー処理を設定するのみ。 責務を分けることが可能となる。 リトライの共通処理:RetryExecutor リトライ処理 :内部処理 リトライ処理の呼び出し方 //------------------------------------------ // リトライ用の実行ク…