投稿

macにMYSQLのインストール

MYSQLを入れたのでそのメモ。 参考リンク http://weble.org/2010/06/20/mac-mysql-phpmyadmin まずはportでチェック $ port list mysql* mysql-connector-java           @5.1.12         java/mysql-connector-java mysql-connector-odbc           @5.1.8          databases/mysql-connector-odbc mysql-proxy                    @0.6.1          databases/mysql-proxy mysql-zrm                      @2.0            databases/mysql-zrm mysql4                         @4.1.22         databases/mysql4 mysql5                         @5.1.54         databases/mysql5 mysql5-devel             ...

macにrvmでruby1.9.2入たときのメモ

ようやくrvmでruby1.9.2をインストールできた…。 今までwindowsで甘やかされてたから1.5日かかってようやく完了。 参考ブログ http://www.markhneedham.com/blog/2010/07/08/installing-ruby-1-9-2-with-rvm-on-snow-leopard/ 流れは以下の通り rvm入れる これはgitが必要だったようだがすんなりいけた。 ruby1.9.2を入れる $ rvm install 1.9.2 回線が遅いのか?必要ファイルのDLに1時間くらいかかる。しかもその後エラー。 参考ブログをみたらreadlineを入れろとのこと。 rvm でreadlineを入れる。 $ rvm package install readline 再度トライ。オプションは参考サイトにあるがまま採用。 $ rvm install 1.9.2-head -C --enable-shared,--with-readline-dir=$rvm_path/usr,--build=x86_64-apple-darwin10 エラー。libxml2をi386じゃなくてx86_64のアーキテクチャのやつ、教えてくれとか。 参考サイトを見るとlibxml2、libsqlite3、libxsltが必要らしい。 まずはlibxml2をDLしようとするが、リンク先のサイトのftpが上手く接続できない。仕方ないのでググるとmacportsでも入れられるらしいので採用。 $ port list libxml2 $ sudo port install libxml2 次にlibsqlite3は参考サイトにリンクがあったので辿ってsqlite-3.6.23.1.tar.gzをDL。なんかブラウザ経由でのDLは調子が悪い…。自宅のネットワークのせい? とりあえず、urlがわかったのでcurlで取得して、その後のmakeなどは参考サイトの通りに実行。 $ curl -O http://www.sqlite.org/sqlite-amalgamation-3.6.23.1.tar.gz $ gunzip sqlite-amalgamation-3.6.23.1.tar.gz  $ tar -xv...

error_messages_for was removed from Rails

rails3になってからの変更点としてerror_messages_forがプラグインになった、というのがある。らしい。 案の定2.x系の勉強本を無理矢理rails3で進めるとエラーがでる。 DEPRECATION WARNING: error_messages_for was removed from Rails and is now available as a plugin. Please install it with `rails plugin install git://github.com/rails/dynamic_form.git`. で、言われた通り「rails plugin install git://github.com/rails/dynamic_form.git」を実行するも何も起きない。 gitを入れないといけないらしい。 ターミナルからmacportsでgitを入れる。 $ port search git gitって言ってもいろいろあるのね…。 ググった結果git-coreがあればいいらしい。 $ sudo port install git-core +gitweb +svn エラー出おった。 $Error: db46 requires the Java for Mac OS X development headers. Error: Download the Java Developer Package from: Error: Target org.macports.configure returned: missing Java headers Error: Failed to install db46 Log for db46 is at: /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_ports_databases_db46/main.log Error: The following dependencies were not installed: p5-svn-simple subversion-perlbindings apr-util db46 sqlite3 cyru...

rails3でi18nではまった

railsによるアジャイルなんとかかんとかという本にに沿ってruby on railsの勉強している。 ↓ 本のバージョンとずれるが、railsがrails3になったのでそちらで進めてみる。 ↓ I18nでスペイン語を設定する項目があり、「á」「ñ」を使うが上手く表示されない。(&ほにゃららがそのままブラウザに表示される) ↓ rails3ではhtmlエスケープメソッドが必要なくなってデフォルトでhtmlエスケープされるようになった。 それが原因で丁寧に&がHTMLエスケープされていた。 rawメソッドを使ってHTMLエスケープを解除して表示して解決。 しかし、いちいちrawとか入れるのが面倒なのでどこかに一括設定するところはないのか? I18nの設定でとか。。。

seleniumをmacで使いたいメモ1

