JUDE Professional…C#に対応

むむ、今はC#屋さんだったりするので過敏に反応 ;)

UMLと言ってもユースケース図、クラス図とシーケンス図、根性でアクティビティ図くらいを描く程度。しかも、なんちゃってUMLですけどね :roll:

で、描く時に愛用させてもらっているのが…JUDE Communityです。

今回、Community/Professional共に5.3がリリースされて、ProfessionalはC#にも対応したと。でも、雛型コードの生成機能とか使ってないし…正直メリットをあまり感じないので、Communityを継続使用させてもらいます ;)

C#のクラス図描いていて、扱いに困ったのがプロパティの扱いなんですけど…どうも、図の上ではステレオタイプで対応しているっぽいですね。まさに、今ステレオタイプで描いてました :)

プロパティって、Javaのgetter/setterに近いものなんですけど微妙に違っててキモチ良いんですよね(Beanの単に値を取得/設定するgetter/setterなんてpublicにしちゃえばと思う人 :arrow: )。

そう言えば、Professional 5.3はDBリバースでER図を生成する機能も目玉として登場してるんですよね。使わせてもらってて言うのも何だけど…JUDEシリーズの棲み分けってなんだか微妙だよな。

UML モデリングのエッセンス 第3版 (Object Oriented SELECTION) UML モデリングのエッセンス 第3版 (Object Oriented SELECTION)
羽生田 栄一

アナリシスパターン―再利用可能なオブジェクトモデル (Object Technology Series) UMLモデリングの本質 (日経ITプロフェッショナルBOOKS) オブジェクト開発の神髄~UML 2.0を使ったアジャイルモデル駆動開発のすべて ダイアグラム別 UML徹底活用 (DB Magazine SELECTION) 実践UML 第3版 オブジェクト指向分析設計と反復型開発入門
by G-Tools

TrackBack URL :

DUALテーブル?

デスマ入り目前のプロジェクトに社内派遣されてました :roll: その中で見たのが、以下のようなSQL。

SELECT
 NVL((SELECT C_1 FROM T_1 WHERE J_1 = /*NoId*/), ' ') AS A_1,
 DECODE((SELECT C_2 FROM T_1 WHERE J_1 = /*NoId*/), '1', 'true', '2', 'false', 'false') AS A_2
 ……同じようなものの繰り返し……
 FROM DUAL

とにかく長い…実際にはWHERE句ももっと長いし名前も長い、SELECT文が画面一杯続いた後…FROM DUAL :?: なんじゃそのテーブルは、データベースを一からお勉強したことのないわたしには結構衝撃のDUALテーブル。はい、DUALも知らないボクが通りますよぉ :arrow:

Oracle屋さんには、入門Oracleなどの本でお馴染みのテーブルらしいのですが…そんなの知らないわたしはDUALってテーブル何状態。要するにダミーテーブルみたいなものらしい。まぁ、すぐにググって…ふ~んって感じだったわけですが…使う場面なの :?:

しかし、DUALの扱いというかSELECTの構文だけでも有名どころのデータベースで結構違いがあるんですね~DUALはOracle, MySQLにはあるけどPostgreSQLにはないとか、FROM句を省略できたりできなかったりとか。

で、DUALテーブルをググってる途中で見つけたSIGSEGV – MySQLのSQLチューニング(IN 演算子)の結果面白いですね~まぁ、この辺りになるとわたしには魔術の世界ですね。MySQLのIN演算子って遅いのか :?: とか色々。

上記ページに以下のように書かれているわけですが…以下斜体部引用。

同じ結果なのに歴然とパフォーマンスが変わるところがSQLチューニングの醍醐味ですね。

この感覚非常によくわかるんですが…わたしの場合は、その辺りが許せなくてSQL嫌いのデータベース嫌いの一因になってたりします :|

しかし、DUALって名前の由来はなんなんだろう?

基礎からのMySQL [基礎からのシリーズ] (プログラマの種シリーズ) 基礎からのMySQL [基礎からのシリーズ] (プログラマの種シリーズ)
西沢 夢路

ノン・プログラマのためのPHP入門 10日間コース 初めてのPHP & MySQL 第2版 基礎からのPHP [基礎からシリーズ] (プログラマの種シリーズ) MySQL 辞典 (Desktop reference) (DESKTOP REFERENCE) 実践マスターPHP+MySQL―PHP4/PHP5対応
by G-Tools

TrackBack URL :

日本でもDreamSparkがはじまったようです

以前、『Microsoft DreamSpark…とりあえず日本は蚊帳の外』と書きましたが…ようやく :?: 日本でもはじまったようです。

