スポンサーサイト


上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

IN句に1000以上の要素を指定するとORAエラー(ORA-01795)になる


OracleでSQLのIN句に1000個以上の要素を指定すると、ORA-01795が発生する。

ORA-01795: maximum number of expressions in a list is 1000
(リストに指定できる式の最大数は1000です。)


調べてみれば何のことはないが、当時は知らなかったので予想もしていなかった。
表面上はDBアクセスエラーとなっていて、ログを見てみるとORA-01795と共に1画面まるごとSQLが表示されている状態だったので驚いた。

"普通は"IN句に要素を書き連ねるということはせず、テーブルの結合で書けるようなところだった。
この"普通は"というのが問題で、自分の周り(=テーブル構造とSQLをある程度理解している人)では当たり前のことに思えてしまうが、このSQLを書いたのは発注先の海外の企業で、ぼくらには当たり前のことが当たり前ではないようだった。
単純に突っ返してもよかったのだが、急いで修正する必要がありやり取りの時間を最小にするために、エラーの原因と修正案を提示して修正させた。

...話が逸れそうなので一旦終わり。


関連リンク:
IN句に1000個以上の要素を指定できる?
スポンサーサイト

テーマ : Oracle
ジャンル : コンピュータ

WARの正式名称は"Web Application Archive" ?


