Ubuntu で インメモリファイルシステムを作成する

C# のビルドを高速化する

性能の良いSSDが手に入ったので、高速ビルドにチャレンジしてみました。 CPU:Intel Xeon E3-1280 V2 3.6GHz(8core) Memory:32GB(DDR3) HDD:Intel SSD 750(Read 2,200MB/s Write 900MB/s) ソースコード規模:総ステップ 16万行、実ステップ 7万行 MSBuildのオ…

Windows Server 2008 R2 で、エアロを有効にする

サーバーマネージャーから機能の追加で「デスクトップエクスペリエンス」を追加する。 管理ツール−サービスから「Theme」サービスを自動起動に設定する。 再起動する。

WCF入門-11 App.config以外のファイルからサービス構成を取得する

Sample SourceWCFServer.zip クライアント側は、app.configの場合は、clientbaseを使いますが、別のファイル(例えば、other.config)から設定を読み込む場合は使えません。 ConfigurationManager.OpenMappedExeConfigurationを使ってConfigファイルを読み込ん…

Lenovo E550で、Fnキーを押さなくてもFunctionキーを有効にする

Lenovoのサイトからダウンロードできるユーザーガイドに記載されています。Escキー+Fnキーを押す。成功するとFnキーのLEDが点灯するみたいです。

Windows 7 を ルーターにする

Windows 7 をルーター化するには以下のレジストリ設定を変更して、ルータ機能を有効にします。 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters IPEnableRouter REG_DWORD 1キーがない場合は追加します。レジストリ設定後にシステム…

C#でMethod全体を排他ロックする

javaのsynchronized相当の機能、c#では属性を指定します。 using System.Runtime.CompilerServices; [MethodImpl(MethodImplOptions.Synchronized)] public void SomeMethod() { // sync code }プロパティのget/setにも以下のように指定できます。 public in…

imageをbyte配列に変換する

