チリで発生したマグニチュード8.8の地震の影響で、17年ぶりに大津波警報が発令されました。その影響もあって、2010年2月28日(日)のテレビ放送は NHK・民放各局で番組を中断して津波速報が流されました。津波警報地図番組の中断以外の時間は、津波警報の範囲を示す地図が常時表示されています。上の図のように、地図のせいで番組のテロップが隠れてしまって読み取れません。中には、飲食店を紹介するコーナーで、お店の場所が津波警報地図に隠れて全く分からない、というケースもあり、店主にとっては宣伝効果ほぼゼロという悲しすぎるものもありました。もちろん、番組を編集したときはこんなところに津波情報が表示されるなんて思ってもいないわけで仕方のないことですが…。また、この津波情報は CM 中も表示されていたので、CM の種類によっては広告が意味をなさなくなってしまうものもありました。ところが TBS は…そんな中
id:taigouさんとの話で「特異クラス」という単語が出てきていますが、yuguiさんの説明によるとこんな感じ。 特異クラス 特定のオブジェクトだけ、他の同輩たちには無い特別なメソッドを持たせたいと思ったらどうするだろう。特異メソッドとは要するにそういうものだ。 C++だったら、特別なメソッドを持った子クラスを作ってSingletonパターンを適用するというやりかたが選択肢に挙がるだろうなと思う。Rubyの特異クラスとはそれ、そのものだ。 すばらしく分かりやすい説明。なぜsingletonという言葉が使われているのかもイメージしやすい。 でも、残念ながら特異クラスをオブジェクトから取得する方法は現時点ではないようです*1。ということはirbで直接調べられないので、この前の話では特異クラスを敢えて使わないようにしました。 そういうメソッドがあっても良いのなーと思ってたんですが、調べてみたら
Google, twitter, mixiアプリなどのAPI認可のためのOAuth(オース)という プロトコールが利用されています。 今回は、マッシュアップなWebサービスを作る上で必要になってくるOAuthの簡単な概念とrubyでの使用例を紹介したいと思います。 ■ OAuthとは? デスクトップアプリやwebアプリケーションなどにセキュアなAPI認証の 標準的な手段を提供するオープンプロトコルです。 OAuth利用することによって、ユーザのgoogleアカウント情報(ID,Password)を保持しなくてもgoogleのアドレス帳などを参照するwebサービスを作ることができます。 ■ OAuthが必要になった背景 OAuthがなかった場合、先程の例のようなgoogleのアドレス帳を参照するサービスを作ろうとした場合、ユーザのgoogleアカウント情報をもとにアクセスすることになります。
こんにちは。那由多屋の加藤です。 GAE/JRubyを用いていくつかのアプリケーションを動かしているのですが、どうもデータストアからの読み込みが遅くて困ります。 そこで、読み込みしか行わない一部のデータを、JSON形式でファイルとして保持することにました。実用的な速度で動作するかどうか不安だったので、パフォーマンスを測定してみました。 測定条件 1つの大きなハッシュテーブル(要素数はn)をロードしてデシリアライズ キーは文字列、値は浮動小数点数(乱数)が10個含まれる配列 yaml、json_pure、json-jrubyのそれぞれで測定 開発環境(ローカル)と、本番環境(Google App Engine)で測定 開発環境は、Core i7 920、メモリ6GB ファイルの読み込みを含む、実時間を測定(CPU時間ではない) 3回測定してその平均値を算出 gemパッケージのバージョン js
こんにちは。那由多屋の加藤です。 データシリアライズ形式である「MessagePack」をGAE/JRubyで使いたいのですが、Pure Rubyな実装は存在しないようです。 そこでMessagePack for Javaを使うことを試みたのですが・・・疲れました。 JavaとRubyとのデータ変換が思ったよりも大変そうです。とりあえずスキーマを指定すれば、まあまあ動作するようにはなりました。コードはgistに上げておきます。 http://gist.github.com/319395 誰か続きを作ってくれないかなー。 msgpack-for-java.rb module MessagePack def self.pack(obj, schema = nil) ostream = java.io.ByteArrayOutputStream.new packer = org.msgpack.
先日 hack05 というイベントで LT をしたので、そのときの資料をまとめておきます。 スピリチュアル エンジニアリングとは システム開発・運用にスピリチュアル要素を取り入れることでシステム安定化を目指します。 皆さんご存知の通り、人間の技術力には限界があり、予測不能な事故(バグ)はまさに、神の領域といえます。 そこで「ジンクス」「縁起かつぎ」「妖精さん」などの力を借りることで、人間の手ではどうしようもない事態を回避するというのがこのスピリチュアルエンジニアリングです。 スピリチュアルエンジニアリングの基本原理 スピリチュアルエンジニアリングの基本は「祈り」にあります。「絶対に動く」という祈りの強さがよりよいコードをもたらします。 スピリチュアルはすべてのエンジニアの身近に! 以下に当てはまる人がいたら、あなたも立派なスピリチュアルエンジニア! コーディング中に神が降りてきたと思う瞬間
VOCALOIDを生み出したヤマハから、音楽の領域を広げるテクノロジーがさらに2つ投入された。VOCALOIDに関しては、既に発表済みのVOCALOID-flex、NetVOCALOIDを使ったMETAL GEAR SOLID PEACE MAKER、頓智・およびグッドスマイルカンパニー、クリプトン・フューチャー・メディアと組んだ「セカイロイド」が発表されたが、そちらは別記事を参照していただくとして、ここでは今回初披露された「クラウド型VST」と「NETDUETTO」について解説しよう。 楽器、エフェクターをクラウドに置く「クラウド型VST」 ヤマハは2004年、ドイツの音楽ソフト企業Steinbergを買収し、100%子会社としている(ヤマハ、「Cubase」の独Steinbergを買収)。自社のソフトウェアシンセを同社の代表的な音楽制作ソフトCubaseに組み込んだり、自社から出ている
モバゲーアプリの話のはずなのに。。。突然質問“AWS”ってご存じですか? AWS(Amazon Web サービス)とはAmazonが提供する開発者向けサービスの総称です。 AWS URL:http://aws.amazon.com/ AWSには各種のサービスが提供されていますが,ここでは主に「クラウド」として知られるEC2などのサーバ関連技術に関して説明したいと思います。 EC2は簡単に説明すると「サーバの時間貸し」のようなもので,初期費用0円で必要な台数を必要なだけいつでも数分のうちに借りることができるという画期的なシステムです。 携帯サービスの強い味方!AWSの魅力 「なぜモバゲーアプリの説明にAmazonの説明が出てくるのか?」と思う方もいらっしゃるかもしれませんが,現状1から巨大な携帯サービスを立ち上げる際のサーバ環境として,AWSという選択肢は非常に有力なものになっています。 そ
Ruby BarcodescannerはRuby製のフリーウェア(ソースコードは公開されている)。携帯電話にはカメラがついているので、外で写真を撮るのも手軽だ。そうした外部の情報をアップロードして楽しむサービスは数多い。書籍のバーコードを使って楽しむサービスも面白い。 実行した所 携帯電話自体にバーコードスキャナーの機能があればそのまま使えるが、それがない場合は別途連携を考える必要がある。例えばRuby Barcodescannerを使ってみると良いだろう。Ruby Barcodescannerは画像を読み込んでバーコードスキャンを行うRubyライブラリだ。 元になるのが画像というのが良い。写真やスキャナーで取り込んだ画像をそのまま利用できる。画像の取り込みにはImageMagickを使い、実際のスキャンはzbarというオープンソースのバーコードライブラリを使っている。Ruby Barco
iモードブラウザ2.0でJavaScriptが本格的に有効になったので、XMLHttpRequestを使ってサーバと通信可能になった(2009年8月辺り?) DNS RebindingでJavaScriptのクロスドメイン制限が突破可能だと判明(2009年11月) iモード専用サイトのhtmlソースの閲覧方法 iモードIDはguid=ONをURLの末尾につけることでサーバへ転送されるため、iモードIDで「かんたんログイン」していると「なりすまし」の可能性あり(2010年2月) iモードIDを用いた「かんたんログイン」のDNS Rebinding脆弱性 [対策1] DNS RebindingするとHTTPリクエストのHostが本来のホスト名にならないため、バーチャルホストで運用すればOK [対策2] そもそもCGI側でHostを確認して、自ホスト以外なら弾くコードを追加すればOK?
ProductIntroducing GitHub Compare ViewPicking up where Kyle left off in his Branch List post, we're all very excited to announce a new feature designed to ease the process of comparing two points in… Picking up where Kyle left off in his Branch List post, we’re all very excited to announce a new feature designed to ease the process of comparing two points in a repository’s history. It’s called Git
審査員をさせてもらった「Ricoh & Sun Developer Challenge 2009」の結果が、動画付きで公開されています。 http://www.ricoh.co.jp/javachallenge/result/
オリンピック女子フィギュアで世界最高峰の戦いが繰り広げられたあの日、僕は上司と最低レベルな消耗戦をぐだぐだと繰り広げていた。もともと当事者ではなかったのだが、昼休み、同僚の牛島君からの一本の電話によって、当事者になってしまったのだ。彼の話は、今日部長と同行する予定だったがひどい胃痛だ、くそう無念だ、この日のために頑張ってきたのに畜生、君、代わりに部長のところに赴いてくれないかね、というものであった。苦悶な牛島君の声が不思議と明るい。同僚が困っているときに助けるのは当たり前だ。僕は彼の頼みを受け入れることにした。 ってそうはいくか馬鹿め、報酬は、見返りはないのか、牛島君に尋ねると、彼は、妹ならびに妹の学友たちとの合同コンパでどうです、と言う。僕が、まぶたの裏に彼のぺヤングソース焼きそばの容器に酷似した顔面を思い浮かべ、そこから彼の妹の顔面を想像し、午後は売切れる前にハワイアンバーガーを食べな
印刷する メールで送る テキスト HTML 電子書籍 PDF ダウンロード テキスト 電子書籍 PDF クリップした記事をMyページから読むことができます ソフトウェア開発者を採用する面接の場においては、応募者の専門家としての力量を見極めることが最も困難な作業の1つである。彼らの考え方については、面接時に少しやり取りを行えばそれなりに見当が付くだろう。しかし、実際のプログラミング経験を推し量るのは至難の業だ。一部の企業では、さまざまなテストを実施することでこれを行おうとするものの、筆者の経験から言えば、こういったテストは近代的な開発環境では必要性が薄い知識(IDEのオートコンプリート機能や、F1キーの押下で表示されるヘルプ、インターネットといったものがあるため、ライブラリの知識は以前ほど重要ではなくなっている)の丸暗記能力を試すだけに終わることも多い。そこで本記事では、開発者を評価するうえ
A while back I wrote about how to add simple permissions to your apps. Since then, I have worked on a few applications (Harmony among them) where I have taken that concept and expanded it. Yesterday, I decided that I had repeated myself enough times (3) and that I should abstract the shared functionality of those apps into a gem. Thus, Canable, the flesh eating permission system, was born. Canable
New to Rails 3? Check out the Ruby on Rails 3 Tutorial book and screencast. A book and screencast series showing you how to develop and deploy industrial-strength Rails apps in a direct, step by step way. The screencast series includes 12 lessons over more than 15 hours! Get the best "over the shoulder" experience of following what a top Rails 3 developer does when building an app today. Click her
We just released the 0.0.10 google-appengine gem. Working with cron.yaml has been fixed with the latest version of App Engine Tools. We also include AppEngine SDK 1.3.1. I've posted a few more examples. I show how to configure ActionMailer, special thanks to Michael Rykov. I also show how to work with a gem that doesn't have the java extensions in a jar.App Engine Tools updated to version 0.0.10Ap
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く