過去のエントリ"JAR, WAR, EAR の違いについて"で、WARは何の略称なのか定かでない旨書いたが、どうやら"Web Application Archive"の略のようだ。
※ SUNのThe J2EE Tutorialの、WEBコンポーネントについてのサイト(http://java.sun.com/j2ee/tutorial/1_3-fcs/doc/WebComponents3.html)に、「web application archive (WAR)」とある。

# いろいろ見てる途中で、「WAR の正式名称は"Web Archive Format"」だと書いているサイトもいたりして、ますます混乱してしまった。

関連リンク:
WARについて(上記SUNのサイト)
WAR, EARのディレクトリ構造について(同じくSUNのサイト)

テーマ : Java
ジャンル : コンピュータ

JavaでFizz-Buzz問題を解く


随分前に話題になったようだが、JavaでFizz-Buzz問題を解いてみた。

...うーむ、なんとか動くものができたのが、ぎりぎり2分くらい。
ちょっといじってみて、以下のような感じになった:

 class FizzBuzz { 
public static void main (String args []) {
for (int i = 1; i <= 100; i++) {
String prt = "";
if (i % 3 == 0) {
prt += "Fizz";
}
if (i % 5 == 0) {
prt += "Buzz";
}
if (prt.length() == 0) {
prt += i;
}
System.out.println(prt);
}
}
}


"FizzBuzz"と書きたくなかったので、こんな感じにしてみた。
Googleで検索してみると、幾人もの先人たちの解答例が検索される。
1行で書いている人、メソッドを駆使して書いている人など様々だ。
ぼくとしては、何より"読みやすい"コードを書くことを心がけていきたい。

Fizz-Buzz問題関連リンク:
どうしてプログラマに・・・プログラムが書けないのか?
Fizz-Buzz(ウィキペディア)

テーマ : Java
ジャンル : コンピュータ

資格取得! - テクニカルエンジニア(データベース)(1) -


今春のテクニカルエンジニア(データベース)試験を受験する予定である。

テクニカルエンジニア データベース 2008年度版」を2週間前の1月15日に購入し、勉強を始めている。
このテキストはソフトウェア開発技術者の受験のときに使用したのと同じ出版社のもので、過去問が充実しているようなので今回も選んでみた。

今のところのスケジュールは以下の通り:
・1月下旬~2月上旬 : テキストを読む(内容把握、理解など)
・2月下旬~3月上旬 : 過去問解答、間違えた箇所の復習
・3月下旬~4月上旬 : 予想問題集解答、復習など
・4月20日 : 試験当日

過去問を一通り終えたら、問題集を別途購入する予定である。
午前問題はおそらく大丈夫だと思うので、午後問題にいかに慣れるかがポイントだと思う。

テーマ : 情報処理技術者試験
ジャンル : コンピュータ

Eclipseの出現箇所のマークの背景色を変える


EclipseでJavaを書いているときにコードの出現箇所をマークすることができるが、マークのON/OFFとその背景色とでは設定するところが異なっており、ちょっと引っかかってしまったのでメモ。

出現箇所のマークのON/OFF

メニューバーの ウィンドウ → 設定ダイアログ起動
Java - エディター - 出現箇所のマーク と選択し、"ファイル内での出現箇所にマークをつける"にチェックを入れる
※ さらに、どのような場合にマークするかはお好みでチェックする



出現箇所のマーク背景色の変更

メニューバーの ウィンドウ → 設定ダイアログ起動
ワークベンチ - エディター - 注釈 と選択し、さらに出現箇所を選択して、色を変更する
※ 表示箇所はお好みでチェックする


テーマ : Eclipse
ジャンル : コンピュータ

Googleのすごさ


ところで検索サイトはGoogleをよく使っている。
学生の頃に、学術・技術系の情報の検索にはGoogleがいいと聞いてからお世話になっている。
最初はなんとなく使っている状態だったが、最近Googleの検索の精度だとか、使いやすさ、要するにその"すごさ"を感じるようになった。

WEBを検索するには、検索の"センス"が必要だとか言われるが、Googleで検索するとそういうところまで補ってくれるようなところがある。
"こんな感じ"というキーワードを入力するだけで、欲しい情報が上位に検索されるようになっている。

キーワードを間違えて入力してしまっても、"もしかして:..."と修正したキーワードを表示してくれる場合もある。
例えば日本語入力状態で"google"と打つと、"ごおgぇ"と変換されてしまうが、これでGoogle検索すると、"もしかして: google"と訂正してくれるのである。

面白かったのが、"ごおgぇ"で検索して間違えてやってくる人がいることを想定して、ブログ上にGoogle検索フォームを設置している方が結構いること。
実際に間違えてくる人はいるようで、お礼のコメントで賑わっていた。

こんなことを書いているとここにもたどり着く人がいないとは言えないので、一応Google検索フォームを置いておこう。

Google



余談だが、"剛田武"でGoogle翻訳すると、"Jaian"となるのは笑えた。

テーマ : Google関連
ジャンル : コンピュータ

整列乗車をシステム化する


先日中央線に東京駅から乗車しようとしたところ、「全ての乗客が降りてから、一度ドアを全て閉めて、一斉に乗車する」旨のアナウンスが流れていた。
整列乗車にご協力を、ということだったが、結局「我先に!!」という人が多く、ドアが開いてからはぐちゃぐちゃになっていた。

私は他の人を押しのけてまで座席に座りたいとは思わないが、空いてれば座ろうかなというスタンスである。
東京駅は中央線の始発で、列に並んでいさえすれば座れることが多いので、座席数と列の人数を計算して座れそうなところに並ぶようにしている。
ところがやはりちゃんと並ばない人、並んでいても最終的に前の人を押しのけていく人は多くいるもので、先日も結局座れずにずっと立っていた。

なんか、正直者が馬鹿を見るみたいな感じになってしまっている。

何とかシステム化できないだろうか。

例えば、
・乗車券を使って簡単な座席予約端末で座席を予約する(一定のルールを決めて、自動予約でもよい)
・座席座席にも乗車券を読み取る端末を設置し、照合されると座れる
・座席には予約の有無を知らせるマークを設け、予約がなければ座れる
・降車駅も表示できると、なおよい。
とか。
どうだろうか。

Eclipseを日本語化する


だいぶ前のことになるが、Eclipse日本語化しようとしたときの話。

Eclipse日本語化する場合、Eclipseをダウンロード&インストール後に日本語化プラグインを適用してEclipseを起動すると日本語化が完了すると、よく紹介されている。
しかし、これだけだとメニューの一部が日本語のまま残ってしまうことがある。
当時は「日本語化プラグインも完璧なものではなく、Eclipseのバージョンによる相性とかもあるんだろうな」ぐらいに思っていたが、以下のようにEclipse起動時に"-clean"オプションをつけて起動すると、全てのメニューが日本語化されるようになる場合がある:

> C:\eclipse\eclipse -clean


Eclipseのバージョンは3.0.1を使っており、日本語化プラグインもそれにあったものを選んだはずだったのだが。。。
まぁ、解決できたのでよしとしよう。

ちなみに、日本語化プラグインと、便利なプラグインが組み込まれている"All-in-one Eclipse"も存在しているようである。
インストーラ形式になっているものもあるが、バージョンが少々古い。
インストールしてしまえば同じなのだろうが、一度自分の手を動かしてやってみた方が仕組みが分かっていいかもしれない。

久しぶりにEclipseについて調べてみると、今使っているものよりもうだいぶバージョンが進んでいることが分かった。
最新安定版は、本日時点で 3.3.1.1 のようだ。
機会があれば使ってみたい。


Eclipse関連リンク:
eclipse.org
Eclipseの日本語化
All-in-one Eclipse

テーマ : Eclipse
ジャンル : コンピュータ

資格取得! - ソフトウェア開発技術者(2) -


前回の続き。

受験会場によっては交通手段が限られていることもあるので、当たり前ではあるが時間に余裕を持って会場に向かうのがいい。
午前や午後1の途中で退席する人たちがいるが、あれは余裕綽々なのだろうか、それともあきらめて帰ってしまうのだろうか。
私の場合は時間はそんなに余らないし、余ったとしても見直しに充てるから、途中退席は基本的にしない。
実際、見直してみて間違っていることに気付き修正した結果、正解だった問題もいくつかあるのである。
午前は早めに退席して午後に備えるとかのがいいという方もおられるだろうが、人それぞれだと思う。

ちなみにこのときは、午前は多少時間が余り見直しができたが、午後は1, 2共に解答するのに精一杯でほとんど見直しできなかった。
午後問題は記述式であり、1問にかける時間も多くなるので時間配分が結構重要であると思う。
そのことは過去問を解くときから意識はしていたが、なかなかうまくいかないものだ。

試験日から2ヶ月ほどするとIPAのHP上で合格発表が行われる。
受験番号とパスワードを入力すると、自分のスコアを教えてくれる。
私のスコアを掲載しようと思ったのだが、成績の照会は次回試験日の1ヶ月くらい前までしかできないらしく、ご丁寧にも「この期間以外の成績紹介に関しては、問合せいただいても回答できません」という内容の注意書きまであったので、もはや知り得ない情報のようだ。
控えておけばよかった。


最後に、ソフトウェア開発技術者試験の勉強で使った本について軽く紹介。

右記の、「ソフトウェア開発技術者 2007年度版」(翔泳社) を使用した。
多少説明が簡単に済まされている感もあるが、基本情報技術者を持っていたり、実務経験が数年あったりすれば、問題ないレベルだと思う。
私の場合は過去問を解くことで力をつけたいと思っていたので、付録のCDにPDFで過去5回分の過去問が収録されているというのが選んだポイントだった。
過去問に対する解説が詳しかったのもよかった。
今は、2008年度版が出版されているはずである。

テーマ : 情報処理技術者試験
ジャンル : コンピュータ

資格取得! - ソフトウェア開発技術者(1) -


去年の春季試験でソフトウェア開発技術者を受験し合格した。
受験のきっかけは、基本情報技術者を持っているので次はソフトウェア開発技術者かなと思ったのと、IPAがによる「期待する技術水準」が今自分が持っているもの、やっていることに合っていると思ったからである。
思い立ったのが2月に入ってからだったので、申し込むのが期限ぎりぎりになってしまった。

勉強を開始したのが、試験日まで2ヶ月強の頃だった。
翔泳社の「ソフトウェア開発技術者 2007年度版」を購入し、具体的な試験の内容を知るためにざっくりと読んでみると、理解できないようなものはそう多くはないことが分かった。
午前問題はやはり幅広い知識を問われるので単語を知っていないとどうしようもない(逆にっていれば解けてしまう)ものもあったが、午後問題は設計書作成やシステム開発の経験があり、JavaやSQLなどを使ったことがあれば解けてしまうようなものが多かった。
ただ、午後問題は具体的なシステムの例が示されて、それに対する設問を解く形式なので、読解力というか問題への慣れも重要な要素だと思う。

試験日まで2ヶ月程度ということで、前半1ヶ月をかけてテキストを一通り読み(無論、理解しながら & 章末の問題も解きながら)、後半1ヶ月で過去問をひたすら解くというざっくりとしたスケジュールを立て、勉強を開始した。

スコアは項目応答理論に基づいて算出され(最低200点、最高800点)、合格基準はいずれも600点であり、何問解ければいいという具体的なものはないが、7割程度得点できていれば合格圏内だろうという。
最初に過去問を解いた頃は、やはり午前問題は知らないと解けないタイプの問題で多く落としていて6割弱しか得点できなかった。
逆に午後問題は既に合格圏内といっていいレベルだった。
なので、4月に入ってからは午前問題の今までに間違った問題を中心に、さらに過去問を解いたり解答の確認をしたりした。
# 私はどうもネットワークとかシステム評価の分野が苦手のようだ(この分野の、技術とか団体の略称が出てくると、知らないと解けない)


もう少し続きそうなので、また次回。
当日の時間の使い方とかについて書こうかと思う。

テーマ : 情報処理技術者試験
ジャンル : コンピュータ

Adsense
ブログ内検索
カテゴリー
最近の記事
カレンダー
12 | 2008/01 | 02
- - 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31 - -
月別アーカイブ
feedmeter & あわせて読みたい
フィードメーター - あるシステム屋によるJava開発の記録
あわせて読みたいブログパーツ
プロフィール

kamii

Author:kamii
ピタゴラスイッチ好きなシステム開発屋@二児の父です。

メールフォーム

名前:
メール:
件名:
本文:

カウンター
checker
ページランク


ブログチャート
現在時刻
全エントリ表示

全てのエントリを表示する

RSSフィード
リンク
ブロとも申請フォーム

この人とブロともになる

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。