HashDoS脆弱性との戦い! Rubyコミッター・卜部昌平が明かすプログラム堅牢化のノウハウ 過去、HashDosの影響を受けたRuby。言語開発者はいかにしてこうした問題に対応してきたのでしょうか。コミッターである卜部氏の貴重な記録を公開します。 2011年の末頃、HashDoSという脆弱性が公表され、Rubyもこの影響を受けた。本稿の筆者である卜部昌平(うらべ・しょうへい/@shyouhei/以下、卜部)は、報告当初からRuby側のチームメンバーとしてプログラム本体の修正を担当した。以下はその記録である。言語開発者たちが普段どのようなことを考え、どういった技術を用いて開発やバグフィックスを行っているのか。その概要を知ってもらえれば幸いだ。 オブジェクト指向スクリプト言語 Ruby HashDoSの概要 なぜ約6年後の今、修正内容を公開するに至ったか? 前史:すでに内包されていたリスク
ソフトウェアの世界には「悪い方が良い」原則という有名なエッセイがある。キレイにレイヤ分けされた一貫性のある良いデザインよりも、一見手抜きの悪いデザインのほうが実は良いときもあるという話だ。この逆説的なデザイン原則を僕は身をもって体験したことがある。それについてちょっと書いてみようと思う。 僕はlldというリンカの現行バージョンのオリジナル作者だ。リンカというのはコンパイラと組み合わせて使うもので、実行ファイルやDLLを作るのに使用される。lldはプロダクトとしてはかなり成功していて、標準のシステムリンカとして採用しているOSがいくつかあったり、GoogleやFacebookなど皆が知っているような大規模サイトの中で広く使われていたりする。 現在のlldは2世代目で、第1世代のlldは僕がプロジェクトに参加する前から存在していたのだけど、数年前にそれを捨てて一から書き直すということになった。
見よ、核の周りを回る電子軌道を捉えた世界初の画像を!2011.09.03 12:006,190 satomi 芋虫...じゃないよ、電子軌道を捉えた世界初の画像...です。 IBMが分子構造と原子結合の3D視覚化に成功して2年...あれを無限に超えるブレイクスルーですね! 原子核の周りを回る電子軌道経路の姿については物理学者もこれまで擬似モデルや仮説で補ってきたんですけど、それがこうして画像として目で見れるなんて。大変な朗報かと。 IBMのペンタセン分子(e)の時もそうでしたけど、今回も電子軌道撮影に使ったのは原子間力顕微鏡(AFM:Atomic Force Microscope)です。原子大の探針を使い、その尖った先端の下を通過する原子1個1個を測定する顕微鏡ですね。 下のc、d、fは数学的に再現した「こうあるべき姿」のモデルで、上のaとbに映ってる濃いグレイの帯、これがペンタセン分子の
クリスマスも近いですね。さて、クリスマスといえばどういうわけか黒魔術への需要が一気に高まる時期のようですので、Java Advent Calendar -ja 2010の12月20日はJavaの黒魔術をお送りします。昨日はid:celitanでした。 今日紹介する黒魔術はバイトコードインジェクションツールであるBytemanです。 この前ですね、お仕事で「HTTPレスポンスのヘッダが勝手に想定外のものに書き換わる」という不思議現象の相談を受けたんですね。Servletの中ではsetHeader("Foo", "bar")ってしてるのに、実際のレスポンスは"Foo: hoge"とか返ってる。アプリのJavaソース調べてもそんなことしてなさそうだし、Tomcatのソース見てもsetHeader()呼び出しでは何のログも出さないっぽいのでログを有効にしても原因がわからなさそう。なんだこれはとか思
原文(投稿日:2010/11/19)へのリンク 最近Alex Scordellis氏は、リソースの部分的更新についてのクライアントとRESTfulサービスのインタラクションがどのようにモデル化され、デザインされ得るかについての記事を投稿した。 [Ian Robinson氏、Jim Webber氏、Savas Parastatidis氏による書籍REST In Practiceの中に]私は不可解な考えを1つ見つけました。著者たちはリソースの状態を更新するものとしてPOSTを推奨しています。これは、PUTのセマンティクスの解釈の選択によって導かれるものです。HTTP仕様によれば:Request-URI が既に存在するリソースを参照している場合は、同封されるエンティティはオリジンサーバにあるそれの修正版とみなされるべきである。 本の中では、著者たちはこのことを、PUTリクエストに同封されるボディ
人間の細胞から人工臓器を作り出す研究を行っている米ノースカロライナ州のWake Forest University Baptist Medical Centerの再生医学研究所は、人間の肝細胞を増殖させ、人工肝臓を作り出す事に成功した(/.本家、Gizmag)。大人の肝臓の平均重量は2Kg程だが、今回作成に成功した人工肝臓は5.7gとかなり小さい。実際に人に移植して機能するには最低454gは必要とのことだが、肝臓再生の大きな一歩を踏み出すこととなった。 作成方法は、まず動物の肝臓から細胞だけを抜いて「透け透けの抜け殻」(コーラーゲン組織)にする。血管の網状組織はそのまま残っているので、抜き出した細胞の代わりに前駆細胞と血管内皮細胞を入れる。これを細胞培養装置に入れて一週間待ったところ、人間の肝組織へと増殖していたそうだ。 肝臓移植を必要とする人の数に比べてドナーが不足していることから、人工
情報通信研究機構けいはんな研究所ユニバーサルメディア研究センターは、何も無い平らなテーブルの上に立体映像が浮かび上がり、椅子に座っていても周囲から複数人で同時に高さのある立体映像を観察できるテーブル型の裸眼立体ディスプレイ「fVision(エフ・ヴィジョン)」の開発に成功したと発表した。 試作したテーブル型裸眼立体ディスプレイfVisiOnによる立体映像(中央にはウサギの立体映像、周囲には実物である折り鶴や書類、ペンなどを配置) 今回、同研究センターにて新たに開発された技術は、何も無い平らなテーブル面上に高さのある立体映像を浮かび上がらせて再生でき、着座時のような周囲360°から見下ろすように観察する場面に特化したもので、複数人が裸眼で自然に利用可能なインタフェース。テーブル上には一切の装置がなく紙の資料や実物の模型の隣に立体映像を並べて表示したるすることなども可能。 再現された立体映像を
2009-12-31 近況 プログラマとしての成長が感じられない一年だった. 目先の仕事に気をとられ, 問題についてよく考える時間をとらなかった. 過労を言い訳に勉強もしなかった. 情けない. 一方で仕事のチームでは成長を感じることができた. せっかくだから, "チームがよくなる" 感じについて書いてみたいとおもう. 最近, 私のいるチームはコードレビューをするようになった. 私はこれまで仕事の中でコードレビューを実施しょうと試行錯誤してきたけれど, チームに定着することは少なかった. コードレビューはそれなりに面倒な作業なので, 特に組織的な外圧がないところではさぼられがちだと思う. けれど今のチームは外圧なしでやっている. およそ一年間のプロジェクトを通じ, このチームがコードレビューをするに至った道程を振り返ると, チームが成長する様子をうまく捉えることができるかもしれない. フェー
ベンキュージャパン(マーティン・モーレ社長)は6月2日、重さ約640gのミニプロジェクター「GP1」を6月12日に発売すると発表した。価格はオープンで、実勢価格は6万9800円前後の見込み。カラーはブラックとホワイトのツートンカラー。 USB端子を搭載し、USBメモリを接続すれば保存した写真や動画をスクリーンに投写できるのが特徴。サイズは幅136×高さ54×奥行き120mmとCDケースほどでコンパクト。光源にはLEDを採用した。 投影方式はDLP。表示できる解像度は858×600で、画面サイズは15−80型に対応する。輝度は100ルーメン、コントラストは2000対1。アスペクト比は4対3と16対9を選択可能。2Wのモノラルスピーカーも備える。インターフェイスはミニD-sub15ピンとコンポジットビデオ端子が各1基。電源はACアダプタ。リモコンも付属する。 なお、iPodやiPhoneを簡単
Blogged by Ujihisa. Standard methods of programming and thoughts including Clojure, Vim, LLVM, Haskell, Ruby and Mathematics written by a Japanese programmer. github/ujihisa Brixen recommended me to switch to use dvorak instead of qwerty. Although I've never tried dvorak, I've often heard that it is very effective to use this layout. This pdf is the most important reference for a dvorak beginner o
Languid: a statistical language identifier by Maciej Ceglowski Please enter at least 20 characters Handy: bookmarklet Free: Language-Guess.tgz Languid is a statistical language identifier. Give it at least 20 characters of UTF-8 encoded text and hope for the best. © 2004 Maciej Ceglowski albanian arabic armenian azeri basque bengali bulgarian burmese catalan cebuano chinese croatian
JavaJavaの匿名クラスはすごくかわしいかわいい技術でいろいろキモイことができます。匿名クラスは基本的に「サブクラス生成のための特殊記法」であって、クロージャではありません。匿名クラスとクロージャを対比して云々するのはそもそも誤りです。なんならクロージャでサブクラス作ってみなよってことです。匿名クラスによって、Javaではなにかのサブクラスを任意の場所で即座に作り出すことが出来るんです。なにかのクラスのメソッドを三つほど書き換えた新しいクラスをさっと作れるのは、なかなか面白い機能ですよ。 その匿名クラスを利用したカッコイイ(でも使うのは躊躇されている)記法として、次のようなのがあります。(追記:この用法はヨシオリさんところで見たのが最初です) List list = new ArrayList() {{add("a"); add("b"); add("c");}}; Javaには「初期
天の川銀河系で爆発し、膨張する超新星の残がい(2007年初頭に撮影、2008年5月15日、NASA提供)。(c)AFP/NASA 【5月22日 AFP】寿命を迎えた星が爆発し超新星となる初期の様子を天文学者らの研究チームが初めて目撃したと、21日の英科学誌『ネイチャー(Nature)』で発表した。超新星爆発と呼ばれるこの現象は、宇宙で発生する現象の中でも最も強大なものの1つ。 超新星爆発では、飛び散った物質がガスやチリと衝突し、高エネルギーの光を発するが、これまでこの現象が確認できるのは、爆発発生から数日から数週間後だった。 だが、2008年1月、「一生に一度」のチャンスに恵まれた天文学者チームが、ついに超新星が生まれる瞬間をとらえることに成功した。 研究チームの米プリンストン大学(Princeton University)のアリシア・ソダバーグ(Alicia Soderberg)氏が、2
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く