Windows の ruby WEBrick を試してみた

Windowsrubyでhttpサーバーを起動してみた

以下を参考にコマンドプロンプトから起動してみた
あーありがち

ruby -run -e httpd -- --port 3000 .

最後の「.」も大事!カレントをドキュメントルートにするということ

これだけで、httpサーバー完成!
すげー
これでrubyスクリプトも動くと思って、
http://localhost:3000/test.rb
てな感じで呼び出したら、

コードがそのまま表示されました ははは

rubyのサーバーだからいきなりrubyスクリプト動くと思い込んでました。すいません

httpサーバー用スクリプトを作ればよいらしいので、サーバーのスクリプトはこんな感じにした

require 'webrick'
include WEBrick
module WEBrick::HTTPServlet
  FileHandler.add_handler('rb', CGIHandler)
end
server = WEBrick::HTTPServer.new({
  :BindAddress => '0.0.0.0',
  :Port => '3000',
  :DocumentRoot => 'C:/temp/hoge',
  :CGIInterpreter => 'C:/OLS/ruby-1.9.2-p136-i386-mswin32/bin/ruby.exe'})
Signal.trap(:INT) do
  server.shutdown
end
server.start

「:DocumentRoot」と「:CGIInterpreter」は各自の環境に合わせればよいかと

あとは、「:DocumentRoot」にrubyスクリプトを配置して呼びさせば動く

test.rb

print "Content-type: text/html\n\n"
require "cgi"
cgi = CGI.new
puts cgi["q"]

例:http://localhost:3000/test.rb?q=aaa

実行結果は、単に「aaa」が表示されるだけだが、この事からわかることがたくさんある

  • 「q=」に設定した値がきちんと渡ったこと
  • サーバーからのデータがきちんと届いたこと

これで、サーバー側のコードが簡単にテストできる。うれしい!

しかし、rubyの破壊力というか凄さというか、驚きます。(世間より50周ぐらい周回遅れだろうな)

今回引用機能でコードを表現したけどインデントきかないのね
みんなどうやってるんだろう?

追記
コメントで頂いた情報で、修正しました。
ソースコードを色付けして記述する(シンタックス・ハイライト)

スマートフォンビジネス講演会in福井

スマートフォンビジネス講演会in福井 に参加しました。

趣旨はこちら

AppBankから見たiPhone市場とAppBankのこれから 村井智建氏

大筋はこちらの資料を参照ください

2月22日に行われたAppleStore銀座店AppBank講演資料その1 #igdaj

2月22日に行われたAppleStore銀座店AppBank講演資料その2 #igdaj

2月22日に行われたAppleStore銀座店AppBank講演資料その3 #igdaj

iPhoneアプリをおすすめするAppBankの紹介

iPhoneアプリ毎日新規に600ぐらい。すごいわー
その中から9本ぐらい毎日紹介している。

紹介するアプリは気持ちよく買っとけー!と言えるもの

今までのレビューから売れる要素を考えてみた

売れる要素

  1. 名前が大事
    • 名前で何ができるのか、何をするものか判断しやすいものが良い
  2. アイコン
    • ユーザーは自分のホーム画面を大事にするため、アイコンが綺麗でないと使わない。使ってみようと思わない。
    • 機能が少々劣っていてもアイコンが綺麗なほうが売れる
  3. 1以上のことはつたわらない
    • 最初の3分が勝負。この時間以内につたえること
    • インターフェースが肝心。
    • コストが安いため自分で使いこなそうとはしない。
    • 安く大量消費されるため、難しいと、すぐ捨てられる。


マーケティングについてはどうか

ランキングがすべてである。
いかにランキングに乗せるか、どんなに良いアプリでもランキングに乗らないと売れない

ランキングに乗せるポイント

  1. 新規リリースのタイミング
    • 新規のタイミングで星1つ評価がつくと、アップデートしても売れない。
    • 新規のタイミングでメディアに依頼して、掲載してもらう。新規は掲載されやすい。
  2. 値下げセール

まとめ

  1. 劇的に変化する市場である
  2. でも変わらないものもある
    • わかりやすいものを作る
    • 作る努力以上に売る努力が10倍必要
    • 甘えてはいけない
  3. ユーザーの目は肥えている

いろいろ勉強になりました。自分は甘いなーと実感したり。

余談だが村井智建氏の実家が自分の実家に近いことが判明。同郷(と言って良いかはわからんが)に有名人がいたとは、驚いた。今後も頑張ってください。

Androidとは..ちょっと変わった視点から oru氏