private byte[] ImageToBinary(Image targetImage) { using (var mem = new MemoryStream()) { mem.Position = 0; targetImage.Save(mem, ImageFormat.Bmp); byte[] buffer = new byte[mem.Length]; mem.Position = 0; mem.Read(buffer, 0, (int)mem.Length)…

Dispatcherによる、UI更新

別スレッドによるUI更新は、invokeやpostmessageを使った更新遅延テクニックを使いますが、WPFで標準的に利用されているDispacherクラスを利用したUI更新を使うことができます。むしろ、今後はこの更新テクニックが主流であるといえます。Postmessageは役割…

img要素で読み込みに失敗した時に非表示にする。もしくは代替画像を表示する。

リンク切れなどでimg要素が表示できない場合の対応です。onerrorイベントハンドラを使用します。 非表示にする。 <img src="original.png" alt="title" onerror="this.style.display='none'"/> 代替画像を表示にする。 <img src="original.png" alt="title" onerror="this.src='/Images/alternate.png'"/>

XMLに設定する日付書式(ISO 8601)

XMLに日付データを設定するときに設定する日付書式です。 yyyy-MM-ddTHH:mm:sszzz以下の文字列が取得できます。 2015-01-03T10:35:46+09:00

postgresqlのpsqlコマンドラインオプション

C:\Program Files\PostgreSQL\9.4\bin>psql.exe --help psql は PostgreSQL の会話型ターミナルです。使用方法: psql [オプション]... [データベース名 [ユーザ名]]一般的なオプション: -c, --command=コマンド (SQLまたは内部の)単一コマンドを一つだけ実…

WCFの通信データサイズ制限を調整する。

WCFの受信サイズ制限は、既定で65536となっていて制限を越えた場合はSystem.ServiceModel.CommunicationExceptionが発生します。 System.ServiceModel.CommunicationException が発生しました。 HResult=-2146233087 Message=受信メッセージの最大メッセージ…

WCFでAddressAccessDeniedExceptionが発生する場合の対処方法

WCFのHost起動時に以下のメッセージが表示される場合があります。セキュリティ関連のチェックにかかったメッセージで、対処としては管理者で実行するか、実行するユーザに対して権限を与える必要があります。 System.ServiceModel.AddressAccessDeniedExcept…

特定のDBに依存しないデータアクセス方法(DbProviderFactories)

C#

C#で特定のDBに依存しないデータアクセスをする場合の実装方法です。例えば、Oracleに接続する場合はOracleConnectionを使うし、PostgreSqlに接続する場合はNpgSqlを使用すると思いますが、将来的に切り替えたりさまざまなプロジェクトで流用していこうとい…

プロジェクトファイルが勝手にチェックアウト状態になる

ウェブアプリケーションを開発している際に、何も変更していないのにプロジェクトファイルがチェックアウト状態になることがあります。 原因は、プロジェクトプロパティの[Web]タブの設定です。 ・[すべてのユーザにサーバ設定を適用(プロジェクトファイル…

Visual Studio 2012 でのプロジェクトプロパティで変更しておいた方が良い箇所

・デバッグ中にコードを修正するために必要な設定 [ビルド]-[プラットフォームターゲット]→x86 [Web]-[デバッガ]→[エディットコンティニュを有効にする]→オン ・RDPセッションホスト(ターミナルサービス)環境で複数ユーザでデバッグするために必須 [Web]-[サ…

FirstChanceExceptionが無限ループに陥らないようにする実装方法

.Net 4.0 から導入された FirstChanceException イベントハンドラは、例外が発生した際に最初に例外が通知されるイベントです。(try catch よりも先に。) 但し、注意点としてFirstChanceExceptionイベントハンドラの中で新たに例外が発生するとFirstChance…

Windows 8 でスタートメニューを表示する

Windows 8 からスタートメニューが無くなりましたが、早速、スタートメニューを表示するアプリをリリースしている人がいたので使わせてもらうことに。 Lee-Soft ViStart 海外のソフトウェアだが日本語も表示されるし見た目もWindows 7 なので使いやすい。

IIS でワーカープロセスのリサイクルが発生した際にイベントログを記録する

IISのワーカープロセスは、不安定にならないよう定期的な時間間隔(1740分ごと)に再起動するように設定されています。この再起動処理をIISはリサイクルと呼んでいます。既定では時間間隔(1740分毎)ですが、リクエストの数(1000万リクエスト毎など)や特…

例外の処理コストとパフォーマンスチューニング

例外に掛かる処理コストについてint.Parseとint.TryParseを使って比較調査を行ってみました。 入力された文字が数字か否かを判断する方法として、数値ではない場合に例外を発生させるint.Parseがあります。 private bool IsNumericByException(string test) …

InnerExceptionは誰が設定するのか(例外が再スローされるときにいつでも設定される訳ではない)

MSDNにはInnerExceptionについて以下のような説明があります。 ファイルを読み取り、そのファイルのデータの書式を指定する関数があるとします。この例では、ファイルの読み取りを試みるコードとして、IOException がスローされます。この関数は、IOExceptio…

throw ex と throw の違い。例外の再スローについて。

例外を再スローする場合は、 throw ex; ではなく throw; と書きます。 上の2つはとてもよく似ていますが処理内容は全く異なります。throw exは実行したメソッドで新しく例外をスローしますが、throwとだけ書いた場合は例外を変更無しに再スローします。”変…

Null許容型はGetTypeでNullableを返さず値型を返す

Null許容型ですが、GetTypeメソッドを呼び出した際にNullableではなく値型を返すという特性があります。NullableのGetTypeはintを、NullableのGetTypeはDateTimeという風に。 Nullableを導入した際の値型との互換性のためだと思いますが、ちょっと変わった動…

DHCPでIPアドレスが取得できない場合に設定されるIPアドレス(169.254.0.0)

DHCPでIPアドレスを取得するよう構成されたコンピュータが何らかの理由により(ネットワーク断線、DHCPサーバダウンなど)でIPアドレスが取得出来ない場合、APIPA(Automatic Private IP Addressing)というアドレス体系のIPアドレスが自動的に付与されます。 …

Administrator ユーザアカウントを有効にする

Windows Vista / 7 Home Basic, Home Preminum では、Administrator アカウントを有効にするためにはコマンドラインから設定する必要がある。 (GUIのコンピュータの管理ツールが利用できないため。Enterprise,Ultimateは可能。)有効にする net user admini…

IIS7からUnicodeを含むファイル名のアップロードをサポート

Windows 7 / 2008 R2 に入っている IIS7 から UTF-8 のファイル名がサポートされるようになりました。ということを最近知りました。(遅い・・)IISマネージャからFTPサイトの詳細設定を確認すると「UTF8の許可」が既定値でTrueになっています。

Oracleのサンプルスキーマ(データベース)を消す

Oracle のサンプルスキーマ(データベース)を削除するスクリプトです。Oracle 10g/11g。 sqlplus SYS/ORCL@ORCL as sysdba DROP USER SCOTT CASCADE; DROP USER HR CASCADE; DROP USER OE CASCADE; DROP USER PM CASCADE; DROP USER SH CASCADE; DROP USER …

JISコードによる入力可能文字の判定(第1水準、第2水準、第3水準、第4水準、半角文字など)

他のシステムにデータ連携を行う場合などに、文字化けを起こさないよう入力文字のチェックを行う場合があります。 今回は、JISコードを使って入力可能文字の判定処理を整理したいと思います。 まず、JISコードの体系ですが「区点番号」という番号体系で文字…

デバッグ時とリリース時でJavaScript/CSSの圧縮・非圧縮を使い分ける

JavaScript や CSS はリリース時には、最適化や圧縮、複数ファイルを1ファイルに統合するなどといったパフォーマンスチューニングをすると思います。ですが、チューニング済みのJavaScriptやCSSファイルだとデバッグや修正ができません。 今回は、デバッグ…