「WEBrickの非公開ファイルにアクセスされる脆弱性」を実際に確認してみた
「WEBrickの非公開ファイルにアクセスされる脆弱性」を確認する機会があったので以下のエントリーを書きました。
» On the Rails 「WEBrickの非公開ファイルにアクセスされる脆弱性」を実際に確認してみた
2008/04/24 14:14:07
「WEBrickの非公開ファイルにアクセスされる脆弱性」を確認する機会があったので以下のエントリーを書きました。
» On the Rails 「WEBrickの非公開ファイルにアクセスされる脆弱性」を実際に確認してみた
2008/04/24 14:14:07
» Firefox から Safari へ移行する方法 : 僕は発展途上技術者
でも書いた通り、ブラウザを Safari にスイッチしてかなり快適だ。
なかでもプラグインの Keywurl が僕にとってのキラーアプリ。上記エントリーでも少し触れているが、もう少し詳しく紹介しよう。
インストールするにはSIMBL が必要だが、以下のリンク先からダウンロードできるパッケージの中にも含まれている。
» Keywurl
Keywurl を使えば、アドレス入力欄に例えば g keywurl と入力してリターンキーを押すことで、keywurl を Google 検索できる。
g ... を Google 検索するための URL に変換しているのだが、この変換パターンを自由に追加できるので、よく使うサイトの検索パターンをかたっぱしから追加することで快適に情報検索できるようになる。
以下、僕が登録している検索パターンの一部をさらしておく。
Keyword | Expansion | Note |
---|---|---|
default | http://www.google.co.jp/search?q=$$$ | デフォルト。キーワードだけ入力した場合の検索パターン。Google 検索 |
a | http://www.amazon.co.jp/exec/obidos/search-handle-url/index%3Dblended%26field-keywords%3D@@@ | Amazon 検索 |
b | http://b.hatena.ne.jp/jishiha/?word=@@@ | はてなブックマークを検索 |
g | http://www.google.com/search?hl=en&q=@@@ | Google 検索(検索結果を英語の情報だけにしぼる) |
gj | http://www.google.co.jp/search?q=@@@ | Google 検索 |
m | http://maps.google.co.jp/maps?oi=map&q=@@@ | Google Maps で検索 |
w | http://ja.wikipedia.org/wiki/Special:Search?search=@@@&go=Go | Wikipedia を検索 |
y | http://youtube.com/results?search_query=@@@ | YouTube を検索 |
ポイントは、キーワードをなるべく短くしてタイプ量を抑えているところ。「m 東京駅」とタイプするだけで Google Maps 上に東京駅を表示します。僕にとって y は Yahoo 検索でなく YouTube 検索なのです。
⌘(Command) + l(小文字のL) でアドレス欄にジャンプできることを覚えておくと、さらに快適に操作できる。
上記のなかで、特に気に入っているのが g と gj の使い分け。
最新の技術的な情報など、始めから英語の情報だけ検索したいというときがある。http://www.google.com にアクセスしても親切にも http://www.google.co.jp にリダイレクトされてしまうので、いままではフッターの Google.com in English をクリックして切り替える、という面倒な操作をしていた。
Keywurl に上記設定を追加しておけば、g keywurl で Keywurl の英語情報だけ検索できるし、日本語の情報も検索したいという場合には gj keywurl と入力すればよい。
Safari + Keywurl の環境に一度慣れてしまうと、もうそれなしでのブラウジングはありえない。
2008/04/18 20:11:22
六本木ヒルズにある会員制の図書館、アカデミーヒルズを利用している。
» アカデミーヒルズ
という、さすがヒルズとビビるお値段だが、実は僕のようにノートパソコンさえあればどこでも職場にできる人にとっては結構お得。
7:00から0:00まで利用でき、無線LAN完備、打ち合わせも可能なカフェスペースがあるので、僕にとってはいわば家賃9,450円の一人オフィス。しかも眺め最高です。
メンバーと一緒なら通常2000円のワンデーチケットが1000円なので、ゲストを呼んで、打ち合わせスペースとしても利用できます。
ただ、たまにカフェスペースが貸切になっていて、知らずに行ってしまい、しまったーという思いをしたことがある。
Web サイトをチェックすればいい話なのだが、予定を立てるときにいちいちサイトを見るのも面倒。
そこでカフェ貸切時間を iCal 形式にして Google Calendar に表示するようにしてみました。
表示のさせ方は簡単。
Google Calendar の左下メニューで追加 > URLで追加 を選択。
公開カレンダーのURLのところに以下のように
を入力し「追加」ボタンを押せば、
こんな感じ↓ に貸し切りの時間帯が表示されるようになります。(日本語だといろいろ問題が起こるので、表示は英語にしました)
たぶん Google Calendar とか好きそうな他のメンバーの方でも利用できるよう、運営している「あとで行く」に間借りして公開しておきます。
iCal 形式が認識できるアプリケーションなら、実は何でも使えます。Mac の iCal とか。
iCal 形式に吐き出し、Google Calendar に読み込ませるのはそんなに難しくないだろうと甘く見ていたのだが、結構はまった。
以下の記事を参考にさせてもらいました。
» Miles Barr » Blog Archive » icalendar and Rails
» RubyでiCalendarを利用する - What is Normal 〜 もはや普通がわからない 〜
2008/04/17 14:22:11
「日経パソコン」のオンラインサイト「PC Online」のリニューアルに伴い、開発を担当した「モバイルマップ」がリリースされました。
» モバイルマップ|PC Online ビジネスパーソンのパソコン活用情報サイト
FREESPOT、BBモバイルポイント、FON(含livedoor Wireless) 、Mzone、フレッツ・スポット、ホットスポットの各種無線LANサービスのアクセスポイントを検索できるので、ノートパソコンを持ち歩き外出先が仕事場だ、という方には便利なサービスだと思います。
忙しいビジネスマンをイメージし、サッと使えるよう、使い勝手の良さを意識しました。
選択項目に応じてすぐに更新されるリストや、スルスルッとスクロールするところなどキャプチャ画像だけだと伝わりにくい部分もあるので、Jing というキャプチャソフトを使って動画を撮ってみました。
Mash up Award 3rd が縁で知り合った ONGMAP の直鳥さん(7ns.jp)と一緒に開発を進めたので、Google Maps API まわりではいろいろとノウハウを教えていただきました。
また、これまた Mash up Award つながりで、開発環境に関して Sun Microsystems の渡辺様・河原様にアドバイスをいただき支援していただきました。ありがとうございました。
開発には Ruby on Rails を使用しています。ユーザーが触れるページは1ページだけですが、裏では各サービスから提供していただいた異なる形式のデータをインポート・変換したり、表示項目を変更できる一種のコンテンツ管理システムが動いています。管理側の画面についても使い勝手を重視し、編集部の方に実際に使っていただきながら、システムを改善していきました。Rails を使うことで、柔軟に要望に対応できたと思います。
7ns.jp 企画で、ONGMAP でも使用されている Ext JS を使った製品データベースも同時リリースなので、よろしかったらこちらもどうぞ。
» 日経BP社「PC Online」、モバイルマップ、商品検索DB
2008/04/15 10:45:58
今日は良い席が取れました。
剣術修行のために江戸へ向かう途中、富士山を見て坂本龍馬が言う。
「しかし一瞬でもこの絶景をみて心のうちがわくわくする人間と、そうでない人間とは違う」「龍馬がゆく(1)」(司馬遼太郎)
龍馬のように「日本一の男になりたい」などと大それたことは思いませんが、「頑張っていいWebサービス作ろう」程度は思うのでした。
柔軟な思考と先見の明を兼ね備えた偉大な人物
新年に最高
政治とは何か、人が生きるのは何のためなのか
バイブル
☆5つ
2008/04/01 12:14:50
Safari 3.1 が速くて快適という話をあちこちで聞くので、この機会に移行しました。
Mac に移行しても Firefox を使い続けていたのは、Add-on や様々な便利機能と同等なことが Safari でもできるのかしら、と思っていたからです。
Firefox で愛用し、Safari に移行しても最低限欲しいと思っていた機能は以下の通り。
Firefox から Safari に移行し、これらの機能を Safari でも使えるようにする方法を紹介します。
» 林檎はいかがですか? | FirefoxからSafariへのブックマーク移行方法<追記>
で解説されている方法で移行できました。
Firefox では
» All-in-One Gestures :: Firefox Add-ons
を使っていました。
Safari にマウスジェスチャー機能を追加する
があり、一時はインストールすることを考えたのですが、よく考えたら僕が使うのは、「次のページへ進む」か「前のページへ戻る」ジェスチャーだけ。
MacBook Air ではタッチパッド上に指三本を置き、右にあるいは左にサッと払う swipe という動作で「進む」と「戻る」ができ、これで十分です。
Mac のランチャーソフト QuickSilver を愛用しています。
よりダウンロードできます
補完がきくので、たとえば Safari なら「sa」まで入力すると起動できたりするのですが、Firefox のブックマークも直接呼び出せて便利。
Safari のブックマークもバンドル済みのプラグインを有効にすることで使えるようになります。
Safari でも Greasemonkey 用ユーザースクリプトが使える
» GreaseKit - User Scripting for all WebKit applications
をインストールします。
これなしのブラウジングが考えられない AutoPagerize が動かず一瞬あせりましたが、代わりに
» Safari3 * GreaseKit1.4 でoAutoPagerize - 0x集積蔵
をインストールすればまったく問題なしです。
Safari の検索バーは Google 検索しかできず、不満でしたが、
で代用できます。
以下のように定義済みのキーワードを Amazon -> a のように短くしたり、はてなブックマークを検索できるようにして使っています。
2008/03/30 23:10:45
昨日Railsワークショップ@新橋に参加しました。
Ruby の新しいフレームワークで Rails よりも軽くて早いという Waves を、チュートリアルに沿いながら動かそうとしてみたのですが、いきなり大いにはまりました。しかし「乗りかけた船」だったので、頑張ってなんとか動かすところまではこぎつけました。
» Ruby Waves: Home
» Ruby Waves: Tutorial, Part 1
インストールは簡単。
% sudo gem install waves
で入りますが、ずらずらっと10以上の依存しているパッケージがインストールされました。
で、しょっぱなの
% rake schema:migration name=initial_schema
のところで
Could not load mysql adapter:
no such file to load -- mysql
というエラーが出て、いきなりつまずきました。
調べたら、どうやら gem の mysql パッケージがインストールされていることが前提であることがわかりました。
ところが、Mac OS X Leopard だと、
% sudo gem install mysql
とやっても
ERROR: While executing gem ... (Gem::Installer::ExtensionBuildError)
ERROR: Failed to build gem native extension.
というエラーが表示され、インストールできないのです。
しばしはまるのですが、結局
» Nullcreations | Installing ruby mysql gem in OSX 10.5 (Leopard)
にあった解決法でうまくいきました。
% sudo su
% ARCHFLAGS="-arch i386" gem install mysql -- --with-mysql-dir=/usr/local/mysql
% install_name_tool -change /usr/local/mysql/lib/mysql/libmysqlclient.15.dylib /usr/local/mysql/lib/libmysqlclient.15.dylib /Library/Ruby/Gems/1.8/gems/mysql-2.7/lib/mysql.bundle
これで無事マイグレーションファイルを作成することができ、その後は順調にチュートリアルを進めることができました。
以下チュートリアルをやってみた感想です。
まだできたてホヤホヤ。当然 Rails の方がはるかに完成されたフレームワークなので、いますぐ移行しようとは思わない。しかし、こうして新しいフレームワークに触れてみると、いままで「Rails すばらし過ぎる。Rails 以上のフレームワークなんて作るの無理だろう。欠点なんてみつけられない」と少なからず思っていたのが、「いやいやそうでもない。Rails にもまだまだ改善できそうな点がある」という、まあこれが正常な状態だと思いますが、そういう思考に戻されました。
気になるパフォーマンスですが、apache 付属のベンチマーク測定ツール apache bench を使って Rails の方は mongrel と比較してみました。Rails の方は Waves のチュートリアルで作ったものとほぼ同じようなテストアプリを作成して比較しています。
% ab -c 10 -n 1000 http://127.0.0.1:3000/entries
waves の結果が
Requests per second: 23.97 [#/sec] (mean)
Time per request: 417.104 [ms] (mean)
Time per request: 41.710 [ms] (mean, across all concurrent requests)
Transfer rate: 21.27 [Kbytes/sec] received
mongrel が
Requests per second: 8.70 [#/sec] (mean)
Time per request: 1148.924 [ms] (mean)
Time per request: 114.892 [ms] (mean, across all concurrent requests)
Transfer rate: 11.65 [Kbytes/sec] received
でした。
Requests per second が約 2.7 倍。
サーバーを動かしている同じマシンから測定しているのでちゃんと測定とは言えないですし、非常に簡単な構成ですから一概には言えないと思いますが、実際にブラウザで操作している感触でも、確かに waves の方がサクサク動く感じがしました。
せっかくなので、もう一つはまりどころを情報共有しておきます。
ベンチマークを計るときに waves server をデーモンで起動しようと、
% waves-server -d
と実行したところ、
/Library/Ruby/Gems/1.8/gems/waves-0.7.2/lib/runtime/server.rb:32:in `daemonize': uninitialized constant Waves::Server::Daemonize (NameError)
というエラーが出ました。
mongrel のデーモン起動のところの似たような処理の部分を参考にして、/Library/Ruby/Gems/1.8/gems/waves-0.7.2/lib/runtime/server.rb の31行目に以下の通り require 文を追加。
30 def daemonize
31 require 'daemons/daemonize' #この部分を追加
32 pwd = Dir.pwd
33 Daemonize.daemonize( Waves::Logger.output )
あと、アプリケーションのトップフォルダ直下に
% mkdir log
で log ディレクトリを作っておきます。
これで無事デーモンで起動できるようになりました。
2008/03/21 00:02:17
すぐ忘れてしまうのでメモ。
rake のタスクの一覧を表示するには、
rake -T
これはいいのだ、覚えてる。
このとき、各タスクの詳細説明が一行しか表示されない。
特定のタスクの詳細をもっとみたい場合は、
rake -D [タスク名]
これ、いつも忘れてしまうけど、ブログに書いたのでもう大丈夫。
2008/03/19 22:09:44
» つくるぶガイドブログ: 失敗しない Rails が動かせるホスティングサービス選びと環境構築
を書きました。
ソーシャル「OSを入れた後にインストールする10のアプリケーション」(仮) を作る過程をレポートしてきましたが、10回目の今回をもって終わりとさせていただきます。
最後は、いよいよリリースしようという段階で必要な、ホスティングサービス選びと環境構築について書きたいと思います。
自分の勉強にもなったのでやって非常に良かったですが、実況中継ブログは大変でした。
2008/03/19 14:22:05
自分のサービスの一部をSlicehostというホスティングサービスに移行し始めている。
知っているアメリカ人のRailsエンジニアにすすめられ、Webで調べると評判が良かったので使い始めてみた。サインアップや管理画面のインターフェースがシンプルで使いやすく、使いはじめから好感触だった。
Ubuntu LTS で環境構築中なのだが、ApacheやPHP、Ruby on Railsなどのインストールを説明した環境構築のためのドキュメントが非常に充実していてすばらしい。
たとえば、
» Slicehost Articles: Ubuntu LTS setup - page 1(英語)
では、セキュアな ssh 環境の構築方法がシンプルにわかりやすく書かれている。
このドキュメントをみつける前に ssh 環境の構築方法について書かれた日本語の情報がないかと、結構検索してみてまわったのだが、これほど的確に必要十分な情報を提供している記事はみつからなかった。
Debian や CentOS などほかにサポートしている OS のためのガイドも用意されている。別に Slicehost を使わなくても、そうした OS のサーバー構築のための良質なドキュメントとして参照できる。
» Slicehost VPS tutorials and articles
よくわかっている人が書くドキュメントは説明が的確で、読んでいてフラストレーションがたまらない。これまでどっちかというとサーバー構築はあまり好きなほうではなかったのだけれど、もしかしたらそれは良質な情報に触れていなかったからなのかもしれない。Slicehost のドキュメントを読んでいると正しい知識が身についていく感触が気持ちよく、楽しんでサーバー構築ができる。
まだ使い始めで実際にサービスを運営してみないとわからない部分もあるが、いまのところは好感触。ホスティング先として VPS を考えている方におすすめしておきます。(もちろん、英語に抵抗なければですが)
2008/03/16 22:51:44
株式会社まちクエスト代表、つくる社LLC代表。
Scratchで楽しく学ぶ アート&サイエンス、Raspberry Piではじめる どきどきプログラミングを書きました。
オンラインコンテンツ: 大人のためのScratch
Amazonから図書館検索 Libron、iPhoneアプリ ひらがなゲーム かなぶん を作っています。
Email: webmaster at champierre dot com
Twitter @jishiha
@jishiha をフォローする