タグ

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

  • node.jsのバージョン管理のためにndenv & node-buildを作ったのとanyenvの宣伝 - As a Futurist...

    nvm がどうも好きになれないので、rbenv & ruby-build を見習ってというか丸パクリして ndenv & node-build を作りました。主に自分用なので細かい説明は省略します。rbenv や plenv に慣れている人はそのままの感じで使えます。nenv があるのは知ってましたが、古そうだったので改めてコピーして作りました。 riywo/ndenv riywo/node-build また、これ系を入れる度に profile をいじるのがだるいので anyenv というのも作ってて、~/.anyenv/envs以下に置くだけでいいようにしてたりもします。これも自分用なので使いたい人がいれば適当に使ってみて下さい。そのうち、anyenv install rbenvとか作るかもしれません。 riywo/anyenv tavi 13-06-29 (土) 11:52 便利なツー

    node.jsのバージョン管理のためにndenv & node-buildを作ったのとanyenvの宣伝 - As a Futurist...
  • MyrokuというHerokuっぽいものを実装してみた - As a Futurist...

    あけましておめでとうございます。SF アドベントカレンダーも書けず、2012 年のまとめとかも書けず、まぁ何をしてたかというと生きるのに精一杯だったんですが、あともう一個やってたのがアプリ書くってことでした。前から、自前で簡単につかえる Heroku っぽい PaaS があるといいなぁと思ってたのですが、やっと動くものができましたので公開します。”My Heroku”で Myroku。 riywo/myroku-cookbooks · GitHub riywo/myroku-server · GitHub どういうもの? 基の挙動は超シンプルです。Heroku っぽい感じ。 好きな名前のアプリを作成する(sample-app) .llenvに使いたい LL のバージョンを書く(node-0.9.3) Procfileに起動するプロセス書く(web: node app.js) 一番最初に

    MyrokuというHerokuっぽいものを実装してみた - As a Futurist...
  • Carton Hackathonに参加だけしてきた - As a Futurist...

    CPAN とか全然分かってないし、実装力も全くないけど、miyagawa さんがいらっしゃるということだったので Carton Hackathon に参加してきました。ほんと座ってただけ。。。 日(世界)トップの Perl Mongers 達が交わすモジュールに関する会話は、聞いてるだけでホントに意味が分からない、じゃなくて勉強になることばかりでした。Hackathon という場に居合わせて、モノがどうやって生まれてくるのかを目の当たりにできて、いつも運用ばっかりやってる僕にとってはとても新鮮で刺激的でした。 その後の懇親会はいつもの通りで、笑いの絶えない楽しいものでした。とってもとっても楽しかったです。 せっかく参加させてもらったので何か貢献できないか、ということで一応取り組んだのがcarton list --treeの表示をもうちょっとかっこよくしようということでした。node.js

    Carton Hackathonに参加だけしてきた - As a Futurist...
  • 「リーダブルコード」が良書すぎて胃が痛い - As a Futurist...

    インフラ系のエンジニアは、あまりリファクタリングとかクラス構造といった視点でコードを読む機会が少なくて、勢い作ったスクリプトやツールはそれはそれはひどいものになりがちです(体験談)。 僕もエンジニアになって以来、まともなコードなんか書いたことなくて、従ってる原則といえば、「グローバル変数は悪」とか「短いことはいいことだ」とか「コメントは書かない方がいい」とか、なんか学生の時にたまたま目にしたよくわからない何かに従ってる程度。 少し大きい規模を書き始めると、昨日の自分と今日の自分で命名規則が全然一貫性なくて、「getHoge()」と「makeFuga()」がおんなじようなことをやってたりしていつも嫌悪感に駆られてました。 ちょうど 1000 行くらいのアプリ書いてたところだったので毎日吐き気をこらえながら「まずは動くものをつくるんだ。全てはそれからだ」と言い聞かせて汚いコードをゲロゲロしてた

    「リーダブルコード」が良書すぎて胃が痛い - As a Futurist...
  • Perlでハッシュのキーをdecode_jsonに渡すと壊れる - As a Futurist...

    タイトルの通りで、とりあえずperl-5.14.2/JSON 2.53でセグフォしました。。。 gfx 先生によると、実はハッシュのキーは単純な文字列じゃなくて、それをdecode_jsonに渡すと壊れる模様。 @riywo これは興味深いですね!ハッシュのキーは「FAKE」とよばれる特殊な文字列なのですが、それをJSON::XS::decode_json() に渡すとデータが壊れるようです。たとえば Dumper() ではなく $json に何か代入しようとしてもSEGVします。 — FUJI Goro (@__gfx__) June 15, 2012 perl-5.8.8 だと多分大丈夫そうな予感(use JSON::XSしてます)。あんまり色んなバージョンを手元に入れてないので試しきれてないですが、とりあえず報告ということで。 参考 - XS で共有文字列を活用する – Island

    Perlでハッシュのキーをdecode_jsonに渡すと壊れる - As a Futurist...
  • 突然のTwitter砲にもなんとか耐えたさくらVPSに感謝する - As a Futurist...

    なんか、2/6 の夜に「修士論文の代わりに退学願を提出してきた」が Twitter でばずったらしく、Yahoo 砲よろしく突如としてアクセスが集中しました。下の方にリソースモニタリングのグラフを貼りつけてますが、今までがほぼ 0 に見えてしまうくらいに来てたのでびっくりでした。 まぁ色々コメントつけて頂いたりしてますが、もう2 年も前なんでこのエントリについて今更僕から突っ込むことは無くて、あのエントリはあのエントリとして見て頂ければと思います。ここでは今回そんな突然のアクセス集中にも見事耐えてくれたさくら VPS に感謝しつつ、アクセス集中の状況を鯖管的立場から分析してみましょう。 ちなみに、以前エントリに書いていますがサーバの構成としてはさくら VPS1 台で、CentOS+Apache+mod_fastcgi+PHP-FPM+MySQL5.5(InnoDB)で WordPress

    突然のTwitter砲にもなんとか耐えたさくらVPSに感謝する - As a Futurist...
  • perlbrewとextlibなアプリのcronとかdaemontools - As a Futurist...

    perl は system perl じゃなくて perlbrew で入れて、アプリで必要な CPAN モジュールは全てアプリのディレクトリ下の extlib というディレクトリにインストールする方式は個人的にはいい感じだよなぁと思いつつ、cron とか daemontools がいつもどうやるのが正解なのか分からず困ってた。 またセットアップする機会があったので色々考えた結果、こんな感じなら割とすっきりした感じになった。 env このファイルがキモで、アプリのディレクトリに移動しつつ、いい感じに perl とか PATH とか@INC を設定して、渡されたコマンドを実行してくれる。 # perl -v This is perl, v5.8.8 built for x86_64-linux-thread-multi # ./env perl -v This is perl 5, versi

    perlbrewとextlibなアプリのcronとかdaemontools - As a Futurist...
  • 英語アカウントのつぶやきを日本語に翻訳してTwitterに投稿するスクリプト - As a Futurist...

    そろそろ国際人になろうということで、英語ブログと Twitter英語アカウントを準備してます。よろしく。 riywo weblog riywo@SF(hopefully) (riywo_en) on Twitter で、perl の練習ついでに英語アカウントでのつぶやきを翻訳 API 使って日語にして日語アカウントにつぶやくスクリプトを試作してみました。こんな感じで reply としてつぶやいてくれます。 riywo/TwitterTranslate · GitHub "これは、自動翻訳のためのテストです。" (@riywo_en) — Ryosuke Iwanaga (@riywo) April 7, 2012 自分のつぶやき取得は AnyEvent::Twitter::Stream で stream api を使って取得してます。filter メソッドで follow に自分の

    英語アカウントのつぶやきを日本語に翻訳してTwitterに投稿するスクリプト - As a Futurist...
  • 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がすごすぎて生きるのがつらい
  • 「やりたいことができる環境」と「やりたいようにできる環境」は違うという話 - As a Futurist...

    昨日@nekokak さんに言われて、確かに、と思った構造について。お得意の二項対立になってるので もうちょっと発展させたいところ。 あと、やりたい事が出来る環境とやりたいように出来る環境は全然違うということも意識しとくといいとおもう — nekokak (@nekokak) November 2, 2010 学科・研究室紹介然り、就活での企業説明然り、あらゆる組織での「自分たちのいいところアピール」に よく使われる2つのフレーズ。 「うちはやりたいことができます」 「うちはやりたいようにできます」 日の学校組織という大した自由がなく、自分から動かなくてもなんとなく過ぎていく組織に どっぷり浸かってきた若者には、とても心地良く聞こえる 2 つのフレーズだけど、 実は大きく異なる様相を持っているということに、初めて気付かされた。 「やりたいことができる」とは 大学とか研究室って組織は学生に

    「やりたいことができる環境」と「やりたいようにできる環境」は違うという話 - 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...
  • UbuntuでPlaggerやるならこれでいけ!〜VirtualBoxからcronまで〜 - As a Futurist...

    インストールがむずかしいことで評判の「Plagger」ですが,その評判通り 使える様になるまでが大変です.一般的には,CPAN から Plagger を入れれば いいのですが,依存関係が複雑なのと make しながらになるのでやたらと 時間もかかり,一発で入らなかったりと,面倒なことだらけです. この度,さくっと入れる方法が確立できたのでここにメモしておきます. Ubuntu 環境ないよという人のために,Virtualbox という仮想環境に Ubuntu を 入れるところからスタートします.Ubuntu 持ってる人は飛ばして下さい. そして,何よりパッケージを作ってくれた半袖さんには ちょー感謝><! VirtualBox に Ubuntu 入れる VirtualBox とは Sun が提供してるフリーの仮想環境ソフト.これで仮想マシン (こちらをゲストと呼びます)を作ってそこに Ubu

    UbuntuでPlaggerやるならこれでいけ!〜VirtualBoxからcronまで〜 - As a Futurist...
  • 1