misc.log

日常茶飯事とお仕事と

業務日誌.NET

ロードされているODP.NETライブラリのバージョンを調べる

昨年だったかに、ちょっと複雑なデプロイ環境を作る必要があり、その環境で実際に使われているODP.NET(Oracle Data Provider for .NET)のバージョンを調べなければならなかったので作ったコード。どこかで使いそうなので貼っておきます。 'Oracle.DataAcce…

SQL Serverで検索結果に通し番号を打つ

ちょっと調べることがあったので。SQL Serverで、Select文による検索の結果にあらかじめ通し番号を打っておきたかったので調べてみました(2018年11月27日追記:相関サブクエリーと型付きデータセットでの自動通番機能による方法)。以下、TestTableというテ…

いわゆる「半角文字」チェック

入力された文字が、いわゆる半角文字、ShiftJISであれば1バイトで表現できる文字かどうかを判断するロジックを組む必要があったので、過去のコードをひっくり返してみました。某作業で作ったコードがたぶん使えそう。方法はいろいろありますが、これは正規表…

ログ出力に汎用性を持たせる

先日書いた「自メソッドを呼んだメソッドを知る(http://www.backyrd.net/entry/20131112/1384184120)」で、コンソール出力にログを出していたモノをちょいと改良。ログ出力処理ロジック自体を好きに差し替えられるようにしてみます。方針は 具体的なログ出…

自メソッドを呼んだメソッドを知る

ちょっとログ処理の工夫方法を調べてみました。以下のようなシチュエーションで、ログ出力内容を多少マシにするためのネタ。 ログは専用クラス(仮称「Logger」と呼ぶ)が出す。 専用クラスにはWriteLogメソッドがある。 WriteLogにはメッセージ文字列を渡す。…

SJIS設定のOracle DBにいろいろ文字を突っ込んだ時の記録

文字コードがらみの調べ物をしていたときのメモを転記しておきます。Oracle 10gをキャラクタセット「JA16SJISTILDE」で設定し、そこにVB.NETから変な文字(笑)を突っ込んだ時に文字がどう化けるかの実験結果です。全角やら半角やらって用語についてはとりあ…

ユニコードのコード番号から実際の文字を生成する

2013年の2月と7月に、大嫌いな文字コードのお仕事をする羽目になって必死に調べて作業した時の記録を一切公開していなかったので、発掘して残していきます。いずれC#で書き直したいのですが、とりあえずはVB.NETのコードを切り貼りしてあとで参照できるよう…

クロスサイトリクエストフォージェリ(CSRF)

昨夜、ASP.NETのページでボタンなどが押されてポストバックが起きる際に、最初に「Anti-CSRF Token」とタグ付された文字列を含むPOSTが飛んでいるのを見つけて、「なんだっけ?」と思ったのをとりあえず片づけておきます。CRSFはクロスサイトリクエストフォ…

ASP.NETでやりとりされるViewstateの内容を読み解いてみたいがうまくいかない(2)

先日の続き。ASP.NETなどでのページ遷移の際にくっつく情報「Viewstate」の中身をのぞき見してみたいという課題の続き。環境はASP.NET + .NET Framework 4.5、サーバーはWindows Server 2012にIIS8.0という状況で、簡単なASP.NETのページを作り、テキストボ…

Viewstateが使っているシリアライザー(LOS/Limited Object Serialization Formatter)

http://www.backyrd.net/entry/20131026/1382777890 の続きです。 先ほどのViewstateに関する調べ物の過程で、ASP.NETがViewstate情報の生成と解読に用いているのはLOS Formatter(Limited Object Serialization Formatter)だという話を見つけました。 ビュ…

ASP.NETでやりとりされるViewstateの内容を読み解いてみたいがうまくいかない

※現時点ではまだ答えにたどり着いていません。下記内容は作業過程のメモですWebアプリケーションが持つ、サーバーとの情報連携方法の1つに、ビューステート(Viwestate)と呼ばれる情報に値を載せてやりとりするという方法があります。ASP.NETで用いられるコ…

IIS 8.0 + .NET Framework 4.5でASP.NETアプリを配置してみる

Visual Studio 2012 + .NET Framework 4.5で作成したASP.NETアプリを、Windows Server 2012上で可動するIIS 8.0の環境に配置してみたい…のですが、なかなか上手くいきません。 配置用ファイル一式の用意 Visual Studio 2012には、Webサーバーと連携して一式…

IIS 8.0でASP.NETを利用可能にする

仮想環境に構築したWindows Server 2012にIISを入れて、ASP.NETのアプリを動かしてみよう……と思ったのはいいのですが、とりあえず 作ったアプリの配置方法がわからない おまけになんかIISでASP.NETが使えてないっぽい というので少し行き詰まってしまいまし…

Oracle DBのNumber型をSingleで受けたら誤差った

絶対忘れてたぶん次も調べるだろうからメモっておきます。やったのは私ではないのですが、相談を受けてちょいと調べました。 環境 .NET Framework 3.5 + C# Oracle Database(バージョン不明) 起きたこと Oracle DatabaseのNumber型(少数含む)をDatasetで…

Internet Explorerからの通信内容を確認する

ASP.NETとかで作ったページが実際にどのような通信をサーバーと行うかってのを見たかったので調べてみました。へぇ……この機能が使えたんだ…って感じ。詳しくは下記のMSDNサイトにて。 Using Windows Internet Explorer Developer Tools Network Capture http…

C#本を買っておこう…

だめだやっぱ1冊は何か買わないととっかかりが難しい。まじめになにか言語をやるのって久しぶりだから。プログラミングC# 第6版作者: Ian Griffiths,Matthew Adams,Jesse Liberty,鈴木幸敏,首藤一幸,株式会社情報技研出版社/メーカー: オライリージャパン発…

Visual Studio 2012 Premiumで新しいプロジェクトを作成できない

Windows 7 32bit版にVisual Studio 2012 Premium Editionをインストール後、Windows Updateを実行。50個くらいのアップデートを適用しました。その後、Visual Studio 2012を起動し、プロジェクトを新規作成しようとすると下図のようなエラーが。 制約 Contra…

日本語フォント名から英語フォント名を取得する

昨年の話なんですが、記録し忘れていたので。米国製のコンポーネント(GUIを伴うもので、テキスト入力なども処理する)を利用していて、フォント名プロパティに日本語フォント名を指定すると、次にフォント設定を表示させたらフォント名が文字化け、おまけに…

VB.NETでのサロゲートペア文字の取り扱い

文字のチェック処理を扱う必要が出てきたのでテストデータを作っているのですが、サロゲートペアがどのように扱われるかについて勘違いしていました。たとえば、U+29E3D、「ほっけ(魚+花)」という文字ですが、これはプログラム中では以下のように取り扱わ…

コードカバレッジ分析ツール opencover

twitterで制作者ご本人から紹介いただいたので、とりあえずメモっておきます。これは8月9月で実際に使ってみよう。 opencover https://github.com/sawilde/opencover

64bitアプリと32bit DLLの混在

意外に実験したことが無く、結構即答で答えられない質問だったのでしらべてみました。64bit用に対象アーキテクチャをx64としてビルドされた.NETのアプリケーションから、32bit用、即ちx86用としてビルドされたアセンブリを参照して実際に動かせるのか?とい…

ODP.NETと.NET Framework 4.0

.NET Framework 4.0に対応したODP.NET(Oracle Data Provider for .NET)は、Oracle 11g対応のODP以降しか無いのですね。10g用として公開されているODP.NET(ODAC 10.2.0.2.21 に含まれるもの)は、.NET Framework 1.1と2.0用。では、以下の疑問はどう解決す…

.NET Framework 2.0から4.0への移行

内容はまだ読めてないので、とりあえず公式情報の所在だけメモしておきます。 .NET Framework移行センター/.NET Framework 2.0 ~ 3.5 から .NET Framework 4 への移行 http://www.microsoft.com/ja-jp/net/migration/document4.aspx .NET Framework 4移行ガ…

高いツールを使うか、安いツールを使うかの判断

どうやら周囲でVisual Studio 2010や2012のテスト支援機能をフルに使わず、各種外部ツールとの併用や組み合わせで自動テストとカバレッジの検証を行う方針を決めた様子……相談してくれればアドバイスするんだけど、きっと難しい話が嫌だから避けられたな(笑…

Visual Studio 2012はWindows XPにインストールすらできないのな

いやまぁ、今更XPも無いので別にいいのですが……。Visual Studio 2012を使っての開発環境確認作業が入ったので、既存のXP環境VMを展開してインストール……できないよ!wwというわけでWindows 7のVMを引っ張り出して起動中。マイクロソフトの情報はこちらから。…

.NET、DLLの修正で参照元も全部ビルドし直すのか?

職場にて。質問を受けたのですが、即答できなかったので調べました。以前も同じような調べ物をした覚えがあるのですが、記録していなかったので自分用メモもかねて。ちなみに開発環境はVisual Studio 2005、.NET Framework 2.0です。 厳密名を持たないDLLを…

メモ: DataTableとSelect

DataSetに対する検索に関して。基本は「マイクロデータベース」なのでSQLと同じ書式で検索かけてやる必要があるんですね。ちょっと今は余裕ないので、詳細はいずれきちんと調べて把握しよう。 MSDN/DataColumn.Expression Property http://msdn.microsoft.co…

TextBoxのDisable(Enabled=False)とフォーカス移動

テキストボックスなどにフォーカスがある状態で、そのテキストボックスがDisabled(Enabledプロパティ = False)にされると、フォーカスって次のTabIndexを持つコントロールに移るのですね……。知ってたようで知らなかった仕様。

Windows Serviceのデバッグを簡単に行う方法

時間が無いので手短にメモ。Windows Serviceのデバッグはいろいろと面倒ですが、サービスの登録や動作環境さえ整えば、以下の方法で簡単に実施できます。 OnStartメソッドに「Debugger.Launch()」と書く サービスを開始する 「Visual Studioでデバッグします…

Local System AccountとWNetAddConnection2命令

Windowsサービスとして動くアプリを作成中。 WNetAddConnection2命令を使ってネットワークドライブ(共有フォルダ)に接続する処理で、何度やっても接続エラー「1312」が発生するという問題に遭遇。答えはどうやらサービスの稼働アカウントらしい。 CodeProj…