Search Result: とき

cpanmでgithubからモジュールをインストールするときはLWP::Protocol::httpsが要る

…011-11-28 23:09:55 via Twitter for iPhone to @sugyan @songmu できました! ありがとうございます!!2011-11-28 23:12:15 via Twitter for Mac to @songmuということで新しい環境とかで躓いたときは注意。 追記 @sugyan --no-lwpとかでもいける。2011-11-28 23:22:13 via Twitter for iPhone to @sugyanだそうです。

rbenvの切り替えの仕組み…と、他言語での実験

…ubyコマンド打ったときに実行されるrubyが違うものになる、というのがちょっと新鮮で、これはどういう仕組みで動いているのだろう?と思って少し調べてみた。 上記記事のようにrbenvの設定をした環境では、 $ which ruby /Users/sugyan/.rbenv/shims/rubyとなり、${RBENV_ROOT}/shims以下のrubyを指すことになる。ここへのPATHは$HOME/.rbenv/libexec/rbenv-initに echo 'export…

Yokohama.pm #8 に参加してきた

…APC::Asiaのときに何も話せることがなくモニョモニョしていたので、せめてココで何か…ということで昨年のadvent calendarで書いたネタをまとめてLTで喋ってみることにしました。 スライド資料: http://sugyan.com/presentations/yokohama-pm-8/ # PhantomJS で HTML のスライドを PDF にし SlideShare にあげる方法 - Block Rockin’ Codesを初めて実践してみてslides…

Node.js Knockoutで作った"SlideReplay"のソースコード公開

Node.js Knockoutに参加した - すぎゃーんメモ のときに作った http://sugyan.no.de/ のソースコードを公開するの忘れてたので、今さらながらGithubに上げました。 https://github.com/sugyan/SlideReplay configの値をちゃんと設定すれば普通に動く…はず…。

ももクロ好きが好きなときに好きなだけももクロを楽しむためのWebサービス

