ウィリアムのいたずらの、まちあるき、たべあるき

ウィリアムのいたずらが、街歩き、食べ物、音楽等の個人的見解を主に書くブログです(たま~にコンピューター関係も)

1980円ソフトのソースネクストが東証マザーズに上場、上場予定日は12月20日

2006-11-17 21:28:59 | Weblog

まじっすか、新興市場、IPO北風ぴーぷーのこの時期に(>_<!)

ここのニュース
ソースネクスト、マザーズに上場へ
http://www.itmedia.co.jp/news/articles/0611/17/news072.html


によると(以下斜体は上記ニュースより引用)

1980円ソフトのソースネクストが東証マザーズに上場する。同社は以前、旧ナスダック・ジャパンから上場直前に承認を取り消されたことがあった。

 東京証券取引所は11月17日、ソフト販売・ソースネクストのマザーズ上場を承認した。上場予定日は12月20日。証券コードは「4344」。


ウィリアムのいたずらの、今使ってるノートパソコンに入っているウィルスチェッカも
ソースネクストの「ウイルスセキュリティ」です

それはいいんですけどお。。
今っすかあ。。。
まじっすかあ。。。
新興市場、北風ピープーですよ。。
ジャスダック市場なんか、年初来安値を更新っすよ(>_<!)
さらにIPOも、このまえ上場した、あおぞら銀もぱっとしないし。。。

まじっすかあ、今上場するんですかあ。。。(>_<!)

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

10月26─31日の料金も0円、ソフトバンクモバイル。でも料金0円と書いてないのは。。

2006-11-17 17:24:16 | Weblog

ここのニュース
ソフトバンクモバイルが新プラン契約者に対し10月26─31日の料金を非請求
http://today.reuters.co.jp/news/articlenews.aspx?type=marketsNews&storyid=2006-11-17T074117Z_01_nTK2997044_RTRJONT_0_CnTK2997044-1.xml&src=rss&rpc=112

によると(以下斜体は上記ニュースより引用)


ソフトバンクモバイルは17日、新料金プランの契約者に対し、10月26─31日の料金を請求しないと発表した。システムトラブルで契約業務が遅延したことへの「おわびの措置」だという。


ほー、じゃあ、10月26─31日の料金も0円ってことね。
これは、予想外だ。。
でも、0円って書かないわけね。学習したのね。。
多分理由は。。。

国際通話料や国際ショートメッセージ、コンテンツ情報料、契約手数料などは除く。

やっぱ、0円ではない例外があるのね。それがソフトバンククオリティー



  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

BREWで複数画面を開発する場合の方法論(その18:Excelで自動生成-その3:第二弾仕様)

2006-11-17 15:56:08 | ケータイ

 シリーズBREWで複数画面を開発する場合の方法論のつづきです。
 条件付書き出しについて、いままで、シリーズ仕様書からプログラムソースを生成する方法でやってきたので、それを使って、部品まで、書き出そうという話なのですが、今回は仕様です。

 なお、以下に出てくる第一弾とは、ここにかいてあるもののことです。




■仕様

●雛形ファイル
 第一弾の以下のファイル
    アプリ用ソースファイル(app_c.txt)
    アプリ用ヘッダファイル(app_h.txt)
    画面用ソースファイル(gamen_c.txt)
    画面用ヘッダファイル(gamen_h.txt)
    バージョンファイル(version_h.txt)
 に加え、以下の画面ファイルを付け足して、
    各画面(部品追加)ヘッダ(gamen_b_c.txt)
    各画面(部品追加)ソース(gamen_b_h.txt)

 これらを、後述するExcel仕様書ファイルと同じフォルダに置きます。




●Excel仕様書ファイル
  画面一覧シート(1シート)と、各画面シート(画面数分)の両方を記述します。

<画面一覧シート>
  画面一覧シートが、以下のようになっているので

 黄色の部分を記入します。

<各画面シート>
 各画面のシートが、以下のようになっているので

 画面数分、該当画面の内容を記入します。




●実行と結果

 画面一覧シートの「ドキュメント作成」をクリックすると、
 各画面のシートの部品部分(5行目以下)に記入がなければ、
  第一弾と同じく、initAppDataで-1で終了する画面ソースとヘッダを

 各画面のシートの部品部分(5行目以下)に記入してあれば、
  今回の雛形を使って画面部品まで入れて、画面ソースとヘッダを

 作成します。




■実現するためにやること
 第一弾のときは、固有のプログラムであるinitAppDataで、
 作業一覧シートの雛形ファイルの桁に
   アプリソース
   アプリヘッダ
   バージョン
   各画面ヘッダ
   各画面ソース
 を書き出していましたが、この「各画面ヘッダ」と「各画面ソース」を

 各画面のシートの部品部分(5行目以下)に、記入がなければ、
   従来の「各画面ヘッダ」と「各画面ソース」を出力(変更なし)

 各画面のシートの部品部分(5行目以下)に、記入があったら、
   今回作成した「各画面(部品追加)ヘッダ」と「各画面(部品追加)ソース」を出力

 するようにすればいいです。




で、具体的な修正内容は、またこんど


  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

銀行のATMから情報を盗めるソフトを、ウクライナでは売っているらしい!?

2006-11-17 14:24:04 | Weblog

ここの記事
mp3プレーヤーを使ってATMから情報を盗み出したギャング団
http://gigazine.net/index.php?/news/comments/20061117_atm_mp3/


によると、(以下斜体は上記サイトより引用)

ATMの電話回線のソケットを分岐させ、流れているトーン信号(ファックスが出しているような音だそうです)をmp3プレーヤーに記録させるというもの。そして記録した音声をウクライナで購入した非合法ソフトウェアを用いて解析することで、クレジットカードのIDとパスワードを割り出し、カードのクローンに成功したとのこと。