macを手に入れたのでそのメモ。 1)firefoxでのIDE動作確認 試そうとした目的のサイトでcaptureEntirePageScreenshotをすると上手くキャプチャがとれない。 CSSの関係だと思われるがサイトの上部しかキャプチャされずに、メイン部分となる中央、下部がキャプチャされない。 WindowsXPのfirefoxでも同様の事象は確認しており、JavaScriptのuser-extentions.jsを用意して、もとのcaptureEntirePageScreenshotを改造したコマンドを作ったのであとで試してみよう。 2)pngデータの出力パス設定 captureEntirePageScreenshotの第2引数はフルパスで書く。一応備忘のため記載。 3)safariでの画面ハードコピー保管 safariでの画面ハードコピー保管ができる方法は無いのだろうか…? captureEntirePageScreenshotはfurefixのchromeモードとIEのHTAモードでしか動作しないとIDEでのコマンドリファレンスには記載がある。 とはいえ、画面HCが無いと認めてくれない世界もあるわけで。 たしかevalとかいう関数でselenium実行中にすきなJavaScriptを呼び出せるとか書いてあったような気がするので調べみるか…。 ここが一番のKOファクターになりそうだ…。 4)seleniumIDEでテストケース作成→safariでの実行 safariはデフォルトでポップアップウィンドウが開かない設定になっているので、それをOFFにする。 ウィンドウは開くようになったが、実行すると java.lang.NullPointerException: sessionId should not be null; has this session been started yet? at org.openqa.selenium.server.FrameGroupCommandQueueSet.getQueueSet(FrameGroupCommandQueueSet.java:216) at org.openqa.selenium.server.SeleniumDriverResourceHandler.handleBrowserResponse(...

なんでSTEPなんだ?

FP、UCPを使ってみたところ最近テスト密度についての報告を求められた。 そこで、ふと思ったのはこれ。「なんでSTEPなんだ?」 そもそもSTEPなどという単位は会社に入るまで使わなかったし聞いたこともなかった。聞いても「そんなのコーディングする人のセンスでいくらでも変わるじゃん…」と思い、特にJavaについては使いどころはないだろうと思っていた。 しかしながら、いまだにどのプロジェクトも品質指標、とくにテスト密度とバグ密度に対しては「xxxテストケース/KSTEP(キロSTEP)」とか「バグxxx件/KSTEP」などという目標をあげている様子。 STEPを規模のつもりで使っているのであれば、まったく時代遅れだと思う(言葉が悪いが)。 Javaについて言えば、コーディングする人のセンスもあるが、StrutsやHibernateを使うことによってコード量は大幅に減り、そのかわり設定ファイル(xmlなど)が増える。Servlet/JSP+JDBCで作ったものと、Struts+hibernateのSTEPは相当違うはずだが、実施すべきテストの量は変わらないはず。(単体テストを除いて) また、まったく腑に落ちない点として、昨今はFPで見積もる機会が多い(少なくともSTEPで見積もったことがない)が、開発規模をFPで出すのに品質指標をSTEP基準にする意味がわからない。しいて言えば「後から測りやすい」ということぐらいだろうか。 あるべき論としては見積もりで使った規模を使って品質指標の基準を考えるべきではなかろうか。FPで見積もりしたらFPで品質指標を考える。 そうしないと見積もり時点で品質指標を考慮に入れたテストスケジュールが立てられるわけがない。 逆に、見積もり時点でそうした指標も考慮したスケジュールを作れれば説得力もまずはず。 それが「後から測りやすい」ということが主な理由で実行されていないのであれば、なんともったいない。 各種I/Fの設計書があればFPなんて簡単に出せるのに…。 今後、IT業界に入ってくる人は変わらず「STEP」を知らないだろう。ならば、今のうちにSTEP基準の指標から、「次のやつ」基準の指標を模索しておこうと思う今日この頃なのでした。

COCOMO(工数と工期)

COCOMO自体はプログラムステップから工数を出す見積もり手法だが、COCOMOには工数から工期を算出する計算式があるので、そいつについて。 式は 工期(月)=α×(工数(人月)の3乗根) だそうな。 なお、このの工数と工期はプロジェクト全体(要件定義からシステムテストまで)が入るので注意。 この式のαについては「日本情報システムユーザ協会(JUAS)」が収集・計測したところ、「2.7」が妥当らしい。 本来、αの部分は「プロジェクトのメンバの能力による適当な係数」と「正規分布を想定した時間経過ごとの要員割り当て」をもとに割り出という手順になっている。 (要員割り当てはαだけではなく式全体に影響がある、と思う) とはいえ、JUASでは実際のプロジェクトをいくつも収集したというのだから、「2.7」は日本のプロジェクトには使ってもよいと思う。 αを2.7としたときの各人月に対する工期は以下のとおり。 1人月 2.7ヶ月 2人月 約3.4ヵ月 5人月 約4.6ヶ月 10人月 約5.8ヶ月 20人月 約7.3ヶ月 50人月 約9.9ヶ月 100人月 約12.5ヶ月 うーむ、工程が要件定義からシステムテストまで入ってると・・・。 10人月以下あたりはちょっと長い印象。 20人月以上になるとこれくらいで適当かなぁという印象。 思うに10人月以下の場合は一人が担当する範囲が広い(プログラム設計者が実装もして、単体テストもして、結合テストもしてetc)な場合が多い、というか実際自分のところではそうなので、感覚と違うのだと思われる。 要員が少なければ各工程ごとの要員割り当てが正規分布どころか、一直線になるんだからこの式に当てはめるて違和感がでるのは、納得感あり。 うーん、大きな工数になることがない限り使う機会が少ない、かな? ■参考 ThinkIT 日本情報システムユーザ協会