タグ

ブックマーク / webtech-walker.com (15)

  • GoでEnd To End Testingフレームワーク書いた - Webtech Walker

    SeleniumラッパーなテストフレームワークをGoで書いてみた。初Go。 https://github.com/hokaccha/sprinkler GoのコードでE2Eテストのコード書けてもあんまり嬉しくないのでYAMLで書けるようにした。 scenarios: - name: Hello sprinkler! actions: - visit: http://www.google.com - assert_title: Google - wait_for: input[type="text"] - input: element: input[type="text"] value: Hello - submit: form[name="f"] - wait: 1000 - assert_text: element: "#main" contain: Hello こんな感じのYAMLを以

    GoでEnd To End Testingフレームワーク書いた - Webtech Walker
  • irssiをインストールしてからやったことのまとめ - Webtech Walker

    IRCのクライアントをLimeChatからirssiに乗り換えたのでやったことをまとめときます。最初はtiarraも導入しようと思ったんですけどSSLの設定がわからなくてできなかったので断念しました。 インストールと起動 インストールはyumで一撃でした(CentOS 5.4) $ yum install irssi 起動は $ irssi でOK。起動すると~/.irssi/configという設定ファイルができます。 サーバーとかチャンネルの追加 サーバーの追加は /server add -auto -network freenode irc.freenode.net 6667 でチャンネルの追加は /channel add -auto #チャンネル名 freenode こんな感じ。チャンネルに入るときはサーバーにconnectしてjoinします。 /connect freenode /

    irssiをインストールしてからやったことのまとめ - Webtech Walker
  • Ark(Catalyst)のルーティング - Webtech Walker

    今日社内勉強会でtypesterからArkのルーティングについてお話があって、なんとなくしかわかってなかったのがだいぶすっきりしたので自分なりのまとめ。この辺はCatalystと同じなはずなのでCatalystでも一緒だと思われ。 ルーティングで使用するアトリビュートには大きく分けて下記の3つ。 Path Regex Chained Path PathアトリビュートにマッチさせたいURLを記述する。これが基。 パッケージ名がFooの場合はfooからのパスになる。これは/foo/barにマッチ。 package SampleApp::Controller::Foo; use Ark 'Controller'; # /foo/bar sub bar :Path('bar') { } メソッド名は関係ない。下記も/foo/barにマッチする。 package SampleApp::Contro

    Ark(Catalyst)のルーティング - Webtech Walker
  • dotcloud + node.jsでHello World - Webtech Walker

    dotcloud + node.jsやってみました。 まずdotcloudをインストールする。特に問題ない。 $ sudo easy_install dotcloud アプリケーションをつくる。APIキーを設定してない場合は設定しろと出るので指示通りsettingsページに書いてあるAPIキーを入力する。 $ dotcloud create hokaccha Warning: /Users/hokamura/.dotcloud/dotcloud.conf does not exist. Enter your api key (You can find it at http://www.dotcloud.com/account/settings): プロジェクトを作る。 $ dotcloud deploy -t nodejs hokaccha.helloworld Created "hoka

    dotcloud + node.jsでHello World - Webtech Walker
  • 補足:githubのアレ(history.replaceStateとかhistory.pushStateの話) - Webtech Walker

    以下の記事にgithubのhistory.replaceStateについて書かれてるのですが、一点補足しておきます。 githubのアレ(history.replaceStateとかhistory.pushStateの話) - 愛と勇気と缶ビール 補足の前に。 さらに、この記事を読んだ時「ChromeやSafariやFirefox4でパンくずリストやプロジェクトに含まれるファイル名をクリックするとズビビッとスライドしてDOMが置き換わるアレがreplaceStateを使っているのだろう」と思っていたけどそれも違った。replaceStateが使われているのは別の場所。 たしかにDOMの更新につかってるのはreplaceStateじゃなくてpushStateのほうなので僕の以前のエントリーが間違ってますね。すいません。 題の補足は以下。 pushStateでhistoryにリンクのURLを

    補足:githubのアレ(history.replaceStateとかhistory.pushStateの話) - Webtech Walker
  • #!的な話題の関連記事まとめ - Webtech Walker

    2011年02月14日 URL #!的な話題の関連記事まとめ #!関連のエントリーが調べにくいので目にとまったらここに追記していく。 TwitterやFacebookのURLには、なぜ#!が含まれるのか (SEOとAjaxのおいしい関係) - kazuhoのメモ置き場 NewTwitterとかFacebookのAjaxなURL(#!)を変換する奴を書いた - 金利0無利息キャッシング – キャッシングできます - subtech Tim Bray: 「URLに#!入れるな」 - karasuyamatenguの日記 urlに#!とか入れるなという話と、ひとつのURL≒ひとつのコンテンツという原則の話 さらなる「#!」URL批判 - karasuyamatenguの日記 HOKYPOKY.BLOG » 「#!」を含むURLについて YappoLogs: #!なんか糞だ ツイート Prev E

    #!的な話題の関連記事まとめ - Webtech Walker
  • jquery.ui.slideDownStream というのを書いた - Webtech Walker

    そんな大したものじゃなけどせっかくつくったので公開。takazudoさんの影響で$.widgetで書いてみた。 DEMO hokaccha's jquery.ui.slideDownStream at master - GitHub slideDownで大量の要素を次々追加していくUIが欲しかったんですけど、普通にslideDownだけでやろうとすると一気に追加されちゃうので、queueに溜めた要素をslideDownのコールバックで順番に処理してます。

    jquery.ui.slideDownStream というのを書いた - Webtech Walker
  • iPhoneやiPadでHTMLのソースを見るのつくった - Webtech Walker

    i-sourceviewというのをGAE/Pythonでつくってみました。 i-sourceview hokaccha’s i-sourceview at master - GitHub 同じようなことはアプリとかJS(Bookmarklet)でできるんですけど、アプリだと別途立ち上げが必要だったり、JSだとDOCTYPEが取れなかったりシンタックスハイライトがなかったりします。なのでサーバー側からリクエストしてHTML取得してシンタックスハイライトしたり行番号もつけてみたりしました。 それでつくってみたものの、認証がかかってるページがとれなかったり、JSで書き換えた後のソースが見たい場合もあるなあと思って結局JSで取得するのも用意しました。この二つを併用すれば大体ことたりるかなと。 シンタックスとかはchromeのソースビューに合わせてみました。 こんな感じになります。

    iPhoneやiPadでHTMLのソースを見るのつくった - Webtech Walker
  • 最近のGoogle Analyticsのコードは</head>の直前に入れるべし - Webtech Walker

    今まではGoogle Analyticsのコードが非同期で実行できなかったので、AnalyticsのJSが読み込まれるまでコンテンツの描画をブロックしてしまうのでbodyの一番下とかにコードを置くのが普通でしたけど、最近は非同期で実行できるようになったので</head>の直前に入れるのがよいみたいです。 ヘルプに書いてあります。 コードを確認できたらコピーしてウェブページに貼り付けます。終了タグの直前に貼り付けてください*。 *非同期トラッキング コードの主なメリットの 1 つは、HTML 文書の一番上に配置できることです。これによって、ユーザーがページを離れる前にトラッキング ビーコンが送信される可能性が高くなります。JavaScript コードは セクションに配置することが慣例となっており、このコードを セクションの一番下に配置すると最高のパフォーマンスが得られます。 トラッキング コ

    最近のGoogle Analyticsのコードは</head>の直前に入れるべし - Webtech Walker
  • CSSセレクタの高速化の話し - Webtech Walker

    続・ハイパフォーマンスWebサイトを読んでCSSセレクタの高速化の話しが面白かった(というか全然知らなくてちょっとびびった)ので紹介します。 セレクタは右から左に解釈される これは正直知らなくて、結構衝撃でした。 #foo .bar {} これはなんとなく#fooを探して、その中の.barを探している気がしてたんですけど、実は.barを探して、その親要素に#fooがあるかを探すそうです。なので特に#fooが必要なければ .bar {} と書いたほうが高速だということ。 また、以下の様に要素名で指定すると、その要素を全て探します。 #foo a {} これは一度a要素を全て探すので、できればaにclassをふって #foo .anchor {} とするほうが高速のようです。(#fooをとるとより高速) 特にユニバーサルセレクタなどは、 #foo * {} とすると、全ての要素の親要素に対して

    CSSセレクタの高速化の話し - Webtech Walker
  • 最近はword-breakするのにJSは使わないほうがいいみたい - Webtech Walker

    Twitter / tacamy: { word-wrap: break-word; } ... ということなのでJSを使わずにCSSだけでやれるみたいです。しかもこれだけ。 .word_wrap { word-wrap: break-word; } IE6、7、8、Firefox3.6、Safari4、Chrome、Opera10.52で確認しましたけどこれだけで全部いけます。ブラボー。 <div class="word_wrap">http://ja.wikipedia.org/wiki/%E3%82%A4%E3%83%B3%E3%82%BF%E3%83%BC%E3%83%8D%E3%83%83%E3%83%88%E3%82%B3%E3%83%9F%E3%83%A5%E3%83%8B%E3%83%86%E3%82%A3</div> <div class="word_wrap">aaaa

    最近はword-breakするのにJSは使わないほうがいいみたい - Webtech Walker
  • perlbrew + cpanminus + local::lib で環境構築 - Webtech Walker

    local::libとかcpanmとか便利になってきたなーと思っていたところにperlbrewというまた新たなツールがでてきたので一度ここら辺でperlの環境構築についてまとめときます。 システムにインストールされているperlを使うとOSのアップデートなどの影響を受けてしまうので、それらを使わずホームディレクトリ以下にperlもCPANモジュールも全部インストールしていきます。 perlbrewはperlをバージョン毎にインストールしたり、それらをswitchして使えたりすることができるコマンドです。 App::perlbrew - search.cpan.org まずperlbrewをインストールします。 $ curl -LO http://xrl.us/perlbrew $ chmod +x perlbrew $ ./perlbrew install これで$HOME/perl5にp

    perlbrew + cpanminus + local::lib で環境構築 - Webtech Walker
  • PerlCasual#02でLTしてきた - Webtech Walker

    昨日開催されたPerlCasual#02で「Perl開発時に役立つvimプラグイン」というタイトルでLTしてきました。 snipMate.vim、ref.vim、prove.vimの3つを紹介してきました。perlのイベントで話すのは初めてだったので緊張しましたけど何とか無事話せてよかったです。ustが以下にあがってるみたいなので見たい方はどうぞ。 2, 2 dena_tech on USTREAM. Technology 個人的には牧さんのライブコーディングがすごくおもしろかったです。牧さんもvimだったんですけど、僕とは対照的にプラグインとかまったく入れないでやっているらしく、それでもタイピングの速度と正確さがハンパ無くて、プラグインなしでもたぶん全然僕より早いw 牧さんのustはこちら 1, 1 dena_tech on USTREAM. Technology

    PerlCasual#02でLTしてきた - Webtech Walker
  • perlのワンライナーで使えそうなのをいくつか - Webtech Walker

    最近ちょっとしたことはperlのワンライナーでやるので便利そうなのを抜き出してみる。必要に応じてzshの関数とかaliasにしたりとか。ちなみにperlのワンライナーといえばsugyanなのできっともっと便利なのをいくつも紹介してくれるはずです。 画像をbase64にエンコード $ perl -MMIME::Base64 -0777 -wne 'print encode_base64($_)' < file HTMLにdataスキームで画像埋め込むときとか、出力を改行したくないときはencode_base64の第二引数に空文字を渡す。 $ perl -MMIME::Base64 -0777 -wne 'print encode_base64($_,"")."\n"' < file 画像のリサイズ $ perl -MImager -se 'Imager->new->read(file=>$f

    perlのワンライナーで使えそうなのをいくつか - Webtech Walker
  • vimのsyntax/perl.vimをちょっと直す - Webtech Walker

    追記: mattnさんに教えてもらったsyntax使えばよさげです! → perl-mauke.vim - improved perl syntax highlighting : vim online 前々からperlのsyntaxがおかしいところがあるのには気付いてたけど、見て見ぬふりをしていたのを直した。 m!hoge$!とかqq[hoge'fuga]とかがあるとその後のsyntaxがおかしくなってた。 こんな感じでおかしくなってたのを直した。diffはこんな感じ。 Commit 2df207ed667cb632aba394e28c9e5f9f2793ceaa to hokaccha’s dotfiles - GitHub $VIMRUNTIME/syntax/perl.vimからうまく差分だけ上書きする方法がわからんかったのでとりあえず~/.vimrc/syntax/perl.vim

    vimのsyntax/perl.vimをちょっと直す - Webtech Walker
  • 1