タグ

ブックマーク / blog.riywo.com (13)

  • CentOS5にpython2.6を一般ユーザでいい感じにインストールしてみた - As a Futurist...

    所用で python を使う機会があったので、初めてまともに環境準備してみた。CentOS5 系の python は 2.4 系とだいぶ古いので、モダンなスクリプトとか WAF を使うならもうちょっと新しいのが欲しい。というわけで 2.6 をビルドした。システムワイドに入れるのも何なので、一般ユーザのみで完結させた(除くyum)。大体以下の記事の通り。 Installing Python 2.6 in CentOS 5 (or RHEL5) « bda’s blog build の前に python は意外とライブラリ必要で、結局必要十分が分かってないんだけど、記事にあるやつはとりあえず入れてみた。 # yum install gcc gdbm-devel readline-devel ncurses-devel zlib-devel bzip2-devel sqlite-devel db

    CentOS5にpython2.6を一般ユーザでいい感じにインストールしてみた - As a Futurist...
  • Perlでssh tail -fして目的の行が来たら終了する - As a Futurist...

    簡単だろうと思って始めてみたら意外とハマった。。。例えばネットワーク機器の設定確認とかで、ロードバランサ経由でアクセスしてみてちゃんとアクセスが来てるか確認したい時に、人力だったらターミナル開いてアクセスログをtail -fしといてcurlとかで叩いて「きたきた」ってやって終わりでいいと思うんですが、台数がべらぼうに多いときとかムリポ。 そこで、サーバにsshしつつtail -fを発行してアクセスログをフェッチしつつ、grep的なことをして目的のログが来たら終了、みたいな処理を考えてみた。方針はたぶんこの 2 種類。 sshで渡すコマンドでgrepして目的の行が出たらsshが終了するようにしておく 目的の行は perl で探して、見つけたらsshのプロセスにシグナルを送る なんでこんなめんどくさいことが必要かというと、tail -fは明示的に殺すまで基的にはずっと動き続けるので、なんらか

    Perlでssh tail -fして目的の行が来たら終了する - As a Futurist...
    TMTL
    TMTL 2012/08/08
  • perlbrew+Carton+Amon2+Test::mysqldみたいな - As a Futurist...

    モダンな感じで perl でウェブアプリ作りたいなーと思ってほげほげしてます。メモ書き。 最近の流行りでは、system perl なんてもう使わないわけで、自分で perl を make して入れるもの。それを簡単に管理できるのがperlbrew。で、アプリ毎に perl を入れてもいいなぁとは思ったんですが、さすがにそこまで仰々しくしたくはない。でも、CPAN モジュールについてはアプリ毎に依存が無いようにしたい(あるアプリが変にバージョンアップしちゃって他が動かないとか嫌)。 どうするのがいいかなーと色々考えたんですが、そういえば miyagawa さんのCartonというのが、依存関係やバージョンも含めて CPAN モジュール管理できるということでこれをアプリ毎に使うのが正統だろうなと思ったので使ってみた。 まずは perlbrew でインストール これは説明の通り。 $ curl

    perlbrew+Carton+Amon2+Test::mysqldみたいな - As a Futurist...
  • YAPC::Asia 2011に参加してしゃべってきた #yapcasia - As a Futurist...

    くたびれました。。。丁度 1 年前、初めて YAPC::Asia に参加したときから発表したいなーと思っていたのですが、Perl の話じゃないにも関わらず幸運にも発表の機会を頂くことができました。運営の方々、スポンサーの方々、スピーカーの方々、参加者の方々、皆さん当にありがとうございました。 追記:10/21 スライド公開しました YAPC::Asia2011 “Large Scale Server Operations in Mobage’s Social Games with Perl” riywo 日常溜まっているリビドーを吐き出すかのごとく、プレゼンでは言いたい放題やりましたし、懇親会では色々な方々と熱いお話ができました。こういう場に参加できることがすごい幸せだし、ペーペーな自分とお話してくれたり、絡んでくれる人がこんなにもいて当に楽しかったです。 発表自体は自分が今やっている

    YAPC::Asia 2011に参加してしゃべってきた #yapcasia - As a Futurist...
  • #isucon に参加してきました&isuconツールを試してみました - As a Futurist...

    「なんでもありの」といううたい文句の通りに楽しめたチューニング大会#isucon に参加してきました。 livedoor Tech ブログ : なんでもありの Web アプリケーション高速化バトル、#isucon 開催のお知らせ 最初は参加するつもり無かったんですが、知ってる方がかなり参加されそうだったのと、MySQL Casual の帰りに@kamipo さんが 「3 人チームで#isucon に申し込んだけど、『kamipo』『未定』『未定』やねん!」 と悲しそうにしていたので、kamipo さんと 2 人チームで参加させて頂くことになりました。kamipo さんホントありがとう!!ちなみにチーム名はふたりとも大好きな「チームやすべえ」 あんま大したことができなかったし、藤原組とかいうや ◯ ざなチームが圧倒的な強さを見せたりしていたので、真面目な話はそちらにお譲りします! #isuc

    #isucon に参加してきました&isuconツールを試してみました - As a Futurist...
  • オペレーションエンジニアとは何かを理解するために「ウェブオペレーション」を読んで欲しい

    最近は、@kazeburo さんの真似をして自分も「オペレーションエンジニア」と名乗ろうかと思ってます。正直最初にオペレーションエンジニアって聞いた時、なんのことだかよくわからなかったんですよね。ちょうどこの言葉を最初に見たのは 1 年前くらいで、その時僕は 2 年目に入ったところで MySQL Conference から帰ったばかりで「おらは DataBase Administrator(DBA)なんだ!」と思ってた頃でした。 それからちょうど 1 年。1 年目の時も DB だけをやってたわけではないですが、この 1 年はより広くより深くいろんなモノを見てきた関係で、自分の仕事は「DBA」だけだとちょっと説明に足りないなぁと思ってたところで、「オペレーションエンジニア」という言葉を思い出しました。そう、僕の仕事は「オペレーションエンジニア」なんです。ひよっこだけど ん、ちょっと待てって?

    オペレーションエンジニアとは何かを理解するために「ウェブオペレーション」を読んで欲しい
  • Perlでshellのパイプっぽいのを書いてみた - As a Futurist...

    ちょっと perlipc(Perl でのプロセス間通信)について調べてて、どうやったら shell 展開させずに、プロセスを shell のパイプでつないだみたいにできるかなーと思って、何の生産性もないことは覚悟の上で再実装してみた。 追記 IPC::Runってモジュールがあるよと gfx さんに教えて頂いたので調べてたら、これで十分同じことがやれそうだったので書きなおしてみました。 比較すれば、ややこしい部分が全部IPC::Runに隠蔽されているので相当理解しやすくなりました!Thx gfx! エラーハンドリングしてないし、ハンドルとかよく分かってないけど、とりあえず想定の動きはさせられた。 IPC::Open2とか使ってできそうな気もするんですが、どう書いたらいいのか分からず。 自分でやりたいことは上で書けたっぽいから、open2 の方を頑張って調べる気が起こらないので、何かヒントをお

    Perlでshellのパイプっぽいのを書いてみた - As a Futurist...
    TMTL
    TMTL 2011/04/19
  • パスワード管理について「安全なWebアプリケーションの作り方」で学んだので実装してみた - As a Futurist...

    前回半分くらい読んで積読になってしまっていた「徳丸」こと「安全な Web アプリケーションの作り方」を週末に読みきりました。当にいい教科書だと思いますので、脱初心者を目指す人は読んでみると良いと思います。 特に今までぼんやりとしか理解していなかった「パスワード管理」について非常に体系的に分かりやすく説明されていたので、せっかくなので Plack アプリで実装してみました。ソースは gist に貼っておきました。 基的には徳丸にあったとおりに実装しています。 パスワードはハッシュをかけた値を DB に保存 但し単純なハッシュ関数だと漏洩したときにクラックされる(=逆方向に解析される) そこで 2 つの対策を組み合わせる salt 値 user_id と固定値を利用して salt 値を作りパスワードに付加してハッシュを取る もし同じパスワードのユーザがいてもハッシュ値は異なる ストレッ

    パスワード管理について「安全なWebアプリケーションの作り方」で学んだので実装してみた - As a Futurist...
    TMTL
    TMTL 2011/04/19
  • GNU Parallelがすごすぎて生きるのがつらい

    皆さん今日もたくさんのサーバを相手にされていることかと思いますが、いくつかのサーバにアクセスして 1 秒間の統計情報(例えばvmstat 1 2)を集めてパッと表示したい時ってどうやってますかね?shell script を学びはじめたばっかりの僕はこんな感じで書いてました。 $ for i in host1 host2 host3; do ssh $i "vmstat 1 2 | tail -1"; done 0 0 0 329004 210836 14275360 0 0 0 2424 1410 1828 0 0 100 0 0 0 0 0 3716112 587704 25921684 0 0 0 488 1643 2026 0 0 100 0 0 1 0 0 555440 265560 14015548 0 0 0 4204 1534 2392 1 0 99 0 0 vmstatと

    GNU Parallelがすごすぎて生きるのがつらい
  • tailコマンドって-c使うと超速い - As a Futurist...

    Twitter でつぶやいたら意外と知られて無かったので記事にしておきます。 Linux とかで巨大なログファイルとかを扱うときに、head や tail というコマンドで先頭から何行とか 末尾から何行を見たい時があると思います。 例えばアクセスログで末尾から 10000000 行目辺りをみたいとかいうときに $ tail -n 10000000 access_log | head とかするとかなり遅いと思います。これはログの後ろの方から読み込みながら 行数を計算しているからで、10000000 行分数えないとどこから表示すればいいのかわからないので なかなか結果が返ってこなくてヤキモキしてしまいます。 こんなときに、-cというオプションを使うと超高速で結果が返ってきます。-cというのは -c, --bytes=N output the last N bytes とある様に、ファイルの末尾

    tailコマンドって-c使うと超速い - As a Futurist...
  • YAPC::Asia2010に行ってマジ感動した - As a Futurist...

    初めて YAPC に参加してきました。YAPC というのは Perl というプログラミング言語を当に愛する人達が 集まるカンファレンスです。と言っても、きっとエンジニアじゃない人には分からないんでしょうね、 趣味仕事で使ってるとあるツールが好きだというだけで金曜土曜を潰してわざわざお金を払って集まる意味は。 僕は 4 月に MySQL Conference にも参加してきましたが、当にこういう「I love 〇〇」なカンファレンスは その一体感、楽しさ、心地良さ、知的な刺激、どれを取っても夢の様な場所です。カンファレンスの間はずっと、 ずっとこのカンファレンスが終わらなければいいのに、と思ってしまいます。 僕はインフラエンジニアになってまだ 1 年半のペーペーで、開発経験なんか皆無に等しいので 正直ついていけるか不安でしたが、杞憂でした。それはきっと僕も Perl が大好きだからです

    YAPC::Asia2010に行ってマジ感動した - As a Futurist...
  • Plack+CatalystでWebアプリ(とCLI)を作ってみる - As a Futurist...

    1 年間インフラ修行ばっかりやってて、カタムースとかプラック企業の流れに乗り切れなかったので 一念発起して最近趣味で Plack と Catalyst で Web アプリを書こうとしています。 ただ、アプリのロジックに入る前に、そもそもモジュールの構造をどうしようかと 試行錯誤するだけで数週。。。一旦ここまでのまとめをしておきたいと思いました。 Perl 界隈の方々は当にエロくてすばらしいなと改めて感じました。 自分のプログラムセンスの無さをひしひしと感じてますが、 今回のアプリの開発を通じて何か CPAN に上げて、僕もエロくなれたらいいなぁ とか密かに思ってたりしてます。 それは MyApp::Web から始まった とりあえずモダン Perl 入門にあるように、以下の様なコマンドで Catalyst 用のモジュールを 一段名前を掘って作りました。 catalyst MyApp::We

    Plack+CatalystでWebアプリ(とCLI)を作ってみる - As a Futurist...
  • PerlでTwitterのBotを作ってみる - As a Futurist...

    Perl なんて触ったことない人ですが、とりあえず動いたのでメモ書き。とは言え、 「作ってみる」なんてのは嘘で、ほぼコピペです。すみません m(_ _)m 基方針 参考ページ [プログラミング]北海道開発オフで Twitter bot を作ったよ | コマネタ帳 基的にここのスクリプトを動かすことしかしてません。いようつさんありがとうございます。 さて、Twitter から呼びかけを読み込むには「API」「Web ページ」「IM」の 3 通りがあります。 API は制限がうざい、Web ページは変更の可能性がある、ということでとりあえず IM 経由。 つまり、Bot のアカウントで IM を登録しておき、そこからメッセージを取得することで スクリプト内に発言をげとしてしまう感じです。 続いて Bot が発言する方は API を利用します。こちらも IM 経由にしたり、Web ページにし

    PerlでTwitterのBotを作ってみる - As a Futurist...
    TMTL
    TMTL 2009/12/06
  • 1