atsukanrockのブログ

Microsoft系技術を中心にぼちぼち更新します

「手が付けられない」と「手を付けられない」

プロジェクトの進捗報告を書いていてふと気づいたこと。 手が付けられない 手を付けられない 「が」と「を」を間違えると、意味が全然違う。

ビューに対するSQLで、ヒントを指定する

はじめに ビューに対するSQLで、ヒントを指定したいことがある。そのような場合、グローバル・ヒントという構文を使うことができる。その内容を説明する。なお、以下の説明で使用するSQLは、全て『Oracle Database パフォーマンス・チューニング・ガイド 10g…

.NET Frameworkで、シリアル化可能なタイプセーフenumを実装する - その3(今度こそ完成?)

はじめに 昨日のエントリに対して、またもやid:zeclさんに言及いただいた。以下にその言及内容を引用する。 そうですよね。IObjectReferenceインターフェイスを利用すれば、静的クラスのシングルトンが表現できますものね。ちなみに、IObjectReferenceインタ…

.NET Frameworkで、シリアル化可能なタイプセーフenumを実装する - その2

はじめに 以前のエントリで、今の.NET Frameworkでは、シリアル化可能なタイプセーフenumを、スマートに実装する方法はないのではないか、と述べた。それに対し、ピコピコさんから「できるよ」というコメントをいただいた。そのアドバイスに従い実装してみた…

複数バージョンのOracleクライアントの共存

一台のマシンに複数のバージョンのOracleクライアントを共存させる方法が、このページにある。Universal Installerの「インストールされた製品」で[環境]ボタンを押して、有効にするバージョンをリストの一番上に持ってくるそうだ。ただ、この問題は、これ…

YAHOO! UI Libraryで、キーボードイベントを処理する

はじめに YAHOO! UI Libraryでキーボードイベントを処理するためには、YAHOO.util.KeyListenerクラスを使う。その基本的な使い方を簡単に示し、進んだ使い方として、デフォルトイベントをキャンセルする方法を示す。

Oracle Tips

今までに紙にメモしていたOracle Tipsを転記する。

ODP.NETのバージョン問題

はじめに ADO.NETのOracle製接続プロバイダであるODP.NETには、バージョン問題が存在する。ここで言うバージョン問題とは、アプリケーションの開発者が意図しないバージョンのODP.NETが、アプリケーションの実行時に使用されてしまうことを指す。本エントリ…

Oracleインスタンスを自動起動する

Linuxで、OSの起動時にOracleインスタンスを自動的に起動する方法。 /etc/oratabというファイルで、自動起動を設定できる。 ファイルを開くと、 orcl:/u01/app/oracle:Yのような記述がある。この最後の「Y」の部分が自動起動するかどうかの設定で Y:する N…

上高地へ

5/1から一泊二日で上高地へ旅行に行ってきた。関西から行く上高地はかなり遠いので5/1は移動日、奥飛騨の温泉に泊まり、5/2の朝から昼にかけて上高地を散策した。かなり密度の高い予定を組んでいて、それがけっこうアバウトだったので、ところどころでアタフ…

foreachのinの右側の評価回数

C#

C#のforeachステートメントでは、inの右側は一度評価されるだけである。従って、パフォーマンスを意識していったんローカル変数に格納するようなコードは書かなくてよさそう。

DataTableでのロールバックを手軽に実装する

DataTableは、ただのデータの入れ物ではない。CLRのメモリ上でDBのトランザクション(CRUDやコミット/ロールバックなど)と同様の処理を実装するための、各種メソッドが提供されている*1。ロールバックを実装するための方法も提供されている。しかしその仕…

またもや二十肩

3週間ぶりに野球をやってみた。またもや二十肩。原因は 前回のが完治していなかった 全く運動しなかったこの7年の間に筋肉が衰弱しすぎている 投げ方がおかしい のどれかだろうか。普通にボールを投げれる体に戻りたい…。

.NET Frameworkで、シリアル化可能なタイプセーフenumを実装する

はじめに 本エントリでは、.NET Frameworkでシリアル化可能なタイプセーフenumを実装する方法を述べる。 結論から先に述べると、今の私にはそのうまい方法が思いつかなかった。今の.NET Frameworkでは、泥臭くしか実装できないのではないか。その考えにいた…

??演算子(null合体演算子)

C#

??演算子(null合体演算子)というのがある。C# 2.0(Visual Studio 2005でのC#のバージョン)でも使える。恥ずかしながら、ついさっき知った…。 x ?? y と書くと、xがnullの場合yと評価され、それ以外の場合はxと評価される。これ、絶対使う。サンプルは以…

読書メモ『プロとしてのOracleアーキテクチャ入門 Oracle現場主義』

