以前いっていた通り、id:ursmといっしょにウェブキャリアさんのRails Summer Festival 2008で話してきました。 私が話した部分ではちょっと詰め込み過ぎかな、と反省しています。が、懇親会でお話した感じでは、Capistranoの話なんかは好評をいただけたようです。とりあえず「デプロイ重要」というのが伝わってよかったです。レールの外れ方は私がしゃべったもの以外にもホントたく...
「むずかしく考えることはない」と、偉そうに葉巻を振りまわしながら、トレヴィラヌスはいった。「ガリラヤの太守がじつにみごとなサファイアを持っていることは、みんなが知っている。何者かがそれを盗むつもりで、間違ってここへ入ったんだ。ヤルモリンスキーが起きていたので、泥棒は殺さざるをえなかった。どうだね、これで?」 「そのとおりかもしれません。し...
はてなダイアリーが AtomPub で編集できるようになったので、早速 fuse を使ってファイルシステムを作ってみました。こんな感じに使えます。 http://rails2u.com/tmp/diary_fuse/fuse.htm (動画) /create に保存すると現在時刻で作成 /20080820101010 など、エントリーを編集可能。保存で更新。 rm するとエントリーを削除 /\d{14} 的なファイル名で保存すると、その時刻のエントリーを作成 などなど。Ru...
※ドキュメントを読みながらこんなもんかな?とやってみたやつなので問題あるかもしれません。何かあればコメント頂けると嬉しいです。例えば、DBからデータを取り出して逐次メールを送信する場合。よく知られているようにメールの送信はコネクションの確立やSMTPサーバの処理などの待ち時間が長く、逐次処理をしていると無駄が大きすぎる。処理を並列化して、あるメー...
自分用メモ。 パスワード生成、銀行情報・カード番号などの情報を暗号化したいとき等に役立つページを見つけたので、リンクしておきます。 ランダムパスワード生成 http://snippets.dzone.com/posts/show/3632 railsでsensitiveなデータを暗号化する パスワードなしでpublic/privateキーだけでデータを暗号化:public key encryption。 http://stuff-things.net/2007/06/11/encrypting-sensitive-data-with-ruby-on-rails/ railsで大...
本連載の第3回までで説明したように、WEBrickは自分でコードを書くことで、かなり高性能なHTTPサーバーたり得ることが分かりました。 では、HTTPサーバーとして実際に運用するのはどうでしょうか?サーバーを公開する上で気になるのは、セキュリティーと速度性能です。 実は、2008年8月8日にRubyに複数の脆弱(ぜいじゃく)性が発見されました。WEBrickもDoS脆弱性が報告され...
このほど、GitHubがgemのパブリッシュを快適に行える独自のRubyGemsサーバの運営を開始した。自分のレポジトリーのルートにgemspecを置き、GitHubコンフィギュレーションのボックスをチェックするだけでgemがビルドされ、他の人たちにインストールしてもらえるようになる。他のユーザーのgemとの衝突を避けるため、ユーザーネームがプリフィックスとして使用され、[ユーザー名]-[プ...
またまたmechanizeネタ。 今度はニコニコ動画をダウンロードするスクリプトです。 ランキング一位の動画をダウンロードしてきます。 require ‘rubygems’ require ‘mechanize’ require ‘kconv’ require ‘cgi’ agent = WWW::Mechanize.new #ログインする agent.post(’https://secure.nicovideo.jp/secure/login?site=niconico’, ‘mail’ => ‘メールアドレス’,'password’ => ‘...
を書いたけど、 あれは純粋に動画だけで、コメントがダウンロードできてない。 ということで、今度はコメントもダウンロードしてみる。 はじめにざっとニコニコ動画の仕様をおさらいすると、 動画画面へアクセスする(例えばhttp://www.nicovideo.jp/watch/sm2721967) Flashデータを取りにhttp://www.nicovideo.jp/api/getflv?v={動画ID}へアクセス(動画IDは1でいうsm2721967) 2のレスポンスで動画...
「エンジニアにとって、マーケティングは重要だ」――ウェブキャリアが主催する「Ruby on Rails Summer Festibal 2008」で、TISの倉貫義人氏は「エンジニアの処世術」についてそう語った。 TIS 倉貫義人氏 同セミナーは、Ruby on Railsによる商用開発を促進するための、開発者向け実践的ノウハウの提供を目的としている。3回目となる8月25日、倉貫氏は「Rails×Agile実践事例 〜マネージャ...
RailsでXMLリクエストのパースに使用されているREXMLに、DoS脆弱性が発見されました。XML entity explosion attackと呼ばれる攻撃手法により、ユーザから与えられたXMLを解析するようなアプリケーションをサービス不能(DoS)状態にすることができます。大部分のRailsアプリケーションはこの攻撃に対して脆弱です。XML entity explosion attackというのは、実体宣言の中で別の実体を参照することを繰...
お待たせしました。メンテナになって初のanything.elをリリースします。オリジナル版を使いやすくするために超強化しました。 次世代anything.elの開発方針 しっかりテストする 使いやすいユーザーインターフェース オリジナル情報源を書きやすくする Emacs Lispプログラムに組み込みやすくする プラグインによる拡張性を高める 旧バージョンとの互換性を維持 特徴 anything-sources(情...
restful_authenticationは、ログイン認証という限定された機能を、適度なサイズで提供してくれている。ログイン認証には多くのRailsの技が駆使される傾向にあり、コードを眺めていると勉強になることが多い。今回はモジュールの使い方に注目してみた。 restful_authentication classic版のUserモデルの実装は以下のようになっている。 保存データの検証、アクティベーションに関する処理、...
rails 2.1.0 で、scaffoldの時にこんな指定ができる。 hogeテーブルに、fooの外部キーを指定したい時、 外部キーの型にbelongs_toを指定すると、勝手にidカラムを作成してくれる。便利。 $ruby script/generate scaffold hoge name:string foo:belongs_to migrateファイルのcreate_tableが作成されて、こんな記述になる。 見ただけで、どの列がどのテーブルと関連しているかがわかる。 create_table :hoge do |t| t.string :n...
8月21日夜にニフティ株式会社で行われた東京Ruby会議01に参加した。交通機関が崩れまくってたり、雷雨だったり(危険時間帯はちょうどセミナータイムで問題なかったけど)とあったけど、無事に開催。 角谷さんにもようやくご挨拶できた。 上述したように、会場は大森ベルポートにあるニフティ株式会社のセミナールーム。ベルポートの吹き抜けが無駄に高級ですごい。18時開場...
『 東京Ruby会議01での発表。次はXLSモジュールの詳細と、(自分のような)初心者向けライブラリの作り方解説の話をしたい 』
2008年8月21日に開催された 東京Ruby会議01でのTech Talksを録画した動画をニコニコ動画にアップロードしました。 【ニコニコ動画】tokyorubykaigi2008 以下、個別の動画へのリンクです。 オープニング 【ニコニコ動画】東京RubyKaigi01 オープニング - kakutani 前半プログラム 【ニコニコ動画】それ Ruby でもやりたい - t-wada 【ニコニコ動画】sexy development with classx - walf443 【ニコニコ動画】DocDiff...
Ruby言語は、その記述性の高さなどから注目を集め、特にWebアプリケーション構築の現場などで広く用いられるようになりつつあります。しかし、その一方で確定した言語仕様書が存在しないことはRubyに係る調達仕様書作成に支障を来す場合があるだけでなく、Rubyに関する人材育成の面や長期的な安定運用を必要とする情報システム分野への応用、Ruby処理系等への大規模な開発...
Rubyには、Rubyコミュニティの内外で広く知られている誤解が一つある。Rubyにはデバッガがないという誤解だ。この誤解は、Rubyにとって問題だと唱える人もいる。このデバッギングツールが欠けていることは、賢明で素晴らしいことだと解釈する者もいる(参考記事)。 関連情報 InfoQ Japanはコンポーネントスクエアが運営しています システムに潜む性能問題や品質問題を簡単に見える...