そうだったんだ、Oracle。
Oracleデータベースのための特別な注意
特にOracleは最適な並行性を使用していることを知っておく必要があります。 その結果、 TRANSACTION_SERIALIZABLEの設定でも、 コミット・タイムまで、直列化上の問題を検出しません。 以下のメッセージが返されます。
java.sql.SQLException: ORA-08177: can't serialize access for this transaction
TRANSACTION_SERIALIZABLE を使用している場合でも、同じ行についてクライアント間でコンテンションが発生すると、 クライアント内で例外とロールバックが起こります。 発生する任意のSQL例外をキャッチし、それらを調べ、 トランザクションをもう一度試みるなどの適切な行動をとるように、クライアントを作成する必要があります。 - WebLogic Enterprise JavaBeansの使用
TRANSACTION_SERIALIZABLE のときにはてっきり他の処理がブロックされるものだと思っていた。 でも実際、SERIALIZABLEにしていてもトランザクションはいくつも開始できるし、 その代わりに例外で落ちてたんですよね。上記の日本語メッセージが出てました。 commitではなくupdateのときですが。
SERIALIZABLEは要するに楽観的ロックですね。 結局アプリケーションレベルでの対応が必要ですよ、と。
昨日の指摘された警告はあと510個。 パッケージ1個やっと修正終了。 直さなくてもいいのに警告が出ているところもあるけど、これって根本的に何か間違っているのか? 後で直そう。
ここ最近、体力的にキツイことがあるので今日はこのくらいで就寝(2:00am)。
普通のJavaBeanで済むクラスが巨大なCompositeになっていたりとか(何を想定したのだろう…重い…)、 クラス名が W3B6yyHogehogeValue とか(COBOLer?)、 メソッドが exec21() とか(仕様書の番号らしい…)、 ロジックはDBに定義するとか(行番号つきのBASIC風に)。
実話だから恐ろしい。 私がレビューワだったら絶対にこんなの許しませんよ。
Eclipseをバージョンアップするたびにソースコードに警告が出ますね。 チェック項目をいじったら800以上も警告が出て驚き。
大半はJavadocがmissingなことによる警告だったのですが(これは3.0でも指摘されます)、 とりあえず200くらい修正。地味にやっていくしかないです。
最近、時間が取れなくて趣味のプログラミングがオロソカ。 空メッセージの送信を抑制する部分はできているので、 上記の警告を修正したらとりあえずリリースしたいです。
オレンジニュースより、ひげぽんさんの『Linux 共有ライブラリお作法まとめ』。
LinuxでSWTアプリケーションを実行するときに LD_LIBRARY_PATH を適当に設定してたんですけど、そこら辺の話。メモ。
marsのメモより。 『Q&A: Microsoft Showcases New User Interface for Office “12” Core Applications』。
The new UI - the most dramatic change to the way Office applications work since introduction of the toolbar in 1997 - will help users become more proficient with Office and produce better-looking documents faster.
新UI - 1997年のツールバーの導入以来、Officeアプリケーション作業への最も劇的な変化 - ユーザがよりOfficeに熟練し、より見栄えのよい書類を速く作ることを助けます。
リンク先からさらにスクリーンショットへのリンクがあります。Excelのグラフがきれい。
ところでデフォルトのExcelのツールバーって使わないボタンばっかり並んでいて、 本当に必要なボタンは[ユーザ設定]の奥底に隠されている気がしてなりません。
例えば、セルを横方向に結合するボタンの存在を知ってますか? アレ無しでは効率が悪すぎます。結合・分割も同じく。 拡大と縮小(虫眼鏡)も欲しいです。フォントサイズを±するボタンもあるといいです。 図形描画ではグループ化・グループ化解除、最前面・最背面、整列をよく使います。
さらに言えば、列の幅を「選択範囲に合わせる」はメニューにしかありません。 こういう機能はメニューから引っ張り出してボタンにします。
最終的にメニューにも存在しない機能はVBAを使って実現します。 「選択範囲にズーム」とか、「等幅フォント」とか。 テキストボックスのサイズを「自動調整」も必須です。その他色々。 …ここまで来ると「あとは勝手にどうぞ。」ですが、 ソフトウェアはいかに効率良く使えるかで価値が決まると思っているので、 とにかく使い倒すのです。
Excelに関しては、なぜデフォルトでツールバーに登録されていないのか疑問に思うことが多々あります。 UIの改善をするのであれば、個人的にはこういった点に配慮して欲しいと思うのです。
ほっとけない 世界のまずしさというサイトがあって 趣旨が書かれているけど、うさんくさい募金活動団体のことがよぎってしまって(笑)、注文出せなかった。 「寄付します」とは書いていなくて、使途がわかりにくいところが良くないのです。
購入するならYahoo!だと2つで1200円(送料込み)、ファミリーマート他では1つ300円。 どこでも売り切れみたいです。
純粋なファッションとしてはありえなくて、 慈善活動という箔が付くからこそ意味のあるアイテムなだけに、 購入することが本当に慈善活動になるのかどうか疑問があるうちは 価値が無いと思っています。
『dW: 効果的なログ習慣がエンタープライズ開発を楽にする』
最近の経験からログは非常に重要だと改めて感じているのですが、 ログの品質は意外と考えられていないことが多いです。
スタックトレースを一切出力しないシステムや 30分で1GBものログを出力するシステムが現に存在するところをみると ロギングの計画という概念すらないプロジェクトが多いようです。 (…記事と対比するレベルにも達していないですが…)
この記事ではログの品質を向上させるためのベストプラクティスを紹介しています。 おすすめ。
皆さん投票は済ませましたか?
ちなみに私は期日前投票で済ませました。
油断も隙もないですね。
おっ、いいですね。
早くも記事になっていますね。『XPの祭典「XP祭り2005」開催』
もう全部書いてありますが、「フレームワーク嫌い」という発言が多かったのが印象的でした。 フレームワークを使うと想定外の変更に耐えられなくなるのが大きな問題です。 私も何となく思っていたことなのですが、実力のある人がズバッと発言すると気持ちが良いものですね。 私はまだ「俺様フレームワーク」に1度しか遭遇していませんが、世の中には多いんじゃないでしょうか?
他には角谷さんの『self.wake_up :from => "The Matrix"』がおもしろかったです。 インターネットに公開されているスライドは真っ黒に塗りつぶされていてよくわかりませんが、 会場での私は「セカイのしくみ」あたりからハマっていました。 これまでRuby on Railsは名前しか知りませんでしたが、その発想はとても共感できるものでした。 XMLは「書くまでもない」のです。やはりそうあるべきです。
それにしても皆さんプレゼン上手ですね〜。
XP祭り2005に参加してきました。
沖縄から参加している方がいてびっくりしました。 そういえばキャスターバッグを引っ張って歩いている人が結構いました。 すごいですね。
私は一人で来ていたので「誰か知っている人いないかな〜」って見回してみても知っている人は皆無。 ま、そうかもしれません。 帰ってきてからblogを見て気が付いたのですが、 縣さんが参加されていたようで…。 最初からわかっていれば探してご挨拶したのですが。 ニアミスしてしまいました。
それから、運がいいことに抽選に当たって『Eclipseパーフェクトマニュアル Vol.5』をもらいました。 他の選択肢が残っていなくて仕方なく選んだつもりだったのですが、 内容はIDEというよりEclipse Project全般の紹介です。あとでゆっくり読ませていただきます。
XP祭りの内容のほうはまたあとで書きたいと思います。 とりあえず終始圧倒された一日でした。 できれば次回も参加したいですね。
Firefox 1.6aを使ってみたら、たぶん相当前からですが、 overflowプロパティによるインラインフレーム(ちょうどこのトップページのここみたいなところ)が マウスホイールでスクロールできるようになっていました。 Mozilla 1.8bから離れられない理由の一つがまた消えました。良いことです。 Mozillaよりは軽いですが重いことには変わりがないので、 機能が減っている分、魅力に欠けるかなと思っていますが、 いずれ乗り換えるんでしょう。 たぶんFirefoxがMozillaを再実装することは有り得ないので、 RSS対応のようにFirefoxにしかない機能がどれだけ魅力的かで決まる気がします。 ちなみにDeer Parkはロゴがかっこいいです(Firefoxとは違う)。
明日はXP祭り2005です。 定員250名満員御礼のようですね。 ひがさんの講演を聞きたかったということで申し込みました。 楽しみです。
最近、Mozillaとか某ソフトで終了する際に
が表示されて困っています。 実害はないようですが、気持ち悪いですね。
数ヶ月前までは使っていなかったウイルス対策ソフトに疑いの目100%ですが、 とりあえず無効にして様子を見てみます。
ところで、朝夕涼しくなってきたような気がします。 もうすぐ夏も終わりですね。なんかやっておきたいな〜。
月火水と博多に行ってきました。
RSS Readerを評価中。 Mozillaのタブグループによる力技はモバイルでは辛いのです。
いまのところ評価したのはgoo RSS ReaderとMozilla Thunderbird。
goo RSS ReaderはIEエンジンであること、表示領域が狭いことがマイナス。 他の選択肢が少ないのでもう少し使ってみる必要あり。
Mozilla Thunderbirdはもともとメーラなので後付け感が大きい。 設定が大雑把で使いにくいのがマイナス。 フィルタが強力なのはとてもいい。 特定のサイトで必ず文字化けするのでまだ開発途上と思ったほうがよさそう。
ほとんどのRSS/RDFフィードはWebページにアクセスしないと内容がわからないので 結局Webページを読みに行く必要があるんですよね。 同じページ内でセクションごとにアイテムが発行されている場合でもアイテムごとに 毎回アクセスする(待たされる)ような造りもモバイル向きじゃないです。 先読みしてくれる機能があればいいですね。 これを考えるとMozillaのタブグループによる力技は案外、理にかなっているのかなと思います。
Firefox、glucose、Lunascape2も評価してみる予定です。
仙台駅の3階、みどりの窓口付近にいるときに地震が起こりました。新幹線は運休、もう1泊することに。 今は上りだけ一部復旧しているみたいですけど、もう移動する気ありません。
少しずつ揺れはじめ、ガタガタと音が鳴り始めたと思ったら、照明が半分ほど消え、 天井から大量のホコリが落ちてきました。 通風孔が落下したところもあったみたいでした。
昼は涼しい部屋で昼寝をし、今は久しぶりにテレビを見てくつろいでいます。 たまにはいいかと。
農務省が隠蔽していることが問題。 これで輸入再開が聞いてあきれますな。
『SWT+GCJでネイティブGUIアプリケーション開発』。メモ。
良いことがあった。うれしい。
外出の予定が財布の中身が微妙に足りないので家でネット。 それで、思いつきでペタクローンで検索です。
- ペタクローン…存在は以前から知っていたが、 Javaを使うことに抵抗があり(Javaアプリは激重いというトラウマが…)見送ってきた。 ものは試しと使ってみると…Java系の重さは微塵も感じられない。 避けていた数年間にPCの性能はここまで上がっていたのか!(笑
オリジナル版同様に多数のウィンドウ/ダイアログが開くことと、送信時にうっかり空メッセージを送ってしまい易いことを除けば結構満足出来る。 IPメッセンジャー互換のファイル転送や暗号化機能も実装されているし。 - PRO' LOGUEというわけで、ペタクローンを選択。
いろんなメッセンジャーの中から選んでいただいて光栄です。m(_ _)m
「送信時にうっかり空メッセージを送ってしまい易い」に関しては改善することにしました。 デフォルトで空メッセージは送信できないようにします。
「Java系の重さは微塵も感じられない。」に関して。 PCの性能向上も大きいですが、Javaが重いと言われる原因はAWT/Swingの初期化に時間がかかるせいです。 JavaVM自体も改良されてきました。 私はJDK付属のAWTのデモで失望して以来、Javaはダメだと思ってましたね。 そして、Swingの登場でいよいよデスクトップJavaは死んだと思いました。 今言えることはWindowsのAWT/Swingはまだ少し重いけど、 Java自体はみんなが思っているほど重くないということでしょうか。 SWTの登場によってデスクトップJavaはやっと使えるレベルになったと思っています。
うーん。どこも良い点があれば悪い点もあって決め手に欠けますね。
ここ最近、迷惑メールが増えました。 おなじみの韓国とか、カリブ周辺とか、台湾とかが多いです。 あとタイからも来てます。業者に流通しちゃってますね。
基本的に送信者のIPアドレスで「○○の国からだから迷惑メールね。」ということで 処理しているけど今のところ問題ないみたいです。 これで迷惑メールの大半はメールサーバからダウンロードされることも無く消えていきます。 一応ヘッダのログは残るようにして、間違って消しても消したことはわかるようにしています。
国内から送信されている迷惑メールも多いですね。 こういうのは多少面倒でも、それなりに受け付けているところに知らせるようにしています。 ちゃんと調査して返信してくれるプロバイダ、 相変わらず迷惑メールが減らないプロバイダ、いろいろです。
追伸 AirEdgeに戻りました。ちゃんとつながることが大事。 まあDOCOMOは借り物でしたので。
まず訂正から。
サービス自体「利用不可」な状態が多いです。
これはネットハイウェイのせいではなく、 DOCOMOのPHSの「ドーマント」という状態が原因のようです。ドーマントとは、
通信中にデータ送受信の状況や電波の状態により、無線回線が一時休止されること
です。PHSがコンピュータには内緒で回線を切断する状態になります。 電波の状態が悪いとドーマント中になりますが、 コンピュータ側には切断されたことが通知されないため、 再ダイヤルしての接続はできなくなります。
これって結構問題ですね。 手動で切断してから再接続しなければいけないのですから。 電波状態さえ良ければ、こんなことは無いのでしょうけど。
それでネットハイウェイの方はというと、 機能的にはJPEGとGIFで圧縮率を変えられるところが良いです。 GIFは主に減色によるサイズ削減なので画質への影響は少ないのですが、 JPEGは圧縮率を高くするのでノイズが出ます。 GIFは圧縮率高めでJPEGは圧縮率控えめにするといいみたいです。
32Kから64Kに変更しているのでネットハイウェイの実感はわかりにくいというわけで、 下に速度測定サイトで計測した結果を載せておきます(編集しています)。
測定サイト http://www.bspeedtest.jp/ v2.3.3 回線種類/線路長/OS PHS/-/Windows XP キャリア/ISP/地域 DOCOMO/mopera/- ネットハイウェイ有効 測定時刻 2005/07/30 09:45:03 ホスト1: WebArena(NTTPC) 51kbps(33kBを5.2秒で転送) ホスト2: SAKURAインターネット 52kbps(33kBを5.2秒で転送) 推定最大スループット: 52kbps ネットハイウェイ無効 1回目 測定時刻 2005/07/30 10:04:35 ホスト1: WebArena(NTTPC) 37kbps(17kBを3.6秒で転送) タイムアウト 2回目 測定時刻 2005/07/30 10:19:53 ホスト1: WebArena(NTTPC) 47kbps(33kBを5.6秒で転送) 702026/757533 byte 転送したところでタイムアウト
orz。無効にして2回試したのですがタイムアウトです。 無効2回目のホスト1の転送速度は有効時とあまり変わっていないですね。 転送しているデータってほとんど圧縮が効かないんでしょうか? いずれにせよ電波状態が良いときじゃないと参考にならないですね。
重視したい安定性はAirEdgeのVenturiと同じくらいだと思っています。
先日モバイル環境をDOCOMOのPHS(64K)に変えたのですが・・・ 都会の死角なのか電波が弱くてつなげるのに一苦労です。
ところでDOCOMOにもネットを高速化するネットハイウェイというソフトがあります。 感想はもう少し使ってみてからにしますが、サービス自体「利用不可」な状態が多いです。 かなりマイナス。
モバイルやっているときはメールに添付ファイルが付いていたら瀕死です。 最近圧縮しない人が多いですよね。
よくある話ですが、ある日記を書いていた人が日記をやめることに。
自分の話、ペットの話、仕事・転職とか、恋人のことなど、2年半くらい読ませていただいておりました。 この人の良く言えばダイナミックな生き方に「大丈夫なのかよ」とよく思ったものです。
よくコメントを書き込んだりしていた(他のサイトではめったにしないこと)ので、なんかさびしいですね。 普段の生活で交流することは無いような人だったので、 おかげで自分の考え方も少し変わったような気がします。 実はそうだったんですよ。
自分とは違う世界に生きる人はどういう生活をしていて、どういう考え方をしているのかを 知ることができるって素晴らしいことです。
Filemakerからメールが来ました。
To ensure we have a proper review process, with the
highest visibility for developers, all third party solutions (includes
commercial solutions, plug-ins, add-ons, developer tools and books) listed
on the FileMaker website will be required to have an FileMaker Solutions
Alliance (FSA) Associate or Partner level membership.
Filemakerのサイトでのプラグインの公開はFSA Associate(年額59,000円(税別))である必要があるということを言っています。
Filemakerでビジネスを行うのはある意味簡単(敷居は低い)で、 ある意味難しい(信頼されない)のですが、素敵なことです。 でもその気はないのでちょっと有り得ない金額ですね。 海外へのPetaExecuteの認知という点で非常に役に立っていたので残念です。
追記: ひとつ好感を持てたのはDeveloper Relationsのマネージャの個人名が記載されて送られていること。 Fromもinfoとかではなく、部門の担当者個人のアドレスになっている。 日本ではほとんど有り得ない。
妙に気になってしまったので。
既存のサイトに対して、そのセキュリティ対策として『サニタイズ』を行う
これが話題の前提です。すでに存在するセキュリティがダメダメのサイトが対象です。
適切にプログラムを記述すればサニタイズの必要性は本来ないはずだ、と主張する。
エスケープ(サニタイズ)しないことはバグであって、適切に記述するということにサニタイズは含まれるのです。
開発者にとっては綺麗にプログラムを書くことが大命題であり、セキュリティ屋が(セキュリティ関連の)問題を指摘してくると『プログラムが汚くなる』としてそれを嫌う人が多い
素朴な疑問として綺麗さを命題にしている人って多いんですか? 大部分の職業プログラマは仕様(パフォーマンス要件等含む)を満たしつつ、バグが無ければ(=エスケープはしている)、後は何でもいいって思ってるんじゃないですか? 私の勝手なイメージですけど。
『サニタイズ』(のようなプログラムを汚くする対策)ではなく、本来やるべき処理が何かをプログラマにきちんと伝えていくことが必要である
エスケープはするな、本来やるべき処理(=業務ロジック)に集中しなさい、と。 この文章を読み誤るととんでもないことになります。
あとは設計の話になりますが、XSSに限って言えばプレゼンテーション層で対策を保証してあげることで、 他の層がXSS対策のようなWeb特有の処理から解放される(独立性が高まる)わけですから、 いずれにしてもエスケープ処理は一律入れておくべきではないかなと思うのです。 一律入れることをサニタイズと言うのであれば、それは必要なのではないでしょうか。 問題はリリースの前に入れるか、後に入れる(当然ダメ)かの違いですね。
ITmedia『Java暗号処理モジュールの「7月28日問題」に警告』。
ペタクローンは標準でJCEが使える1.4を前提にしているので問題ありません。
ペタクローンをBacklogで管理すると宣言していますが、 ちょっとしたことで使えないでいます。 そこで要望を2つ出しておいたのですが(BLG-24とBLG-25)、そのうち1つが次のリリースで対応していただけることに。 そろそろデータの入力を始めようかな。
ある人が今度転職するそうです。
まだ、うわさの域を出ませんが(したがって私の予想ですが)、彼の経験や能力を考えれば年収が2倍になることは想像に難くありません。 彼にとって最も価値のある選択ではないでしょうか。
すばらしいです。おめでとうございます。
ITmediaの記事「JavaOne:OracleがJDeveloperツールを無償提供へ」より。
いつの間にか開発ツールがタダで手に入る時代になってますね。 「開発ツールは昔はタダだったんだよ」って話も昔話なんだなぁ。 「開発ツールは昔、お金を出さないと入手できない時代があったんだ」ってこれからの昔話になりますか?
Eclipse 3.1がリリースされています。
平日に突入してしまい、検証環境のセットアップが終わっていません。 検証結果はもうしばらくお待ちください。
by Takayuki, 2003 - 2005.