プロとしてのOracleアーキテクチャ入門 Oracle現場主義作者: 渡部亮太,森坂康人出版社/メーカー: ソフトバンククリエイティブ発売日: 2008/08/22メディア: 単行本購入: 15人 クリック: 341回この商品を含むブログ (28件) を見るの読書メモを記す。随時追記す…

二十肩

社会人になってからというもの全くスポーツをしなくなっていて、どんどん体がなまってきているのが手に取るようにわかっていた。なので、土日だけでもスポーツをするようにしようと思い、先週からはじめてみた。 野球をやってみたら、いきなりきた。二十肩で…

Repeaterのコントロールツリー復元機能

はじめに ASP.NETでの開発効率を上げるために、使いこなすことが非常に重要なコントロールのひとつにRepeaterコントロール(以降、単に「Repeater」と呼ぶ)がある。本エントリでは、Repeaterのコントロールツリー復元機能について述べる。 なお、本エントリ…

ViewStateによるコントロールのプロパティ値復元の仕組み

はじめに 本エントリではまず、ViewStateの基礎的な内容について説明する。さらに、ViewStateによるコントロールのプロパティ値復元の仕組みについても説明する。 ViewStateというと、「@IT:.NETエンタープライズWebアプリケーション開発技術大全 Webアプ…

コントロールツリー

ページに、あるコントロールを配置したとする。すると、そのコントロールは、ページをルートとするコントロールツリーの一部となる。その結果、そのコントロールのコンテナ(コントロールツリーの親ノード)、そのまたコンテナ…と辿ることにより、必ずコント…

CollectionやReadOnlyCollectionで、リストのプロパティを公開する

はじめに 本エントリでは、.NET 2.0以降でリストのプロパティを公開する*1場合に使用する、以下のクラスについて述べる。 Collection<T> ReadOnlyCollection<T> *1:publicまたはprotected。internalを「公開」とするかどうかは人によるかもしれない</t></t>

コントロールでViewStateが「本当に」有効かどうかを確かめる

はじめに 本エントリでは、ASP.NETで、ページに配置したあるコントロールについて、そのコントロールでViewStateが有効かどうか(コードビハインドでのプロパティ値変更が、次回以降のポストバック時に保存されているか)を調べる方法を述べる。

「全ての文字が○○である」正規表現の書き方

はじめに ユーザ入力のチェックなどで、入力文字列の「全ての文字が○○である」ことを確かめるといった処理をすることがある。そういった処理は、正規表現を使って実装するのが手軽である。本エントリでは、その正規表現の書き方を述べる。

DateTime.ParseExactメソッドで、1900年代の日時に変換される

.NETで文字列を日時の値に変換するには、DateTime.ParseExactメソッドを使用するのが普通だ。このメソッドは、第2引数に日付と時刻の書式指定文字列を指定する。その指定をカスタム DateTime 書式指定文字列とした場合、注意が必要だ。 年の解析でyy(年の下…

プロプライエタリ・ソフトウェア

簡単に言うと、フリーソフトやオープンソースソフトウェアの対義語。ただし、正確な定義で言えば、無料ソフトでもプロプライエタリなソフトウェアがある。詳細は、「プロプライエタリ・ソフトウェア」(Wikipedia)を参照のこと。以下、Wikipediaの定義を引…

SCM

Subversion、CVSなどの、バージョン管理システムのことを、SCMというらしい。Source Code Managementの略。

JsDoc ToolkitでJavaScriptのコメントからドキュメントを生成する

はじめに JavaScriptのコメントからドキュメントを生成するツールには、以下のようなものがある。 名称 概要 記述言語 YUI Doc YAHOO! UI Libraryのドキュメント生成に使用 python JSDoc 元祖?javadocに類似したタグでコメント記述 perl JsDoc Toolkit JSDo…

JavaScriptのin演算子

JavaScriptでオブジェクトにプロパティが存在するかどうかを判定するのに、in演算子というのがある。恥ずかしながら、今日初めて知った。 以下のように使用する。 alert("hoge" in { "hoge": null }); // alert "true" alert("fuga" in { "hoge": null }); /…

構造体ではデフォルトコンストラクタを定義できない

C#

はじめに C#では、構造体のデフォルトコンストラクタを定義できない。このことを不思議に思っている人は少なくないのではないか。私もその一人だ。本エントリでは、そのジレンマを嘆く。

CSVパーサを実装中

今日は、.NETでCSVパーサを実装していた。.NETでCSVを手軽に扱いたいのであれば、TextFieldParserクラスというクラスがあるのだが、このクラスはMicrosoft.VisualBasic.FileIO名前空間に属するということで、使用するのは何となく気が引ける*1。 実装といっ…