タグ

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

  • Docker (土曜日に podcast します) - naoyaのはてなダイアリー

    Docker をいじって遊んでいる。 http://www.docker.io/ Docker は PaaS ベンダの DotCloud がその PaaS のバックエンドとして使っている (?) ミドルウェアを公開したもの。適当な条件の VM をポコポコ生み出してはテストや実際の運用に使うことができたりするもの。例えば「RubyBundler が入っている VM」みたいなのを設定で作っておくと、後日何か Ruby でアプリケーションを動かしたいと思ったときにそのイメージをベースに VM を作ってデプロイしてやればすぐにアプリケーションが動き出す。そもそも PaaS がやっているのはそういう事で、それを汎用化したのが Docker。Travis CI のような、各言語ごとの実行環境が整った VM みたいなものに任意のコードを渡してビルドさせる、みたいなプラットフォームを作るのにも使える

    Docker (土曜日に podcast します) - 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のはてなダイアリー
  • Kindle向けに『入門Chef Solo - Infrastructure as Code』を出版しました - naoyaのはてなダイアリー

    Chef のスタンドアロン版である Chef Solo の技術書Kindle 向け電子書籍として出版しました。 入門Chef Solo - Infrastructure as Codeposted with amazlet at 13.03.17伊藤直也 (2013-03-11) 売り上げランキング: 14 Amazon.co.jpで詳細を見る がんばりました。原稿\(^o^)/オワタ Chef Solo Chef はサーバー/インフラの状態管理フレームワークです。より単純化して言うならサーバー構築の自動化ツール。コードは Ruby で書きます。ウェブアプリケーションをホストするサーバーの管理にもちろん利用できますし、チームメンバーの開発環境を同じ状態に揃える、あるいは個人の開発環境の整備を自動化する、といったことにも利用できます。 書の内容のは、その Chef の入門書です。C

    Kindle向けに『入門Chef Solo - Infrastructure as Code』を出版しました - naoyaのはてなダイアリー
  • 開発メモ#5 : Amazon Linux で knife-solo を使って chef-solo 実行 - naoyaのはてなダイアリー

    開発メモその5です。表題どおり EC2 インスタンスの Amazon Linux で knife-solo を使う話。 開発メモ#4 : EC2スナップショットとの差分は chef-solo で解決 - naoyaのはてなダイアリー で、chef-solo を使って EC2 の環境管理をしていると書きました。うち chef-solo の実行は capistrano like な perl のデプロイツール Cinnamon に任せている、という旨を述べました。 が、件のデプロイツール任せだと chef-solo 実行の度にレポジトリ経由でレシピをサーバー側に転送する必要がある。自分は github を使っているので github に push してサーバー側で fetchc される。デプロイツールがこの辺をやってくれるとは言え、レシピの動作確認のためにちゃんと動くことが保証されていないレシ

    開発メモ#5 : Amazon Linux で knife-solo を使って chef-solo 実行 - naoyaのはてなダイアリー
    yzixvxizy
    yzixvxizy 2013/05/23
  • Scripting Layer for Android で Perl x Android - naoyaのはてなダイアリー

    Shibuya Perl Mongers テクニカルトーク#14 に行ってきました。諸々面白かったですがパネルディスカッション、LT ともに id:kazuhooku さんの発表が良かったですね。 さて、Scripting Layer for Android (SL4A) を使って、PerlAndroid を hack する話をしてきました。SL4A は jRuby、PerlPythonPHP などの言語を Android で使えるようにするアプリ。それぞれの言語からは AndroidFacade API と呼ばれる API で、AndroidUIやカメラを操作できるというものです。 発表資料は以下です。 Scripting Layer for Android + Perl (SlideShare) http://www.slideshare.net/naoya1977/sc

    Scripting Layer for Android で Perl x Android - naoyaのはてなダイアリー
  • WEB+DB PRESS Vol.49 はてなブックマーク構築ノウハウ大公開 - naoyaのはてなダイアリー

    WEB+DB PRESS Vol.49 にて「はてなブックマーク構築ノウハウ大公開」という特集記事を執筆しました。 WEB+DB PRESS Vol.49 作者: arton,桑田誠,角田直行,和田卓人,伊藤直也,西田圭介,岡野原大輔,縣俊貴,大塚知洋,nanto_vi,徳永拓之,山陽平,田中洋一郎,下岡秀幸,ミック,武者晶紀,高林哲,小飼弾,はまちや2,WEB+DB PRESS編集部出版社/メーカー: 技術評論社発売日: 2009/02/23メディア: 大型購入: 10人 クリック: 373回この商品を含むブログ (45件) を見る 現在サービス中の新しいバージョンのはてなブックマークの開発には9ヶ月の期間を要しました。システムは一から作り直しを行っています。なぜシステムの作り直しを行う必要があったのか、どのような方法/設計でシステム再構築を行ったのか、新システムで利用しているソフト

    WEB+DB PRESS Vol.49 はてなブックマーク構築ノウハウ大公開 - naoyaのはてなダイアリー
  • 変化は急には起こらない - naoyaのはてなダイアリー

    自分を取り巻く周囲、物事の変化は急には起こらない。急に起こる変化というのは非常に希だろう。 社会情勢にしてもビジネスにしてもコミュニティにしてもそうだが、何か変化を誘発する動きがあった時、すぐにそれが社会やコミュニティ全体に変化を及ぼすというよりは、その動きが小さな部分に変化を起こして、そこがゆっくりと徐々に拡がっていって気付いたら全体が変わっていた...というようなことが多いように思う。 特にその変化が起こっている環境の当事者や一部分でいると、変化を感知することが難しい。日々の変化はごくごく微少だから、慣性が働いてしまって、それを感じ取ることができない。改めて一年前ぐらいを振り返ったときに「ああ、変化したんだな」ということが、そのときになって分かる。多くの人は、多くの変化に対してそうであろう。 希に当事者でありながら変化に自覚的である人がいる。それは特定の人があらゆる現象に対してそうであ

    変化は急には起こらない - naoyaのはてなダイアリー
  • KOF 2008 の発表資料 - naoyaのはてなダイアリー

    KOF 2008 での発表資料「はてな流大規模データ処理」を以下にアップロードしました。 http://bloghackers.net/~naoya/ppt/081108huge_data.ppt 一部参考文献からの引用 (Introduction to Information Retrieval から Vector space model の図、たつをの ChangeLog から転置インデックスの図) があります。この場を借りて感謝。 環境によってはおそらくフォントの表示がいまいちだと思いますが、ご了承ください。 追記 SlideShare にアップロードしました。 081108huge_data.pptView SlideShare presentation or Upload your own. (tags: linux mysql) 追記: メモリはディスクの 150 倍について

    KOF 2008 の発表資料 - naoyaのはてなダイアリー
  • Burrows Wheeler Transform と Suffix Array - naoyaのはてなダイアリー

    ,. -‐'''''""¨¨¨ヽ (.___,,,... -ァァフ|          あ…ありのまま 今日 起こった事を話すぜ! |i i|    }! }} //| |l、{   j} /,,ィ//|       『BWT について調べていたら Suffix Array のライブラリができていた』 i|:!ヾ、_ノ/ u {:}//ヘ |リ u' }  ,ノ _,!V,ハ | /´fト、_{ル{,ィ'eラ , タ人        な… 何を言ってるのか わからねーと思うが /'   ヾ|宀| {´,)⌒`/ |<ヽトiゝ        おれも何をされたのかわからなかった… ,゙  / )ヽ iLレ  u' | | ヾlトハ〉 |/_/  ハ !ニ⊇ '/:}  V:::::ヽ        頭がどうにかなりそうだった… // 二二二7'T'' /u' __ /:::::::/`ヽ /'

    Burrows Wheeler Transform と Suffix Array - naoyaのはてなダイアリー
  • はてなブックマークの関連エントリー機能開発、PFI さんとの合宿 - naoyaのはてなダイアリー

    はてなブックマークに関連エントリーを配信する機能を追加しました。詳しくは 告知日記で。 この関連エントリーは、株式会社プリファードインフラストラクチャー (以下 PFI) の技術者のみなさんと一緒に開発しました。週末に2泊3日で京都で合宿をしてコア部分を作り、その後京都と東京に分かれてオンラインで連絡を取りながら2週間ほど作り込みをして、今日リリースです。 この合宿では何チームかに分かれて、今回の関連エントリーの機能以外の開発も行っています。その辺の成果はまた後日にリリースできるのではないかと思います。 はてなブックマークの一つの問題として、昔のエントリーがデータベースに埋もれてしまうという点がありました。その問題の解決策としての類似記事抽出、それから検索機能の強化を以前から考えていました。PFI のメンバーのみなさんは情報検索技術のスペシャリストです。アカデミックな研究の成果を製品化を通

    はてなブックマークの関連エントリー機能開発、PFI さんとの合宿 - naoyaのはてなダイアリー
  • あるプロセスが利用しているメモリサイズを procfs 経由で調べる - naoyaのはてなダイアリー

    お題は「あるプロセスがどの程度の物理メモリを利用したかを知りたい」です。 手っとりばやく知りたいときは top や ps などで調べると良いでしょうか。例えば手元の coLinuxtop して M キーでソートすると emacs のプロセスが最もメモリを使っているようです。 PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 1923 naoya 18 0 23120 19m 3096 S 0.0 2.0 0:55.40 emacsメモリサイズは VIRT と RES がありますが、VIRT は Virtual の略で仮想メモリ領域のサイズ、RES が Resident の略で、実際に使用している物理メモリ領域のサイズ。19MB ほど使っているようです。この emacs のプロセスが利用するメモリ領域はざっくり 20MB 程度と

    あるプロセスが利用しているメモリサイズを procfs 経由で調べる - naoyaのはてなダイアリー
  • 勉強、学ぶ - naoyaのはてなダイアリー

    先週、サポートのアルバイトスタッフと、プログラミングの話題になった。プログラミングを勉強している、とのことだった。もちろん、自分は「それを続けると良いと思う」ということを言った。 少し前の自分だったら「プログラミングの勉強を続けると良いと思う」という言葉は、嫉妬や羨望、あるいは自己肯定からの言葉だったのではないかと思う。今もそういう部分がないとは言い切れないが、以前とは少し違っているように思う。 このスタッフがプログラムを書けるようになったとして、それが直接仕事に役に立つかどうかは人次第だと思う。"直接的に役に立つ"という保証はない。 そういうことではない。 何かシステム的なトラブルが起こったとき、自分ではない誰かが何かの操作で困っているとき。プログラムの世界についての知識、慣れ、経験があると、第六感が働くようになる。プログラムのおかしな挙動の、その振る舞いだけを見て、原因がどのあたりに

    勉強、学ぶ - naoyaのはてなダイアリー
  • Google を支える技術 - naoyaのはてなダイアリー

    Google を支える技術 を読みました。 Google のバックエンドで動いている各種分散処理システムに関しては Google 自身から論文がいくつも発表されています。それらの論文をはじめとする比較的最近の情報ソースをベースに、ある程度かみ砕いて要所要所を紹介するという内容でした。加えて著者の西田圭介さんは OpenCobol (COBOL を C 言語に変換しコンパイルする gcc のフロントエンド) を開発された、技術的なバックグラウンドがしっかりしている方であるようで、内容は信頼できると思います。 自分はこれまで Google のバックエンドの各種ソフトウェアについては方々で耳にしていましたが、漠然と何をするものか程度のことしか知りませんでした。 Web 検索の基的な仕組みと それにまつわる Google が直面した問題、特に大規模処理 それを支えるために開発された各種ソフトウェ

    Google を支える技術 - naoyaのはてなダイアリー
  • 中島さんと古川さんの対談 - naoyaのはてなダイアリー

    中島聡さん の おもてなしの経営学 アップルがソニーを超えた理由 (アスキー新書) を読みました。とにかく古川さん との対談が面白い。「経営学」と題している書籍ではあるのですが、この対談の箇所だけを抜き取ると、一人のソフトウェアエンジニアがどのようにして未来を切り開いたかというエンジニア論の体をなしています。 著者の中島さんの blog ははてなブックマークでも人気エントリーの常連なので、ご存じの方も多いことかと思います。 ところで 1998 年に、マイクロソフトがブラウザ戦争 (wikipedia:ブラウザ戦争)の結果、独占禁止法で提訴されたことがありました。個人的にはネットスケープがマイクロソフトにボコボコにされて「もうやめて、ネットスケープのライフは 0 よ!」と勝敗が完全についた区切り/象徴である事件だと認識していて、当時はまだそれほど IT ビジネスに関心がなかったにも関わらず興

    中島さんと古川さんの対談 - naoyaのはてなダイアリー
  • はてなブックマークの作り直しについて - naoyaのはてなダイアリー

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

    はてなブックマークの作り直しについて - naoyaのはてなダイアリー
  • ソフトウェア技術者としての残り時間 - naoyaのはてなダイアリー

    年始の NHK でのイチロー特集番組を見ていて一番印象に残ったのは、他の人の道具を絶対に触らないというイチローのこだわりでした。曰く、人の道具を触るとその道具の感覚が体に残ってしまい、自分の道具を利用するときの感覚の妨げになるから、ということでした。全体を通して、イチローは他のプレイヤーとの相対的な競争の中に身を置いているのではなく、絶えず自分を改良し続けるという過程の中にいるのだというのがよくわかる内容でした。良い番組だったと思います。 気づけば自分も 30 歳になりました。まだ若いとは思っていますが、さすがに 20 代の頃に比べると、病気や怪我の治りが少し遅くなったと感じることもあり、少しずつ自分の人生、「死」ということを考えるようにもなりました。時間は有限ということが少しずつ実感できるようになってきました。あるいは実感できるようになってしまった、と言った方が良いかもしれません。 ここ

    ソフトウェア技術者としての残り時間 - naoyaのはてなダイアリー
  • Linux のプロセスが Copy on Write で共有しているメモリのサイズを調べる

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

    Linux のプロセスが Copy on Write で共有しているメモリのサイズを調べる
  • さくらインターネット移行記#6 移転完了 - naoyaのはてなダイアリー

    さくらインターネットのデータセンターへのシステム引越し作業が、今日完了しました。最初にこの移行記を書いたのが 昨年の1月 でしたので、約 1 年です。今日は恒例の TGIF (Thank God It's Friday の略だそうです。金曜日の夕方はビールを飲みながらスタッフ全員で一週間を振り返ります。) で、1年間おつかれさまと労いの言葉をもらいました。とても嬉しかったです。 よい機会なので、旧サーバールームの写真を撮ってきました。まず一枚目の写真は移転前のものです。(もう少し引いた写真が欲しかったのですが、見つかりませんでした。) このような具合で各ラックにサーバーが詰まっており、また一時期はサーバーがラックに入りきらないため外に棚を作って、そこに固定したりということを行ってなんとか凌いでいました。 これが移転後、ちょうど 30 分ほど前に撮って来た写真です。サーバーはなくなり、残すと

    さくらインターネット移行記#6 移転完了 - naoyaのはてなダイアリー
  • Perl でローカルのアドレスを取得する - naoyaのはてなダイアリー

    ifconfigの出力をsedでパース — ありえるえりあ まだ Linux を触り始めて間もない頃に、サーバーを構築していてローカルの IP アドレスをシェルスクリプトから利用する必要があって、どうやって取得するべきだろうかと小一時間悩んだのですが結局分からず Perl の正規表現で ifconfig を parse したことがありました。ioctl() を使ってデバイスを操作する必要がある、ということを知ったのは数年後、割と最近のことです。なんということでしょう。 では、Perl で IP アドレスを取得する場合ですがモジュールを使ってよいのであれば IO::Interface がよいだろうと思っています。IO::Interface は Pure Perl ではありませんが、XS で ioctl() を呼び出しているので比較的高速且つ素直な実装だと思います。 #!/usr/local/

    Perl でローカルのアドレスを取得する - naoyaのはてなダイアリー
  • さくらインターネット移行記#5 久しぶりの移転作業

    だいぶ間が空いてしまいましたが、久しぶりのデータセンター移行記です。 アンテナ、カウンター、検索を移転 完全移行もぼちぼちゴールが見えて来た今日この頃ですが、先日もサーバーの移行作業を行いました。はてなアンテナの巡回システム周り一式、はてなカウンター、はてな検索などをまとめて移行しました。今回の移行も深夜作業。夜の 2:00 に集合して作業開始です。上の写真は僕のメンテナンス時の作業着です。 サーバールームからサーバーを運び出します。台車が大活躍です。 ぎっしりサーバーが詰まっていた旧サーバールームも、だいぶ閑散としてきました。まだ 70 台近くのサーバーが残っていますが、開発機などを除くと残り 40 台程度になりました。年内には全部移行できるのではないかと思います。 アンテナやカウンターともなるとはてなの中では古いサービスなので、使っているハードも古い。移転にあたって古いサーバーはハード

    さくらインターネット移行記#5 久しぶりの移転作業