第一回ももクロ ハッカソン に参加してustアーカイブビューア的なものをつくった - すぎゃーんメモ Ustreamアーカイブ同期ビューア その後 - すぎゃーんメモ で作ってたモノが、ようやくある程度作りたいと思ったところまで機能実装できた。 momocloop (#momoclo ustream archive viewer) ソースコードも公開しています。 https://github.com/sugyan/momocloop Ustreamのアーカイブをランダムで取っ…

npm configで設定値を管理

…> hogehoge@0.0.1 start /home/sugyan/temp/hoge > node server.js undefined consumer_secretなどの公開したくない値を含むソースコードを公開レポジトリにアップするときなどはコレを使うのもアリかもしれない。 ただし、毎回package.jsonを用意する必要があるので ちょっとしたscriptなんかはpitのように使えるid:hokacchaのnode-confyとかの方がお手軽で良いと思います。

Ustreamアーカイブ同期ビューア その後2

…思い。 seekするときは再生されているべき場所より少し先を指定してseekする 遅れがひどい(400ms以上の)場合はもう一回seekしなおす 進みすぎていた(100ms以上の)場合は、Timerを使ってその進みすぎていた時間だけpauseする という形にしてみた。 上記の調整を数秒おきに繰り返すと、ロードして最初の数秒は調整のために止まったりするけど、安定すると誤差が-400〜+100msの範囲に収まるので最大でも500ms程度のタイムラグで済むようになる。ネットワークの…

ももいろクローバー「4.10中野サンプラザ大会 ももクロ春の一大事 ~眩しさの中に君がいた~ LIVE DVD」を観た

…ももいろクリスマスのときからさらにパワーアップした6人組の全力のパフォーマンスが冴え渡っていて素晴らしく盛り上がっていたと思う。ソロ曲もスゴく良かった。一番手ももかが感情込めて歌い上げ、しおりんはクリスマスのとき以上の破壊力で可愛らしく、れにちゃんの演歌風の歌と殺陣もすごく良かったし、夏菜子のえくぼは恋の落とし穴だし、あかりんはメチャクチャかっこいいし、あーりんは「あーりん☆」だし。いやホントあーりんマジあーりん。 アンコールの「未来へススメ!」は本当に力強いメッセージのこも…

Node.js Knockoutに参加した

…限目のアイデアソンのときにid:badatmathさんたちと一緒に考えたものが、「ニコニコ動画みたいにプレゼンを再生しながらコメントとかをリアルタイムに共有できるもの」というもので(うろ覚えなのでちょっと違うかも…)、それ以降 特に誰も作っていなかったようだったのでこの機会に試しに作ってみることにしました。 結局出来上がったのは、 githubアカウントでログインできる slideshareから検索してスライドを取ってきて、自動で再生する(1枚あたり0〜30秒で遷移)よう調整…

#isucon で優勝したチームのメンバーとして参加してた

…シュから取れなかったときには通常通りDBから取りに行く、というようなフェイルオーバーを考えない漢らしいクソ設計で作ってしまったため、たびたびサイドバーが丸ごと消える、などの不安定な事態が起こり、これはイカン、ということで結局ロジック部分は全部revertした。残ったのはuse Cache::Memcached::Fast;の行とC::M::Fインスタンスを取得する部分だけ。 あとは一緒に相談はしつつも、ひたすらfujiwaraさん、songmuさんが手を動かしているところを見…

FileReaderを使って選択した画像の真ん中あたりを正方形に切り取って表示する

…ー表示したい、というとき、FileReaderが使えるブラウザだとそれを使って簡単に実現出来る。 html5の File API を使って、アップロード無しで画像プレビュー - 超自己満足プログラミング 「プレビュー表示する領域は正方形でサイズが決まっていて、縦長もしくは横長の画像がアップロードされたときは縦横比を変えずに真ん中あたりを正方形に切り取った形で表示したい」 というとき。 こんなイメージ。 無理矢理やってみた。 crop image from FileReader…

MySQL Casual Talks Vol.2に行って来た

…況を知りたい!というときに 人体に例える 非破壊検査は難しい - プロセス監視 動いてるかどうか、だけ - STATUSコマンド 基本的な統計情報 - SHOWコマンド 各種情報 - INFORMATION_SCHEMA SELECTで情報にアクセス可 - SHOW PROFILE 5.1から - log, GDBなど - Dtrace/SystemTap - DBUGトレース デバッグ版で利用できるトレース機能 まだ足りない、、ということで PERFORMANCE_SCHE…

ローカルのNodeプログラムで外部Socket.IOサーバにWebSocketで接続する

…message)); redis_sub.on('message, function(message){io.sockets.emit('message', message)});2011-08-04 12:11:37 via web to @sugyanというmentionをいただいたのですが、イマイチやり方がよく分かりませんでした… orz 基本的に同一マシン内でサーバ/クライアント両方立ち上げているときにRedisを仲介して通知しあう、という方法なのだという理解ですが…

Tatsumakiアプリケーションを作ってみる

… 1; ここではこのときにTatsumaki::MessageQueueに(instanceのchannelは1に固定)、タイムスタンプとUserAgent情報を詰めてpublishしている。ので"/"にアクセスされるたびにpublishされることになる。 Streamingな部分は、__PACKAGE__->asynchronous(1);とセットし、pollとかpoll_onceとかでMessageQueueからの通知を待ち受ける。 package StreamHandl…

Node+Socket.IOでminifyしたclient JSを使うには

…cket.IOを使うときは require('socket.io').listen(3000); とやった場合、[]http://localhost:3000/socket.io/socket.io.js[]で、socket.io-clientにあるクライアント側用のJavaScriptを配信してくれるようになるのだけど、どうもこれをminifyしたものも用意されているようでlib/manager.jsを覗くと , paths: { '/static/flashsocket/…

ローカルのmarkdownファイルを変更監視しつつSocket.IOでリアルタイムプレビュー

…で、それが変更されたときにブラウザ上で自動更新される方が嬉しいような気がして、 ファイルの変更監視でmarkdownファイルの編集->保存を検知 markdown->html変換したものをSocket.IOでリアルタイム更新 というものを作ってみた。 Node版 まずはNodeで。実行時引数で監視対象ファイルを指定し、fs.watchFileでそれを500msごとに監視、変更あれば変換したHTMLを普通にSocket.IOでクライアント側に通知する。 #!/usr/bin/e…

FacebookのTest Users APIをPerlで叩く

…が起きるかも、というときに使える TestUser作成APIがある。 本家ドキュメント: Graph API Reference Test User /test-user - グラフAPI - 参考資料 - 開発者向けFacebook 解説記事いろいろ: http://www.madin.jp/diary/?date=20110508 今日の出来事 : Facebookアプリテストユーザー作成方法 今日の出来事 : Facebookアプリテストユーザー作成方法〜実践編 フェイ…

async.jsでフロー制御

…感じ。 seriesは名前の通り引数に渡されたfunction配列の順番に実行。予め渡されるcallbackが呼ばれると次のものが呼ばれる、という仕組み。 parallelはseriesと同じ形式で渡されたものを全部並行で走らせる。 waterfallはseriesに近いけど前の関数から引数を受け取ることができる。順番に処理したいけど前の処理で得たデータを使用したい、というときに便利かも。 いずれもすべての関数の実行が終了したタイミングで第2引数で渡された関数が呼び出される。

Nodeアプリの設定系モジュールいろいろ

…ールバックが呼ばれるときには、指定したファイルを読み込んでマージされた値がjsonconfigオブジェクトに設定されているのでそこから値を取得できる。 JSON縛りで、環境による切り替えがしにくいけれど、悪くはないかも。 nconf ファイル以外にもKVSなどから読み込んだり逆に書き込んだりも出来る多機能ライブラリ。 普通にJSONファイルから読み込む場合は以下のようなかんじ。同期読み込み、非同期読み込みどちらも可能。 (function () { var nconf = r…

livecoderのMongoose依存を無くしてみた

JJUG CCCのときに@Jxck_さんとかと話をしていて、スキーマレスなmongodbを使うのにMongooseではきっちりSchemaを決めるようになってしまって、それってどうなの? 使う必要あるの? みたいに思えてきたので、試しにlivecoderでMongoose使っていたのを使わなくしてみた。 https://github.com/sugyan/live-coder/commit/5466bd51fd12ae966ca8ad61b68bcf1481597588 一度…

HTML::FillInFormによるConditional Commentsの扱いがちょっと微妙?

…fillformしたときに不思議な出力をしていて、調べてみると 中のHTML::FillInFormがcommentの部分をゴニョゴニョやっているあたりに問題があるようだった。 例えば、下記のようなコード。 #!/usr/bin/env perl use strict; use warnings; use HTML::FillInForm; my $data = join '', <DATA>; print HTML::FillInForm->new->fill( scala…

宮城で過ごしたGW 2011

…いた。 前回帰省したときはまだ物資供給が不安定だったり時間があまりなかったりということもあり、実家へちょっとしたモノを届けて近所の津波被害区域を見てきただけですぐ帰ってきた。けど今回は最初から高校の先輩の「スコップ団」の活動を手伝う予定で帰省した。 途中で腰を痛めて一日休養したりもしたけれど、dogwoodのデッキ作り、石巻での家財運び出し、子どもの日のお菓子配り、気仙沼での泥かき&家財運び出しなど、のお手伝いをした。 半日ウッドデッキ教室【スコップ団】 - どうせ地球のチリ…

リモートマシンからGrowl通知をできるようにしようとして挫折した話

…かるコマンド実行したときに終了通知をGrowlで受けたいじゃん?」と。 ちょろっと調べてみると以下のエントリが。 離れたところからGrowlで通知 - UDPのパケットをSSHでポートフォワードする方法 - (ひ)メモ SSHでリモートのコンソールに接続しているとき、コマンドの終了をGrowlで通知したい - <s>gnarl,</s>技術メモ”’<marquee><textarea>¥ 前者はGrowlのNetwork通知を使うもの。UDP 9887番ポートで受け取って通知…

App::Prove::Plugin::Growlを書き直してみた

…eコマンドを実行したときの結果とかをGrowlで通知するプラグイン」というのを書いていて、 proveコマンドの完了をGrowl通知するプラグインを書いてみた - すぎゃーんメモ そのときはMac以外のプラットフォームでどうするの、とか何とかでうやむやなまま放置していたのだけど、その後Growl::Anyというモジュールが出来て、今はそのあたりはスッキリしていますね。 Big Sky :: MacでもLinuxでもWindowsでもTwitterのhome_timelineを…

nodeで空いているポートを見つける

サーバのテストをするときなどに未使用のポートを使ってテストコードを走らせたい、というときがあって、PerlだとTest::TCPにempty_portというのがあって簡単に取得出来る。 $ perl -MTest::TCP -E 'say Test::TCP::empty_port' 10256引数を与えない場合は毎回違う値になるけれど、基本的に必ず空いているポート番号が返ってくる。 nodeでも同じようなのがあればいいな、と思ったのだけど多分ないのでTest::TCPを参考…

qunit-tapを使ってnode.jsのテストをproveで行う 続編

…時間のかかるテストのときに問題が起こらなくなる…らしい。けど下の"setTimeout(process, 13)"ってなんだ…?マジックナンバー。。 蛇足 最初「時間がかかるテスト」がよくわからず require('../test_helper.js'); QUnit.test('hoge', function() { setTimeout(function() { assert.ok(true); }, 1000); }); QUnit.start(); のようなのを書いて…

東京Node学園 1時限目 メモ

…ティへの代入、参照のときの処理を指定', '内部で持つ値を整数値だけにしたりできるよね' ] }, 'freeze, seal アクセス権限の制御など', 'Object.create() プロパティ設定してObject生成?', 'その他 Arrayにイテレータ,Object.ke ys() など便利機能が多数', { 'Test!': [ 'HTTP経由でテストしてると時間かかる', 'Jenkins使ってるひと色々教えて!', ] } ] }, { speaker: '…

JavaScriptで住所入力支援

…所を入力する」というときに簡単に入力できるものがあればいいな、と思ってちょっと作ってみた。 http://www1216u.sakura.ne.jp/address/ 最初のロードにちょっと時間かかるかも… 郵便番号データを下記からダウンロードし、 郵便番号データダウンロード - 日本郵便 下記のようなコードでCSVファイルからjsonもしくはjsonpの連想配列に変換した。 #!/usr/bin/env perl use strict; use warnings; use …

続・ #prayforjapan を眺める

…。こちらは受け取ったときに下に追加するようにしている。 $(function() { var d1 = {}, d2 = {}; var socket = new io.Socket(); function onScroll() { if (document.body.scrollHeight == window.innerHeight + window.scrollY) { while (true) { var n = Math.floor(Math.random() * …

Shibuya.jsに行ってきた

… '「何をやっているときに 何が起こったか」', '「操作は中断されました」タイミングによって起こったり起こらなかったり', 'やってはいけないことを規定、自動検出する', ] }, { speaker: 'os0x', contents: [ '予想外の縦書きプレゼン', 'ブラウザを操作するタイプ、エミュレートするタイプ', 'JSTestDriver: ブラウザをリモートで操作する', 'TestSwarm: グリッドテスティング' ] }, { speaker: 'y…