{data: [ {title:"Apache2が起動できない",link:"http://www.booster-technology.com/archives/2008/05/apache2.html",body: "Apache1.3系とApache2.2系がインストールされているWindowsXPでApache2が起動できない。当然2重起動はない。\nなぜ?\n \nそこである記憶がよみがえった。\n『Skype起動してるとApacheがあがらない』というフレーズ。\nそういえば誰かいってたな。\n \nSkype止める ⇒ Apache2起動 ⇒ OK!\n \nSkypeの詳細設定で\n『上記のポートに代わり、ポート80を使用』がデフォルトで『チェック』になっているので80番がバッティングしていた。\nこのチェックは外しておこう。"}, {title:"NVL関数の代わり",link:"http://www.booster-technology.com/archives/2008/04/nvl.html",body: "OracleでいうNVL関数の代わりになるようなもの。\n \n[MySQL]\nifnull関数でnull値を代替。\n> select ifnull(admin_name,\'null desu\') from admin;\n \n[PostgreSQL]\ncoalesce関数で、最初のnull でないデータを返す。\n> select coalesce(null, admin_name, \'null desu\') from admin;\n"}, {title:"ExpressionEngineでCodeIgniter",link:"http://www.booster-technology.com/archives/2008/04/expressionenginecodeigniter.html",body: "ExpressionEngine2で完全にCodeIgniter化されるらしい。\n⇒ ExpressionEngine 2.0: fully CodeIgnited!\n \nExpressionEngine自体を全く知らなかったので、全くノーマークでしたが、海外ではかなり使われているCMSツールらしい。\nそれがCodeIgniter化するので、日本でもCodeIgniterがメジャーになるかもしれない。"}, {title:"FlexのDatagridのマメ知識",link:"http://www.booster-technology.com/archives/2008/04/flexdatagrid.html",body: "■Datagridの列をドラッグ&ドロップで入れ替えた際のイベント\n⇒ Datagrid の headerShift イベント。\nIndexChangedEvent クラスのイベントが発生。\n \n■Datagridの列幅を広げた際のイベント\n⇒ Datagrid の columnStretch イベント。\nDataGridEvent クラスのイベントが発生。\n "}, {title:"coreserver使ってみた",link:"http://www.booster-technology.com/archives/2008/04/coreserver.html",body: "テスト用のレンタルサーバによくxreaを使っていたのですが、選択したサーバによっては使い物にならないくらいパフォーマンスが悪い場合が多々ありました。\n価格がとても安いので、あまり文句もいえず、我慢して使うことが多かったのですが、上位サービスである、『coreserver』を試してみました。\n \nいいです。\n価格が安い割に、パフォーマンスは非常にいいですし、MovableTypeもサクサク動きました。\nPHPもMySQLも問題ありません。\n普通のサイト作る分には充分だと判断しています。"}, {title:"第12回勉強会(Propel+CodeIgniter、BlazeDS)",link:"http://www.booster-technology.com/archives/2008/03/12propelcodeigniterblazeds.html",body: "■日時\n2008年3月28日(金)17時~19時\n \n■場所\n事務所\n \n■発表者\n土屋・・PropelとCodeIgniterを使ったワークショップ。またBlazeDSを使ったデモとパフォーマンス紹介。\n \n■公開資料\nなし"}, {title:"Flexでカレンダーを作ってみた",link:"http://www.booster-technology.com/archives/2008/03/flex_18.html",body: "Flexでちょっと複雑なカレンダーを作ろうとすると\nDateChooserの拡張ではきつい。\n \nDateChooserのソースをがちゃがちゃいじって・・・ってやるくらいなら全部作った方が早い。\nカスタマイズも自由にできるし。\nとりあえず動くレベルで作ってみた。\n⇒ サンプル\n \nGoogle Calendarみたいに会議の予定とか入れるようすることももちろん可能。あとは細かい仕様次第で。"}, {title:"DBDesignerからPropel用定義ファイルを生成",link:"http://www.booster-technology.com/archives/2008/03/dbdesignerpropel.html",body: "Propel用の定義ファイル(schema.xml)を生成するツールがないかなと探していたら、やはりあった。\n \nDBDesignerで作成したファイルから生成可能。\n⇒ DB Designer 4 TO Propel Schema Converter\n \nこれでschema.xmlを作成する工数が大幅に削減可能。\nなければ作ろうと思っていたけど、充分使える。\nうれしい。感謝。"}, {title:"PostgreSQLからschema.xmlを生成する際のエラー",link:"http://www.booster-technology.com/archives/2008/03/postgresqlschemaxml.html",body: "■問題\nPropelではcreoleを使って、schema.xmlを既存DBから生成できる。\n \n> propel-gen ./ creole \nで可能だが、DBがPostgreSQLの場合、エラーが発生する。\n \n[propel-creole-transform] There was an error building XML from metadata: Could not list sequences [Native Error: ERROR: column \"name\" does not exist \n \n■対策\nPgSQLDatabaseInfo.php を修正すればOK。\n⇒ http://propel.phpdb.org/trac/ticket/330\n \n■結果\n無事にschema.xml が生成された!"}, {title:"BlazeDSを使ったパフォーマンス測定",link:"http://www.booster-technology.com/archives/2008/03/blazeds.html",body: "[目的]\n・BlazeDSを使ったRemoteObject通信がどれほど高速なのか知る\n \n[条件]\n・WindowsXP SP2、Tomcat6.0.16、MySQL5.0.45、Java1.6.0_02、BlazeDS 3.0.0.544\n・MySQLの1つのテーブルに10万件格納しておく\n※1レコード約50バイト\n・全件取得するSQLを実行\n \n[テスト]\n・Flex側で取得ボタンを押して、datagridに表示されるまでの時間を測定\n \n[結果] \n・RemoteObject(BlazeDS) ⇒ 3~4秒\n・HTTPService (XML) ⇒ 27~28秒\n \nちなみに1万件の場合は、\n・RemoteObject(BlazeDS) ⇒ 0.2秒\n・HTTPService (XML) ⇒ 2秒\n \n圧倒的に速い。\n使うべし。"}, {title:"Flysprayを使ってみる",link:"http://www.booster-technology.com/archives/2008/03/flyspray.html",body: "Trac以外で何か良いバグ管理ツールがないかと思い、探していたら\nバグ管理ツール『Flyspray』に出会った。\n・PHP + MySQL でOK。\n・インストールはMovableType並に簡単\n・言語で『ja』を選べる\n \nなどなど動作も直感的だし、普通に使えると思った。\n \nその他には、\n・Bugzilla3.0 はPerlの必須モジュールのインストールで手間取る。。\n・Mantisは見た目や操作感が直感的でなかった。"}, {title:"CodeIgniterを使ってみた",link:"http://www.booster-technology.com/archives/2008/02/codeigniter.html",body: "知人が『日本CodeIgniterユーザ会』に所属しており、『CodeIgniter』を紹介されたので使ってみた。\n#PHPのMVCフレームワーク\n \nまずは設定後、チュートリアルにしたがってHello Worldアプリを作成する。\nMojaviを以前使っていたので感覚的にはほぼ同じ。\n \nで、その他動作確認。\n・Smarty対応\n・ログイン済み認証チェック\n・入力値チェック機能\n・DB接続\n \nという感じで試し、普通にOKでした。\nコミュニティ・ドキュメントも充実しているし、全体通して非常に使いやすいと感じた。"}, {title:"Flexで回転メニュー",link:"http://www.booster-technology.com/archives/2008/02/flex_17.html",body: "Flexで回転メニューを作ってみました。\n⇒ Flexで回転メニュー\n \nアニメーション処理にはTweenerを使用。\n『easeOutBounce』や『easeOutElastic』は動き的に面白い。"}, {title:"Flexで観音開き効果",link:"http://www.booster-technology.com/archives/2008/02/flex_16.html",body: "Flexでページめくりの派生で観音開きも作ってみました。\n⇒ Flexで観音開きサンプル\n \nちょっとオモロイです。"}, {title:"Flexでページめくり効果",link:"http://www.booster-technology.com/archives/2008/02/flex_15.html",body: "Flexのカスタムエフェクト・マスクに強くなる必要が生じた。\nで、Flash Hacks にあるようなページめくり効果をFlexでもできないかと思い作ってみた。\n⇒ Flexでページめくり効果サンプル\n \nFlash Hacksのダウンロードページから関連flaファイルをダウンロードして読む。\nまず仕組みを理解するのに時間かかり、実装にも少し手間取ってしまったが、なんとかできた。いい勉強になった!"}, {title:"HTML_TagCloudを使ってみた",link:"http://www.booster-technology.com/archives/2008/01/html_tagcloud.html",body: "HTML_TagCloudを使ってサンプルを作ってみました。\n \n作りは簡単で、\n・サンプル文字列を定義\n・mecabを使って単語に分割\n・単語を集計\n・タグクラウド化\n \n\n"}, {title:"ぴあぴあAPIがベンチャーナウに紹介されました",link:"http://www.booster-technology.com/archives/2008/01/api_1.html",body: "弊社にて開発を行ったマインドマッピングツール、『ぴあぴあAPI(α版)』がベンチャーナウにて紹介されました。\n \n\n"}, {title:"第11回勉強会(Propel)",link:"http://www.booster-technology.com/archives/2008/01/11propel.html",body: "■日時\n2008年1月24日(金)13時~15時\n \n■場所\n事務所\n \n■発表者\n天野氏(外部講師)・・PHPのORマッピングツールPropelの紹介とデモ\n#今回、初めて外部講師をお招きしました。\n \n■公開資料\nなし"}, {title:"うにょうにょ動くレーダーチャート",link:"http://www.booster-technology.com/archives/2008/01/post_55.html",body: "Flexでうにょうにょ動くレーダーチャートを作ってみました。\n⇒ http://www.flex-senmon.com/sample/radar/\n \nFlexのチャートコンポーネントには\nレーダーチャートは含まれておらず、また円グラフ等もがんがんカスタマイズしたいので、結局全部自社開発しちゃおうかなと思っております。"}, {title:"Flexでシューティングゲーム",link:"http://www.booster-technology.com/archives/2008/01/flex_14.html",body: "別にFlexである必要はないのですが、超簡易シューティングゲームを作ってみたくなったので週末に作ってみました。\n⇒ http://www.booster-technology.com/sample/shooting/\n左右キーでほうきを操作。Enterキーで弾を発射し、落ち葉を消す。\n \n見た目は超単純ですが、これには、\n・オブジェクト指向\n・衝突判定\n・キーボードのイベント処理\n・葉っぱの振り子運動\n・二項乱数\n \nといった項目が盛り込まれているので\nActionscriptの練習には適した題材だと思う。\n \nゲーム作りは楽しいし、プログラムの練習にもなるのでオススメ。\n合間を見てちょいちょい作っていこうと思う。"}, {title:"第10回勉強会(PHP,Air,Cairngorm改,AMFPHP改)",link:"http://www.booster-technology.com/archives/2007/12/10phpaircairngormamfphp.html",body: "■日時\n2007年12月28日(金)17時~21時\n \n■場所\n事務所\n \n■発表者\n奥村 ・・ PHPによるマルチプロセスによるパフォーマンス向上のデモ\n土屋 ・・ Airを使ったFlex生成ツールのデモ\n添野 ・・ 改良版Cairngormと改良版AMFによる実装の簡略化のデモ\n \n■公開資料\nなし"}, {title:"Flexを使ったマインドマッピングツールα版",link:"http://www.booster-technology.com/archives/2007/12/flex_13.html",body: "Flexを使って何か実用的なものを作りたいな、というところから始まったのですが、具体的に何を作ったらいいだろうか?\n社内的にはマインドマッピングツールとして、MindManager6を使っているのですが、それを上回るものを作れば自分達でも使うかなと。\n \nで、各種APIを組み合わせたマインドマッピングツールをFlexで作ってみました。\n⇒ http://www.flex-senmon.com/piapia/\n \n機能としては、\n・画像検索\n・動画検索\n・本検索\n・商品検索\n・レストラン検索\n・ブログ検索\n・キーワード検索\n・XML保存・読み込み \n・マインドマッピング\n \n検索した画像やブログをドラッグ&ドロップで下の欄にノードとして追加可能。\nマップ情報はXMLでローカルに保存可能。\n \nまだα版なので、少しずつ手入れしていこうと思ってます。"}, {title:"Papervision3DのSVN取得先",link:"http://www.booster-technology.com/archives/2007/12/papervision3dsvn.html",body: "Papervision3Dとそれに関連するライブラリをいじっていたら、Cubeの部分でコンパイルエラーが発生する。\nちょっと調べてみると、かなり前にSVNの取得先が変わっていたらしい。。\nhttp://svn1.cvsdude.com/osflash/papervision3d/\n⇒ http://papervision3d.googlecode.com/svn/\n \n2007年12月24日時点ではRevision387が最新。"}, {title:"PHPでMecab",link:"http://www.booster-technology.com/archives/2007/12/phpmecab.html",body: "形態素解析をする必要が出たので、PHPの『Mecab Extension』を組み込んで試してみました。\n \nインストールは簡単で、サンプルプログラムを作って動作確認をしてみました。\n『5本』が『5』と『本』に分かれてしまうのは仕方ないのか?\n \n****[ソース]****\n<?php\ndl(\'mecab.so\');\n$mecab = mecab_new();\n \n$str = \'私には夢があります。ベッカム夢の夢 by 菊蔵下さいabcマートです。5本指。ABCマート。ABCマートです。123\';\n \n//名詞を格納する配列\n$noun_array = array();\n \nif ($node = mecab_sparse_tonode($mecab, $str))\n{ \n while ($node)\n {\n $node_array = mecab_node_toarray($node);\n //char_typeが2、5、7の単語を抽出\n if($node_array[\"char_type\"] == \"2\" || $node_array[\"char_type\"] == \"5\" || $node_array[\"char_type\"] == \"7\")\n {\n array_push($noun_array, $node_array[\"surface\"]);\n }\n \n $node = mecab_node_next($node);\n }\n}\nprint_r($noun_array);\nmecab_destroy($mecab); \n?>\n \n \n****[結果]****\nArray\n(\n [0] => 私\n [1] => 夢\n [2] => ベッカム\n [3] => 夢\n [4] => 夢\n [5] => by\n [6] => 菊蔵\n [7] => 下さい\n [8] => abc\n [9] => マート\n [10] => 本\n [11] => 指\n [12] => ABC\n [13] => マート\n [14] => ABC\n [15] => マート\n)"}, {title:"flexで二項分布",link:"http://www.booster-technology.com/archives/2007/12/flex_12.html",body: "ちょっと確率分布を使うことがあり、\nせっかくなので二項分布を求める部分を、簡単なFlexアプリにしてみました。\n⇒ サンプル"}, {title:"iPhone使ってみた",link:"http://www.booster-technology.com/archives/2007/12/iphone.html",body: "先日知人の結婚式のためハワイに行ってきました。\n買い物のついでに、アラモアナのアップルストアに入ったところ、iPhoneを発見。\n現地で借りた携帯に電話したりといろいろいじってみる。\n \n電話というより通話機能を搭載したPDAみたいな感じ。\n最先端の端末という感じはするが、\n機能が多すぎて、直感的ではなく電話としては使いづらい。\n \nまた液晶画面が大きいので注意しないとすぐヒビ入ったりしそう。\n衝撃や水・埃に強いのかどうかはよくわからなかった。\n \nかなり欲しいと思っていたが、\n実際触ってみるとそうでもなくなってしまった。。"}, {title:"Datagridを編集可能に",link:"http://www.booster-technology.com/archives/2007/11/datagrid.html",body: "FlexのDatagrid上で値を直接編集できるとカッコいい。\n \n普通にeditable = true にしただけでは当然メモリ上の値が書き換わるだけなので、サーバに更新を通知しなければならない。 \n \nitemEditEnd というイベントがあるのでここに処理を仕込めばOK。\n新しく入力された値と、前に入力されていた値を取れるので、変化があれば更新する処理を書く。\n \n[Datagrid側]\n<mx:DataGrid width=\"100%\" height=\"100%\" dataProvider=\"{logic.model.collection}\" editable=\"true\" itemEditEnd=\"logic.getCellInfo(event);\">\n \n[AS側]\npublic function getCellInfo(event:DataGridEvent):void\n{ \n var editor:TextInput = TextInput(event.currentTarget.itemEditorInstance);\n \n //新しい入力値\n var newVal:String = editor.text;\n //古い値\n var oldVal:String = event.currentTarget.editedItemRenderer.data[event.dataField];\n \n //更新処理\n ・・・・\n}\n \nこんな感じでいいんじゃないでしょうか。"}, {title:"Google PageRankをPerlで取得",link:"http://www.booster-technology.com/archives/2007/11/google_pagerankperl.html",body: "Googleのページランクなんて何かのAPI介せばすぐ取れるのかなと思っていたのですが、公式には公開されていないようでした。\n \n実現するためには、\n(1)第3者のサイトのサービスを使って取得する方法\n(2)ch値を計算してGoogleから直接取得する方法\n(3)CPANのモジュールを使って取得する方法\n \nといったところでしょうか。\n(1)第3者のサービス\n⇒ TRYNT \n正常な値が返ってくるが、結構な確率でページランクが全て10が返ってくる。\nこの他にもたくさん第3者によるサービスが存在していた。\n \n(2)ch値生成\nPHPでch値を生成する方法が掲載されていたのでそれを流用。\n正常に動作した。\n \n(3)CPANモジュールを使う\n⇒ WWW::Google::PageRank\nこれも内部でch値を生成してGoogleにアクセスしている。\n \n(2)(3)はやってることは同じ。\nそもそもページランクって、現在のGoogleのアルゴリズム的にどんな位置づけなのでしょうか。\nあんまり重要でなくなった気もしているのだが、詳細は不明。"}, {title:"デスクトップをMac風に",link:"http://www.booster-technology.com/archives/2007/11/mac.html",body: "Leopardを見てからというもの、にわかMacファンになってしまった。\n自分が使ってるWindowsマシンもみかけだけでもMac風にならないかなと思って調べてみると、あるある。\n \n■まず壁紙をMacのものにする\n■ObjectDockを使ってDock環境を実現\n■デスクトップ上のアイコンを全て片付ける\n \nこうしてできた環境がこちら↓。\n\n \n気分転換にはまぁまぁいいんじゃないでしょうか。\nObjectDockはオススメです。"}, {title:"Excel_Reviser 使ってみた",link:"http://www.booster-technology.com/archives/2007/11/excel_reviser.html",body: "PHPでExcel出力なんてできるのかな?と思って調べてみると\nすぐ目についたのが「Excel_Reviser」。\n \nシートを追加したり、セルを指定して書き込みができるので機能は充分。感謝です。GPL2.0ライセンス。\n早速サンプル作って動かしてみた。\nWindowsXP+Apache1.3.37+PHP5.2 で動作確認済み。\n \n(サンプル) \n<?php\n \nrequire_once(\"./lib/reviser.php\");\n \n $reviser=NEW Excel_Reviser;\n $reviser->setInternalCharset(\'UTF-8\');\n \n //1シート目\n $reviser->setSheetname(0, \"シート1です\");\n $reviser->addString(0,1,1, \'うそうそ\');\n $reviser->addString(0,2,2, \'ほんまほんま\');\n \n //2シート目\n $reviser->addSheet(0,1);\n $reviser->setSheetname(1, \"シート2です\");\n $reviser->addString(1, 3, 3, \'えー\');\n $reviser->addString(1, 4, 4, \'マジ?\');\n \n //3シート目\n $reviser->addSheet(0,1);\n $reviser->setSheetname(2, \"シート3です\");\n $reviser->addString(2, 5, 5, \'すごい\');\n $reviser->addString(2, 6, 6, \'やるな\');\n \n //カレントフォルダに出力\n $reviser->reviseFile(\'sample.xls\', \'output.xls\', \"./\");\n \n?>"}, {title:"AlexaのAPI(AWIS)使ってみた",link:"http://www.booster-technology.com/archives/2007/11/alexaapiawis.html",body: "Alexaに登録してアクセスキーもらいました。\n \nまずはAPIの仕様書を探す。\nなかなか見つからなかったがありました。\n⇒ Developer Guide\n早速サンプルPHPを見ながら実装。\n \n401エラーが返って来る。。\nなんで?\n正式登録するだけではダメらしく、管理画面にログイン後「Complete ・・」ボタンを押すことで通るようになった。\n \nで、次にAPI仕様書を詳しく読む。\nURLごとに1回1回リクエストを投げるだけでなく、バッチで一括問い合わせもできるとのこと。ただし上限5件まで。\n \nUrlInfo と SiteLinkingIn の情報が欲しいのでそれぞれのアクションにリクエストを投げることで対応できた。\nレスポンスの形式はXML。\n1件の問い合わせなら1秒程度で返ってくるので全然問題ないと思う。"}, {title:"AlexaのAPIは有料なんだ",link:"http://www.booster-technology.com/archives/2007/11/alexaapi.html",body: "AlexaのAPIを探していたたら Alexa Web Information Service (AWIS) を見つけた。\n \n一瞬「お、あった」と思ったのですが、\n--Alexaより引用--- \nPricing\n* Pay only for what you use. There is no minimum fee, and no start-up cost.\n* $0.00015 per request ($0.15 for 1,000 requests) \n------------------\n有料。\nAPI公開するとなると、サーバ増強したりしないといけないし、ランニングコストがかかるから有料ということでしょうか。\nとはいえ、安いといえば安いか。\n \nで、サイトをクロールして値を取得すればよいかと思ったのですが、htmlのデータ部分に非表示のダミー数字が入っており、簡単にはデータを取れない仕組みになってました。\n \nそこにはこんなコメントが。\nDid you know? Alexa offers this data programmatically. Visit http://aws.amazon.com/awis for more information about the Alexa Web Information Service.\n \nきちんと登録したお金払ってね、と。了解です。"}, {title:"AdobeMax2007行って来ました",link:"http://www.booster-technology.com/archives/2007/11/adobemax2007.html",body: "先週、お台場で開催されたAdobe Max 2007に参加してきました。\nテーマは『CONNECT.DISCOVER.INSPIRE.』\n \nテーマにある通り、講演・セションでいかに自分が「inspire」されるかが楽しみで。\n話聞いたり、デモ見るだけで「早く帰って作ってみよう」という気になり非常に有意義でした。\n \n新製品で目を引いたのは『Thermo』でしょうか。\n⇒ Thermoの紹介記事\nこれは早く使ってみたいです。\n \nYahooメールがFlex化され、楽天もショッピング用Airを作ったり、DocomoもFlashLite3対応になったりと、世の中かなりAdobe化している。今後もこの流れは続くと思われる。\nそうなるとGoogle検索の仕組みも変わってくるのかも。"}, {title:"Mac Leopard 使ってみたい",link:"http://www.booster-technology.com/archives/2007/10/mac_leopard.html",body: "週末ビックカメラでLeopardの店頭デモを見ました。\n機能もさることながら、UIに重点を置いたというように非常に使いやすそう。\nVistaは全然買う気になれなかったが、Leopardは欲しいと思った。\n \nやはりUIは重要。\nCurlとかFlexとかの登場もあり、WebアプリにおいてもUIを重視する傾向は今後ますます顕著になると思う。\n \nさて早速Leopard購入して、事務所のMacMiniをアップグレードしてみようと思ったのだが、メモリは最低512MB必要で、1GB以上が推奨らしい。\nまずはメモリの増設から始めなければならない。"}, {title:"Docomo 905iでFlashLite3??",link:"http://www.booster-technology.com/archives/2007/10/docomo_905iflashlite3.html",body: "先日出た Docomo 904iシリーズでもまだFlashLiteは1.1。\nいつになったらFlashLite2になるのかなと思っていたら、\n次の905iシリーズで一気にFlashLite3対応になるかも、との記事をどっかでみかけました。\n \n真偽のほどは不明ですが、今後FlashLite2以降を搭載した携帯端末が増えることは間違いない。\nそうなってくると当然携帯向けのFlash開発が増えてくる。\n \n従来のFlashLite1.1ではかなりの制限があるので、開発は避けてきたのですが、今後は携帯向け開発にも重点を置いておくことになるでしょう。"}, {title:"古いバージョンのMySQL",link:"http://www.booster-technology.com/archives/2007/10/mysql.html",body: "MySQL3.23.58の環境が必要になったのですが、MySQLのサイトでは古すぎてもはやダウンロードできない。。\nということであれこれ探していたら見つかった。よかった。\n⇒ softagency\n \n探していて気づいたのですが、なんと既にMySQL6がリリース済み。\n知らんかった。追いつかないと。\n \n※ちなみに副問合せ、UTF-8対応はMySQL4.1から。"}, {title:"Curlセミナーのメモ",link:"http://www.booster-technology.com/archives/2007/10/curl.html",body: "Curlビジネスフォーラム2007(品川)に行って参りました。\nCurlに関する知識ほぼ「0」なのでCurlを知るいい機会だと思って。\n事例紹介がメインでしたが、技術的な話もあったので行ってみてよかったです。\n \nAdobeのAirと比べて何が違うのかな?と思ってお話聞いてました。\n・配布形式(ソース形式で配布なので軽い)\n・ライセンス体系(ユーザ数による)\n・2D、3D、グラフ類のライブラリも普通に入っている\n・日本向けは2003年から\n・実行するにはCurlランタイムがクライアントPCにインストールされている必要があるので、一般向けサイトではなく、企業内の管理システム等で使われている\n・10万件のデータロードのテストで、FlexよりCurlの方がパフォーマンスが良いらしい\n \nざっとこういったところでしょうか。\nまた独自の変換ツールを使って、VB ⇒ Curlへの移行案件が増えているらしい。"}, {title:"Flexでカスタムバリデータ",link:"http://www.booster-technology.com/archives/2007/10/flex_11.html",body: "Flexではデフォルトでいつくかのバリデータが用意されている。\n・EmailValidator\n・PhoneNumberValidator\nなど。\nしかし画面によっては特殊な入力チェックが必要なことは多々ある。\n何とかコードの場合は「数字3桁-数字3桁-数字3桁」で半角ハイフンつなぎであること、とか。\nこういう入力チェックをするには、カスタムバリデータを作らないと対応できないが、すごく簡単に実現できる。\n \n作り方は簡単で、Validator クラスを継承して、doValidationメソッドをoverrideすればOK。\n例)\n[入力コード形式チェック]\n⇒ CodeValidator.as\n\n[URL形式チェック] \n⇒ UrlValidator.as"}, {title:"マインドマップをきちんとやってみる",link:"http://www.booster-technology.com/archives/2007/10/post_54.html",body: "今までマインドマップをきちんと理解しないまま何となく使っており、メリットが明確にわかっていなかったのが正直なところ。\n偶然本屋でトニーブザンの本を見かけたので復習のつもりで読んでみたが、新しい発見ばかりだった。\n \nということで他にも2冊ほど関連本を買って読む。\n一番のミソは、脳はイメージで考えイメージで覚えるということか。\n \nで、やはり手書きがいい。\n色付けて、イラストや図を書いてると単純に楽しいし、記憶に残りやすい。\n小学生のころよく使っていた自由帳を買って来て鞄に忍ばせている。"}, {title:"Google SketchUpを使ってみる",link:"http://www.booster-technology.com/archives/2007/10/google_sketchup.html",body: "Papervision3Dで3次元を試すため、3Dのモデリングツール『Google SketchUp』を使ってdaeファイルを作る。\n \n\n \nファイルをGoogleEarth4形式でエクスポートすれば、そのkmzファイルの中にdaeファイルが含まれているのでそれを食わせる。\nPapervision3D はcollada形式のファイルが読み込めるので、\n \nnew obj:Collada = new Collada( \"house.dae\" );\n \nという感じでColladaオブジェクトができる。\nあとはクルクル回したり、拡大・縮小したりはプログラム次第。\n \nGoogle SketchUp、単純に面白いです。\n部品をカスタムコンポーネントとしておけば、使いまわしができるのもうれしい。"}, {title:"第9回勉強会(AMFPHP)",link:"http://www.booster-technology.com/archives/2007/09/9amfphp.html",body: "■日時\n2007年9月12日(水)16時~18時\n \n■場所\n事務所\n \n■発表者\n土屋 ・・ AMFPHPの紹介、デモ、XMLとのパフォーマンス比較。\n \n■公開資料\nなし"}, {title:"AIRを使ったツールの作成",link:"http://www.booster-technology.com/archives/2007/09/air.html",body: "・AIRを使って何か便利ツールを作ってみたいと思っていた。\n・FlexのフレームワークCairngormのファイル一式を自動生成するツールがほしいと思っていた。\n \nということでCairngormの関連ファイル一式をローカルPCに出力するツールをAIRで作ってみました。\n※AIR SDK + Flex Builder3 \n \nプロジェクト名、クラス名、出力先ディレクトリを指定して「生成」ボタンを押せば、テンプレートに基づいたCairngorm関連ファイル一式が生成されるというシンプルなもの。\n しばらく社内で揉んでみて使えそうなら公開しようと思ってます。"}, {title:"Flex案件が増えてきてます",link:"http://www.booster-technology.com/archives/2007/08/flex_10.html",body: "ありがたいことに、Flex関連のお問い合わせ・依頼が増えてきました。\nFlexというものが認知され、徐々に浸透してきている証拠でしょうか。\n \n今後もRIA・リッチクライアント化の流れは止まることはないでしょうから、さらに増えると見込んでいます。\nそうなった時にも対応できるよう、今のうちにFlex開発を効率化するツールでも作っておこうかな思ってます。AIR(Apollo)で試してみようかな。"}, {title:"Flex案件4つこなせました",link:"http://www.booster-technology.com/archives/2007/08/flex_9.html",body: "「Flexはイケてる」と判断して、積極的にプッシュして早半年。\nお陰様でこの半年で4件のFlex案件をこなすことができました。\n \nただ「Flexはイケてる」とはいえ、やはり弱い面もあり、それも含めて多くのノウハウを蓄積できたのはよかったかなと。\n#大変でしたけど。。\n \nFlashCS3、AIRとまだまだ面白い題材があるので追従していかないといけません。"}, {title:"Flash CS3を早く触りたい",link:"http://www.booster-technology.com/archives/2007/07/flash_cs3.html",body: "Flash CS3の日本語版が出て少し経ちますが、まだ全然さわれておりません。ちょっと流れについていけてないので、がんばって追いつかないと。\n \nさてメリットですが、ActionScript3化したことで、Flexとのやりとりができるらしい。\nFlash CS3で作ったムービークリップをFlex のコンポーネントとして利用できるとのこと。これがうれしいです。\n今までの Flex2 - Flash8の組み合わせではできなかったことが可能になる。さらにApollo改め、Airと絡めればもっと面白いことになりそうです。"}, {title:"便利な便利なfilterFunction",link:"http://www.booster-technology.com/archives/2007/06/filterfunction.html",body: "Flexの ICollectionView に『filterFunction』というプロパティがあって、ArrayCollectionを条件で絞り込む場合にすごく便利。\n絞り込む条件を書いた関数を用意し、filterFunction プロパティにセットし、refreshすればOK。\n \n■filterFunction を定義(例: rate が90以上のデータ)\npublic function stateFilterFunc(item:Object):Boolean {\n return item.rate >= 90;\n}\n \n■filterFunction をセット\ncollection.filterFunction = stateFilterFunc;\ncollection.refresh();\n\n■元に戻す\ncollection.filterFunction = null;\ncollection.refresh();"}, {title:"Flexで埋め込みフォント",link:"http://www.booster-technology.com/archives/2007/05/flex_8.html",body: "Flexでもアンチエイリアスの効いたきれいな文字にしたい!\nヘルプによれば、埋め込みフォントにすれば自動的にアンチエイリアスがかかるとのこと。\n \nFlex2の埋め込みフォントで使用できるのはttfファイルのみ。\nttcだとNGなので、ツールを使ってttcを分解し、ttfファイルを抽出することが必要。\n \nbreakttc というツールを使って、\n> breakttc msgothic.ttc\nで、\nFONT00.TTF ⇒ MSゴシック\nFONT01.TTF ⇒ MS Pゴシック\nFONT02.TTF ⇒ MS UIゴシック\n \nが抽出された。\nこれでFlexに埋め込むことが可能。\n \nただし、普通に埋め込みフォントを使用すると、生成されるswfのファイルサイズが異常に大きくなってしまうので、工夫が必要。\nそこで遅延ロードを行うことでこの問題を回避できそうです。\n(参考)\n⇒ http://d.hatena.ne.jp/sato-shi/20070329/p2\n⇒ http://blogs.adobe.com/aharui/2007/03/embedded_fonts_in_modules.html"}, {title:"Flexで垂直方向の折れ線グラフ",link:"http://www.booster-technology.com/archives/2007/05/flex_7.html",body: "Flexで垂直方向の折れ線グラフを表示したい。\n軸変えるだけでいけそうな気がしていたのですが、それだけではうまくいかず。。\n \nヘルプによると、\n・xField プロパティと yField プロパティを明示的に定義\n・sortOnXField プロパティを false に設定\n \nこれで見事表示されました。\n⇒ サンプル"}, {title:"asdoc使ってみた",link:"http://www.booster-technology.com/archives/2007/04/asdoc.html",body: "Flex2.0.1からasdocがサポートされ、UTF-8対応ということで試してみました。\n \n■環境\n・WindowsXP\n・Flex2.0.1\n \n■準備\nasdoc.exe が格納されているパスを通す。\n \n■コマンド\n> asdoc -source-path . -doc-sources . \n \n■出力文書例\n⇒ サンプル\n \nasdoc/templates に出力用のテンプレートがあるのでそれらの該当部分を修正し、UTF-8で保存しておけば表示部分のカスタマイズは可能。\n \n■感想\n間違いなく使うべし。"}, {title:"Flex2.0.1アップデート",link:"http://www.booster-technology.com/archives/2007/04/flex201.html",body: "こちらにてFlex2.0.1のアップデートファイルが公開されていました。\nかなりのバグが直っているようなので、Flex開発をされている方はアップデートされた方がよいと思います。\n \nまだFlex2になって間もないので、今後しばらくバグ対応のマイナーアップデートは続くと思われます。"}, {title:"イーモバイル使ってみた",link:"http://www.booster-technology.com/archives/2007/04/post_53.html",body: "川崎のヨドバシいって1回線契約してきました。\n \n早速試す。\n1.ドライバをインストールしーの、\n2.カード(D01NE)挿しーの、\n3.接続しーの。\n \n恐る恐る見てみると、\nなんと2MB~3MBくらいの通信速度が常時出ていました。\n通常のページを見るのでしたらなんら違和感はありません。\n \nすばらしいです。\nこれで地下鉄をカバーしてくれたら何もいうことありません。"}, {title:"第8回勉強会(Cairngorm,データプロバイダ,チャート)",link:"http://www.booster-technology.com/archives/2007/04/8cairngorm.html",body: "■日時\n2007年4月6日(金)10時~13時\n \n■場所\n事務所\n \n■発表者\n土屋 ・・ Flexのフレームワーク「Cairngom」の紹介とデモ\n添野 ・・ Flexのコレクションとデータプロバイダについて\n奥村 ・・ Flexのチャーティング機能の仕組みとカスタマイズ\n \n■公開資料\nなし"}, {title:"イーモバイルでユビキタス",link:"http://www.booster-technology.com/archives/2007/04/post_52.html",body: "イーモバイルのD01NE欲しいです。データ通信に特化し、安さと速さを追及。まさに望んでいた形態です。\n今年の6月末までには神奈川エリアもカバーされるようなので問題ないです。\n既に購入済みの方のブログを見ても、評判は結構良いみたいですね。"}, {title:"Flexでタイマー制御",link:"http://www.booster-technology.com/archives/2007/03/flex_6.html",body: "Flexにもタイマーがあって、Timerクラスを使って実現できました。\n \n(1)まずインポート\nimport flash.events.TimerEvent;\nimport flash.utils.Timer;\n \n(2)タイマーを定義\nprivate function startTimer():void{\n //1秒間隔で全5秒のタイマーを定義\n var minuteTimer:Timer = new Timer(1000, 5);\n \n //タイマーイベントに関数を仕込む\n minuteTimer.addEventListener(TimerEvent.TIMER, periodicRequest);\n \n //タイマー終了イベントに関数を仕込む\n minuteTimer.addEventListener(TimerEvent.TIMER_COMPLETE, timerComplete);\n \n //タイマー開始!\n minuteTimer.start();\n}\n \nprivate function periodicRequest(evt:TimerEvent):void{\n Alert.show(evt.target.currentCount);\n}\nprivate function timerComplete(evt:TimerEvent):void{\n Alert.show(\"finished!\");\n}"}, {title:"第2回Ajaxセミナー",link:"http://www.booster-technology.com/archives/2007/03/2ajax.html",body: "本日、株式会社フブキ主催のITセミナー『十歩先行くAJAXセミナー&SEOセミナーVOL.2』にてAjaxとFlexのお話をしてきました。\n \n今回はAjaxの説明の後、\n■Googleブログ検索の演習\n■GoogleMapの作成演習\nを実施。\n \n最後の20分ではFlexの紹介とデモを実施し、最先端を実感してもらいました。\n⇒ Ajaxデモページ\n⇒ Flexデモページ1\n⇒ Flexデモページ2\n \n次回はFlexのセミナーでもしましょうか。"}, {title:"Flexで印刷",link:"http://www.booster-technology.com/archives/2007/03/flex_5.html",body: "PrintJobをラップする『FlexPrintJob』というクラスがあるのでこれを使います。\n-- \nvar my_pj:FlexPrintJob = new FlexPrintJob();\n \nif(my_pj.start()) {\n my_pj.addObject(detail_box, \"showAll\"); \n my_pj.send();\n}\n--\nとすればきちんと1ページに入るサイズに縮小されて印刷された。\n \naddObject の第1引数は印刷したいコンポーネント。\n第2引数がオプション。\nshowAll を指定すれば、縦横サイズを判定し、きちんと1ページに収まるよう合わせて拡大・縮小をしてくれる。"}, {title:"安物買いの銭失い・・",link:"http://www.booster-technology.com/archives/2007/03/post_51.html",body: "昨年、10万円前後のPCを数台購入したのですが、\nこやつらが駄々っ子で。。\n \nOSが正常に起動しないことがある ⇒ メーカー独自のソフトのせい\n液晶画面に変な線が無数に入る ⇒ 液晶の故障\nCD-ROMが読み取れない ⇒ 初期不良\n音が出なくなる ⇒ 内蔵ボードの故障\n \nまぁ、半年の間によくぞここまで不具合が起こるなという感じです。\nパソコンを価格で選んだ結果でしょうか。『今の時代なら安いからといって質が悪いわけではないだろう』という勝手な思い込みがありました。\n当然コストを抑えるために、安いパーツを使って組み立てているわけですから、壊れることを覚悟で格安PCは買うものだなと痛感します。\n \n一方で私のメインマシンのLet\'s Noteは3年くらい使っていてもまるで不具合なし!すばらしい。次もLet\'s Noteを買います。"}, {title:"第1回Ajaxセミナーを開催します。",link:"http://www.booster-technology.com/archives/2007/03/1ajax.html",body: "株式会社フブキ主催のITセミナー『十歩先行くAJAXセミナー&SEOセミナーVOL.1』にてAjaxのお話をすることになりました。\n対象はWebデザイナーさんなどで、まだAjaxに慣れていない方向けの基礎コース。\n \n後半は最新のSEO対策ですので、セットでお楽しみいただけます。\n場所は吉祥寺です。\n是非お越しください!\n\n⇒ セミナーデモページ"}, {title:"Flash デバッグプレーヤーを入れる",link:"http://www.booster-technology.com/archives/2007/03/flash_5.html",body: "Flash Player9 にも関わらず、Flex2 Builderでデバッグがうまくいかないケースがあるが、そんな時は Flashデバッグプレーヤをインストールすれば、ほぼOKのはず。\n \n⇒ Flash デバッグプレーヤ\n私の場合は、Windows環境で、ブラウザはFireFoxを使っているので、『DownloadDownload the Windows Flash Player 9 Plugin content debugger (for Netscape-compatible browsers) 』 をダウンロードして対応した。"}, {title:"Flexでドラッグ&ドロップ",link:"http://www.booster-technology.com/archives/2007/02/flex_4.html",body: "Flexではドラッグ&ドロップを実現する仕組みがあらかじめ用意されているので、それを使います。簡単に書くと、\n \n[ドラッグ側]\n・ドラッグイベントで、DragSourceを作成し、addDataで対象データを格納。\n・DragManager の 『doDrag』メソッドでドラッグを開始。ドラッグするデータや、ドラッグプロキシの透明度を設定。\n※ドラッグ中に表示される画像を「ドラッグプロキシ」というらしい。\n \n[ドロップ側]\n・エリア内に入った時のイベント 『dragEnter』で acceptDragDrop を設定。acceptDragDropをしていないと、ドロップできない。\n・エリア内でドロップされた時のイベント 『dragDrop』で DragSourceからデータを取り出し、追加処理などを行う。"}, {title:"Flexでオンラインショップ",link:"http://www.booster-technology.com/archives/2007/02/flex_3.html",body: "Flexのオンラインショップのサンプルをいじってみました。\nドラッグ&ドロップで買うので、実際に買い物しているイメージ。\n比較したいものは左側のボックスに置いて、後で比較検討が可能。\n \n⇒ オンラインショップサンプル\n \n従来のオンラインショップが使いづらくて仕方なかったのですが、今後このように直感的に買い物ができる仕組みになっていくのではないでしょうか。\n \n※Flash Player 9 がインストールされている必要があります。"}, {title:"第7回勉強会(AS3,Flex,デザインパターン)",link:"http://www.booster-technology.com/archives/2007/02/7as3flex.html",body: "■日時\n2007年2月23日(金)10時~13時\n \n■場所\n事務所\n \n■発表者\n添野 ・・ ActionScript3の特徴\n土屋 ・・ Flexのビューステートとトランジションの使用例\n添野 ・・ デザインパターンを使った実践例\n \n■公開資料\nなし"}, {title:"Apolloとは",link:"http://www.booster-technology.com/archives/2007/02/apollo_1.html",body: "Apolloとはプラットフォームのこと。\nその上で動くアプリケーションがApolloアプリケーション。\n \n似たような形態のものとして\n・JavaVM上で動くJavaアプリケーション\n・Gizmo上で動くGizmoアプリケーション\n \nなど。Apolloの仕組み自体は真新しいものではございません。\nApolloプラットフォームは無料でインストール可能。\nFlex Builderを使ってApolloアプリケーションを作成することになります。\n \n従来では不可能だったローカルファイルが扱えるようになるなど、Apolloアプリケーションでさらに可能性が広がることになると思われます。"}, {title:"デブサミでApollo聞いてきました",link:"http://www.booster-technology.com/archives/2007/02/apollo.html",body: "主な目的はApolloの話を聞くため。\nまだ開発途中ということもあり、はっきりした機能は出ていませんでしたが、概要はつかめました。\n一番大きいのは、ローカルファイルを扱えることでしょうか。\nWebアプリでは、ブラウザの制限で、ローカルファイルを扱うことができませんから。\n\nApolloの実態は何かというと、JavaVMみたいなもので、プラットフォームのこと。これは無料らしい。\nApolloプラットフォームをインストールして、その上で動くApolloアプリを配布。\nユーザはそれをインストールして使うことになる。\n\nApolloアプリの作成は、Flex Builderで可能。\nApolloアプリとしてエクスポートすればOKだそうです。\n簡単ですね。\n\nただ懸念は、ApolloアプリはPCにインストールしないと使えません。\n各サービスごとにApolloアプリが乱立したら面倒で仕方ない気がしますが。。\nと考えるとまだまだブラウザを使ったWebアプリも生き残るでしょうか。\nWebアプリとApolloアプリの住み分けがきちんとされるのかな。"}, {title:"Flex環境を作るには",link:"http://www.booster-technology.com/archives/2007/02/flex_2.html",body: "■Flex Builderの場合\n・jdk1.5 のインストール\n・FLXB_2.0_Win_JPL.exe を普通にインストール\n・FlexBuilder を起動する\n⇒ 問題なくOK。\n \n■SDKの場合\n・flex_sdk_2.zip を解凍し、適した場所に移動。\n例)d:\\flex_sdk_2\n \n・flex_sdk_2_ja.zipを解凍し、上書き移動。\n \n・FCC2_MLP_JPL.zip\nflex_charting_2_installer.exe を実行し、\n \n・SDKをインストールしたフォルダにインストールする。\n例)d:\\flex_sdk_2 \n \n・環境変数pathに設定に追記\nd:\\d:\\flex_sdk_2\\bin\n \n・コンパイルテスト\n例)\n> cd C:\\test\n> mxmlc hello.mxml -output ./bin/hello.swf\n⇒ hello.swfが生成される"}, {title:"Mac miniを修理に出した",link:"http://www.booster-technology.com/archives/2007/02/mac_mini_1.html",body: "ここ1~2週間くらい、昨年購入したMac Miniの調子が悪かった。\n内蔵スピーカーからブチブチという音が聞こえ、音が鳴らなくなってしまう。\nしまいには再起動を促すメッセージが出る。\n \n明らかにおかしいのでサポートに電話。\n丁寧な対応で、集荷に来てくれるとのこと。\n先週金曜日に修理に出して、2日後の日曜日には返ってきた。\n \nロジックボードを交換したとのこと。\nサポート期間内だったので修理費用も無料。\nあまりに早い対応だったので驚きです。\nAppleファンになってしまいました。\niPhone買おうかな。"}, {title:"Flashビデオがいいです",link:"http://www.booster-technology.com/archives/2007/02/flash_4.html",body: "Flashビデオは『flv』という拡張子のファイルを読み込んで再生する。\nそのためにはあらかじめ、動画をflv形式に変換しておく必要あり。\n \nで、3種類の動画で試してみた。\nmov ⇒ OK\nwmv ⇒ OK\nmp4 ⇒ OK\n※QuickTimeインストール済みのPCで実行 \n全く問題なし。\n \nFlash8から「ファイル」「読み込み」「ビデオの読み込み」から入力ファイルを指定し、ウィザードに従えば出来た。\nストリーミング放送なので環境にやさしい。画質もきれい。\nFlashビデオで全く問題ないです。"}, {title:"Flexで円グラフを作成",link:"http://www.booster-technology.com/archives/2007/02/flex_1.html",body: "Flex を使った円グラフのサンプルがあったので中をいじってみました。\n\n■XMLでデータを返すPHPを作成\n■円グラフにクリックイベント(itemClick)を追加し、クリックで分離させる\n■アニメーション(showDataEffect)を追加\n \n※FlashPlayer9が必要です。\n⇒ サンプル"}, {title:"GParted使ってみた",link:"http://www.booster-technology.com/archives/2007/01/gparted.html",body: "開発機(WindowsXPとFedora5のデュアルブート)のCドライブが足らなくなった。すっごい古いPartition Magicなら持ってるけど、WindowsXPには対応していない。\nどうしましょ。\n \nフリーでパーティションを操作できるツールはないか?\nあった。\n⇒ GParted\n \n1.早速ダウンロードして、CDに焼く。\n2.CDを入れてマシンを再起動。\n3.GPartedが起動。\n4.英語で進める。\n5.パーティションが表示されるので「Move/Resize」であちこち動かす。\n6.「Apply」で実行。\n7.しばらく経過して完了し、再起動。\n \n見事にパーティションのリサイズ完了!\n全く問題は発生せず。すばらしいツールでした。"}, {title:"マインドマッピングツール開発",link:"http://www.booster-technology.com/archives/2007/01/post_50.html",body: "■マインドマッピングツール\n※Flash8 + PHP5\nFlashを使ったマインドマッピングツール。\nXML保存ができ、外部APIを利用した検索も可能。\n開発期間:1ヶ月。"}, {title:"デブスタ2007",link:"http://www.booster-technology.com/archives/2007/01/2007.html",body: "デブスタ2007(Developers Summit 2007)というイベントを見つけ、\n早速3セッション申し込みました。\n \nこういうイベントどんどん出ていって、そして自社でプレゼンできるようになりたい。\n上辺の技術だけでなく、どんどん掘っていかないといけません。\n現実的な線では、\n・Javascript\n・ActionScript\n・Apollo関連\n \nとかでしょうか。\nオリジナルのパンチの効いたものを作らないと!"}, {title:"武蔵小杉地域サイト",link:"http://www.booster-technology.com/archives/2007/01/post_49.html",body: "■武蔵小杉地域サイト\n※Linux + Apache + MySQL + MovableType\n武蔵小杉の1000店舗以上を登録した地域サイト。\nGoogle Mapと連動した検索も可能。\n開発期間:3週間。\n \n"}, {title:"第6回勉強会(Flashビデオ,Yacc/Lex,オブジェクト指向)",link:"http://www.booster-technology.com/archives/2007/01/6flashyacclex.html",body: "■日時\n2007年1月26日(金)10時~14時\n \n■場所\n事務所\n \n■発表者\n土屋 ・・ Flashビデオの紹介とデモ\n奥村 ・・ Yacc/Lex の紹介とその応用\n添野 ・・ オブジェクト指向とデザインパターン\n \n■公開資料\nなし"}, {title:"じゃらんAPI使ってみた",link:"http://www.booster-technology.com/archives/2007/01/api.html",body: "『じゃらんWebサービス』にてAPIが公開されており、ユーザ登録すれば、宿・温泉検索が利用可。\n \n早速ユーザ登録して軽く使ってみました。\nレスポンスは意外に早く、リクエストのパラメータは細かく設定できるので、使い勝手はよさそうです。 \n試しに温泉検索機能でも作ってみます。\n \n注)ただし、データ整合性はじゃらんに依存してしまいますし、サービスの安定性の保証もありません。"}, {title:"Flexソリューション",link:"http://www.booster-technology.com/archives/2007/01/flex.html",body: "2006年、Flex2がリリースされ、より気軽にFlexを使えるようになりました。\nメリットは、\n・見た目がきれい\n・操作性がいい\n・fadeなどの視覚効果が格好いい\n・各種グラフも使える\n⇒ また使いたくなる!\n \nさらに2007年リリース予定の『Apollo』アプリケーションとしても利用可能予定です。\n今後はFlexアプリケーション、Apolloアプリケーションが大勢を占めてくると予想しております。\n \n[サンプル]\n※Flash Player 9 がインストールされている必要がございます。\n・グラフ表示サンプル\n・管理画面サンプル\n・Flexでオンラインショップ"}, {title:"Flashソリューション",link:"http://www.booster-technology.com/archives/2007/01/flash_3.html",body: "Flashを単にデザインの部品として使うだけでなく、Actionscriptを使うことでさらに可能性が広がります。 \nAjaxでは苦手な「グラフィカル」な機能に関してはFlashがオススメです。 \n\n[サンプル]\n■Flashビデオ(簡易版)\n\n\n\n\n■キーワードの視覚化(簡易版)\nAC_FL_RunContent = 0;\n\n\n\tif (AC_FL_RunContent == 0) {\n\t\talert(\"このページでは \\\"AC_RunActiveContent.js\\\" が必要です。Flash の [コマンド] メニューから [アクティブ コンテンツ アップデートを適用] を実行して \\\"AC_RunActiveContent.js\\\" を HTML の出力フォルダにコピーします。\");\n\t} else {\n\t\tAC_FL_RunContent(\n\t\t\t\'codebase\', \'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0\',\n\t\t\t\'width\', \'380\',\n\t\t\t\'height\', \'300\',\n\t\t\t\'src\', \'http://www.booster-technology.com/flash/3d/test\',\n\t\t\t\'quality\', \'high\',\n\t\t\t\'pluginspage\', \'http://www.macromedia.com/go/getflashplayer\',\n\t\t\t\'align\', \'middle\',\n\t\t\t\'play\', \'true\',\n\t\t\t\'loop\', \'true\',\n\t\t\t\'scale\', \'showall\',\n\t\t\t\'wmode\', \'window\',\n\t\t\t\'devicefont\', \'false\',\n\t\t\t\'id\', \'typing\',\n\t\t\t\'bgcolor\', \'#ffffff\',\n\t\t\t\'name\', \'menu\',\n\t\t\t\'menu\', \'true\',\n\t\t\t\'allowScriptAccess\',\'sameDomain\',\n\t\t\t\'movie\', \'http://www.booster-technology.com/flash/3d/test\',\n\t\t\t\'salign\', \'\'\n\t\t\t); //end AC code\n\t}\n\n\n\t\n\t\n\t\t\n\t\n\n\n\n■タイピングゲーム(簡易版)\nAC_FL_RunContent = 0;\n\n\n\tif (AC_FL_RunContent == 0) {\n\t\talert(\"このページでは \\\"AC_RunActiveContent.js\\\" が必要です。Flash の [コマンド] メニューから [アクティブ コンテンツ アップデートを適用] を実行して \\\"AC_RunActiveContent.js\\\" を HTML の出力フォルダにコピーします。\");\n\t} else {\n\t\tAC_FL_RunContent(\n\t\t\t\'codebase\', \'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0\',\n\t\t\t\'width\', \'380\',\n\t\t\t\'height\', \'300\',\n\t\t\t\'src\', \'http://www.booster-technology.com/flash/typing/typing\',\n\t\t\t\'quality\', \'high\',\n\t\t\t\'pluginspage\', \'http://www.macromedia.com/go/getflashplayer\',\n\t\t\t\'align\', \'middle\',\n\t\t\t\'play\', \'true\',\n\t\t\t\'loop\', \'true\',\n\t\t\t\'scale\', \'showall\',\n\t\t\t\'wmode\', \'window\',\n\t\t\t\'devicefont\', \'false\',\n\t\t\t\'id\', \'typing\',\n\t\t\t\'bgcolor\', \'#ffffff\',\n\t\t\t\'name\', \'menu\',\n\t\t\t\'menu\', \'true\',\n\t\t\t\'allowScriptAccess\',\'sameDomain\',\n\t\t\t\'movie\', \'http://www.booster-technology.com/flash/typing/typing\',\n\t\t\t\'salign\', \'\'\n\t\t\t); //end AC code\n\t}\n\n\n\t\n\t\n\t\t\n\t\n"}, {title:"育成にも力を入れる",link:"http://www.booster-technology.com/archives/2007/01/post_48.html",body: "2006年は、設立1年目ということもあり、会社を回すことが全ての中心で、\n次に優先していたのがプログラマとしての個人的なレベルアップ。\n \nこの2つが大きく占めていて、まぁまぁうまくいった。\nしかしそれだけではダメだと思った。\nもう1つ必要なのが育成。\n \n育成というと偉そうですが、\n高校生でも大学生でも社会人でもいいから、ウチで何かのきっかけをつかんでもらって、それを踏み台にしてどんどん羽ばたいていってほしい。\nそしていつか一緒に仕事できたら最高。\nそういう育成がしたい。\n \n例えば最初の3週間で基礎を仕込んで、それからは補佐としてスタッフについてもらって修行。自分が納得するまでひたすら修行。\n \nどうですかね、こういうスタイル。\nもっと詳細詰めたら募集をしたいと思ってます。\nもちろんやる気のある人限定です。"}, {title:"Javascriptライブラリ開発",link:"http://www.booster-technology.com/archives/2006/12/javascript_1.html",body: "■Javascript OOPのライブラリ開発\nActiveXコントロールと通信を行うJavascriptライブラリ。\nJavascript OOP(オブジェクト指向)による設計・開発。\nファイルサイズ100KB。\n開発期間:1ヶ月。"}, {title:"FlashLite2.0を使ってみた",link:"http://www.booster-technology.com/archives/2006/12/flashlite20.html",body: "まずFlash Professional 8 用 Flash Lite 2 アップデートをダウンロードしてインストール。\nこれでFlashPro8の「パブリッシュ設定」でFlash lite 2.0が選択できると。\n \n早速テストアプリを作ってみる。\nFlashLite2.0 はFlash7ベースなのでFlashPro8でPC用Flashを作るのとほとんど変わりなく作成可能でした。\nFlashLite1.1に比べると別物です。\nFlashLite1.1はFlash4だそうで、文法からしてかなり違うので、まだ違和感があります。\n \nそれに比べFlashLite2.0は開発しやすい。\nauとSoftBankはFlashLite2.0搭載の機種が出始めておりましたが、\nDocomoの最新903シリーズはFlashLite1.1だそうです。\nDocomoユーザが多いからまだFlashLite1.1で作らないといけないでしょう。\n \nそもそも携帯のFlashPlayerはアップデートは不可能なのだろうか??\nその辺りはまるでわからないので、詳しそうな人に聞いてみます。"}, {title:"正体はFlash Media Server",link:"http://www.booster-technology.com/archives/2006/12/flash_media_server.html",body: "よく『Flash上で会議』とかいう文字列を目にするので、どうやって実現しているんだろう?と気になってました。\n \n答えはFlash Media Server(旧Flash Communication Server)のようです。\n・Flashでチャット\n・Flashで手書き共有\n・Flashで対戦ゲーム\n・FlashでWebカメラ会議\n \nとか可能。\n『マルチユーザー』がキーワードで今後面白そうです。\n※Flex2 Data Service の登場で、さらに面白いことができそうです。"}, {title:"2007年はFlex!",link:"http://www.booster-technology.com/archives/2006/12/2007flex.html",body: "2006年、自分の中ではAjaxが熱かった。\nでは2007年は?\n \n間違いなくFlexになるでしょう。Flex2がリリースされており、すでにライセンスも購入した。\nFlex2 with Charting で10万円くらいだったか。\n#結構高いけど、これでもかなり安くなったらしい。\n \nMXMLというファイルを記述して保存すれば、SWFが自動生成される。\nボタンとかのコンポーネントはドラッグ&ドロップして画面を作っていく。\nFlash8でFlashを作る感覚とは全く異なり、VBの感覚で作れてしまう。\n \n⇒ 衝撃的なサンプルページ\n \n※Flex ⇒ Apollo で大きく変わるかもしれません。それも楽しみです。"}, {title:"DS用ブラウザテスト",link:"http://www.booster-technology.com/archives/2006/12/ds_1.html",body: "DS用ブラウザをもう少しいじってみようと、DS用のテストページを作って軽くいじってみました。\n \n■普通の文字表示\n⇒ 当然OK\n■テーブルの表示\n⇒ NG。なぜ??\n■Javascriptのalert\n⇒ OK\n■Ajax\n⇒ NG。\nAjaxというか、XMLHttpRequestがNGらしい。\nprototype.js を使ってサーバと通信ができない。\n \n■感想\nAjaxもFlashも不可なので動きがあるようなものは作りづらい。\nDS用コンテンツとして何が最適か?\nニュースサイトとか文字中心のサイトなら可能か。でもわざわざDSブラウザでニュース見ないか。。\nちょっと今すぐには用途を思いつきません。\nさてDS用ブラウザで何しましょうか?"}, {title:"脳を鍛える大人のDSトレーニング",link:"http://www.booster-technology.com/archives/2006/12/ds.html",body: "これもちょっと遅いのですが、昨日のブラウザに続き\n『脳を鍛える大人のDSトレーニング』やってみました。\n \n大しておもろないだろと思っていたのですが、面白い!\nお気に入りは、\n■計算100\n簡単な足し算・引き算・掛け算を素早く100問答える\n⇒ そろばんやっていたので得意!でも1~2問は必ず間違えてしまう。。\n \n■単語記憶\n28個の3文字の単語を2分で覚えて、3分以内に書く\n⇒ なかなか思い出せない。。半分くらい。\n右脳使って映像として覚えないと全部思い出すのはきつそう。\n \n \n電源入れればすぐ起動して、手軽にできるのがDSの良いところ。\nそれにタッチペンという入力デバイスはすごくいい。\nウチもDS向けのサイト作ろうかな。\nでもFlash動かないのは痛い。\nもしやわざとFlashは非対応にしたのか?\nFlashでいいものできたら、DS用ソフトが売れなくなっちゃうから??考えすぎか・・"}, {title:"ニンテンドーDS Lite用ブラウザを使ってみる",link:"http://www.booster-technology.com/archives/2006/12/ds_lite.html",body: "ちょっと遅くなりましたが、ニンテンドーDS Liteのブラウザ(Opera)を使ってみました。\n \n■無線LANの設定\nすんなりOK\n \n■閲覧開始\nまずYahooにアクセスしてみたけど、表示が遅い。\nネットワークの問題ではない。\n自分の会社のHPにアクセスみたが、やはり表示は遅い。\nFlashには非対応だそうで、当然表示されない。\n \n■画面サイズ\n横幅は256pxなので崩れて表示される。仕方ない。\n \n■入力\nペンでのタッチ式の入力なので入力しやすいとはいえない。\n名前などの入力欄では、ペンで書いた文字を自動認識してくれるのでそれは良い。\n \n■感想\nもっとサクサク動くと思っていたので残念。\nFlash非対応って、どうなんでしょう。今の新しい携帯ならFlash Lite2.0対応ですから。\n正直、『常時使いたい』と思えるものではなかった。\n次期バージョンに期待!"}, {title:"Flashは誰のもの?",link:"http://www.booster-technology.com/archives/2006/11/flash_2.html",body: "『Flashはデザイナーが使うもの』という認識で、手を出さずにいた(2006年まで)。元々Flashはアニメーション作成のためのもので、使い手も圧倒的にデザイナー・クリエータが多い。\n \nしかし最近は自分の中で変わった。\nActionScriptはJavascriptと同系のプログラム。\nAjaxでは限界のあるビジュアルに強い。\n『プログラマだってFlash使っていいじゃん!』と認識が変わったのです。 \nこれで手を出さない理由がなくなった。\n \n実際、ユーザにとってはAjaxだろうが、Flashだろうが何でもいい。\n要はいいものであることが重要。\n最近はFlex2も出てきて、益々選択肢が広がってます。\nいいものを作るために何が最適か?を考えられる幅をもって広げていきたいのです。"}, {title:"Javascriptは全てオブジェクト",link:"http://www.booster-technology.com/archives/2006/11/javascript.html",body: "Javascriptでは、変数も関数も全てオブジェクトとして扱います。\n \nたとえば、alert() の意味は、\n普通に考えると、引数なしのalert 関数を実行という意味です。 \nしかし実際は、\n『alert オブジェクトに対し、()という演算をしろ』という意味になるんです。\nreturn で関数を指定することも多々あり。\n \nJavascriptという言語は、他の言語と違った特性を持つ面白い言語なのです!"}, {title:"第5回勉強会(Flash、Flex、トモグラフィー)",link:"http://www.booster-technology.com/archives/2006/11/5flashflex.html",body: "■日時\n2006年11月24日(金)10時~13時\n \n■場所\n事務所\n \n■発表者\n土屋 ・・ Flashのフィルター機能・マスク機能・DistortImage の紹介とデモ\n添野 ・・ Flexの紹介とデモ\n奥村 ・・ トモグラフィー その手法の一般社会への適用について\n \n■公開資料\n土屋 ・・ 5_tsuchiya.doc"}, {title:"なんちゃってキーワードビジュアライザー",link:"http://www.booster-technology.com/archives/2006/11/post_47.html",body: "so-netで公開されていたキーワードビジュアライザーのなんちゃって版を作ってみました。\n\n・createEmptyMovieClipeで生成し、キーワードを設定。それを3D的に動かす(3Dにした意味はない・・)\n・クリックすると、そのキーワードでGoogleブログ検索結果を表示\n\nAC_FL_RunContent = 0;\n\n\n\tif (AC_FL_RunContent == 0) {\n\t\talert(\"このページでは \\\"AC_RunActiveContent.js\\\" が必要です。Flash の [コマンド] メニューから [アクティブ コンテンツ アップデートを適用] を実行して \\\"AC_RunActiveContent.js\\\" を HTML の出力フォルダにコピーします。\");\n\t} else {\n\t\tAC_FL_RunContent(\n\t\t\t\'codebase\', \'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0\',\n\t\t\t\'width\', \'380\',\n\t\t\t\'height\', \'300\',\n\t\t\t\'src\', \'http://www.booster-technology.com/flash/3d/test\',\n\t\t\t\'quality\', \'high\',\n\t\t\t\'pluginspage\', \'http://www.macromedia.com/go/getflashplayer\',\n\t\t\t\'align\', \'middle\',\n\t\t\t\'play\', \'true\',\n\t\t\t\'loop\', \'true\',\n\t\t\t\'scale\', \'showall\',\n\t\t\t\'wmode\', \'window\',\n\t\t\t\'devicefont\', \'false\',\n\t\t\t\'id\', \'typing\',\n\t\t\t\'bgcolor\', \'#ffffff\',\n\t\t\t\'name\', \'menu\',\n\t\t\t\'menu\', \'true\',\n\t\t\t\'allowScriptAccess\',\'sameDomain\',\n\t\t\t\'movie\', \'http://www.booster-technology.com/flash/3d/test\',\n\t\t\t\'salign\', \'\'\n\t\t\t); //end AC code\n\t}\n\n\n\t\n\t\n\t\t\n\t\n"}, {title:"Flashを使った円グラフ",link:"http://www.booster-technology.com/archives/2006/11/flash_1.html",body: "Flashを使った円グラフを作ってみました。\n\n・円グラフクラスを作って、drawCircle メソッドを定義\n・中心点、半径等は引き数で渡す\n・外部XMLファイルを読み込んで表示。\nとある日のアクセス解析結果を使用し、ブラウザの割合を表示します。\n\n\n[今後は・・]\n・ドリルダウンしたい\n・好みの色が設定できるようにしたい\n・3D化\n・他のグラフ形式もサポート\n等に対応し、オリジナルのライブラリを作成予定。\n\n\nAC_FL_RunContent = 0;\n\n\n\tif (AC_FL_RunContent == 0) {\n\t\talert(\"このページでは \\\"AC_RunActiveContent.js\\\" が必要です。Flash の [コマンド] メニューから [アクティブ コンテンツ アップデートを適用] を実行して \\\"AC_RunActiveContent.js\\\" を HTML の出力フォルダにコピーします。\");\n\t} else {\n\t\tAC_FL_RunContent(\n\t\t\t\'codebase\', \'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0\',\n\t\t\t\'width\', \'380\',\n\t\t\t\'height\', \'260\',\n\t\t\t\'src\', \'http://www.booster-technology.com/flash/pie/pie\',\n\t\t\t\'quality\', \'high\',\n\t\t\t\'pluginspage\', \'http://www.macromedia.com/go/getflashplayer\',\n\t\t\t\'align\', \'middle\',\n\t\t\t\'play\', \'true\',\n\t\t\t\'loop\', \'true\',\n\t\t\t\'scale\', \'showall\',\n\t\t\t\'wmode\', \'window\',\n\t\t\t\'devicefont\', \'false\',\n\t\t\t\'id\', \'typing\',\n\t\t\t\'bgcolor\', \'#ffffff\',\n\t\t\t\'name\', \'menu\',\n\t\t\t\'menu\', \'true\',\n\t\t\t\'allowScriptAccess\',\'sameDomain\',\n\t\t\t\'movie\', \'http://www.booster-technology.com/flash/pie/pie\',\n\t\t\t\'salign\', \'\'\n\t\t\t); //end AC code\n\t}\n\n\n\t\n\t\n\t\t\n\t\n"}, {title:"Flashを使ったタイピングゲーム",link:"http://www.booster-technology.com/archives/2006/11/flash.html",body: "Flashを使ったタイピングゲームを作ってみました。\n・問題はレベル分けし、外部ファイルとして保存しておく\n・次のステージに進む時に外部ファイルを読み込む\n・配列に格納した問題はシャッフルしておく\n・タイプミスしてもOK!\n\n\nAC_FL_RunContent = 0;\n\n\n\tif (AC_FL_RunContent == 0) {\n\t\talert(\"このページでは \\\"AC_RunActiveContent.js\\\" が必要です。Flash の [コマンド] メニューから [アクティブ コンテンツ アップデートを適用] を実行して \\\"AC_RunActiveContent.js\\\" を HTML の出力フォルダにコピーします。\");\n\t} else {\n\t\tAC_FL_RunContent(\n\t\t\t\'codebase\', \'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0\',\n\t\t\t\'width\', \'380\',\n\t\t\t\'height\', \'300\',\n\t\t\t\'src\', \'http://www.booster-technology.com/flash/typing/typing\',\n\t\t\t\'quality\', \'high\',\n\t\t\t\'pluginspage\', \'http://www.macromedia.com/go/getflashplayer\',\n\t\t\t\'align\', \'middle\',\n\t\t\t\'play\', \'true\',\n\t\t\t\'loop\', \'true\',\n\t\t\t\'scale\', \'showall\',\n\t\t\t\'wmode\', \'window\',\n\t\t\t\'devicefont\', \'false\',\n\t\t\t\'id\', \'typing\',\n\t\t\t\'bgcolor\', \'#ffffff\',\n\t\t\t\'name\', \'menu\',\n\t\t\t\'menu\', \'true\',\n\t\t\t\'allowScriptAccess\',\'sameDomain\',\n\t\t\t\'movie\', \'http://www.booster-technology.com/flash/typing/typing\',\n\t\t\t\'salign\', \'\'\n\t\t\t); //end AC code\n\t}\n\n\n\t\n\t\n\t\t\n\t\n"}, {title:"Flashを使った4択クイズ",link:"http://www.booster-technology.com/archives/2006/11/flash4.html",body: "Flashを使った4択クイズを作ってみました。\n・問題、選択肢、正解は外部ファイルとして保存しておく\n・最初のフレームで外部ファイルを読み込む\n・配列に格納した問題はシャッフルしておく\n・1問でも間違えたら終了\n\n\nAC_FL_RunContent = 0;\n\n\n\tif (AC_FL_RunContent == 0) {\n\t\talert(\"このページでは \\\"AC_RunActiveContent.js\\\" が必要です。Flash の [コマンド] メニューから [アクティブ コンテンツ アップデートを適用] を実行して \\\"AC_RunActiveContent.js\\\" を HTML の出力フォルダにコピーします。\");\n\t} else {\n\t\tAC_FL_RunContent(\n\t\t\t\'codebase\', \'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0\',\n\t\t\t\'width\', \'380\',\n\t\t\t\'height\', \'300\',\n\t\t\t\'src\', \'http://www.booster-technology.com/flash/quiz/quiz\',\n\t\t\t\'quality\', \'high\',\n\t\t\t\'pluginspage\', \'http://www.macromedia.com/go/getflashplayer\',\n\t\t\t\'align\', \'middle\',\n\t\t\t\'play\', \'true\',\n\t\t\t\'loop\', \'true\',\n\t\t\t\'scale\', \'showall\',\n\t\t\t\'wmode\', \'window\',\n\t\t\t\'devicefont\', \'false\',\n\t\t\t\'id\', \'menu\',\n\t\t\t\'bgcolor\', \'#ffffff\',\n\t\t\t\'name\', \'menu\',\n\t\t\t\'menu\', \'true\',\n\t\t\t\'allowScriptAccess\',\'sameDomain\',\n\t\t\t\'movie\', \'http://www.booster-technology.com/flash/quiz/quiz\',\n\t\t\t\'salign\', \'\'\n\t\t\t); //end AC code\n\t}\n\n\n\t\n\t\n\t\t\n\t\n"}, {title:"Flashを使ったRSSテロップ",link:"http://www.booster-technology.com/archives/2006/11/flashrss.html",body: "Flashを使ったテロップを作ってみました。\nただし、それだけだと面白くないので、テロップとして表示するデータはRSSで取得してます。\n(1)cronで定期的にRSS取得処理を実行しておいて、\nFlashが読み込める形式でファイル出力しておく。\n(2)Flash はそのファイルを読み込んでテロップ表示。\n \nという流れです。作りとしては単純ですが、\nこういう小さい部品作ってる時も結構楽しいんです。"}, {title:"Flashを使ったMac風メニュー",link:"http://www.booster-technology.com/archives/2006/10/flashmac.html",body: "Flashを使ってMac風なメニューを作ってみました。\n画像の反射イメージの作成にはルピカロアを使わせていただきました。\n\nAC_FL_RunContent = 0;\n\n\n\tif (AC_FL_RunContent == 0) {\n\t\talert(\"このページでは \\\"AC_RunActiveContent.js\\\" が必要です。Flash の [コマンド] メニューから [アクティブ コンテンツ アップデートを適用] を実行して \\\"AC_RunActiveContent.js\\\" を HTML の出力フォルダにコピーします。\");\n\t} else {\n\t\tAC_FL_RunContent(\n\t\t\t\'codebase\', \'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0\',\n\t\t\t\'width\', \'360\',\n\t\t\t\'height\', \'350\',\n\t\t\t\'src\', \'http://www.booster-technology.com/flash/menu/menu\',\n\t\t\t\'quality\', \'high\',\n\t\t\t\'pluginspage\', \'http://www.macromedia.com/go/getflashplayer\',\n\t\t\t\'align\', \'middle\',\n\t\t\t\'play\', \'true\',\n\t\t\t\'loop\', \'true\',\n\t\t\t\'scale\', \'showall\',\n\t\t\t\'wmode\', \'window\',\n\t\t\t\'devicefont\', \'false\',\n\t\t\t\'id\', \'menu\',\n\t\t\t\'bgcolor\', \'#666666\',\n\t\t\t\'name\', \'menu\',\n\t\t\t\'menu\', \'true\',\n\t\t\t\'allowScriptAccess\',\'sameDomain\',\n\t\t\t\'movie\', \'http://www.booster-technology.com/flash/menu/menu\',\n\t\t\t\'salign\', \'\'\n\t\t\t); //end AC code\n\t}\n\n\n\t\n\t\n\t\t\n\t\n"}, {title:"MySQLでduplicate エラー",link:"http://www.booster-technology.com/archives/2006/10/mysqlduplicate.html",body: "ついさっきまで動いていたプログラムが突如動かなくなる。\nこれほどプログラマが驚くことはありません。\n \n・誰か上書きした?⇒ されてない\n・MySQLが落ちた? ⇒ 動いてる\n・必要な外部ファイルが消えた? ⇒ 存在してる\n \nんー、なぜ?\n範囲を絞っていくと、あるテーブルにinsert する部分で落ちていることが判明。\n \n重複レコードがないにもかかわらず、\nMySQLが重複(duplicate)エラーを返す。。テーブル壊れたか?\n \nそこで、\n# repair table テーブル名\n \nという修復コマンドを実行。\n見事回復!\nしかし焦るな~。定期的にcheck table と repair table をするシェルが必要です。"}, {title:"第4回勉強会(Javascript、ソケット通信、ActionScript)",link:"http://www.booster-technology.com/archives/2006/10/4javascriptactionscript.html",body: "■日時\n2006年10月27日(金)10時~13時\n \n■場所\n事務所\n \n■発表者\n添野 ・・ 続:JavascriptOOPとDOMの解説\n奥村 ・・ Daemonの仕組みとソケット通信\n土屋 ・・ ActionScriptのデモ\n \n■公開資料\nなし"}, {title:"JSONで行こう",link:"http://www.booster-technology.com/archives/2006/10/json.html",body: "Ajaxにおいて、サーバ・クライアント間のデータ形式はXMLが主体でしたが、最近はJSONが多いでしょうか。\n \nJSON(名前はちょっと怖いですが)、便利です。\n■Javascript側から送信\njson.jsを使用すれば、\n \nvar myJSON = {\"data\": [\n {\"lat\": \"38.88\", \"long\": \"139.34\"},\n {\"lat\": \"39.66\", \"long\": \"149.24\"},\n {\"lat\": \"40.88\", \"long\": \"129.34\"}\n ]\n};\nこれを \nmyJSON.toJSONString();\nこれだけでシリアライズしてくれる!\nそれをpostする。\n \n■PHP側で受信\n送信されたPostデータは、stripslashes して取り出す。\n \nJSON.phpを使用すれば、\n$json = new Services_JSON();\n$aaa = $json->decode($value); \n$dataset= $aaa->data;\n \nこれだけでデータを取得できる!\n \n■PHP側からリターン\n$result = array();\n$result[\'return\'] = 0;\n$json = new Services_JSON();\nprint $json->encode($result);\n \n戻り値をセットしてリターン。\n \n■Javascript側で受信\nvar jsontext = originalRequest.responseText;\nvar result = eval(\'(\' + jsontext + \')\');\n$(\'result\').innerHTML = result[\'return\'];\n \nresponseText で取り出して、eval すればOK。\n \n便利。"}, {title:"マラソン専門ドットコムがベンチャーナウに紹介されました",link:"http://www.booster-technology.com/archives/2006/10/post_46.html",body: "弊社にて開発を行った『マラソン専門ドットコム』がベンチャーナウにて紹介されました。\n \n"}, {title:"slider.jsを使ってみる",link:"http://www.booster-technology.com/archives/2006/10/sliderjs.html",body: "script.aculo.us にスライダーというライブラリがあります。\n→ デモ\n \n以前初めて見た時、一目惚れしました。\n何かに使えないかなと思っており、マラソンのゴールタイムの算出とペース計算で実装してみました。\n \nこの例に限らず、生年月日とかユーザに数値などを選択してもらうような場面で使えると思います。セレクトボックスより便利かなと。\n \n注)テーブルタグの中にスライダーを記述した場合、IE6では動作しませんでした。"}, {title:"GPolylineで線を描く",link:"http://www.booster-technology.com/archives/2006/10/gpolyline.html",body: "GoogleMap のAPIに『GPolyline』という強力なクラスが存在します。\n \n例)new GPolyline(points, \"#FF0000\", 5, 0.6)\n第1引数 ・・・ 地点を格納した配列\n第2引数 ・・・ 線の色\n第3引数 ・・・ 線の太さ\n第4引数 ・・・ 線の透明度(1に近づくほど、濃くなる)\n \n結びたい地点を配列に格納しておいて、\nこれをかませれば見事に線で結ばれます。便利です。"}, {title:"XGLを使ってみる",link:"http://www.booster-technology.com/archives/2006/10/xgl.html",body: "噂のlinux用デスクトップ環境、『XGL』を使ってみたい!\nということでまずはグラフィックカードを選ぶ。\nこちらに動作確認されているリストがあるのでこれを参考にします。\nGFX5200が5,000円を切っているので、それで決定。\n \nしかし普通だとFedora Core5にはXGLはNGっぽいのですが、\nこちらで方法が紹介されておりました。\n \n結構苦労しましたが、なんとか動作を確認。\n動いたときは感動したのですが、グラフィックカードのメモリが128MBのせいか、動きが悪い・・せっかく入れたのに。。\n \nちなみにFedora ではAIGLXに対応するそうです。\nこちらも早く触ってみたいと思います。"}, {title:"FisheyeListを使ってみる",link:"http://www.booster-technology.com/archives/2006/10/fisheyelist.html",body: "Javascriptのライブラリ『dojo』の中の『FisheyeList』を使ってみました。\n⇒ デモ\nMacっぽいインターフェースになってインパクトが強い。\n \nしかし、重い。。\n起動に時間かかるし、CPUの負荷もかなりあるのでこのままでは使い物になりません。\n \nということでFlashで自作しました。\n\nAC_FL_RunContent = 0;\n\n\n\n\tif (AC_FL_RunContent == 0) {\n\t\talert(\"このページでは \\\"AC_RunActiveContent.js\\\" が必要です。Flash の [コマンド] メニューから [アクティブ コンテンツ アップデートを適用] を実行して \\\"AC_RunActiveContent.js\\\" を HTML の出力フォルダにコピーします。\");\n\t} else {\n\t\tAC_FL_RunContent(\n\t\t\t\'codebase\', \'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0\',\n\t\t\t\'width\', \'380\',\n\t\t\t\'height\', \'110\',\n\t\t\t\'src\', \'http://www.booster-technology.com/006_04\',\n\t\t\t\'quality\', \'high\',\n\t\t\t\'pluginspage\', \'http://www.macromedia.com/go/getflashplayer\',\n\t\t\t\'align\', \'middle\',\n\t\t\t\'play\', \'true\',\n\t\t\t\'loop\', \'true\',\n\t\t\t\'scale\', \'showall\',\n\t\t\t\'wmode\', \'window\',\n\t\t\t\'devicefont\', \'false\',\n\t\t\t\'id\', \'006_04\',\n\t\t\t\'bgcolor\', \'#ffffff\',\n\t\t\t\'name\', \'006_04\',\n\t\t\t\'menu\', \'true\',\n\t\t\t\'allowScriptAccess\',\'sameDomain\',\n\t\t\t\'movie\', \'http://www.booster-technology.com/006_04\',\n\t\t\t\'salign\', \'\'\n\t\t\t); //end AC code\n\t}\n\n\n\t\n\t\n\t\t\n\t\n\n"}, {title:"GoogleMapを使って距離算出",link:"http://www.booster-technology.com/archives/2006/10/googlemap.html",body: "マラソン専門ドットコムにてGoogleMapを使ったサービスを追加しました。\n \nクリックした地点を配列に格納していって、地点間の距離を算出して表示するというものです。ジョギングコースの距離の算出とかに便利かなと。\n \n実はいじってるだけでも結構楽しいんです。\n「渋谷からウチって直線距離では9キロくらいなんだ」とか、\n「札幌から那覇まで直線だと2200キロくらいか」とか。\n \nGoogleMapに感謝です。"}, {title:"第3回勉強会(CSS、GoogleMap)",link:"http://www.booster-technology.com/archives/2006/10/3cssgooglemap.html",body: "■日時\n2006年10月2日(月) 10時~12時\n \n■場所\n事務所\n \n■発表者\n添野 ・・ DOCTYPEとDOCTYPEスイッチなどCSS関連\n土屋 ・・ GoogleMapを使った検索システムのデモと内部説明\n \n■公開資料\nなし"}, {title:"PinGoo!様",link:"http://www.booster-technology.com/archives/2006/09/pingoo.html",body: "■PinGoo!\n※Linux + Apache + MySQL + PHP\n更新Pingを受け付け、登録されたPingサイトに更新Pingを一括配信。\n管理画面開発込み。マイページなど機能追加を含めリニューアル。\n開発期間:1ヶ月。\n \n\n"}, {title:"Apache の由来",link:"http://www.booster-technology.com/archives/2006/09/apache.html",body: "『WebサーバといえばApache』というほど定着しているApache。\nその名前の由来は何だろうか。\n \n開発当初、つぎはぎだらけ(patchy)のシステムだったことから\n「a pachy」→「apache」となったといわれている。\n \nまた北アメリカの先住民の部族の総称を『アパッチ(Apache)』ということから名付けられた可能性もある。\n \nちなみに漫画『キン肉マン』に出てくるジェロニモの技『アパッチの雄たけび』はこの民族名から来ている模様。"}, {title:"郵便番号データベース",link:"http://www.booster-technology.com/archives/2006/09/post_45.html",body: "\n \n 名前\n 郵便番号データベース\n \n \n 形式\n BerkleyDB(DB_File)形式\n \n \n 説明\n \n ゆうびんホームページで公開されている「ken_all.csv」をAjaxで使えるようにBerkleyDBに変換したもの。\n \n \n \n \n ダウンロード\n \n ken_all.db(Linux 用)\n ken_all.db(FreeBSD 用)\n \n ※常時最新版をアップ予定。\n 履歴・差分についてはゆうびんホームページを参照願います。\n \n \n"}, {title:"携帯サイトの開発もやってますか?",link:"http://www.booster-technology.com/archives/2006/09/post_44.html",body: "■ご回答\n携帯各社のブラウザ規格が異なる問題で、現在は携帯サイトの開発は停止させていただいております。\n \nただし、『Flash Lite2.0』を搭載した携帯端末が出回るようになれば、Flashを使った携帯サイトの開発を受注させていただきたいと考えております。\n何卒ご了承ください。"}, {title:"『全部無料でつくる行列のできるブログ』に掲載されました",link:"http://www.booster-technology.com/archives/2006/09/post_43.html",body: "弊社にて開発を行った『PinGoo!』が書籍『全部無料でつくる行列のできるブログ』にて掲載されました。\n \n"}, {title:"C言語はもう古い?",link:"http://www.booster-technology.com/archives/2006/09/c.html",body: "SEの新人研修ではC言語を扱う会社が多かったのですが、今ではJavaも相当多くなっているそうです。\n \nオブジェクト指向という時代の流れでしょうが、決してC言語が廃れてるわけではありません。\n私たちが普段お世話になっているMySQLやPHPはC言語で出来ているのです。『C言語はもう古い』なんていったらバチがあたります!"}, {title:"移行は大変",link:"http://www.booster-technology.com/archives/2006/09/post_42.html",body: "この1ヶ月くらいの間にシステム移行の案件が2件ありました。\n現行システムを新サーバへ丸ごと移すというものです。\n一般的なイメージでは、\n「移行なんてコピーすれば終わりでしょ」という感覚でしょうが、そうではない場合が多いのです。\n \n一般的なLAMP環境でもそう簡単にはいきません。\nMySQLのバージョン、PHPのバージョン、PHPのコンパイルオプション、PHPのPearライブラリ等々。\n \n一通り確認してPHPにGDが入ってなかったとか、まず動かないと思っていた方がよいでしょう。\n移行をナメたらいけません。相当量の作業コスト・時間がかかりますから!"}, {title:"アイデアbox設置",link:"http://www.booster-technology.com/archives/2006/09/box.html",body: "やっぱりアイデア、独創性が大事なんです!\nいいアイデアが思いついたと思っても、考え直しているうちに「やっぱダメだ」と思って自分で勝手に潰してしまうことが結構多いと思うんです。\n \nそれって非常にもったいない。\n他人に伝えることで、感化されて何かが生まれる可能性があるんですから。\n \nということで社内にアイデアboxを設置。\n・各自がアイデアをどんどん紙に書いて放り込んでいく。\n・自分で勝手に良い悪いの判定はしない。\n・ひたすら書く。\n・ひたすら放り込む。\n・そして定期的に品評会を実施。\n \nさぁさぁ、どんなものが生まれるでしょうか。↓\n我ながらこのしょぼさが好きです。\nいいんです、これで!大切なのは中身ですから!\n"}, {title:"第2回勉強会(PHP、MySQL)",link:"http://www.booster-technology.com/archives/2006/09/2phpmysql.html",body: "■日時\n2006年9月1日(金) 15時~17時\n \n■場所\n事務所\n \n■発表者\n添野 ・・ PHPのWebアプリ自動生成ツールの作成とデモ\n土屋 ・・ MySQLの全文検索の紹介とデモ\n \n■公開資料\n土屋 ・・ MySQL-PHP.ppt"}, {title:"さびれた町にITが何をできるか?",link:"http://www.booster-technology.com/archives/2006/08/it.html",body: "先日、お盆の前に久々に帰省。駅を降りてびっくり。\n駅前のJUSCOが閉鎖され、駅前通りはシャッター街と化していました。。 \n元々活気のある街ではありませんでしたが、あそこまでさびれると悲しくなります。\n \n自分が育った町に対して何かできないか?と思い、数年ぶりに会った友達にも話してみたのですが「何ができんの?」と一蹴。\nそりゃそうですね。\n \nいくつか案はあったのですが、パソコン普及率・インターネット開設率の悪さ、高年齢化もあり、ITで何かをしようというのは現実的に無理。\n発想を変えなきゃいけませんね。\nお盆で帰省し、非常に大きな宿題を持って帰りました。。"}, {title:"MySQL特集その3 全文検索測定",link:"http://www.booster-technology.com/archives/2006/08/mysql3.html",body: "mecab,sennaとインストールが済んだので今度はMySQLをソースからインストールします。\n \n> tar zxf mysql-5.0.24.tar.gz \n> cd mysql-5.0.24\n> patch -p1 \n> patch -p1 \n> autoconf\n> CFLAGS=\"-O3 -mpentiumpro\" CXX=gcc CXXFLAGS=\"-O3 -mpentiumpro -felide-constructors -fno-exceptions -fno-rtti -I/usr/include -L/usr/lib\" ./configure --with-senna --prefix=/usr --with-charset=utf8 --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --enable-assembler --disable-shared --with-client-ldflags=-all-static --with-mysqld-ldflags=-all-static --with-big-tables --without-readline\n> make \n> make install\n \n※必ずsenna のパッチをあてる\n※configure のオプションが重要\n \n> ./scripts/mysql_install_db --user=mysql\n> chown -R mysql.mysql /usr/var\n> chmod 755 /usr/var\n> cp support-files/my-medium.cnf /etc/my.cnf\n> /usr/bin/mysqld_safe --user=mysql &\n \nさぁ、いよいよテストデータを入れて違いを見てみましょう。\n以下簡単なテスト結果を記載します。ご参考までに。\n \n[100万件の場合]\n☆select count(*) from update_ping\n where blog_title like \'%ジダン%\'\n or entry_title like \'%ジダン%\'\n or body like \'%ジダン%\';\n→ 2.3秒\n \n☆SELECT count(*) FROM update_ping\n WHERE MATCH (blog_title, entry_title, body)\n AGAINST (\'ジダン\');\n→ 0.06秒!\n \n[1000万件の場合]\n☆select count(*) as count from update_ping\n where blog_title like \'%ジダン%\'\n or entry_title like \'%ジダン%\'\n or body like \'%ジダン%\';\n→ 43秒\n \n☆SELECT count(*) FROM update_ping\n WHERE MATCH (blog_title, entry_title, body)\n AGAINST (\'ジダン\');\n→ 0.6~0.7秒!\n \n恐るべし全文検索の威力。。\n1000万件クラスのデータで、検索機能をつけるのならlike検索では実用に耐えないので全文検索がオススメです。\n \nちなみにマシンはウチのテスト用PCです。\n■OS・・Fedora Core5\n■メモリ・・512MB\n■CPU ・・インテル Celeron Dプロセッサ 326(256KB L2キャッシュ/2.53GHz/533MHz FSB)"}, {title:"MySQL特集その2 sennaを組み込む",link:"http://www.booster-technology.com/archives/2006/08/mysql2_senna.html",body: "Sennaは、MySQLに組み込むことで全文検索機能を強化してくれる全文検索エンジンです。\n \nmecab + senna + mysql で強力な全文検索データベースが可能になる。\nデータ件数が数百万件で、like検索では遅い!という場合には検討した方が良いと思います。\n \n(1)sennaをダウンロードしてインストール\nwget http://dev.razil.jp/archive/senna/senna-latest-svn.tar.gz\ntar xvfz senna-latest-svn.tar.gz\ncd senna\n./configure --prefix=/usr\nmake\nmake install \n※make に5分くらいはかかる。 \n \n(2)sennaの設定とログ\nmkdir /var/senna\nmkdir /var/senna/log\nvi /var/senna/senna.conf\nで「DEFAULT_ENCODING utf8」を設定。\n \nmecab、sennaのインストールが終わったので、次がMySQLのインストールです。"}, {title:"MySQL特集その1 mecabで分かち書き",link:"http://www.booster-technology.com/archives/2006/08/mysql1_mecab.html",body: "MySQLには全文検索という機能があるが、\n日本語では検索できない。\n \n英語の文章は単語間がスペースで区切られているが、日本語文章だとプログラムで区切りを判別できないため。\n \n・I have a dream.\n→ スペース区切りなので区切りは明白\n・私には夢があります。\n→ どこが区切りかプログラムにはわからない・・\n \nそこでそれを補うのが、Mecab。\n(1)mecabをダウンロードしてインストール。\n./configure --prefix=/usr --with-charset=utf8\nmake\nmake install\n \n(2)mecab 用の辞書をダウンロードしてインストール\n./configure --prefix=/usr --with-charset=utf8\nmake\nmake install\n \n(3)mecabを起動して、試す。\n# mecab\n私には夢があります。\n私 名詞,代名詞,一般,*,*,*,私,ワタシ,ワタシ\nに 助詞,格助詞,一般,*,*,*,に,ニ,ニ\nは 助詞,係助詞,*,*,*,*,は,ハ,ワ\n夢 名詞,一般,*,*,*,*,夢,ユメ,ユメ\nが 助詞,格助詞,一般,*,*,*,が,ガ,ガ\nあり 動詞,自立,*,*,五段・ラ行,連用形,ある,アリ,アリ\nます 助動詞,*,*,*,特殊・マス,基本形,ます,マス,マス\n。 記号,句点,*,*,*,*,。,。,。\nEOS\n \nおお、すばらしい。\n見事に区切ってくれます!"}, {title:"Fedora Core5 を入れてみる",link:"http://www.booster-technology.com/archives/2006/08/fedora_core5.html",body: "新しく買ったマウスコンピュータのPCにFedora Core5を入れてみました。\nCDイメージだと5枚も必要なので、迷わずDVDイメージを作成。3.1GB。\n \n#Redhat社が一般向けの提供を止めちゃったんで、\n#Fedora Projectが引き継いだとのこと。\n \nインストールは問題なく終了。\nOSも無事に起動できました。\nこれでテスト環境が整ったので、まずはMySQLの実験を色々してみようと思います。"}, {title:"マウスコンピュータのPC",link:"http://www.booster-technology.com/archives/2006/08/pc.html",body: "テスト用にガチャガチャいじれるマシンが1台ほしいと。\n調べてみるとマウスコンピュータのPCが安くてスペックも良い。\n \n・メモリ 512MB\n・HDD 80GB\nで4万円を切っております。\n※ディスプレイなし\n※OSなし\n→ HP\n \nほぼ即決。送料入れても42,000円くらいでした。\nネット上ではちょっと悪い評判も目にしましたが、ま、あまり気にせずに使ってみましょう。\nOSにはFedora Core5 でも入れてみます。"}, {title:"Six Apart社の由来",link:"http://www.booster-technology.com/archives/2006/08/six_apart.html",body: "MovableTypeを販売しているのはSix Apart社。\n社名の由来ですが、\n開発者と奥さんの誕生日が6日違いだったことから『Six Apart』となったことは有名はお話です。\n \n元々MovableTypeという素晴らしい製品ができたのは、開発者の奥さんの一言がきっかけだったそうです。そこからヒントを得て、旦那ががんばったという経緯です。"}, {title:"Googleのサーバ台数",link:"http://www.booster-technology.com/archives/2006/08/google_2.html",body: "毎日使っているといっても過言ではないGoogleの検索サービス。\nいったい何台のサーバを使えば、あれほどのパフォーマンスが出るのか?\n \n答えは想像を絶する『1万台超』。なお増え続けているそうです。\nメンテナンスにあたっているSEの方の苦労をお察しします。\n一度でよいのでそのサーバルームを見学してみたいものです。"}, {title:"コールバック関数とは",link:"http://www.booster-technology.com/archives/2006/08/post_41.html",body: "コールバック関数とは相手に呼び出してもらう関数のこと。\n書いててもよくわからないので、具体例で見てみましょう。\n \n以下、prototype.js を作った普通のAjaxのリクエスト。\nnew Ajax.Request( \'ajax/ping.php\',\n             {method: \'get\', onComplete: show_result });\n \nこの場合、onComplete で指定しているものがそれです。\nshow_result というfunction がコールバック関数にあたります。\nリクエスト処理終了後に実行される関数です。\n \n以上、ただの用語の解説でした。"}, {title:"SEO対策ってやってますか?",link:"http://www.booster-technology.com/archives/2006/08/seo.html",body: "■ご回答\nSEO対策と一口にいっても、対策手段はたくさんございます。\n・キーワードの選定\n・ページレイアウトの考慮\n・サイト構成\n・同業他社\n \nなどなど考慮が必要で、決して簡単にできるものではございません。\n広告予算に含めて予算を考慮していただく必要がございます。"}, {title:"like検索とregexp検索どっちが速い?",link:"http://www.booster-technology.com/archives/2006/08/likeregexp.html",body: "MySQLにおいて、like検索とregexp検索どっちが速いのか?\nという素朴な疑問を抱き、100万件のテストデータを作って軽く試してみました。\n \n■マシン\nOS:WindowsXP Pro\nCPU:1.1GHz\nメモリ:512MB\nMySQL:4.0.18\n \n■テストデータ\n100万件\n \n■テストSQLと結果\n(1)\nselect count(*) from update_ping\n where blog_title REGEXP \'.ジダン|.フランス\'\n or entry_title REGEXP \'.ジダン|.フランス\'\n or body REGEXP \'.ジダン|.フランス\';\n \n→ 30秒前後\n \n(2)\nselect count(*) from update_ping\n where blog_title like \'%ジダン%\' or \'%フランス%\'\n or entry_title like \'%ジダン%\' or \'%フランス%\'\n or body like \'%ジダン%\' or \'%フランス%\';\n \n→ 6秒前後\n \nこのケースだとlike検索の方が圧倒的に速い結果が出ました。\n感覚的には正規表現を使ったregexp検索の方が速いのかな、と思っていただけに興味深い結果となりました。"}, {title:"Firefoxがメモリ大量消費",link:"http://www.booster-technology.com/archives/2006/08/firefox.html",body: "私のメインマシンは、WindowsXP Pro + Firefox1.5 です。\n最近ブラウザがよく落ち、OSがフリーズすることもしばしば。\n先日、メモリ使用状況を見てみると、Firefoxだけで300MBくらい使っていました。。\n \nFirefoxは使えるメモリはがんがん使う仕様のようです。\n恐ろしい仕様です。 \n \nということで最近はOpera9を使い始めました。\nまだ使い始めて数日ですが、結構気に入っています。"}, {title:"ソーシャルブックマークを作りました。",link:"http://www.booster-technology.com/archives/2006/08/post_40.html",body: "以前から会社メンバー用にソーシャルブックマークを使っていたのですが、内部で閉じる必要もないので公開してみました。\n \nscuttle というオープンソースを日本語化し、デザインを軽く変えただけです。\nタグ機能とか便利ですし、なによりメンバー間で共有できるのが最大のメリット。\n設置も簡単ですのでオススメです。"}, {title:"Web専用ソーシャルブックマーク",link:"http://www.booster-technology.com/archives/2006/08/web_2.html",body: "■IT専用ソーシャルブックマーク\n※Linux + Apache + MySQL + Scuttle\nオープンソース「Scuttle」を日本語化したソーシャルブックマーク。\n開発期間:1日。\n \n\n"}, {title:"第1回社内勉強会",link:"http://www.booster-technology.com/archives/2006/07/1.html",body: "昨日7/28(金)に第1回社内勉強会を実施。\n各人がお題を決め、発表しあう場。\nさらなる技術力向上を目的とす。\n \n発表されたお題は、\n■Javascript\n■Ajax\n■Ruby on Rails\n \nどれも興味深い内容でした。\nRuby on Rails に関しては初めてだったので新鮮でしたが、『これってどうなん?』という疑問が残ったのは確か。\nPHP+Mojavi と比べて、劇的に違うわけでもなく、乗り換える必要性を感じなかったのが正直なところ。\n#発表者には申し訳なかったが・・\n \nとはいえRubyの動向は気になるので、アンテナを張っていくことで落ち着きました。\n次回は8月末を予定。"}, {title:"第1回勉強会(Javascript、Ajax、Ruby)",link:"http://www.booster-technology.com/archives/2006/07/1javascriptajaxruby.html",body: "■日時\n2006年7月28日(金)19時~21時\n \n■場所\n事務所\n \n■発表者\n添野 ・・ JavascriptでOOP\n土屋 ・・ Javascriptの各種ライブラリの紹介とAjaxデモ\n奥村 ・・ Rubyの紹介とデモ\n \n■公開資料\nなし"}, {title:"Realtime validationを試してみる",link:"http://www.booster-technology.com/archives/2006/07/realtime_validation.html",body: "『Realtime validation using Ajax』というものをたまたま見つけました。\n \nいじってみます。 → デモ\n入力した瞬間にチェックしてくれるので、非常に使い勝手が良いですね。\n\n早速ウチの問い合わせフォームにも取り入れてみました。 \ntextarea にも対応させるため、validate.js の275行目を\nif(el.type==\'text\') {\n → \nif(el.type==\'text\' || el.type==\'textarea\') {\n \nとしております。"}, {title:"Spawエディターを試してみる",link:"http://www.booster-technology.com/archives/2006/07/spaw.html",body: "PHP上で使えるWYSIWYGエディターってないかな?と探していて見つけたのが『Spaw』。\n \nWordPress などで使われているエディターです。\nデモモジュールが入っていたので、それを使って軽くいじってみました。\nIE6とFireFox1.5では動作確認済みです。→ デモ\n \nデザインモードの場合、その入力値は「SPAW_getHtmlValue」という関数で取得できました。"}, {title:"オンラインショップを作りたいんですけど",link:"http://www.booster-technology.com/archives/2006/07/post_39.html",body: "■ご回答\n費用をかけずにお試しで出店したいのであれば、おちゃのこネットなど安価に試せるサービスを利用するのが得策かと思われます。\n \nしかし独自のオンラインショップをもちたいのであれば、osCommerce や ZenCartのようなオープンソースがオススメです。機能的なカスタマイズも可能です。"}, {title:"Ajax.Request ではまる",link:"http://www.booster-technology.com/archives/2006/07/ajaxrequest.html",body: "new PeriodicalExecuter(\n function () {\n new Ajax.Request(\n url, { method: \'get\', onComplete:show_ping}) }\n , 5);\n \nというようなコードで、定期的に表を更新するようなプログラムを書いた。\n当方では、FirefoxでもIEでも動作確認が取れたいたが、クライアントから「定期更新されない!」とご指摘をいただく。\n \nなぜか?\nIEのキャッシュの設定で「自動的に確認する」が選択されていると、定期更新されないことが判明。\n \n対応策を練ること3時間。。\nAjax.Requestをgetメソッドで複数回呼ぶ時、同じクエリストだとキャッシュを見てしまう模様。\nよってメソッドを「post」に変更してみる。\n \n解決。get → post にするだけで解決でした。\nこれって常識なのでしょうか?もしそうならお恥ずかしい限りです。。がんばります。"}, {title:"script.aculo.us をまた使ってみる",link:"http://www.booster-technology.com/archives/2006/07/scriptaculous_1.html",body: "Javascriptのライブラリ、『script.aculo.us』をまた使ってみました。\n \nまたドラッグ&ドロップでソートができるものです。これもそのまま流用させていただきました。→ デモ\n(IE6、FireFox1.5にて動作確認済み。)\n \nSortable.sequence(\"list\") でカンマ区切りの並び順が取得できます。"}, {title:"Nintendo DS 欲しい",link:"http://www.booster-technology.com/archives/2006/07/nintendo_ds.html",body: "Nintendo DS、イケてます。\nそろそろDS対応のOperaブラウザが発売されますし、ワンセグでテレビも見られる!\nすごい。。欲しくなってしまいました。\n \nあのサイズの端末でインターネットが不自由なくできたら、さぞ便利でしょう。今後の機能拡張も楽しみです。"}, {title:"Flash / JavaScript Integration Kitを使ってみる",link:"http://www.booster-technology.com/archives/2006/07/flash_javascript_integration_k.html",body: "先日紹介した『Flash / JavaScript Integration Kit』を使って簡単なサンプルを作ってみます。\n\n下段の「送信」ボタンからFlash内の関数を呼んで、Flash内のメッセージエリアに文言を表示することができました。表示する文言は引数として渡しています。\nいい感じじゃないですか。\n\n\n\n\n\n\n\n\n↑↑↑ Flash ↑↑↑\n\n↓↓↓ Javascript↓↓↓\n\n\n\n(注意)\n※JavaScriptProxy.as と JavaScriptSerializer.as は「UTF-8(BOM付き)」で保存しなおす。\n※JavaScriptFlashGateway.js の249行目のescape を encodeURI に修正。"}, {title:"script.aculo.us を使ってみる",link:"http://www.booster-technology.com/archives/2006/07/scriptaculous.html",body: "Javascriptのライブラリ、『script.aculo.us』を使ってみました。\n \n画像のドラッグ&ドロップでソートができるデモが非常に印象深かったので、そのまま流用して作ってみます。→ デモ\n(FireFox1.5にて動作確認済み。IE6でも動くように対応済み。)\n \n当然のようにソート順も取得できるので、非常に便利。\n使い道が広そうです。\n \n-- 補足 --\nデモ環境そのままのソースだとIE6でエラーが発生。\nSortable.create の部分で tag:\'img\' が原因。\nここをデフォルトの「li」にし、ソート対象のタグも「li」にすることでIEでも動くようになった。"}, {title:"Javascript ⇔ Flash",link:"http://www.booster-technology.com/archives/2006/07/javascript_flash.html",body: "『Flash / JavaScript Integration Kit』\nJavaScript と Flash 間でデータのやり取りや、関数を呼べるライブラリ。\n \nすごいですね。\nよくAjaxとFlashの比較がされますが、両者のメリットのいいとこ取りをすることにしましょう。グラフの描画とかは素直にFlashを使えばいいですし。\n上記ライブラリを使えば、さらに可能性が広がります。\n楽しくなってきました。"}, {title:"緯度、経度の取得",link:"http://www.booster-technology.com/archives/2006/07/post_38.html",body: "「住所から緯度・経度を取得したい。」\nそんなAPIを提供しているサービスがないかな、と探していたら見事ありました。\n \n『Geocoding』\n \nすばらしいです。\n感動しました。\n \nPHPで実装方法すると、\n1.DB中のテーブルから住所を取得し、\n2.UTF-8でurlencode してHTTP_Request でアクセス。\n3.getResponseBody でXMLが返ってくるので、それを解析して、緯度・経度を取得。\n \nといった流れでしょうか。\nこういった良質のサービスを運営されている方には頭が下がります。\nありがたく使わせていただきます。"}, {title:"SNSを作りたいのですが",link:"http://www.booster-technology.com/archives/2006/07/sns_1.html",body: "■ご回答\n気軽にSNSを試したいのであればso-netの無料SNSを利用するのが得策かと思われます。\n \nしかし独自のSNSをもちたいのであれば、OpenPNEのようなオープンソースがオススメです。機能的なカスタマイズも可能です。"}, {title:"Ajax Pagesを使ってみる",link:"http://www.booster-technology.com/archives/2006/06/ajax_pages.html",body: "Javascript でinnerHTMLをする時、デザイン部分(h2タグとかulタグとか)を書きたくない。分離したいのが普通。\nそこでJavaScript のテンプレートエンジンを探していて辿り着いたのが『Ajax Pages』。デモで使用されていたのが、ver0.51なのでそちらを利用。\n \nテスト用Javascript\n-- ↓ --\nfunction test() {\n\tvar outputArea = document.getElementById(\"test1\");\n\tvar ajp = new AjaxPages();\n\tajp.addPage(\"hello.ajp\");\n\tajp.onload = function() {\n\t\toutputArea.innerHTML = ajp.process(\"hello.ajp\", {hello:\"ああああああ\"});\n\t}\n\tajp.loadPages();\n}\n-- ↑ --\n \nテスト用テンプレート hello.ajp\n-- ↓ --\n<h2><%=context.hello%></h2>\ntest<br />\ntest<br />\n-- ↑ --\nこれだけ。テストページはこちら。\n出力部分を修正したい場合は、テンプレートを修正すればOK。\n便利ですね。"}, {title:"HPの右列をデモ欄に",link:"http://www.booster-technology.com/archives/2006/06/hp.html",body: "ウチのHPの右列をデモ欄として活用しようと思っております。\n現在2006/6/27時点では、Ajaxの郵便番号検索とページングのサンプルを掲載中。\n \n『Ajaxで何ができるの?』という疑問は強いでしょうから、どんどん身近な例を出して行こうかと。Ajaxだけでなく、JavascriptとかFlashとかのデモも掲載予定です。"}, {title:"気になるRuby",link:"http://www.booster-technology.com/archives/2006/06/ruby.html",body: "Ruby on Rails。\nRubyという言語とRailsというフレームワークを使ったシステム。\n \nWebアプリの開発には専らPHPですが、最近Rubyの動向がかなり気になっております。RubyカンファレンスなどRubyに関するイベントも目に付くようになってきました。\n \nPerl、Java、PHP、そして次の主流はRubyか??\nとはいえまだ数年はPHPがメインでしょうが、2010年にはどおなっているでしょう。楽しみです。"}, {title:"MindManagerを活用",link:"http://www.booster-technology.com/archives/2006/06/mindmanager.html",body: "以前も紹介したMindManager。\n気になっている点、問題点をどんどん書いていきます。最近やっと習慣づいてきました。\n \n問題点などを頭の中だけでとどめておくと、モヤモヤが溜まる一方なのですが、MindManagerに書いてみると結構すっきりすることに気づきました。\nこの効果は予想外です。\nロジックツリーを簡単に書けるので、頭の中を整理するのにオススメです。\n#ちょっと高いです。4万円くらいだったかな。"}, {title:"AJAXなサイト",link:"http://www.booster-technology.com/archives/2006/06/ajax_5.html",body: "弊社が運営するマラソン専門ドットコムですが、これをAjaxなサイトにしたいと思い、業務の合間に少しずつ実装して参りました。\n \n今、やっとある程度の状態にまではなり、\n画面遷移がないシームレスなサイトの例として使えるかなと。\n \n今後はFlashのActionScriptも加えて、もっと面白いものを作ってみたいと思います。"}, {title:"ワールドビジネスサテライトに登場",link:"http://www.booster-technology.com/archives/2006/06/post_37.html",body: "先日ウチが納品した、『NetVoice様』がテレビ東京のワールドビジネスサテライト(WBS)に取材され、放送されました!\nしかし、ポッドキャスティングのコーナーが始まり、なんと開始3分でサーバダウン。。\n大量の同時アクセスが発生したためです。\n \nテレビの影響力を読めなかったばかりに、そこまでの負荷テストが出来ていませんでした。お客様含め、サイトを閲覧された方には大変申し訳なかったと思っております。\n \nとはいえ今後にとって非常に大きな教訓になりました。この経験を活かしてこれからもがんばります。"}, {title:"so-netのSNSを試してみる",link:"http://www.booster-technology.com/archives/2006/06/sonetsns.html",body: "早速so-netのIDを取得して、SNSをもってみました。\n \n■手順\n手順は簡単。\n送信されてきたメールに記載されたURLにアクセスしなければいけないフローが2回。あとは個人情報を入力したり、サブドメインを決めるくらいでした。\n \n■中身 \n作りは恐らく PHP+Mojavi。\n文字コードはUTF-8。\n機能はmixiとほぼ同じ。\nオープンソースの『OpenPNE』をそのまま流用している部分も見受けられた。\n \n■結論\nさすがに独自ドメインは使えなそうですが、機能は充分。しかも無料。\nすごい!\nウチのお客さんでSNSを持ちたいという要望があれば、これを勧めようかと思います。なんといっても開発コスト0円、納品時間5分ですから!"}, {title:"Googleアドセンスの実現方式",link:"http://www.booster-technology.com/archives/2006/06/google_1.html",body: "Googleが発行するJavascriptをHPに貼り付ければ、サイトに合った広告が表示される『Googleアドセンス』。\nその実現方式を軽く調べてみました。\n \n答えは、\nhttp://pagead2.googlesyndication.com/pagead/show_ads.js\nを見ることで解決です。 \nクライアントIDなどのパラメータから動的にiframeを生成し、\niframeタグを document.write で書き込んでいます。\n \nつまりGoogleアドセンスの正体は 動的に生成された iframe!\n広告自体をdocument.write でずらずら出力していたのではなく、\niframe を document.write していたのですね。"}, {title:"若手の育成",link:"http://www.booster-technology.com/archives/2006/06/post_36.html",body: "最近街を歩いていると、\n数人で座っている高校生くらいの若者を良く見かける。\n \nそれを見るとつい声を掛けたくなってしまう。\n『ウチでインターンとして働かないか?』と。\n \nもったいない、その若い力。\nそこそこのプログラマには育ててあげるのに。\nプログラム能力がついて、バイト代までもらえたら最高でしょ?と私は思ってしまう。\n \nもう少しウチの会社が大きくなったらインターン募集します。\n中学生、高校生、大学生向けで。"}, {title:"自分で運営できるSNS",link:"http://www.booster-technology.com/archives/2006/06/sns.html",body: "So-netが無料でSNSを開設できるサービスを開始しました。\nフリーの掲示板とか、ブログの感覚で誰でもSNSを持てることになります。\nすごいですね。\n \n今までならOpenPNEなどのオープンソースを使ったSNSのご提案をしてきましたが、カスタマイズの必要がないのであれば、この無料SNSで充分かもしれません。\n早速試してみようかと思います。"}, {title:"使ってみたいExcel 2007",link:"http://www.booster-technology.com/archives/2006/06/excel_2007.html",body: "次期バージョンのExcel 2007における最大の機能強化点は、\n \n最大列数が256列 → 1万6384列に、\n最大行数が6万5536行 → 104万8576行に増加!\n \nだそうです。\nこれはプログラマには嬉しい機能ですよね。\nテストデータを作る際に、100万件までExcelで作れてしまうんですから。\n早く使ってみたいです。"}, {title:"携帯サイトのテスト会社",link:"http://www.booster-technology.com/archives/2006/05/post_35.html",body: "携帯サイトはなんといってもテストが困難。\nしかし世の中には携帯サイトのテストを専門にしている会社が存在するんですね。\nGoogleでちょっと検索しただけでも5社以上。\n費用も期間もある程度かかるでしょうが、お願いした方が無難でしょう。"}, {title:"携帯向けサイトは大変",link:"http://www.booster-technology.com/archives/2006/05/post_34.html",body: "携帯向けサイトを作ったことがある方ならご存知でしょうが、実は相当手間がかかります。\nDocomo、au、Vodafoneという3大キャリアに対応するのも一苦労。\n各社のブラウザの仕様が全く異なるので普通に作ったらまず動かない。\n \nボーダでは動くけど、auで動かないとか、\nauで動いたけど、Docomoで動かなくなったとか、\n同じメーカでも機種によって動作が変わるとか。。。\n \n・文字コードはSJISで。\n・スタイルシートは使えない。\n・Javascriptは使えない。\n \nというのは既知でしょうが、\nサブミットするformタグの送信メソッドにも落とし穴あり。\nauはpostメソッドが動かない!\ngetにするしかないのです。\n \n× → form action=\"xxx\" method=\"post\"\n○ → form action=\"xxx\" method=\"get\"\n \n最初にこれを知ったときは驚きました。\nまさかpostできないなんて思いもしないですから。\n \n携帯サイトを作るときは前提を予め決めておかないと大変です。\n・どの携帯会社に対応するか。\n・どの会社のどの機種に対応するか。\n・テスト期間として何日設けるか。\n \nなどなど詳細な戦略が必要です。"}, {title:"マインドマップ",link:"http://www.booster-technology.com/archives/2006/05/post_33.html",body: "最近良く聞く「マインドマップ」。\nどんなものか早速試してみましょう。\n \nGoogleで検索すると、マインドマップ用のツールは沢山存在してますね。\n今回は「MindManager」を使ってみます。\n \n試用版を使ってみての感想は、\n・入力がスムーズにできるのがいい!\n・操作が直感的でいい!\n・きれい!\n \nこんな感じでしょうか。\nどのツールも「入力」というのが大きな障害ですが、これはかなり敷居は下がっていると思います。入力しやすいので、がんがんキーワードを書き込めます。\nマインドマップ、いいんじゃないでしょうか。"}, {title:"WBS(ワールドビジネスサテライト)で放送されました",link:"http://www.booster-technology.com/archives/2006/05/wbs.html",body: "弊社にて開発を行った『NetVoice』がテレビ東京『ワールドビジネスサテライト』にて放送されました。\n \n"}, {title:"スケジュール管理",link:"http://www.booster-technology.com/archives/2006/05/post_32.html",body: "スケジュール管理にガントチャートを使うことが多いと思います。\nMicrosoft Projectとかを使っていたのですが、正直使いづらい。。\n \nフリーで使いやすいものがないかと探して今日見つけたのが『がんすけ』です。\n手軽なスケジュール管理としては充分です。\nファイルの保存形式がXMLというのがいいじゃないですか。\n早速使ってみます。"}, {title:"PDF生成ライブラリ",link:"http://www.booster-technology.com/archives/2006/05/pdf.html",body: "『PHPからPDFを生成したいな』と。\nそこで色々探していて、知り合いにご紹介いただいたのが『FPDF』。\n \n・フリー。\n・ライブラリをアップするだけでOK。\n・チュートリアルも充実。\n \nオススメです。"}, {title:"お問い合わせ",link:"http://www.booster-technology.com/archives/2006/05/post_31.html",body: "\n\n\n\n\n\n御社名、ご担当者名、メールアドレス、問合せ項目、問合せ内容を入力し、送信ボタンを押してください。\n手前どものできる範囲でお答えさせていただきます。\n\n\n\n\n 御社名\n \n\n\n\n ご担当者名\n \n\n\n\n メールアドレス\n \n\n\n\n ご依頼工程\n \n 企画から\n 設計から\n 開発から\n \n\n\n\n 想定予算\n 万円\n\n\n\n 内容\n \n\n\n\n\n\n\n\n"}, {title:"ソーシャルブックマーク",link:"http://www.booster-technology.com/archives/2006/05/post_30.html",body: "オープンソースのソーシャルブックマークに『scuttle』というものがあります。\n \nお気に入りURLをみんなで共有しよう!という趣旨で生まれたのが「ソーシャルブックマーク」。\n早速ウチでも使ってみました。マラソン専門ドットコムの「関連サイト」で採用してますし、ウチのメンバー専用としても使ってます。\n \n面白いニュースやサイトがあれば、そこに登録してメンバー同士の情報共有に役立ててます。"}, {title:"マラソン専門ドットコム",link:"http://www.booster-technology.com/archives/2006/05/post_29.html",body: "■マラソン専門ポータルサイト\n※Linux + Apache + MySQL + MovableType\n全国マラソン大会の登録・検索ができるポータルサイト。\n検索に「Ajax」、関連サイトには「ソーシャルブックマーク」を採用\n開発期間:2週間。\n \n"}, {title:"RSS付き掲示板",link:"http://www.booster-technology.com/archives/2006/05/rss.html",body: "RSS機能をもった掲示板を探していて、\n行き着いたのが、『XHTML-Note』です。\n \nしかも出力がHTMLという優れものです。\n無料で利用できるフリーウェアですので、お試しください。"}, {title:"Lightbox ライブラリ",link:"http://www.booster-technology.com/archives/2006/04/lightbox.html",body: "\n\n私の大好きなLightbox というJavascriptのライブラリがあるのですが、最近2.0がリリースされたので早速使ってみました。↓\nサムネイルの表示が簡単、かつ見栄えよく実装できます。\n \n \n \nちなみに左から、昭和記念公園、三渓園、エジプト、美ら海水族館です。"}, {title:"Rico というライブラリ",link:"http://www.booster-technology.com/archives/2006/04/rico.html",body: "RicoというJavascriptのライブラリがあるのですが、その中に『LiveGrid』というのが存在します。\n \nそのデモがこちら。\nAjaxでデータをテーブルに表示し、スクロールに合わせてページング。ソートも可能。素晴らしいですよね。\n今までは手でゴリゴリ書いていたのですが、ライブラリとして用意されているのですから積極的に使っていこうと思ってます。"}, {title:"NetVoice様 ポッドキャスティング",link:"http://www.booster-technology.com/archives/2006/04/netvoice.html",body: "■NetVoice様 ポッドキャスティング\n※Linux + Apache + MovableType + MySQL\nビジネス書の音声配信システム。\n開発期間:3週間。\n \n"}, {title:"商品到着までのスピード",link:"http://www.booster-technology.com/archives/2006/04/post_28.html",body: "昨日、ノートPCの増設メモリがダメになったので、夕方に256MBもメモリを注文しました。\nパソコンショップ・アークが安かったので早速注文したのですが、驚くべきはその納品の早さ。今日の午前10時ころに到着しました。\n \nオンラインショップで商品購入すると、2~3日待つイメージがあったのですが、翌日の午前中ってすごいですね。\nもちろん配達してくれるクロネコさんもすごいのですが、注文が入ったら即座に在庫確認し、即配送してくれたアークのスタッフに感謝です。\n \nで、亡くなったメモリを捨てようと思ったのですが、それも芸がないので、使い道を考えて思いついたのが『表札』。↓↓\n\n \n郵便受けにでも貼ります。"}, {title:"パソコンが起動しない・・",link:"http://www.booster-technology.com/archives/2006/04/post_27.html",body: "昨日の打合せの際、ノートPCの電源を入れるがOSが起動しない。。\n『ウソだ、ウソに決まってる』と思い何度もやってみるが変わらず。\n \n嫌な汗がにじんで来ても、とりあえずその場は平静を装うが、帰りの電車内では放心状態。「バックアップ最後に取ったのいつだろうか・・」。\n \n帰社後、ダメ元で何度も試していると、なんと10回目くらいに偶然起動!しかしすぐに異常終了。。\n再度起動すると、『増設メモリー異常』の文字が。\nこれが原因です。\n \n1年くらい前に256MBのメモリを増設したので、それを外すると見事起動しました。\n早速バックアップ取得作業開始。\n \n増設メモリの故障でパソコンが起動しないというケースは初めてですし、バックアップの重要性を再認識しました。\nバックアップは頻繁に取った方がいいですね。お気をつけください。"}, {title:"MT4iバージョンアップ",link:"http://www.booster-technology.com/archives/2006/04/mt4i.html",body: "MovableTypeの記事を携帯から閲覧できる素晴らしいツール、MT4iの2.1ベータが出たみたいです。\n \nご利用になってる方がいたらバージョンアップした方がよさそうです。"}, {title:"Ajaxでページング",link:"http://www.booster-technology.com/archives/2006/04/ajax_4.html",body: "今日はAjaxを使ったページング機能を作りました。\n画面遷移することなく、ページングができるので非常に使い勝手がよくなりました。\n \nしかし今日ほどJavascriptを書いた日はないかもしれません。\nつい半年前までJavascriptなんて画面上の入力チェックにしか使っていなかったのに、今ではPHPと並ぶ主役になってます。私的に。\n \n今後はグラフ機能あたりに手を出していきたいです。"}, {title:"Mojaviに悩まされ",link:"http://www.booster-technology.com/archives/2006/04/mojavi.html",body: "PHPの開発において、Mojavi2.0.0 を使っていたのですが、ログ出力で不具合が数箇所あり、修正しながら使っていました。\n \nそこで2.0台の最新であるMojavi2.0.3b2を使ってみると、不具合は修正されており、問題なく使えたのでこちらを採用することにしています。"}, {title:"株式会社タトウ様",link:"http://www.booster-technology.com/archives/2006/04/post_26.html",body: "■株式会社タトウ様HP\n※Linux + Apache + MovableType\n「How to use ソリューション」を提唱するシステム会社のHP。\n開発期間:3週間。\n \n\n"}, {title:"株式会社佐藤商店様",link:"http://www.booster-technology.com/archives/2006/04/post_25.html",body: "■株式会社佐藤商店様HP\n※Linux + Apache + MovableType\n産業廃棄物の収集運搬・中間処理を行う会社のHP。\n開発期間:3週間。\n \n\n"}, {title:"onMouseOverでAjax",link:"http://www.booster-technology.com/archives/2006/03/onmouseoverajax.html",body: "マウス重ねるだけで検索結果を表示してくれるAjaxの簡易な例を作ってみました。\n(IE6、FireFox1.5 にて確認済み)\n※マウスをリンクの上に重ねるだけで検索してくれます。\n この部分はインラインフレームを使用しています。\n\n \n(仕組み)\n・マウスがリンクに重なった瞬間に、データベースに検索。\n・検索結果のXMLはJavascriptが受け、表示しています。"}, {title:"Ajax検索の実装",link:"http://www.booster-technology.com/archives/2006/03/ajax_3.html",body: "ウチが運営しているマラソン専門ドットコムにてAjax検索を実装してみました。\n \n\n \nラジオボタンをクリックした瞬間に検索を実行し、結果を表示するというものです。\n今後もさらにAjaxの可能性を探ってみます。"}, {title:"Mac mini 購入",link:"http://www.booster-technology.com/archives/2006/03/mac_mini.html",body: "わくわくして箱をあけると本当に小さい。\nしかしACアダプタだけは異常に大きい。。\n\n \nその辺に転がっていたディスプレイ、マウス、キーボードを接続しようとするが、PS2では接続出来ず。近所のサトー無線にいってPS2⇒USB変換ケーブルを購入。\n \n再チャレンジ。\n無事マウスとキーボードも認識され、起動できました!\n"}, {title:"親子のコミュニケーション",link:"http://www.booster-technology.com/archives/2006/03/post_24.html",body: "先日、母親から『元気なのかい?全然連絡もしな