タグ

ブックマーク / blog.yugui.jp (20)

  • Dockerで何が変わるのか - 世界線航跡蔵

    DockerCon 2014 に行ってきた。 この会期中には各社からいくつもの製品が紹介/発表された。そして、それによってクラウドという技術は次のステージに移行したと言っても過言ではないだろう。 より自由にユーザーがクラウドベンダーを選べる時代へ。どうやってクラウドにうまくデプロイするかではなく、アプリケーションそのものに注力できる時代へ。 Dockerとは Docker とはいわゆるコンテナ技術の1つで、Linuxホスト環境の中に隔離された別のLinux環境を作ってくれる技術だ。 軽量仮想マシンと呼ばれたりもする。 Solaris Container とも似ている。 新しくないDocker 1つ述べておくとDocker技術的には新しくない。Dockerの価値は技術以外にある(とDockerCEODockerConで言ってた)。 技術的にはSolarisにはSolaris 10の頃か

    Dockerで何が変わるのか - 世界線航跡蔵
    joan9
    joan9 2014/06/16
  • 良い相続人であるために - 世界線航跡蔵

    翔泳社の「君のために選んだ1冊 ソフトウェア開発の名著」という企画に寄稿を依頼されて、以下のような文章を書いた。ブログ等で公開して良いとのことだったのでここに公開したいと思う。 この企画は他の人の分を読むのが楽しみだ。早くができあがらないかな。 ちなみに「 きっと何者にもなれないお前たちに告げる 一冊」というタイトルを最初に思いついたけれど、長く読み継がれるであってほしいという企画の趣旨を鑑みて流行のネタを使うのは避けた。 yuguiがレガシーコードに絶望した人に贈りたい一冊 - 『レガシーコード改善ガイド』 レガシーコード改善ガイド (Object Oriented SELECTION) 作者: マイケル・C・フェザーズ,ウルシステムズ株式会社,平澤章,越智典子,稲葉信之,田村友彦,小堀真義出版社/メーカー: 翔泳社発売日: 2009/07/14メディア: 大型購入: 45人 クリ

    良い相続人であるために - 世界線航跡蔵
    joan9
    joan9 2011/12/18
  • Googleによるトランスセクシュアルへの配慮の事例 - 世界線航跡蔵

    先に報告した ようにこのたびGoogle転職した。 ここで、Googleトランスセクシュアルへの対応に感心したので書いておく。 履歴書 まず、US系の企業としては当たり前の慣習であり法的自己防衛でもあるのかもしれないけど、履歴書に性別を書かされない。 背景 履歴書に書くべき何か簡潔な性別の記述というものが存在するのであれば私にとっては問題ないのだけれども、実際のところはそうではない。 この話は 以前も書いた 。 人は性別という単一の二値属性が存在することを信じるが、残念なことに自然はそういう風にはできていない。人の信じる仮構は単に、少数者を例外として排除してしまえば幾つかの性別要素にまつわる量が成す数ベクトル空間について2つの同値類が存在し、それを「男」「女」と呼べるというだけの話に過ぎない。 残念なことに最初に省いた特異点を含めると単純な同値類は成立しない。都合の悪い例から逃げずに一

    Googleによるトランスセクシュアルへの配慮の事例 - 世界線航跡蔵
    joan9
    joan9 2011/07/18
  • 転職のお知らせ - 世界線航跡蔵

    世間は地震により慌ただしい。震源地近くの被災者の方にはお見舞いを申し上げる。 この最中に、個人的な報告を投下するのはちょっと憚られるものもあるのだけれども、あまり時期を外しても書く機会を逸するので思い切って書くことにしよう。 1月一杯で約3年務めた 株式会社スケールアウト を辞め、3月1日から Google Japan で働き始めた。twitterでは大勢の方に祝っていただき有り難い限りである。 Googleについては特に語ることはない。みんなが知っているし、私もまだみんなが知っているようなことの他は僅かしか知らない。だからスケールアウトについて語ることにしよう。 株式会社スケールアウト スケールアウトは広告配信エンジン/広告在庫管理システム/広告入稿システム/広告案件管理システムをフルスタックの製品「ScaleAds」を提供するスタートアップである。 創業 創業者の山崎大輔さんは、元はY

    転職のお知らせ - 世界線航跡蔵
    joan9
    joan9 2011/03/14
  • PHP文化との遭遇 - 世界線航跡蔵

    そうか、Railsのformの入力要素のidを階層化するのに[]を使うという文化は、あれはPHPと同じなんだ。 DHHはPHP出身だし、PHP文化が由来なのかな。やっぱりPHPはテンプレート言語だなー。

    PHP文化との遭遇 - 世界線航跡蔵
  • プログラミング言語の進化の方向 - 世界線航跡蔵

    セキュリティ&プログラミングキャンプ のBoFで、笹田さんがやってたセッションで話したことがある。言語の進化はベストプラクティスの取り込みにある、と。 ベストプラクティス取り込みの歴史 計算可能である事柄を計算するだけが問題であるなら、チューリング完全な言語なら何でも良いということになるし、不完全な言語は出る幕すらない。ラムダ計算からの自然なマップを考えるならS式で書いて何か実行すれば良いんだし、最小のプリミティブから出発するのが目的ならLazy Kなんかもいいかもしれない。 でも、工学的要請からは、計算可能関数が等しく計算の対象となるわけではない。そして、ある種の計算の傾向、パターンに対して「こうすればいい」「こう考えればいい」「こう設計すればいい」というベストプラクティスが生まれてくる。プログラミング言語の歴史を眺めていると、経験の中から立ち現れるベストプラクティスを取り込んだものが多

    プログラミング言語の進化の方向 - 世界線航跡蔵
  • ブランチメンテナンスの戦略 - 世界線航跡蔵

    Ruby 1.9.1のメンテナンスを引き受けた当初、メンテナンスの指針として参考にできるものは多くはなかった。Ruby 1.8系のやり方を参考にしたくて、いくつか卜部さんに教えを乞うたりもした。そんなこんなで、メンテナンスする中で分かってきたこともあるのでメモする。 目標 まず、リリースブランチをメンテナンスする目標は何であるかをはっきりさせよう。メンテナンスによってどういった価値を提供するかと言っても良い。 安定した仕様の安全に機能するソフトウェアをできるだけ長期間提供すること、これが目標である。永遠に提供できれば良いのだけれども、そうもいかない。利用者が少なくなったバージョンをメンテナンスしてもメリットは少ない。メンテナンスに割ける人手も限りがある。開発されているtrunkとメンテナンスされているブランチが離れるほどにパッチの適用は難しくなり、対処すべき問題を共有することも難しくなる。

    ブランチメンテナンスの戦略 - 世界線航跡蔵
    joan9
    joan9 2009/06/20
  • Roleに基づくスタブライブラリ - 世界線航跡蔵

    オブジェクトが他のオブジェクトと相互作用するにあたり、そのオブジェクトの機能の全体が必要になることは少ない。むしろ、オブジェクトの提供する特定のRoleのみが見えるべきである。そのRoleを提供することのみを契約すべきである。 MVCアーキテクチャではControllerはModelに対してオブザーバとして振る舞うし、Viewに対しては何らかのメッセージソースとして振る舞う。MVC風webフレームワークではControllerはViewに対して、表示すべきデータを供給する役割だし、一方でHTTPリクエストの消費者として振る舞う。 さて、ある種の静的型付け言語ではこのRoleをinterfaceという言語要素で表すことができる。そして、契約違反はコンパイルエラーとして検出することが可能だ。その言語の上のフレームワークが、適切にinterfaceで契約を結んでいるかは別として。 これをRuby

    Roleに基づくスタブライブラリ - 世界線航跡蔵
    joan9
    joan9 2009/03/07
  • アッチェレランドの身に染みる日 - 世界線航跡蔵

    丁度 アッチェレランド を読み始めたところであった。 発端 今日、関東には雨が降っていた。一方、バブル期にある場所で、歩道の繋ぎ部分の表面に金属素材を採用した馬鹿がいた。そして、今日、そこを通りかかった私は金属部分で滑って転倒し、MacBook proの外装が損傷した。幸い主たる機能モジュールは生きているようであったけれども、接続ポートが幾つか潰れてヒンジも歪んでいる。下手に動かさない方がよいと思ってそのままApple storeに持ち込むまで止めておいた。 隔離 そういうわけで私はオフラインに切り離された。そして奇しくも手元には読みかけの『アッチェレランド』があったというわけだ。第1部後半を読み進むと、そこにあるのは思考拡張システムから切り離されて古典的生物身体に閉じこめられた人間の話じゃないか。こうして、なんとも身近に話を読んだのである。 この情報からの意図せぬ隔離は大変興味深く、記録

    アッチェレランドの身に染みる日 - 世界線航跡蔵
    joan9
    joan9 2009/03/07
  • 空セマンティクスのオーバーロード - 世界線航跡蔵

    Rubyには nil がある。Smalltalkから継承した知恵の1つである。 今更Rubyistには言うまでもないが、これはマクロに過ぎないCの NULL やオブジェクトではないJavaの null とは一線を画すものだ。C#の中の人が null を反省して「 nil いいなぁ」と言っていたらしいけれども、とにかく nil は良いものだ。 これはデフォルトのNull objectである。RubyにおいてもNull objectパターンは健在だが、「何らかの出力できるオブジェクト」でよい程度の軽量なケースにおいては、わざわざNull objectを定義しなくともデフォルトのNull objectとして nil を使うことができる。だから、その意味ではRubyではNull objectパターンは「当たり前」であると言ってもよいかもしれない。 空セマンティクス Null objectは何らかの

    空セマンティクスのオーバーロード - 世界線航跡蔵
    joan9
    joan9 2009/02/15
  • キーボードへの拘り - 世界線航跡蔵

    きーたーみーさーん。 「 キーボード拘るっしょ 」を読んだ。「 SEなら、当然キーボードにこだわるよね? 」へのつっこみ。 ま、拘らない人も多いのは認めるけどね。でも、でも、和田先生も言ってるんだ。 米国西部のカウボーイたちは、馬が死ぬと馬はそこに残していくが、どんなに砂漠を歩こうとも、鞍は自分で担いでいく。馬は消耗品であり、鞍は自分の体に馴染んだインタフェースだからだ。今やPCは消耗品であり、キーボードは大切な、生涯使えるインタフェースであることを忘れてはいけない。 私の知ってるすごい人たちもやっぱりHHK最高とか、何かしら一家言は持ってる。私はまだ最高のキーボードには出会えていないけど(HHK Proは、他は完璧なんだけどあと少しだけ私の好みから言うとキーの重みが足りない)、でも出会えた日には5万やそこらは惜しくないですよ。 なんか、業態に大きく依存しそうなのも確かだけどね。SSHで作

    キーボードへの拘り - 世界線航跡蔵
    joan9
    joan9 2008/10/10
    > 私ゃ、出張のときはキーボードだっこしてピコピコハンマー担いで電車に乗ってましただよ。いっそこう言ってしまいたい。 「プログラマならキーボードは肌身離さずだよね」
  • そろそろコモンズ・マーカーについて一言言っとくか。 - 世界線航跡蔵

    コモンズマーカー というサービスが立ち上がった。私もyuguiアカウントを作ってある。 コモンズマーカーとは何か 様々な外部サイトに対してユーザーが「マーク」をため込んでいくという意味では確かにソーシャルブックマーク的だ。そして、ページ内にユーザーがコメントを書き込むという意味では以前いくつか立ち上がったWEB付箋紙サービスにも似ている。けれども、これはそれ以外の何かだ。 付箋紙サービスはまだ近いのだけれども、コモンズマーカーは付箋紙というアナロジーを捨てた。これは大きな飛躍である。対象文書の特定箇所にコメントを貼り付けるに当たって、当該箇所のまさにそこにコメントを配置するのが付箋紙である。だが、このやり方はstaticな紙媒体の制約下で当該箇所とコメントとの結びつきを示すのに必要であるに過ぎない。 コモンズマーカーの場合は、コメントは文書の右サイドに一列に表示される。従って、大量のコメン

    そろそろコモンズ・マーカーについて一言言っとくか。 - 世界線航跡蔵
  • 書籍『初めてのRuby』を書いた - 世界線航跡蔵

    他言語プログラマのためのRuby入門書『 初めてのRuby 』を執筆した。オライリー・ジャパンのいわゆる動物の1つとして、6月25日に発売される。 なお、書は翻訳ではない。オライリー・ジャパンの慣例によると『初めてのRuby』というタイトルのは米国O'Reilly Mediaの『Learning Ruby』の翻訳の筈だが、そうはならなかった。諸般の事情により『Learning Ruby』を訳すのではなく、私が日語で書き下ろした。 対象 書は、他のプログラミング言語の経験があるプログラマを対象としている。Rubyについての知識は一切問わない。一方、コンピュータ科学一般の用語やオブジェクト指向そのものについては知識を要求していて、こうした話題の説明は殆ど含まれない。 内容 新しいプログラミング言語を習得するとはどういうことだろうか。まず、その言語の文法を知っていて処理系が受理してく

  • 資格によるプログラマの独占について - 世界線航跡蔵

    新年だから夢物語でも書くか。 「 全力でプログラマーを「人気の職業」に押し上げたい 」は興味深い記事だった。でも、すでに各所で指摘されているように実態を改善せずにイメージだけ良くしても「使い捨てる余地」を増やすだけ。そして、SIの下のほうを見聞きするならば誰もが感じるように、人が足りないんじゃない。人が多いんだ。経験5年の人にFizzBuzzやってもらって当にできなかったときは冗談かと思ったもの。 もし抜的な解決を求めるなら、最終的な目標は医師や弁護士と同じく、業としてのプログラミングの資格による独占だよね。これによって絶対的な質を保証して、供給が減った分だけ値段は上がる勘定で、しかもプログラマの「無駄を省くことへの能的欲求」と能力にまかせれば、プログラマの数を減らしても質が高ければ回る。ま、そんなのは昔からIBMだのマイクロソフトが何度も言ってることだ。 で、業としてのプログラミン

    資格によるプログラマの独占について - 世界線航跡蔵
  • Matzの本、そして宣伝、そして決意、抱負 - 世界線航跡蔵

    『 The Ruby Programming Language 』を読んだ。こいつは良いだ。副題の"Everything You Need To Know"っていうのは嘘じゃない。翻訳しようっていう話もちらほら聞こえる。当然、翻訳は出すべきだろう。 だが、このは決して簡単ではない。こいつは 『プログラミングPerl』 と相似だ。その言語の創始者自身が書いた。そして、初心者が中級者になるために、最後に読むべきはこれだ。けれども、その言語の流儀を全く知らない、チュートリアルすらやってない入門者は、このでは挫折する。 Ruby Inside も、こう書いてる。 The only downside, in terms of the thousands who might be browsing Amazon looking for a single Ruby book to start o

    Matzの本、そして宣伝、そして決意、抱負 - 世界線航跡蔵
  • Lisperから見たRuby - 世界線航跡蔵

    Lisperから見たRubyの印象は、もしかしてC++使いから見たDのそれと同じじゃなかろうか。 とりあえず、基的なテクニックに関しては、対応する文法が組み込まれてるなーと。 でも、自分の足を撃つのがえらく困難そうだなーと。窮屈だなーと。 このテクニックは対応する文法すらないじゃないか。これ便利だったのに! そもそも、ちょっとしたテクニックを覚えれば解決できる問題に、どうして専用の文法を定義するのかなーと。

    Lisperから見たRuby - 世界線航跡蔵
  • 今年の言語 - 世界線航跡蔵

    BASICしか知らなかったころ、Cに触って、行番号がないのに自由に跳べないという不安感を感じ、 自動変数がスタック上にあると理解できなくて見よう見まねでlongjmpしてみて落とし、 VBに出会って、エントリーポイントはどこだ、ととまどい、 C++に触ってテンプレートやpolymorphismに圧倒され、まず試みたのは仮想関数のアドレス取得で、コンパイラに撥ねられ、 Perlに出会って$に困惑し、Rubyに出会って先祖がえりみたいなendが気持ち悪くて Lispに触って括弧の列に慄き、 アセンブリに降りて今度は制御構造がないのが不安で、 自己改変コードを書くんでハンドアセンブルして、オフセットを手計算するのに泣いて Luaをやってはどうにもクラスがないと落ち着かずに、サンプルを見ながらクラスを実装して、 それからJava格的に触って、やっぱりVMっていうのに違和感があり、 Scheme

    今年の言語 - 世界線航跡蔵
  • 1つの言語に囲い込まれるリスク - 世界線航跡蔵

    MatzがまたPHPの良くないところを批判して 炎上してる なぁ。 唯一の言語に囚われるリスク PHP使いの反論 @ Matzにっき : たとえばPHPしか知らないとしたら、PHPの欠点を指摘されると自分のやり方全体が否定されたと感じるのではないだろうか。 なんとなく、他の言語も知っているが諸般の事情でPHPを使う、という人は「批判はわかる」と言っているような気がする。たとえば「 Rauru Blog >> 悪いのはPHP自体じゃないかもしれないけど 」とか。例に出して悪いけど。 (中略) 弾さんの 「PHPなめんな」と「(Perl|Python|Ruby)をなめんな」の違い でも指摘されているように私のPHP批判に怒っている人はあまり外のことを知らないで怒っているような気がするな。 今回の議論に関して上記のMatzの指摘については、コメント欄にある「根拠レス」という指摘があたってるとは思

    1つの言語に囲い込まれるリスク - 世界線航跡蔵
  • Yellow between Red and Green - 世界線航跡蔵

    id:yuki_neko_nyan さんや id:moro さんが言う「仮実装に対するマーカーが欲しい」というのは実際の開発に置ける利便性という意味では分からないではないんだけど、捉え方は私の考えとは違う。 つまり、こういうことだ。 「仮実装は仮ではありません」 仕様は、少なくとも機能要件を満たすための要素に関しては自動実行可能な形式で書かれているべきだと思っている。だから、t-wadaさん曰く、「redフェーズは仕様の定義段階」なんでしょう。 仮実装でGreenになっているというこという状況は、その仕様を満たす極めてシンプルな実装ができたということ。定数を返しつづけるようなメソッドを書いてGreenになってしまうなら、そのモジュールは今はそういう仕様である筈だ。 だから、そこで言うべきは「仮実装に対するマーカーが欲しい」ではなくて「仕様の定義の不足に対するマーカーが欲しい」だと思う。 些

    Yellow between Red and Green - 世界線航跡蔵
    joan9
    joan9 2007/04/15
  • 日本Rubyカンファレンス2006 (4) Matz基調講演 - 世界線航跡蔵

    前の記事 に続いて日Rubyカンファレンス2006をレポートする。 State of the Dominion Ruby作者のMatzことまつもとゆきひろさんによる基調講演。 タイトルはアメリカ合衆国「一般教書演説: State of the Union」のパロディである、Perlの" State of the Onion "のそのまたパロディだそうだ。wordsファイルを'nion$'でgrepしてそれらしい言葉を選んだという。 Matzは"State of the Onion"を「タマネギがどうした! って感じ」と言ってたけど、Larry Wallは「 努力、忍耐、謙遜 」でPerl界をタマネギに例えてるから、"State of the Onion"はそういう意味なんでないの? いや、みんなそれを分かってるのを前提としてのジョークなのか? Matzの思考を読むには私のハッカー度がまだ

    日本Rubyカンファレンス2006 (4) Matz基調講演 - 世界線航跡蔵
    joan9
    joan9 2006/06/26
  • 1