タグ

ブックマーク / secondlife.hatenablog.jp (16)

  • rubygems-test で rubygems インストール時にテストを行う - 2nd life (移転しました)

    Ruby のパッケージングマネージャの rubygems と Perl の CPAN と比較して、rubygems の残念なところの一つに『インストール時にテストを行わない』ことが挙げられます。rubygems は gem install package で一発で入れられる事は便利なんですが、インストール時にテストが行われないため、実際にその環境で正しい挙動をするとは限りません。また、rubygems で入れたパッケージのテスト方法もコマンド一発で簡単にできるわけではないのでめんどくさかったりします。なにより問題なのが、インストール時にテストが行われないため『開発者がテストをさぼりがち』になってしまいます*1。 最近 rubygems でも CPAN と同じように、インストール時にテスト可能なパッケージはテストを行い、失敗したら基的にインストールできない(設定で変えられます)仕組みを持っ

    rubygems-test で rubygems インストール時にテストを行う - 2nd life (移転しました)
    hidehish
    hidehish 2011/04/14
    見てる:
  • 大江戸Ruby会議01 高速なテストサイクルを回すには - 2nd life (移転しました)

    日大江戸*1で行われた大江戸Ruby会議01で、高速なテストサイクルを回すにはという内容で発表してきました。 大江戸Ruby会議01 高速なテストサイクルを回すには View more presentations from hotchpotch テストを速くするには二パターンあり、一つは単体実行時の速度・フィードバックの高速化、もう一つはすべてのテスト実行時の高速化があると思っていて、それらについての話です。ぎゅっとまとめると、前半の単体実行時の速度・フィードバック高速化には spork / prefetch-rspec / autotest / watchr を使おうという話と、後半は REE / parallel_tests による高速化・並列実行、remote spec によるリモートマシンでの分散テストについての話です。 特にオレオレプロジェクトの prefetch-rspec

    大江戸Ruby会議01 高速なテストサイクルを回すには - 2nd life (移転しました)
    hidehish
    hidehish 2011/04/11
    見てる:
  • さいきんの JavaScript テスト / Test.js - Shibuya.js 発表資料 - 川o・-・)<2nd life

    日行われた Shibuya.js の発表資料をアップしました。 さいきんの JavaScript テスト / Test.js - Shibuya.js 発表資料 View more presentations from hotchpotch JS のテスティングフレームワークのおおざっぱな説明や JavaScript テストにおける問題、それについての解決方法の一つ、CUI でのテスト、Envjs、エンドツーエンドテストにおける JS / Ajax のテスト、終わりにちらっと Phantomjs の話があります。 スライドの最後にあるように、やはりまだコレだ!という JS のテスティングフレームワークは存在しなく、今後 JS のテストは『僕らが書きたいテスト』をどれだけ簡単に書ける・書く手法が確立されるかによって流行廃りは決まってくるんじゃないかなぁ、と思ってます。そのうちの一つがスライ

    さいきんの JavaScript テスト / Test.js - Shibuya.js 発表資料 - 川o・-・)<2nd life
    hidehish
    hidehish 2011/03/10
    見てる:
  • ctags で JavaScript のタグを生成 - 2nd life (移転しました)

    エディタを使う上でわりと欠かせないのが、ctags(じゃなくてもいいけど)によるタグの生成です。あらかじめタグを作っておけば、関数などの補完も効くし、タグジャンプで即座にソースが読めて非常に便利です。 しかしながら現在の Exuberant Ctags の最新版では、JavaScript のタグ生成が function funcname(){}という関数の書き方にしか対応しておらず、最近の JavaScript プログラミングでよく使われるプロパティに関数を定義するタイプの funcname: function(){}という書き方ではタグ生成がされず悲しいです。で、prototype.js やら MochiKit やらを多用してるとタグジャンプがないのは不便すぎて悲しくなってきたので、当初は jstags という rubyJavaScript タグ生成のプログラムを作って代用してまし

    ctags で JavaScript のタグを生成 - 2nd life (移転しました)
    hidehish
    hidehish 2011/02/13
    見てる:
  • ActionScript3 における deep copy - 2nd life (移転しました)

    http://la.ma.la/blog/diary_200711270645.htm JavaScript の話題が出たので AS3 での方法も。ActionScript3 でコアクラスオブジェクトを deep copy するには、 public static function clone(arg:*):* { var b:ByteArray = new ByteArray(); b.writeObject(arg); b.position = 0; return b.readObject(); } var hash:Object = { ary: [0,1,2,3] }; var hashClone:Object = ObjectUtil.clone(hash); hash.ary[3] = 'a'; hash; // #<Object:{ary:0, 1, 2, a}> hashCl

    ActionScript3 における deep copy - 2nd life (移転しました)
  • Irb/TipsAndTricks - 2nd life (移転しました)

    http://www.rubygarden.org/ruby?Irb/TipsAndTricks Ruby使いなら誰もが愛用している(と思われる)irbのtipsなどが書かれているrubygardenの1ページなんですが、ここのriを使ってリファレンス引く方法が超便利!refeに変えたら鼻血が出るほど便利だったので紹介。refeとは、 クラス名とメソッド名から Ruby のリファレンスマニュアルのエントリを引く、コマンドライン用のツールです。読みは「りふぇ」。 ri をパクって日語・RD に対応させたものです。 http://i.loveruby.net/ja/prog/refe.html という青木さん作のツールで、最近はgem化もされてるのでgem install refeでも一発インストールができます。で、先ほどのサイトで書かれてるriの箇所をちょっと変更して、~/.irbrcに

    Irb/TipsAndTricks - 2nd life (移転しました)
  • vim7の新機能 Omni completion - 2nd life (移転しました)

    これヤバス!eclipseなどでおなじみのインテリジェンスな補完を提供する機能みたい。詳しくは:h new-omni-completion で。今のところCとXHTMLCSSしか用意されてないんで、htmlで早速使ってみた。機能はこんな感じ。 after "<" complete tag name depending on context (no div suggest inside of an a tag) (全部注釈であって翻訳じゃないよ) <の後でタグ名の補完。子要素として相応しいのしか補完されない。たとえばdivやpタグで囲まれてないのにstrongは補完されることはない。 inside of tag complete proper attributes (no width attribute for an a tag) タグのattributesの補完。もちろん適用できる属性だ

    vim7の新機能 Omni completion - 2nd life (移転しました)
    hidehish
    hidehish 2007/10/07
  • 川o・-・)<2nd life - bookmarkletの文字数制限を無くす

    bookmarkletを作るとき、IEでは500文字ちょい、Firefoxでは2000文字ぐらい(?)の文字数制限がある。また、作った後に一行にまとめたり、デバッグしたりも大変面倒。でもそれがとても簡単な方法でどうにでもなることをインターフェイス!インターフェイス!の人に教わった。 javascript:(function(){var s=document.createElement("script");s.charset="UTF-8";s.src="http://example.com/example.js";document.body.appendChild(s)})(); createElementでscript要素を作って、その中にhttp://example.com/example.jsとソースを指定することによってそのJSを実行できる。WinIEとFirefoxでは確認済み。

    川o・-・)<2nd life - bookmarkletの文字数制限を無くす
  • ActionScript3 でネームスペース使ったキーイベント監視ユーティリティ作りました - 2nd life (移転しました)

    AS3 のキーイベント監視でなんかいい方法ないかなー、と考えていたら良い方法が思いついたので実装してみた、らかなり便利な気がするので公開してみます。 http://github.com/hotchpotch/as3rails2u/tree/master 通常のキーイベントの監視では addEventListener(KeyboardEvent.KEY_DOWN, func) で関数を登録して switch で event.keyCode 判別して Shift が押されてるか Ctrl が押されてるかによって云々、でかなりめんどくさいです。でもこの KeyTypeListener を使うと驚き300%(当社比)の方法でキーイベントを定義できます。 // 読み込んで import com.rails2u.utils.KeyTypeListener; import com.rails2u.uti

    ActionScript3 でネームスペース使ったキーイベント監視ユーティリティ作りました - 2nd life (移転しました)
  • mxmlc コンパイラのメタデータタグを利用する - [Bindable] 篇

    ActionScript3 のソースをコンパイルするとき、現在は flex2 SDK に含まれる mxmlc を使うのが主流です。このコンパイラはAS3の言語では定義されてない、flex 独自のメタデータタグ([] で囲まれた syntax。[Bindable] など)を解釈し、自動でAS3ソースコードをジェネレートしてくれます。 このメタデータタグの利用方法をきちんと把握すると、だいぶコード記述が減り、シンプルかつ統一的なAS3(flex)プログラミングが可能になり、プログラミングの生産性が向上するであろう、有益な機能です。しかしながら、どういった挙動をするソースが生成されるのか、どのようなメタデータが記述可能なのか、というのがいまいち解っていないため、エントリーとして書き起こします。 [Bindable] メタデータを使うといったい何が嬉しいのでしょうか。その前に Flash でのプロ

    mxmlc コンパイラのメタデータタグを利用する - [Bindable] 篇
  • fcwrap を使ったAS3オールドタイプ開発 - Shibuya.es 発表資料 - 川o・-・)<2nd life

    昨日の Shibuya.js Technical Talk #3 - Shibuya.es で LT をしてきました。関係者、来場者のみなさん、お疲れ様でした。 どの発表も面白かったです。技術的な面では omo さんのはじめてのABCでの、AVM2/JIT の話が大変面白かったです。なんで型を定義すると速くなるのかなど、「へーこう実行されるからなのかー」と解りやすかったです。 また会場では一斉を風靡するであろう、kushigahamaメソッドが生まれました。あのインパクトは正直高橋メソッドを初めて見たとき以上でした。今年は高橋メソッド以上にkushigahamaメソッドが流行る予感…。 また、fcwrap のデモも撮ったので置いておきます。 http://rails2u.com/misc/fcwrap_demo/fcwrap.htm このように保存するだけで即座に結果を表示/リロードしつつ

    fcwrap を使ったAS3オールドタイプ開発 - Shibuya.es 発表資料 - 川o・-・)<2nd life
  • 川o・-・)<2nd life - Rack を使って Web サーバで統一されたインターフェイスの利用する

    http://rack.rubyforge.org/ 先日登場した Rack というライブラリを使うと、Web サーバごとに同一のインターフェイスを利用できるようになります。通常、Ruby で Web アプリケーション を動作させるとき、cgi なのか、fcgi なのか、もしくは mongrel や webrick を使うのか、ということを考えなければなりません。cgi のみで動作決めうち、など良いのですが、ガワである Web アプリケーションフレームワークや一般に配布するアプリケーションなど、既存のフレームワークを用いずに作るときは、さまざまな動作環境でも動くように考慮しなくてはなりません。 たとえば既存のフレームワークである Rails や Camping はそれぞれ個別に cgi/fcgi/mongrel/webrick などの対応を行っています。しかし Rack で定義されているイ

    川o・-・)<2nd life - Rack を使って Web サーバで統一されたインターフェイスの利用する
  • ActionScript3 (mxmlc) でのコンパイルを100倍速にする方法 - 2nd life (移転しました)

    三日前から Flex2 SDK で ActionScript3 を始めました secondlife です。こんにちわ。AS3 は言語仕様的には ECMAScript と Java をあわせた感じで普通な書き方で OOP できるのでうーん、と頭をひねることはあまりないのですが、他のところでいろいろはまりまくってます。 で、原始的な解決方法として trace() を使ったプリントデバッグを行っているのですが、スクリプト言語に慣れきった体ではコンパイル時間が遅くて死にそうです。たとえばこんな HelloWorld.as package { import flash.display.Sprite; public class HelloWorld extends Sprite { public function HelloWorld() { trace("Hello World!"); } } }を

    ActionScript3 (mxmlc) でのコンパイルを100倍速にする方法 - 2nd life (移転しました)
  • Rails のためのものぐさな Web アプリケーションの国際化手法 - 川o・-・)<2nd life

    最近、自分が作る Web アプリケーションで、日語圏に限らず使ってもらえそうな物は最初から一応国際化(というか英語対応)して作るようにしています。国際化対応しておくと、はてブに限らず、del.icio.us や digg で取り上げられたりして、いろいろな人に使えてもらって嬉しいし海外からも adsense 収入gです。del.icio.us のトップや /popular/ からのリファラは、はてブトップ or 人気エントリーからのリファラとそんなに変わらないぐらいなのですが、digg からのアクセスはその十数倍あって驚きでした。 で、題の国際化の方法なのですが、favicon2dots や polaroizeぐらいの小粒なアプリケーションなら、ほんの数分〜十数分作業時間を増やすだけで対応できてしまうので、その方法のご紹介を。 ruby-gettext 武藤さん作の ruby-gett

    Rails のためのものぐさな Web アプリケーションの国際化手法 - 川o・-・)<2nd life
  • 川o・-・)<2nd life - web2.0なアプリケーションで使えるアイコン

    http://www.famfamfam.com/lab/icons/ 自分でwebアプリケーションを作ってる場合、外観がどうしても疎かになりがちです。CSSでの見栄えならそこそこ頑張ればいけるのですが、あとちょっとインパクトが欲しい、そういうときに小型のアイコンが欲しい!といつも思ってしまいます。で、時たまそれっぽいアイコンを探してたのですが、有料なライセンスだったり、デザイン的にいまいちぱっとしなくて、これだ!という物がありませんでした。 上記famfamfam.comではそんなweb2.0なwebアプリケーションに似合うアイコンを合計すると1000個ぐらい、FreeもしくはCCライセンス帰属 2.5 で公開しています。今度から作るWebアプリケーションで効果的に使っていこうと思います。 あ、他にライセンスが緩くて素敵なアイコンを公開しているサイトを知っている方がいましたら教えて下さい

    川o・-・)<2nd life - web2.0なアプリケーションで使えるアイコン
  • webアプリケーションテストツール seleniumがヤバすぎる

    http://selenium.thoughtworks.com/index.html JavaScriptを使い実際のブラウザを介してテストするseleniumがヤバすぎる。便利すぎ。Web案件なんつーのはほんと最終フェイズになってもMVCで云うモデルに当たる部分が「仕様変更」の一言によって変更されることも多々あって、そんなときは各種testが書き直しになったりする。んで最終で時間がない状態じゃtest書き直せる訳もなく人海戦術で無理矢理なんとか仕上げる、つーのがいまのWeb案件の大概の末路の気がするんだけどそれはおいといて。 このseleniumを使えば、簡単な記述で人間が実際にブラウザを操作してテストしている部分の大半である画面遷移、フォームの入力、ヴァリデーションの正否がなどが行える。つまりインターフェイスの仕様が変わらなければ延々とテストし続けられるわけだ。最後の受け入れテストの

    webアプリケーションテストツール seleniumがヤバすぎる
  • 1