タグ

ブックマーク / naoya-2.hatenadiary.org (13)

  • Vagrant 1.1 で EC2 を vagrant up - naoyaのはてなダイアリー

    Vagrant 1.1 がリリースされました。 Vagrant は仮想サーバーのフロントエンドのツール、詳しくは Vagrant - naoyaのはてなダイアリー あたりを。 で、この 1.1 が 1.0 → 1.1 という割に結構大きなアップデートで新しく VM に VirtualBox 以外のものが選択できるようになった。すなわち「VirtualBox のフロントエンド = Vagrant」から「各種仮想マシンのフロントエンド = Vagrant」という風にアップデートされた。 今回の 1.1 からVMを操作するproviderがプラグイン構造となり、VirtualBoxだけならず、公式で操作できる対象が増えました。 VirtualBox VMware Fusion Amazon EC2 + VPC Rackspace Cloud VMware Fusion以外はオープンソースで公開さ

    Vagrant 1.1 で EC2 を vagrant up - naoyaのはてなダイアリー
  • Vagrant - naoyaのはてなダイアリー

    先日 Vagrant を触ってみたら便利すぎて鼻血が出ました。しばらく見ないうちに色々進んでるもんですねえ、いやはや参っちゃいました。 Vagrant は仮想マシンの VirtualBox のフロントエンドに相当する、ruby で書かれたツールです。vagrant コマンドなどを使ってコマンドラインから簡単に新しい VM を作れる。 % gem install vagrant % vagrant box add centos http://developer.nrel.gov/downloads/vagrant-boxes/CentOS-6.3-x86_64-v20130101.box % vagrant init centos % vagrant upこれだけで CentOS の Linux box をローカルマシン内に立ち上げることができる。*1 *2 なにこれすごい。 % vagra

    Vagrant - naoyaのはてなダイアリー
  • Meteor.js - naoyaのはてなダイアリー

    http://www.meteor.com/ で公開された Meteor.js を少し触ってみました。TechCrunch なんかでも話題になっていましたね。 Meteor.js は JavaScript によるウェブアプリケーションフレームワークですが、クライアントサイドでもサーバーサイドでもない、"Isomorphic" なフレームワークです。 コンセプトとしていくつか特徴があるのですが、その最たるものは "Reactive Programming" で、モデルやセッションなどのストレージを更新するとその更新内容がリアルタイムに、そのアプリケーションを開いている全クライアントに伝わるようなアプリケーションを簡単に作ることができます。 この辺は実例を見るのが早いです。 http://www.meteor.com/examples/leaderboard ここにある動画では、あるブラウザで

    Meteor.js - naoyaのはてなダイアリー
  • 開発メモ#3 : レガシーなCGIアプリケーションのリファクタリング - naoyaのはてなダイアリー

    開発メモその3です。今回は Perl のおはなし。 何年も前に作ったウェブアプリケーションのコードを開いてみたら黒歴史なコードが出てきて憂な気分になる、そんな経験ありませんか。私はあります。ずっとそんな現実から目を背けて生きてきました。 さて、先日 Perl + CGI で書いて Apache::Registry で高速化している、実行環境が Apache に癒着した CGIアプリケーションを発見しました。おえ〜っ。一から作り直したい気持ちをぐっと堪えて、これを Plack 化したりとリフォームしていくとしましょう。その過程を以下記します。劇的ビフォア・アフター! ・・・とかは期待せず、地道な変更を積み重ねていくのがコツです。 方針 いきなりコードをがりがり書き換えていくというよりは、試行錯誤のしやすい環境に移行させていきながらリフォームを進めます。遠回りですが、結果的にその後の運用が楽

    開発メモ#3 : レガシーなCGIアプリケーションのリファクタリング - naoyaのはてなダイアリー
  • Firefox OS - naoyaのはてなダイアリー

    Firefox OS が面白そう、というので少し触ってみました。 Firefox OS はWeb 標準ベースの開発を基礎としたモバイル端末用プラットフォーム、要は HTMLJavaScriptCSS でアプリケーション開発できるモバイル端末用の OS。間もなく Developer Preview Phone な実機が発売されるというのでにわかに盛り上がりを見せているみたいです。 Firefox OS が目指すところは Web 標準による、開発者がロックインされないオープンなプラットフォーム。iOS や Android の昨今の状況を見れば、そのアンチテーゼになるプラットフォーム構想があってもおかしくないわけで、まさにそれを目指しているようですね。 いったいどんなものかという概観は dynamis さんによるスライドが分かりやすい。 Firefox OS from dynamis

    Firefox OS - naoyaのはてなダイアリー
    abcb2
    abcb2 2013/01/24
    アンドロイドとかiPhoneの開発はやりたくないけど、これならやりたい気がしてきた。
  • リファレンスの循環参照によるメモリリークを Scalar::Util::weaken で解決する - naoyaのはてなダイアリー

    Perl のガベージコレクション(GC)の実装にはリファレンスカウント方式のGCが採用されています。リファレンスカウントというのは、あるデータ構造やオブジェクトがあった際、それらを参照するリファレンスの数を内部で換算して、その数が 0 になったらメモリから実体を破棄するという仕組みです。(JavaRubyなどの他言語のGC方式については 'PerlJavaRuby における GC アルゴリズム' あたりを。) リファレンスカウント式GCは、仕組みがシンプルで分かりやすい利点を持つ反面、相互参照が原因で参照を切ることができずにオブジェクトが解放されず、結果メモリリークを引き起す場合があるという欠点も持っています。 このメモリリークはバッチスクリプトや CGI のように、一度の実行で Perl のプロセスそのものが終了するプログラムではあまり問題になりませんが、デーモンプログラム、あるい

  • MapReduce - naoyaのはてなダイアリー

    "MapReduce" は Google のバックエンドで利用されている並列計算システムです。検索エンジンのインデックス作成をはじめとする、大規模な入力データに対するバッチ処理を想定して作られたシステムです。 MapReduce の面白いところは、map() と reduce() という二つの関数の組み合わせを定義するだけで、大規模データに対する様々な計算問題を解決することができる点です。 MapReduce の計算モデル map() にはその計算問題のデータとしての key-value ペアが次々に渡ってきます。map() では key-value 値のペアを異なる複数の key-value ペアに変換します。reduce() には、map() で作った key-value ペアを同一の key で束ねたものが順番に渡ってきます。その key-values ペアを任意の形式に変換すること

    MapReduce - naoyaのはてなダイアリー
  • マルチコア時代のロードアベレージの見方 - naoyaのはてなダイアリー

    ちょっと煽り気味のタイトルですが、CPU がマルチコアになり 2個、4個と増えていく中 Linux の負荷の指針になるロードアベレージをどう読むべきか、という話です。気になったところを少し調べたのでそのまとめを。 http://d.hatena.ne.jp/naoya/20070222/1172116665 でも書いたとおり、Linux のロードアベレージは「ロードアベレージは過去1分、5分、15分の間の実行待ちプロセス数の平均数 = 実行したくても他のプロセスが実行中で実行できないプロセスが平均で何個ぐらい存在してるか」を示す値です。ボトルネックが CPU、メモリ、ディスク等々どこにあるかは関係なく、仕事の実行までにどれぐらい待たされているかを示す値なので、システムのスループットを計測する指標の入り口になる値です。 このロードアベレージですが、実装を見るとランキュー(待ち行列)に溜まった

    マルチコア時代のロードアベレージの見方 - naoyaのはてなダイアリー
  • naoyaのはてなダイアリー - Perl のクロージャ

    いつもお世話になってるあの人とかあの人とかが山口家の逆襲->perl-解説->クロージャというクロージャの解説ページをブックマークしてるのをきっかけに、 Perl のクロージャについて自分もちゃんと理解できてるのかというのを考えてみましたが、どうも微妙です。 クロージャについて、何でいまいち理解しきれてない感じがあるのかというと、クロージャがどういうものであるかは知ってるけど、クロージャをどういう時に使うと良いのかが具体的にあれとこれという感じで思い付かないからなのではないかと思った。 なので、Perl でクロージャを使ってる実装とかを見て、どんなときに使われるものなのかをリストアップして理解を深めてみよう..のコーナーです。 クラスにデータを保持するためのクロージャ 僕がぱっと思いついたのは Class::DBI の中で使われている Ima::DBI におけるデータベースハンドラのキャッ

    naoyaのはてなダイアリー - Perl のクロージャ
  • PQ - naoyaのはてなダイアリー

    PHP でデータベースを利用するちょっとしたアプリケーションを作るにあたって、手軽に DB を操作できると良いなと思ってます。この辺も自分で作ってみようかなと思い立ち、まずはインタフェースを固めるべくそのプロトタイプを作ってみました。 $pq = new PQ(); $pq->dsn('mysqli://nobody:nobody@localhost/sample?charset=utf8'); echo $pq->query('users') ->where( array('age' => array('>' => 20)) ) ->where( array('mail' => array('-like' => '%@example.com')) ) ->fields("mail, name") ->order("updated desc") ->offset(0) ->limit(10

    PQ - naoyaのはてなダイアリー
    abcb2
    abcb2 2010/09/13
  • PHP版 List_RubyLike - naoyaのはてなダイアリー

    PHP で遊んでいます。 練習がてら、以前に作った List::RubyLike (http://github.com/naoya/list-rubylike) という Perl モジュール *1 の PHP での実装を作ってみました。 <?php require_once 'List/RubyLike.php'; echo LR(array("foo", "bar")) ->push("baz", "piyo") ->map(function ($v) { return strtoupper($v); }) ->join(", ") . "\n"; echo LR(range(1, 5)) ->grep(function ($n) { return $n % 2 == 0; }) ->map(function ($n) { return $n * $n; }) ->sum() . "\n

    PHP版 List_RubyLike - naoyaのはてなダイアリー
    abcb2
    abcb2 2010/09/05
  • 退職のお知らせ - naoyaのはてなダイアリー

    日8月31日をもって、はてな退職しました。 入社は2004年9月1日でしたから、今日でちょうど6年です。6年間の間に、はてなブックマークをはじめとする各種サービスの企画開発やディレクション、インフラの構築、技術チームのマネジメント等々、色々な経験を積むことができました。その一方で、なかなか自分の思うようにはサービスを成長させる、会社を伸ばすことができず自分の力量不足を感じる毎日でもありました。その足りない能力と経験を埋め合わせる日々が、成長を促してくれたとは思います。 この6年は、はてなという会社が、個人あるいは家族のような繋がりから組織に変っていく過程でした。会社というものが何なのかを全然知らなかった自分が、Webサービスの開発と運営に、組織がなぜ必要かというのを体で知ることになりました。なかなかに得難い経験でした。 遠回りもありましたが、はてなは組織になりました。新サービスは日々ユ

    退職のお知らせ - naoyaのはてなダイアリー
    abcb2
    abcb2 2010/08/31
    お疲れ様でした!
  • はてなブックマーク経由でTwitterに投稿、の新機能 - naoyaのはてなダイアリー

    Twitter に URL を投稿するとはてなブックマークにもポストされる Twitter 連携機能。以前からありました。便利だけど・・・ はてなブックマーク側に「asahi.com: うんたらかんたら」というタイトルだけのコメントが流れるのがやだな Twitter 側に [twitter][bookmark] とかタグが流れるのは微妙だなー。設定でオフにできるのは知ってるけど 今回の URL ははてなブックマーク側に流したくないんだけど、それを回避する方法が欲しいなあ Twitter に投稿してからはてなブックマーク側に同期されるまで結構タイムラグがあるのが気になるんだよなあ。せっかく1getしてるのにー こんなところが気になる、という方も多かったんではないでしょうか。 まるっと解決 日リリースしました、Twitter連携機能強化がこの辺のお悩みを、まるっと解決します。これまでは Tw

    はてなブックマーク経由でTwitterに投稿、の新機能 - naoyaのはてなダイアリー
  • 1