Microsoft DreamSpark(MSKK)

以下が現時点で、無償ダウンロードできる製品です。

  • Visual Studio
  • Expression Studio
  • Windows Server 2003
  • SQL Server Developer Edition
  • XNA Game Studio 2.0
  • XNA Creators Club Membership

う~ん、もうチョット広げろという気もするわけですが…学生さんうらやましい。なお、学生であることを証明するために国際学生証ISICカードが必要なようですね。

あと、現時点の対象学生は、大学院生、大学生、専門学校生、高等専門学校生の4,5年生です。予定では高校生まで広がるはず。

まぁ、個人的にはLinuxやBSDでガリガリやって欲しいですけどね :mrgreen:

TrackBack URL :

ひぃ~HTML5にこんな仕様があったとは

IT戦記に『Safari 3.1 に実装された「Client-side database storage (SQL API)」とは何か?』というエントリーが…うげげ、HTML5の仕様なんですか :?: Client-side database storage…確かにHTML 5 Working Draft — 24 March 2008のSQLの項目に書かれてますね。

HTML5って、もっとコンパクトな仕様かと思ってたのに結構長文ですね :shock:

と言うか、ブラウザにSQLiteとかデータベースが組み込まれてSQLがJavaScriptから使える時点でビックリだよ。

Client-side database storageに関しては、先のIT戦記のエントリーでamachangがかなり詳しく説明してくれているので、そちらを見ていただくとして。

LINQとか、予想外のところにデータベースというかSQLが進出してきていて…ゾッとする :shock:

別にデータベースの有用性はわかるんだけど…データベースを操作するためのSQLじゃない言語を再設計する動きがないのはなぜなんだろう :?:

SQL好きな人が多いのか :?: それとも慣性か :?: それとも…SQLってデータベースを操作するには最高なのか :?:

インピーダンスミスマッチと言われたり、O/Rマッピングとかが現れるところを見るとみんなSQLにもRDBにも満足はしていないと思うんだけど… :roll:

いろいろなところにSQLが登場するなんて悪夢だorz

TrackBack URL :

SYS_CONNECT_BY_PATH…でハマル

何度も言いますがわたしはSQLが大嫌いです ;)

試験部隊のデータベースで突然SQLがエラーになると言うことで調査しました…なんでオレが :?: と思いつつ人も居なかったので。

まぁ、エラーになるSQL文は特定できているので簡単なことです…たぶん。とか思いつつ。

開発部隊のデータベースに接続して、エラーになるSQL文を実行…当然というか正常に結果を返してきます。

気を取り直して、試験部隊のデータベースだとやはりエラーになります。

ほぉ、ORA-30004ですか…なになに :?: SYS_CONNECT_BY_PATH関数がホゲホゲって書いてあるなぁ~なんだ、その関数と思って検索…ほぉ、データの中をセパレータで区切ってホゲホゲ :roll:

へぇ~SQL(ORACLE)の関数って色々あるのね~なんて感心しながら、SQL文を見る。ありゃ、SYS_CONNECT_BY_PATHなんて使ってないよぉ :shock:

あ、なんか変な関数定義しているなぁ~この中かなぁ面倒だなぁ~と思いつつ探す…ないよ :shock:

引いているテーブルの中に何個かビューがあるよぉ~ビューの定義を見る…げ、あるじゃんSYS_CONNECT_BY_PATH。ビューの中でエラーかよ。しかも、セパレータの文字によるデータ依存かよ :shock:

と言うことで、データの中身を検索…あったセパレータに依存するデータ。とりあえず除去して、SQL文が正常に実行されることを確認。あとは、ナゼそんなデータが入ったかを調査するだけ…まぁ、それはわたしの知ったことじゃないけど。とりあえず復旧だけはしたので :arrow:

なんか、ビューの中にこんなデータ依存の関数を忍ばせるなよぉ :!: という怒りより。

よく、こんな面倒で複雑なSQLを書けるよなぁ。と全然別なところで感心してしまった。

しかし、あらためて嫌いになりましたSQL

TrackBack URL :

探し物メモ…SQLite for Windows CE

Windows CEと言うか、Windows Mobileで動く軽いデータベースを探してました :)

最低限、SQLが使えれば特にこだわりなし…妥当な線では、『Microsoft SQL Server: SQL Server 2005 Compact Edition』かなぁ~なんと言ってもMicrosoft製だし :roll:

う~ん、他にないかなぁ :?: 軽いと言えば、SQLiteだよなぁ~と思い。SQLiteのWindowsCE版を検索っと。

