LINQ to XML

By | 2015年1月20日

本業はハードウェアエンジニアなのですが、学生の頃は情報系でどちらかと言うとソフトウェアを作ってました。ハードも少しだけやってましたが、せいぜい論理回路レベル。HDLを本格的に始めたのは入社後です。

最近、Webのスクレイピングと、スクレイピングデータと連動するWindowsのアプリケーションをプライベートで開発することになり、昨日と今日の二日間、品川にあるマイクロソフトのセミナーへ出席してきました。「ところで、仕事は?」の突込みはなしでお願いします(^^;

久しぶりの品川です。港南口から出るのは約2年ぶりくらいでしょうか。

港南口から出て右手方向、品川インターシティの中のグランドセントラルタワーにマイクロソフトが入っているのですが、このビル群が曲者で、ペストリアンデッキには普通に屋根が付いているので、ビルを見上げることができず、通路を歩いていても何棟目のビルの入り口なのかが分かりにくいんですよね。。(注:2年前まで、自分もインタ₋ーシティで働いていたけど他のビルは全然わからない)

で、マイクロソフトはどこ?

Google Map上では、2番目のビルなのですが、入り口を普通に数えて入ると全然違うビルだったりして。。しかも、少し奥まったところに入り口があって、結局、港南口を出て10分くらいうろうろしてしまいました(苦笑)

やっとのことでたどりついたセミナー会場、肝心のLINQセミナーは、

受けて良かった!!

の一言です。10年ほど前まで遡って、学生の頃は研究でXMLを使っていたのですが、その当時はXMLを処理するためのライブラリとしてDOM(UNIXのlibxml)を使っていて、地味にゴリゴリプログラムしないとXMLを使えませんでした。それが今は、マイクロソフトのLINQを使えば、XMLはもちろんSQLを使ったデータベースやCSVといったデータまで、統一的にデータのサーチや並び替え(要はSQLでできる処理)ができてしまうんです!

目から鱗でした。

『Rubyでスクレイピングした情報をいったんXMLに落としておいて、そこにアプリからLINQでアクセスする』

セミナーを聞きながらシステムの全体像をぼんやりとイメージしてました。全部LINQで作るのもできそうですが、スクレイピング環境がどこぞやのサーバーの上で動かすことになるので下記を考慮。

  • 一般的なDBMSはサーバー環境に大きく依存(DBMSの種類やOSそのもの、CPUのパフォーマンス等)してしまうので代わりに中間DBとしてXMLファイルを使う
  • サーバー環境はまだまだUNIX系が一般的なので、全部マイクロソフトで作ってしまうと、動かせないサーバーが出てくるのでNG

なんだか、

ブログというか、

今日のセミナーを聞いて思いついたことのメモになってしまいましたが、

最後に一言。今日のセミナーを振り返ると

「LINQの肝はIEnumerable interfaceにアリ」

です。ご参考までに~。


スポンサードリンク

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です