今後スマートフォンの需要は大幅に増加するのは間違いないだろう。
日本から見ると端末のグローバライゼーションだ。

iPhoneは勝ち組か?

  • 出荷台数では iPhone1000万オーバー
  • Android 200万程度


アプリ市場では

  • iPhone 10万
  • Android 3万
  • その他3桁(wmその他)

現時点では勝ち組だよね


今後どうなる

  • 寡占市場はいつまでも続かない
  • Androidは急速に伸びるだろう


キャリア戦略

  • iPhoneAndroidが売れているのは先進国
    • インフラが安定している
    • 3Gが十分普及している
  • 新興国ではどちらもうれない
    • ネットが切れやすい
    • 3Gは大都市のみ


キャリアとくっつくスマートフォン

  • 日本で売れないBlackBerryは海外で人気
  • 実はメーカーがインフラをキャリアに提供している
  • インドネシアのような国でも使われ始めた
  • BlackBerry専用プランが存在する


東南アジアの状況


日本だとiPhoneAndroidではFacebook専用プランが生かせない
専用料金プランは実はSMSを使う


iPhoneAndroidどっちがいい?

  • 特定のアプリならiPhone
  • 面白いことならAndroid
    • Googleのサービスをつかえる
    • 好みの端末をつかえる

 
開発者視点で見ると

  • iPhoneはUI設計が便利
    • ユーザーに1番アピールしやすい所
    • Mac必須だしObjective-C覚えないとね
  • Androidなら初期費用0円
    • javaSEだし
    • 簡単なアプリはすぐ作れます
      • intentを使えばアプリ間を簡単にデータ受け渡しができる
    • 複雑なアプリは苦労する
      • UI設計が大変
      • パフォーマンス出すにはNDK必要


コミュニティー


携帯以外のAndroid

  • 組み込みOESFで標準化
  • Biglobeの端末で採用
  • NTT東のフォトブックなど


Androidはソースを修正してもよい

  • 改変したソースを公開しなくてもよい
  • Apach Licenseでは特許権を行使できない
    • 行使してしまうと、評価すらできない

Apach Licenseて怖いなー


Androidアプリの互換性

  • 画面サイズは違っても対応可能
    • ただし、API Ver4以上
  • 待ち受け画面とかUI違っても大丈夫
  • 細かいところになると問題も
    • 一番大きいのはOSバージョン
    • 最新版を追いかけていれば基本大丈夫

intentを使ったマッシュアップをうまく使うことで可能性は大きい

スポンサーjig.jpの紹介 代表福野泰介氏

