タグ

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

  • 開発メモ#4 : EC2スナップショットとの差分は chef-solo で解決 - naoyaのはてなダイアリー

    開発メモその4です。 開発メモ#2 : AWS でのホスト / クラウドネイティブなデプロイ - naoyaのはてなダイアリー で、システム構成の変更時に EC2のスナップショットからインスタンスを複製して Elastic IP で切り替えているという話をしました。 ただ、この方法はそのままでは一点問題があります。スナップショットを取ったタイミングと現時点でシステム構成に差分があった場合にどうするか、です。例えば nginx の設定をほんの少しだけ書き換えたい、とかその都度スナップショットを取っていては流石に面倒。 その手のスナップショット時点からの差分を複製されたインスタンスに簡単に適用するために、基的なサーバー設定周りは chef-solo で管理してます。chef はサーバー構築自動化ツールで、chef-solo は chef のクライアント・サーバーを必要としないライト版、とでも

    開発メモ#4 : EC2スナップショットとの差分は chef-solo で解決 - naoyaのはてなダイアリー
    kamawada
    kamawada 2013/06/13
    なるほど、Cinnamonでchef-soloをキックするのかー!
  • Coveralls + Perl - naoyaのはてなダイアリー

    Coveralls は Github に置いているソースコードのテストカバレッジを git push の度に調査して報告してくれるクラウドサービス。「カバー率100%を維持したいなら継続的インテグレーション (CI) のレポーティングにテストカバレッジも含めちゃえばいいじゃない」という貴族向けのサービスです。いえ、貴族はフィクションです。 こんな感じでモダンなデザインで色々教えてくれる。各行が何回テストされたかみたいな詳細なレポーティングもある。 Travis CI と同じく Github の README なんかに貼り付けるバッジがあります。というか Travis CI なんかのCIツールと連携して Coveralls にレポートを投げるのが前提になっているようです。 つい最近 プロトタイプ開発用のRailsプラグイン「Chanko」を2.0.0にアップデートしました - クックパッド

    Coveralls + Perl - naoyaのはてなダイアリー
    kamawada
    kamawada 2013/04/17
  • Treasure Data - naoyaのはてなダイアリー

    少し前にログの話を書いた http://d.hatena.ne.jp/naoya/20130219/1361262854 ときに、Treasure Data については後日にもう少し詳細に書くと言ったので書くとしよう。 近頃 Treasure Data (以下、時折 TD) という名前をちらほら聞いたことがある人は多いのではないかと思います。「ビッグデータのクラウドサービスである」とか「日人が創業したシリコンバレーのベンチャー」、あるいは Yahoo! 創業者の Jerry Yang が投資したとか、Fluentd と何か関係があるといった文脈などなど。 けど、具体的に Treasure Data がどういうサービスで、どういう機能を持っていて、どんな場面で利用されるものなのかはまだあまり良く知られていないかもしれない・・・ようにも見える。今日はその辺から少し紹介していこうかなと思う。

    Treasure Data - naoyaのはてなダイアリー
    kamawada
    kamawada 2013/03/22
  • Markdown to Inao - naoyaのはてなダイアリー

    tl;dr: markdown2inao.pl は今後 https://github.com/naoya/md2inao.pl で管理していくからよろしくオナシャス。Web 版 http://md2inao.bloghackers.net/ も用意したぜ。 "inao"記法 技術評論者の WEB+DB PRESS に原稿を書いたことのある人々には密かに知られていた "inao" と呼ばれているテキストフォーマットがあります。 ■見出し ここが文 ・リスト1 ・リスト2こんな感じの、ある程度ヒューマンリーダブルな全角文字を主体としたマークアップ。WEB+DB PRESS編集部ではこの記法から InDesign で DTP に変換するというようなことを長らくやっていたらしい。つまり、このフォーマットで書いておくとそこから著者校正用の PDF になる。 markdown2inao.pl けれど

    Markdown to Inao - naoyaのはてなダイアリー
    kamawada
    kamawada 2013/03/03
    世界のinao!!
  • 開発メモ#1 : Cinnamon によるデプロイ - naoyaのはてなダイアリー

    このごろ作っているものが幾つかあるのだけど備忘録代わりにこの辺はこうしているということを書いて行こうかなと思います。 まずは Perl によるアプリケーションのデプロイについて。id:antipop と id:shiba_yu36 が開発した "Cinnamon" というミニマムなデプロイツールを利用しています。 Cinnamon - A minimalistic deploy tool https://github.com/kentaro/cinnamon シンプルで使いやすいデプロイツールです。 Capistrano? デプロイツールの定番といえば Capistrano で、最初は Capistrano を使っていました。けど、作っているものはほぼ Perl で書かれているのにデプロイツールだけ Capistrano で Ruby というのが、例えばモジュールの管理に Carton と

    開発メモ#1 : Cinnamon によるデプロイ - naoyaのはてなダイアリー
    kamawada
    kamawada 2013/01/29
    Cinnamon 使ってみよー
  • 開発メモ#2 : AWS でのホスト / クラウドネイティブなデプロイ - naoyaのはてなダイアリー

    開発メモ#1 : Cinnamon によるデプロイ - naoyaのはてなダイアリー に引き続き、その2です。 最近は個人で作るような小規模なものでも AWS を利用してホストしています。たとえ個人で作ったものとはいえ、利用するユーザーがいる以上はおいそれと落とすこともできない。かといって運用にあまり手間をかけたくない。その辺り、AWS で解決できる点が多い。 AWS の良いところはインフラが動的なので「後からどうとでもなる」ところ。 インスタンスの性能が足りないのであればスケールアップするでもいいし、冗長性が欲しくなったらそのタイミングで ELB (ロードバランサ) を用意すれば良い。その時、仮想化されていないハードウェアを使っていると移行のためにサーバーを再セットアップしたりアプリケーションをデプロイし直したりと手間がかかるところ、AWS ではその辺りの手間がほとんどかからない・・・と

    開発メモ#2 : AWS でのホスト / クラウドネイティブなデプロイ - naoyaのはてなダイアリー
    kamawada
    kamawada 2013/01/29
  • RubyMotion - naoyaのはてなダイアリー

    ちょっと前に RubyMotion を触ってみてこれは面白いなと思いブログにでも書こうかと思った矢先にドラゴンクエスト10が発売してしまい、あれよあれよといううちに一ヶ月経ってしまいました。 それはさておき「るびも」こと RubyMotion ─ いや、るびもと呼んでいるのは自分だけですけど。Ruby で iOS のネイティブアプリが書けるというツールチェイン。コンパイラ、テストスイート、プロジェクト作成用スクリプトその他を含みます。主に CUI はターミナルでのコンパイルを想定していて、Xcode で開発するのに比べるとだいぶ *nix してるわーという気分になれる代物です。iOS アプリなのに Ruby! iOS アプリなのに CUI! ・・・ これだけでワクテカな方も多いかなと思います。 以下そんなるびもちゃんRubyMotion 様をざっと紹介していきたいと思います。なお、あらかじ

    RubyMotion - naoyaのはてなダイアリー
    kamawada
    kamawada 2012/08/31
  • 創造性の高い仕事をしたい人におすすめしたい1冊 - naoyaのはてなダイアリー

    100人が選ぶソフトウェア開発の名著選 デブサミ10周年を記念して2月21日に刊行:CodeZine(コードジン) が出版されます。私も一冊推薦しました。id:secondlife:20120202:1328168076 でセコンさんが公開してるのにならって、私も原稿を公開しようかなと思います。推薦したのは以下のです。 モチベーション3.0 持続する「やる気!」をいかに引き出すか 作者: ダニエル・ピンク,大前研一出版社/メーカー: 講談社発売日: 2010/07/07メディア: ハードカバー購入: 101人 クリック: 5,453回この商品を含むブログ (153件) を見る 邦題があまり好きじゃない。原著は『DRiVE ─ The Suprising Truth About What Motivates Us』です。文の訳は良かったです。『フリーエージェント社会の到来』や『ハイ・コン

    創造性の高い仕事をしたい人におすすめしたい1冊 - naoyaのはてなダイアリー
    kamawada
    kamawada 2012/02/02
    ダニエルピンク本
  • Mojolicious::Lite で WebSocket を使ったチャットを作る - naoyaのはてなダイアリー

    node.jsの衝撃とWebSocketが拓く未来 (1/2):WebSocketで目指せ! リアルタイムWeb(1) - @IT という記事を読みました。node.js という V8 を用いたサーバーサイド JavaScript フレームワークを使うと簡単にイベント駆動のサーバが書ける、node-websocket-server.js を使うと node.js で WebSocket サーバが実装できる。Ajax による polling や Long Polling などと WebSocket のアーキテクチャ比較といった内容でした。 WebSocket を使うと手軽にサーバプッシュ的なアプリケーションが作れて嬉しいのですが、現時点では、HTTPサーバー側で WebSocket を処理する下地の実装をどう用意するかというところがひとつ課題でしょう。node.js はその回答のひとつとして

    Mojolicious::Lite で WebSocket を使ったチャットを作る - naoyaのはてなダイアリー
  • YAPC::Asia 2日目 「はてなブックマークのシステムについて」 - naoyaのはてなダイアリー

    2日目の発表も終えました。資料を公開します。 はてなブックマークのシステムについてView more presentations from Naoya Ito. 今日も少し駆け足気味でした。YACP::Asia 2009、今年も楽しかったです。Hackathon 出ずに京都に戻らなければならなかったのが悔やまれます。 発表の様子 撮影: id:hirose31

    YAPC::Asia 2日目 「はてなブックマークのシステムについて」 - naoyaのはてなダイアリー
  • Linux のプロセスが Copy on Write で共有しているメモリのサイズを調べる

    Linux は fork で子プロセスを作成した場合、親の仮想メモリ空間の内容を子へコピーする必要があります。しかしまともに全空間をコピーしていたのでは fork のコストが高くなってしまいますし、子が親と同じようなプロセスとして動作し続ける場合は、内容の重複したページが多数できてしまい、効率がよくありません。 そこで、Linux の仮想メモリは、メモリ空間を舐めてコピーするのではなく、はじめは親子でメモリ領域を共有しておいて、書き込みがあった時点で、その書き込みのあったページだけを親子で個別に持つという仕組みでこの問題を回避します。Copy-On-Write (CoW) と呼ばれる戦略です。共有メモリページは、親子それぞれの仮想メモリ空間を同一の物理メモリにマッピングすることで実現されます。より詳しくは コピーオンライト - Wikipedia などを参照してください。 この CoW に

    Linux のプロセスが Copy on Write で共有しているメモリのサイズを調べる
  • インターンシップ 2日目 - naoyaのはてなダイアリー

    インターンシップ 2日目です。今日から2週間弱、トレーニング期間です。今日は id:antipop さんから Perl のオブジェクト指向の話。「ある観点から見た利益をもたらすデータ構造と手続きとを一体にしたもので...」などなど。 トレーニングの内容は前半は基礎、後半が応用です。今日は一日 Perl OO で、明日以降はフレームワークを使ったウェブアプリケーション開発。後半は大規模データに対するアプローチ的な話が主になります。

    インターンシップ 2日目 - naoyaのはてなダイアリー
    kamawada
    kamawada 2008/08/06
    すげー
  • OSC 2008 Kansai in Kyoto - naoyaのはてなダイアリー

    7/18・19の二日間、京都でオープンソースカンファレンスが開催されます。自分も一枠、スピーチ枠をいただきました。はてな創業当時からこれまでの間、バックエンドシステム、開発体制や開発環境がどのように変遷してきたかを紹介させていただければと思っています。 株式会社はてな ではブログやソーシャルブックマークなどをはじめとする ウェブサービスを提供しています。それらサービスの バックエンドシステムの構成、開発手法を、創業当時からの変遷を追いながら紹介していきます はてなは創業当時、社長とスタッフの二名の会社でした。当時のサーバーは余っていたパーツで組み立てたPCサーバー、回線は ADSL でした。Perl でベタなアプリケーションを書く毎日だったそうです。同じことの繰り返しを効率化するためにMVCフレームワークが開発がされます。フレームワークができて開発効率がぐっと上がりました。一方の自社サービ

    OSC 2008 Kansai in Kyoto - naoyaのはてなダイアリー
  • Perl のリスト操作を Ruby 風に - naoyaのはてなダイアリー

    Perl の言語組み込みのリスト操作は関数形式で、push(@array, 1, 2) のような記述になります。一つのリストに対して複数の操作をしたい場合などは、関数呼び出しを複数行にわたって書いていくことになり、少々面倒です。しかし Perl は、Perl のリスト実装である配列のリファレンスに bless してメソッドを定義したクラスを作ることができます。この独自に定義したクラスにプリミティブな操作を加えていって、Ruby のように連続したメソッドの呼び出しによるリスト操作を実現することが可能です。 ここでは List::RubyLike という配列クラスを作成します。まずは手始めに配列に bless して、size() メソッドが呼び出せるようにします。以下のようになります。 package List::RubyLike; use strict; use warnings; sub

    Perl のリスト操作を Ruby 風に - naoyaのはてなダイアリー
  • naoyaのはてなダイアリー - MySQL の負荷分散に LVS + keepalived を使う

    あとで書く、と言った手前なので書くとします。 DSASの中の人がすごい勢いで LVS の話を書いてくれてます。この辺。LVS を使うと Linux と箱でロードバランサが作れちゃいます。普通に買ったら数百万とかしちゃうやつ。 DSAS の中のひとに感謝しつつ、いい機会なのでやってみよう! と思っていろいろ試して昨日あたりからはてなの中でも LVS + keepalived で動かしはじめてます。いまのところ問題なし。 そのロードバランサをどこに使ってるかですが、普通ロードバランサというとインターネットからの入り口のところに置いてウェブサーバーの負荷分散に使うイメージがあります。が、今回ははてなでは MySQL のスレーブの手前に置くという役割でとりあえず使いはじめました。 +-----------+ +-----------+ | mod_perl | | mod_perl | +----

    naoyaのはてなダイアリー - MySQL の負荷分散に LVS + keepalived を使う
  • MySQL Enterprise の今後についてのニュース - naoyaのはてなダイアリー

    カリフォルニアで MySQL カンファレンスが開催されて、その中で Sun に買収された以降の MySQL の今後の方針についてアナウンスがあったようですが、以下のようなニュースとして報じられています。 MySQLは16日、米カリフォルニア州サンタクララで開催中のMySQLコンファレンスの席上で今後の新機能追加は有償版の「MySQL Enterprise」だけを対象としていく方針を明らかにした。 対してブックマークコメントに b:id:heppoko-san さんが元 MySQL AB CEO の Marten Mickos 氏が Slashdot に寄せたコメントの URL (http://developers.slashdot.org/comments.pl?sid=525246&cid=23098626) を貼っておられたので、そちらも見てみました。 中の人のコメントを見るに、そこま

    MySQL Enterprise の今後についてのニュース - naoyaのはてなダイアリー
  • 京都オフィスの写真 - naoyaのはてなダイアリー

    京都オフィスの内装が終わりました。快適です。オフィスが綺麗だと会社に来たくなりますし、ついつい居着いてしまいます。昨日は気づけば開発環境をセットアップするのに夢中になってしまい、帰宅が深夜になってしまいした。 オフィスの様子を写真で少し、紹介します。 入り口です。エンブレムがあります。 お花がいっぱい。ありがとうございます。 エンブレムわっしょい。聞くところによると、国産車のエンブレムを作っているのと同じ会社で作ってもらったんだとか。質感が良いです。 ガラスパーティション。今のところガラスパーティションで区切られたスペースが二つあります。将来的にはこれが増えていくのだと思います。 ほぼ同じ角度から二枚目。 反対側のブース。まだ人が居着いてない。もう少しすると、古株スタッフと期待の新入社員数名が引っ越してきます。ここも徐々に埋まっていくことでしょう。 窓際カウンター。id:kossy のお気

    京都オフィスの写真 - naoyaのはてなダイアリー
  • はてなブックマークの作り直しについて - naoyaのはてなダイアリー

    id:naoya:20080320:1206009912 でも少し触れましたが、京都に来てからはてなブックマークの作り直しをしています。どういう意図を持って作り直そうとしているかを述べておきます。 まず大前提として、今のはてなブックマークに追加したい機能、変更したい仕様、来追加するはずが途中で頓挫したものが結構な数で山積みになっています。それを実現するための基礎作りです。 追加したい機能、変更したい箇所 おそらく新システムの最初のリリース時には、それほど大きく変わった、という印象にはならないかと思います。長く続いているサービスですし、インタフェースや使い方もリリース当初からそれほど大きくは変わっていません。既存システムからの極端な変更は歓迎されないだろうと思っており、まずはオリジナルが持っていた機能をしっかり再現することが重要です。 ただし、既存システムでも問題と思っている箇所は改善して

    はてなブックマークの作り直しについて - naoyaのはてなダイアリー
  • 取締役を退任しました - naoyaのはてなダイアリー

    3月7日を持って、はてなの取締役を退任し、執行役員となりました。正式な肩書きは「執行役員 最高技術責任者 (CTO)」となります。 京都に社を移転するにあたり、数ヶ月前から今後の自分の役割について検討してきました。自分としてはやはり現場で開発の仕事を続けていきたい、また京都まで来たからにはよりそれに集中したいという思いが強くありました。会社全体の指揮を取りながら現場でサービスを作っていくというのを両立するのは、自分の能力では難しいと思い、取締役を退任することとしました。 経営の仕事というのは、自らの働きかけにより会社の中にある個々の力を結集させて、より大きな力へと増幅させることです。自分は、それが取締役に課せられる役割のうち最も重要なものだと思いました。会社全体を見渡しながら個々の力のベクトルがうまく同じ方向を向くように働きかけたり、各チームではカバーされていない隙間があったらそこを支え

    取締役を退任しました - naoyaのはてなダイアリー
  • Flickr の認証API - naoyaのはてなダイアリー

    認証API をどうするか、ということで数名のスタッフであれこれ話ながらやってます。 まず、はてなの認証APIを使って何ができるといいのかというところですが、はてなラボをオープンしたときにいただいた意見などを見ると、「はてなAPIで認証付きのをセキュアに利用するための API」というより「サードパーティのアプリケーションではてなIDでユーザーを識別できるためのAPI」の方が求められているという風に思いました。 具体的には、新規にユーザーを識別する必要のあるアプリケーション、例えば掲示板などを作るとして、その掲示板のユーザーを一意に識別する方法としてはてなIDを使いたい、そのIDが当にその人のものであるかどうかをはてなが保証する、その保証を問い合わせるための API ですね。その掲示板でログインして何かを書き込むと id:naoya、と表示されると。 この手の認証APIを提供しているサービ

    Flickr の認証API - naoyaのはてなダイアリー