あ、ありましたSQLite for WindowsCE…ソースしかないのね~まぁ、当然かと思いダウンロードすると…うげ、ホントにソースだけじゃん :|

面倒だなぁ…と思ってさらに検索するとありました :idea:

『猫足ブログ: SQLite』…ちゃんと、ARM向けにコンパイルされたものとVSのプロジェクト :!:

まだ、試してないんですけど…とにかくメモですφ(^^。

TrackBack URL :

developerWorksの記事が盛りだくさん過ぎる件

昔から秀逸な記事が多いIBM developerWorks Japanなのですが…。

最近、一気に記事が公開されることが多くて困っています :| 逆に言うとうれしい悲鳴でもあるわけですが…。

昨日、2月15日には一気に11件の新着で…そのうち興味深いモノが半数以上。さらに、内容の濃いものもあるので、おバカなわたしは消化しきれません :roll:

と言うことで、徐々に読むしかない状況に…少し前は、もう少し小出しにしてくれてたと思うんですけどね。

そう言えば、編集長のブログも始まったので…お願いしてみようかなぁ :?:

もう少し、小出しにしてください! :oops:

が~ん、コメント欄しかないよぉ :cry: 書くかな…と言うことで書いてみた。

TrackBack URL :

嫌いな一因発見…でもSQLは嫌いですぅ

CodeZineの【デブサミ2008】真のDBエンジニアになるために必要なこと(レポート)に以下のように書かれていた。

http://codezine.jp/a/article/aid/2232.aspx

CodeZine:【デブサミ2008】真のDBエンジニアになるために必要なこと(レポート) via kwout

なるほどね~確かにわたしがSQLになじめない一因がわかったような気がした :idea:

SQLの集合思考という発想が奇異に感じられるから

いや、それだけじゃなくてSQLの構文が奇異に感じちゃうんですよね :|

なので、Martin Fowler先生が書いているドメインロジックとSQLを読みながら…結局はトレードオフなんだよね~と思いつつ基本的にSQLをシンプルにする傾向がある ;)

どうしても性能がでないじょ~と言う罠にはまった時だけSQLを嫌々絞り出す…と言うのが、わたしのスタイル :mrgreen:

運用環境を超えるデータ件数で脳内シミュレートもしくは試験をちゃんとしておかないと…後々恐ろしいことが起こる可能性がありマスけど ;) 経験済 :cry:

昔、見た印刷して1ページに収まらない1文のSQLなんて…
オゾマシイ以外のナニモノでもないorz

TrackBack URL :

PostgreSQL 8.3登場…これは良いかも

まぁ、すでに多くのところで話題になっているPostgreSQL 8.3のリリースですが…性能向上以外にも以下のような点に魅力を感じます :)

マイコミジャーナルの『性能大幅アップの「PostgreSQL 8.3」がリリース』から一部引用。

http://journal.mycom.co.jp/news/2008/02/04/046/index.html

性能大幅アップの「PostgreSQL 8.3」がリリース | エンタープライズ | マイコミジャーナル via kwout

個人的にはMySQLの方が好みだったり、社内システムで一度使ったことがある程度のPostgreSQLなわけですが…そろそろOracleとオサラバできないですかね :?:

でも、顧客の皆さんってOracleが大好きなんですよね~どうしてなんでしょうね :roll:

データベース以外の部分には、割と抵抗なくOSSを受け入れてくれるようなケースでもデータベースにはOracleってパターンが妙に多いんですよね…どうしてなんでしょう :?:

やっぱり、安心感なんですかね?

わたしの周りでは、Oracleを使いますという一言で安心してもらえるので、オラオラ詐欺と呼んでたりするわけですが ;)

TrackBack URL :

Tracチケットへの返信を修正するには?

Tracのチケットに対する「返信」に意図しない内容を書いてしまった時はどうやって修正するんだろう :?:

そんなことは、考慮されていないのかなぁ~正しい内容で、もう1回「返信」を追加しろって感じなんだろうか :?: 削除もできないし…神経質なわたし :oops: には変な内容が残るのが許せない :(

どうせ、個人Tracだし権限もあるのでSQLite Database Browserでticket_changeテーブルを直接書き換えて証拠隠滅 :mrgreen:

う~ん、でも権限のないTracだと困るよなぁ :?: ホントのとこどうなんだ :roll:

コミットミスみたいな感じか?

追記 1.19
TicketDeletePluginというTracプラグインがあることをコメントで教えていただきましたぁ。まさに欲しかったモノです。感謝 ;)

TrackBack URL :