Twitter@taisukefにフォローされて気づいたのですが、石川県出身だったんですね。知らなかった(汗

親睦会

終始 oru氏持参の Nexus One に興味津々で少し触らせていただいたが、いいですねー。レスポンスいいし、画面広いし、欲しいです。実機触ると以前よりさらに欲しくなった。

ハードとしてiPhoneAndroidを比べると、デザイン(UI含む)でiPhone有利に見える。
格好より機能でしょて自分ならNexus Oneで問題ないけど、ユーザーはかっこいいとか、かわいいとかで端末を選ぶようになっているからなあ。やれること同じなら、おしゃれなほうがいいもんね。
Android端末もかっこよくオシャレなものが増えてほしいです。

親睦会終了後、アルコール有の懇親会があったのですが、今回時間の都合で参加できなかったのが残念orz

ASUS A8N-SLI Delux メモリー4G搭載時のメモ/Windows 7 x64

ASUS A8N-SLI Deluxにメモリーを4G搭載した際以下の点に注意

  • BIOSの標準設定だと3G超えた分はWindows 7 x64でも利用できない
  • BIOSで4G有効にしてWindows 7 x64使うとMarvell LANが受信できない

このマザーボードでメモリーを4G搭載した場合、BIOSの標準設定だと3G超えた分はWindows 7 x64でも利用できません。

Windows 7 x64で利用できるようにBIOSの「Advanced」「DRAM Configuration」「H/W DRAM Over 4G Remapping」を 「Enabled」に変更します


これで4Gを利用できるようになるわけですが、ここで問題が発生します。

LANでMarvell LANを使っていたのですが、通信できなくなりました。

Windows 7 x64の「デバイスマネージャー」では正常に見えるのですが、DHCPからIPを取得できないようです。

つーか、パケットの受信ができないように見受けられた。
「ローカルエリア接続の状態」では「受信バイト」数が「3」とか。

もちろん、「H/W DRAM Over 4G Remapping」を 「Desabled」なら正常に通信できます。
ちなみに、「S/W DRAM Over 4G Remapping」を 「Enabled」でも通信できなかった。

これだとメモリー3Gまでだし、つまんねー

てなわけで、LANポートをMarvell LANからOnboard NV LANに変更し「H/W DRAM Over 4G Remapping」を 「Enabled」で確認


正常に通信できるじゃないかー 最初からOnboard NV LAN使えよーて事ですがXPのドライバーひどくて
Onboard NV LAN使ってなかったんですよね。そんな人多いのではないかと思います

Windows 7 x64純正NVLANドライバーは今のところ問題起きてません。

うーん。快適快適。

注意 私個人の環境での出来事です。どーなっても私は知りません

Flash Player 10.1 Beta 2がAdobe Labs Downloadsで公開されて久しいので、インストールしてみました。

入手はこちらから

Download plug-in for Windows (EXE, 2.3 MB)(IE以外)
Download active-x for Windows (EXE, 2.3 MB)(IE用)

早速ダウンロードしてインストール開始。
IE用はすんなりインストール完了。もちろんIEは32ビット版です。
私はインストールを問題なく完了することが出来ましたが、出来ない場合もあるそうです

インストールが完了したら、念のためバージョン確認しておきましょう。
確認サイトはこちら
正常に更新されるとバージョンは「10,1,51,66」と表示されます


FireFoxも使っているので plug-in タイプもインストール開始。
インストーラーは正常に完了したとの表示。
簡単だなーと思いながらバージョン確認してみたところ、「10.0.32.18」の表示

あれ?更新されてないじゃん
しかも、メジャーバージョン「10.0.45.2」より古いし。
とりあえず、メジャーバージョンにするべくAdobe Flash Playerのインストールの「今すぐインストール」をクリックすると、正常終了
しかし、バージョン確認でやっぱり「10.0.32.18」のまま。


てことで、Flash Player 10.1 Beta 2のインストーラーが悪いわけではなさそう。

先程のサイトにもあるが、Windows x64 のシステムの場合 Flash Player は C:\Windows\SysWOW64\Macromed\Flash にインストールされます。

インストーラーにもよりますが、今回 Flash Player 10.1 Beta 2 は ありがたいことにlogを残していました。

簡単に確認したところどうやら「NPSWF32.dll」の作成に失敗しているようだ

とりあえず、名前を「NPSWF32_OLD.dll」に変更して再度 Adobe Flash Playerのインストールの「今すぐインストール」をクリック

バージョン確認で「10.0.45.2」に無事成功

そこから、Flash Player 10.1 Beta 2のインストールも無事成功。
バージョンは「10,1,51,66」になりました。
めでたし、めでたし。
で、今回 logって大事を身をもって体感できました。

追記
「コントロールパネル」「プログラムと機能」から「Adobe Flash Player 10 Plugin」を削除後インストールを試したが、バージョンは「10.0.32.18」のままだった。

Adobe 提供のアンインストーラーを使って削除すればうまくいったかもしれませんが、存在すら気づいていなかった。
Flash Player レスキュー! - インストールができない(Windows)

LINK PLAYER(AVLP1/DVD) のDVDドライブを交換したメモ

使っていたLINK PLAYER(AVLP1/DVD)のDVDドライブが読み込みできなくなったので
交換したときのメモ書き

  • 用意するもの
    • +ドライバー
    • 両面テープ(今回屋外用を使用)
    • 新しいDVDドライブ(IDE
      • 今回は家に転がっていた数年前の日立のドライブ使いました
      • ドライブトレイのフロントベゼルは撤去しておきましょう
      • トレイはある程度引き出しておいたほうが、位置決めしやすいです

まずは、本体側面と背面にあるビスをはずして、カバーを開ける

カバーを開けたところ



カバーを開けたら、古いドライブを取り外す
ビスは4か所あります
ドライブの電源とフラッとケーブルはドライブに取り付けた状態で、電源基盤側と制御基盤側でそれぞれはずしたほうが楽です

古いドライブと新しいドライブ



新しいドライブの底面4か所に両面テープを貼ります

ドライブに両面テープを張ったところ



本体のほうにも両面テープを2か所貼ります
さらに、ビスを1か所底面から止まっているものを撤去します
(新しいドライブにぶつかって高さが合わないため)

本体の処置(両面テープ貼る前の写真)



新しいドライブを本体に固定する方法は両面テープのみです
両面テープの粘着力で固定しますので、強力なものを使いました。
本体フロントのドライブ出口に金属金具があり、ちょうどその金具に新しいドライブがはまり込む感じになり、うまく固定できました。
固定といっても両面テープのみですが。


新しいドライブを取り付けたところ



現在順調に稼働しています。トレイの出し入れはリモコンで行うようにして、トレイを手で押し込むことはしないようにすれば、問題なさそうです。

  • 個人的に試したことなので、同様のことをして損害などが発生しても私は責任取りません

アップグレードふくい Vol.25 〜 Web・IT技術者大交流会 〜に行ってきました

平成22年1月30日(土)に福井県産業情報センター(坂井市丸岡町熊堂)にて開催されました。
概要はこちら

14時からの開催なのに13時と間違えて現地到着。
駐車場に車が1台も無いことに「やべ、場所間違えた?」と思い、走って受付で確認したのは内緒ですw

以下 各セッションのメモと感想

「ITエンジニア&志望者は、今何をすべきか?」 山下 大介 氏 株式会社SOBAプロジェクト 取締役

  • 中堅どころは海外サイトをチェックしよう
    • 海外のメジャーなサイトに技術情報がたくさんある
    • いろんな情報を精査する技術が必要である
  • 人脈を社会に広げよう
    • 同じ方向からみていても新しい発見はできない
    • 意識的に新しい発見するようにする−>自分の知識を偏らないようにする−>リアルのつながりが必要になる
  • リアルのメリット
    • ここだけの話が聞けたりする
    • 転職にも有利になる
    • 業界全体の流れがわかる
    • 6次の隔たりのお話
  • 勉強会に参加しましょう
    • 名刺は必須です
    • 主催者には連絡先を渡しましょう−>情報が流れてくる
    • Google の「IT勉強会カレンダー」を使いましょう
    • 興味のある勉強会がないなら自分で主催しよう
  • 主催のメリット
    • 自分が情報ハブになれる
    • 懇親会がメインと思ってもいい
  • 今後のテクノロジーを考えたとき
    • 5年10年先は難しいが近い未来は予想できそう。明日、明後日とか。そうするとそんなに違うことは無いのではないか?
    • 現在のテクノロジーを違う使い方をしたらどうだろう?などと、考えてみよう。
    • 現在のシステムをうまく利用出来ないか考える
    • 新しいものは利用してもらうまでは、夢の話。使ってもらってなんぼ。
  • ライブラリをがんがん使おう
    • アセンブラで1から作る時代ではない
    • アイディアで勝負しましょう。
  • 海外の現状
    • 中国、インドは力をつけている。驚異である
    • インドのIT産業ではカーストは関係ないらしい。なので、生まれに関係なく優秀な人間がどんどん出てくる
    • 中国ではニートが増えているらしい−>このまま崩壊する?
    • 中国の状況はShanghai watchなどをチェックしとくといいらしい

感想
 特に気になった話は「意識的に新しい発見するようにする−>自分の知識を偏らないようにする−>リアルのつながりが必要になる」て話。
 自信を持って「出来てません」て言い切れるぐらい、出来てないorz
 特に「意識的に新しい発見するようにする」てのが難しい。がんばろー

Androidアプリ開発の基礎知識」出村 成和 氏 サーバントネットワーク 日本Androidの会 金沢支部所属


発表資料がアップされています。
ありがとうございます。

  • プログラミングTIP
    • まずはぐぐる
    • ソース嫁
    • blogにかく
    • つぶやく
    • モリーには注意(組み込みのつもりで)

感想
 もうちょっとアプリケーション構成−Activity、Intentあたりの細かい話を聞きたかったかな。
 みんな Android やろうぜ。て感じになれましたw

「Processingではじめるインタラクティブデザイン」吉村 マサテル 氏 株式会社デザイン・インプルーブメント 代表取締役 インターフェースデザイナー


発表資料がアップされています。
ありがとうございます

感想
 うわー。Processing て Arduino だけじゃなかったんだ。思いこみもひどいもんだな。
 Processing for Android とか Frocessing など Processing をつかって、いろんな開発が出来るらしい。開発の敷居を下げるすばらしい作戦ですね。
 Processing などで、開発する楽しさを若い人にどんどん味わってもらいたいです

「FITEA ライトニングセッション三連発」小島 富治雄 氏 (福井コンピュータ株式会社)、森下 智弘 氏 (森下屋)、橋本 賢一 氏 (田中合金株式会社)、伊藤 祥 氏 (株式会社チェンジビジョン)

司会進行の小島さん いつも上手ですねー。今回はライトニングセッションとふくいソフトウェアコンペティション2009作品発表会の進行も行ってました

  • オープンソースライセンス基礎知識入門」 森下 智弘 氏
    • 利点
      • 無償で入手
      • ベンダーロックイン回避
      • コミュニティの活用

時間の都合だと思いますがハイペースに進んだのでたいしてメモ出来なかったorz
これだけで、セッションしてほしかったな

クラウドの概要説明が非常にわかりやすかったと思う。
Azureやってみようかなて思えた

いいなー。本番当日参加できるか怪しかったので、見送りました。
実力無いので参加しても役たたないんですけどねw

ふくいソフトウェアコンペティション2009入賞作品発表会

福井では毎年ソフトコンペを行っているそうです。上位には賞金も出るそうです。
上限22歳までの学生が対象らしい。結構昔から開催しているらしい。そりゃ差がつきますよね。石川県も少しは見習ってほしいもんです。

  • Air Music Player」
    • Adobe Air で開発されたMP3プレーヤー

ソフトもさることながら、プレゼンがうますぎるー。マジ学生ですかって感じで去年も入賞しているらしく、覚えている人がちらほらいたようです。

  • 「TOY BOX」
    • ネットワーク対戦可能なゲーム
    • XNAを使って開発した
    • いろんなステージを用意するのが大変なので物理演算使って障害物をランダムに配置した

全体の表現をファミコン風味にしたててドット絵ぽくしてあって、それが良い感じになってた

  • 「Ondemand」
    • 音楽のストリーミングサーバーとクライアント
    • 監視フォルダーにデータを投入すると自動で音楽リストを作ったり、ジャケットイメージを抽出して、クライアントに表示する

なかなかおもしろそう。オリジナルDLNAみたいな感じかな
動画配信とかに使ったら凄そうだ

交流会(懇親会)


みなさん盛り上がってましたねー。自分はというと、名刺交換できた人2名でした。あうー





TDD読書会+北陸エンジニアグループ2009ふりかえりに参加しました

開催日時が 12月12日12時12分12秒 でお約束のカウントダウンしました
現地で気づいたのが、「お昼食べてねーよ」
みなさんちゃんと用意してきてましたね。さすが。


全体の流れはこんなかんじ

TDD勉強会 第3回
  TDDて何? @hikaruworld
    今までの勉強会のまとめな感じ。
    すっかり忘れてて、助かりました。

  テスト駆動開発入門、第18章〜第24章 @coelacanth
    テスト駆動ツールを作る章を発表会形式で行いオリジナルのFMSUnitなるものをつくってました。凄いですねー
    飛び入りで@wtnabeさんの開発手順の発表もあり、大変勉強になりました


休憩
  みなさん話が盛り上がっていたようです
  私はコンビニおにぎり食べてました。おはずかしい。


北陸エンジニアグループ2009ふりかえり
  くしださん(kussy_y)に講師?になっていただきワークショップ形式で振り返りしました
  振り返りの方法は「タイムライン」と「KPT」
  (「K:keep=今後も続けること」「P:problem=問題なので、やめること」「T:try=今後、試してみたいこと」)


  3グループに分かれてチームを作りました。この際出来る限り知らない人が多いところへ。
  タイムラインではチームで今年あった事実を時系列にポストイットで並べていきます。
  「こんなのあったよね。おーそうだった」とか言いながら結構楽しかったですね。


  次に各自なにかしら感じたり思ったことがあったイベントに印をつけて感じたことをポストイットで張っていきました


ワークショップ途中休憩の様子


  次は各自の感想を「よいしょ(肯定)」しましょう。なぜなら、
  「人は最初にほめられると次にDISられても受け入れられる」からだそうです。
  ほほー。そういえば何かの子育て本にも似たようなことが書いてあったのを思い出しました。
  ほめられればうれしいのは大人も子供も関係ないよね


  気分もよくなったところで、来年の課題や、やりたいことなどを検討し3チームで発表してみました。
  いろいろ出たのですが、3チームともに気になる課題として「如何に新しい人を確保するか」が出てました


  休憩を入れながらですが2時間のワークショップ楽しくてあっという間でした。
  ファシリテーション系のワークショップは2回目(初体験は白川郷)で初めてのことが多く勉強になりました。


  今回会場に使わせていただいた「金沢大学創立五十周年記念館「角間の里」」は、とてもよい場所でした。
  ネット環境、スクリーン、プロジェクター、ホワイトボード、ストーブ、こたつ、おまけに太鼓あり
  しかも、使った灯油は次の人のために満タンにするだけでよい
  これだけそろって、無料ですよ、無料


  幹事の@katzchangさんすばらしい会場手配と準備ありがとうございました


  最後にプライベートの旅行先でワークショップを行っていただいた、くしださん(@kussy_y)に感謝申し上げます m(_ _)m