すげー、手口もすげーけど、そんなソフトが売ってるのもすごい
っていうか、ATMに流れる信号って、(SSLみたいに)暗号化されてないの?
この犯罪があった国だけの話なのかなあ。。??


  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

JAVAでAPIが変わったことを示し、コンパイルで落ちないためのDeprecatedとその限界

2006-11-17 10:15:37 | 開発ネタ

 昨日書いた、構成管理とテスト・バグ修正段階における依存性の問題と解決法について、依存性の問題を書いた。

 それは、

・誰かがメソッドを変更してしまわざるを得ない状況(仕様変更、バグ修正などで)で、
・関係者全員が修正したと思ったら
・通知忘れがあって、修正してない人がいる=>コンパイルエラー

って言うような話。
(ここで、スタブを作り忘れたとか、そーいうのはさすがに。。。 ^^;)

 で、このような話は、Javaの1.5の場合、アノテーションがはいって、そこで、Deprecatedがはいったので、この問題は、解決された。って、主張するかもしれない。

 でも、そーは、いかないかもお(;_;)。

 ということをちょっと、書いてみます。




■意識あわせ:アノテーションにDeprecatedを入れるとは

 依存性の問題が起きるときには3つあって

1.いままであったメソッド、クラスが変更された(引数も、その型も含む)
2.あらたなメソッド、クラスが追加された
3.いままであったメソッド、クラスが削除された
   (publicがprivateで見えなくなるのも含む)

 ま、編集はふつう、追加(挿入含む)、変更、削除の3種類なんで、プログラムの編集における依存性の問題も、この3種類といえる。

 で、追加される場合は、新規に作ればいいだけだからいいんだけど、1のように変更されたり、2のように削除された場合、連絡忘れがあると、その人は、前のAPIで呼び出すので、前のAPIがなくなると、コンパイルできなくなる。

 このため、変更削除する場合は、すぐにしないで、Deprecatedアノテーションをいれて、前のメソッドを残しておけば、コンパイルのときに、教えてくれるという話。
(警告がでるだけで、コンパイルは終了する)

くわしくは、ここ
Deprecatedアノテーション
http://www-06.ibm.com/jp/developerworks/java/041001/j_j-annotate1.html#IDADUOXB


Deprecatedという言葉は、Javadocで、コメントに@deprecatedと書くのでおなじみかも。。
これも、おなじいみ、つまりこのAPIは使うな!という意味です。このコメントをJavaDocで処理するコメント内で書くと「推奨されていません」とJavadocにかかれるというもの
詳しくは、ここ




■これでできること、困ること

 まず、これをやったほうがいいかどうかといえば、やったほうがいい。

 ただし、アノテーションは、バージョンによってはない(1.5から入ったと思う)。
 Javadocに入れるのは、開発時には、効果があるが、仕様変更で、使わなくなった場合、連絡ミスで、連絡が行っていない人が、Javadocをみて気づくことは、まずない
(前の例で言うと、A、B、Dさんが変更に対応する必要があるのに、ABさんしか連絡が行っていない場合、AさんとBさんは、関連したJavadocを見る可能性はあるが、Dさんは、変更があること自体を知らないので、その部分のJavadocは、何も変わってないと思って診ない可能性は高い)

 また、アノテーションにいれても、再度コンパイルしないと、ワーニング表示されない。
 ということは、Dさんが、この部分はできていると思って、再度コンパイルしない場合(というのはIT2で問題が起きたときにはよくある。で、IT2で仕様変更したり、APIを変えるバグが出ることは、最近は良くある)、気づかない。

 なので、構成管理で全部を再コンパイル(javac)したときだけしか、これに気づかないことがあり得る。そーすると、構成管理の人は、これをチェックして、バグ票にあげる?(あげないと、言っただけでは、問題が起きてるように見えないので、あとまわし、ほかのバグを先に直される可能性が多い)
 うーん、1個や2個ならもちろんOKだけど、こんなのが100個や200個もでちゃったら(>_<!)構成管理の人が書くの?
(エラーメッセージのAPI修正のように、直すのは一部、1箇所なんだけど、多くの人に関係がありすぎて。。。ということはあり得る)

 でも、この方法を逆につかって、Deprecatedアノテーションをいれて、コンパイルエラーをみて、どこまで影響があるか?ってみる方法はアリだと思う。




■これを防ぐには。。。

 これを防ぐには、テストのときに、実行したら気づくようにすればいいんだけど、
 じゃあ、そーするために、

 古いインターフェースにはいったら、画面表示する?
  っていっても、画面表示できないところもアル

 ログに書く?
  っていっても、IT2ぐらいになると、すごいログがでるので、すべてのログは見ない
  (というか、見れない)
   
 RuntimeExceptionを発行して、おとすか。。
  って言っても、それは最上位でcatchしてて「システムエラーです」って出るだけかも?

 っていうことになる。ただ、RuntimeExceptionで落とすっていうのは、「システムエラーです」しか出してなくても、ログで何か書き出せばいいっていうことはある(その場合、ログに最後に書かれた部分だけをみればいい)。

 なんで、これが有力かなあ。。




 この問題と、追加の問題をあわせて考えたものが、この前書いた、窓口を絞るという方法と、引数をエンベロープに入れるって言うことになるんだけど、今度はこの場合、バグが見つからないというリスクを抱える。そのため、リグレッションテスト(回帰テスト)が重要になるってことなんだけど。。。まあ、その話は、そもそも、窓口を絞るって、どうやるのか?っていう話からになって、長い話になるので、今回はここまで。


  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする