タグ

ブックマーク / higelog.brassworks.jp (12)

  • ShowOffでプレゼンテーション作成をためした - ひげろぐ

    schacon/showoff – GitHub なんだか今年のRubyKaigiで使っていた人が多かったらしい。と聞いて興味がわいたのでちょっといじってみた。 なんぞや テキストベースでプレゼンテーションスライドを作成できるツール。Sinatra製。 ページ遷移やリスト表示のアニメーションなどを手軽に定義することができるので、簡単にそこそこ動きがあって見栄えのするものが出来上がる。 Markdownの文書を !SLIDE という行で区切っていくとスライドができちゃいます、と言うことが理解できればShowOffの半分は制覇したと言える。たぶん。 JavaScriptやスタイルシートを埋め込むことができたり、コードのシンタックスハイライトも備えていて、プログラマ向けのプレゼンツールとしてはなかなかよさげに思える。 またテキストなので バージョン管理と相性が良い 別のプレゼンでのスライドの再利

  • CoffeeScriptでjasmine-node - ひげろぐ

    CoffeeScriptでもさくさくBDDできるぞ! この記事はCoffeeScriptとjasmine-nodeの記事の続きっぽいです。 準備 srcディレクトリの作成 CoffeeScriptファイルを置くディレクトリを作成する。 mkdir src specs.jsの編集 CoffeeScriptでスペックを書くためにspecs.jsの先頭行に以下を追加。 require('coffee-script') コンパイルの設定 実コードもCoffeeScriptで書くが、テストはjsファイルに対して行う。 CoffeeScriptの実コードを更新したら自動的にコンパイルされるように以下のコマンドをターミナルのひとつで実行しておく。 coffee -w -b -o lib/ -c src/ 新しいファイルを作ると、そのファイルはコンパイル対象に含まれていないのでコマンド実行し直す必要あり。

  • WebViweに表示されているHTMLからTitaniumの処理を実行する - ひげろぐ

    Objective-CではUIWebViewDelegateを使うとHTML内のリンクをクリックした時にアプリ内のネイティブな処理を実行する事ができた。 Titaniumでも同じ事ができる。 しかもかなり簡単に。 このおかげでHTMLUIを作ることができるため、ウェブの経験が長い人間にとっては手軽にちょっとリッチなUIを作れるようになる。 手順 カスタムイベントを定義する Ti.Appにカスタムイベントを追加する。 Ti.App.addEventListener("sample_custom_event", callback); HTML内でイベントを発火させる 定義したカスタムイベントをTi.App.fireEventで発火させる。 <a href=\"#\" onClick=\"Ti.App.fireEvent('sample_custom_event', {}); return f

  • CoffeeScriptでTitanium 一ヶ月目くらいの感想 - ひげろぐ

    CoffeeScriptについて ここんところしばらくCoffeeScriptとTitaniumの組み合わせで開発しているわけだけど、CoffeeScriptに関して言えば特に大きなハマりどころもなく快適に使えている。 強いて言えばこの間の@だけど、あれはどっちかというとJavaScriptのハマりどころだったわけで。 文法を覚えるコストがゼロとは言わないが、Rubyのバックグランドを持っていたせいかそんなに苦労はしなかった。 書き方を覚えてしまえばJavaScriptよりもさくさく書けて、かなり生産性に寄与してくれているのではないかと思う。 個人的には後置のifとforが特にお気に入り。 Titaniumとの組み合わせについて Titaniumとの組み合わせもまったく問題なし。 逆にCoffeeScriptなしでの開発が今となっては考えられないくらい。 Resources以下で以下のコー

  • GuardでTitanium+CoffeeScriptの開発を快適に - ひげろぐ

    久々にTitaniumを触るにあたってCoffeeScriptのコンパイルをGuardにまかせることにしてみたメモ。 Guardはファイルの変更を監視して、変更があったタイミングで何らかの処理を実行できるツール。 これを利用するとCoffeeScriptを書いたそばから自動的にJavaScriptに変換するなんてことも簡単にできるわけで。 そしてそのものずばりのことを実現するGuard::CoffeeScriptなんてものがあったりします。 Guard::CoffeeScriptの導入 gem install guard-coffeescript これでGuard体も入る。あ、要Rubyです。 追記 ファイルシステム監視のために以下のGemも必要だった。 gem install rb-fsevent 上記はMacの場合でLinuxWindowsの場合は違うGemになるので詳しくはGua

  • グレーアウト表示のインタフェース - ひげろぐ

    livedoor readerのフィード追加画面っぽいUIを作りたいなぁ、と思ってGoogle先生に聞いてみると次のページを紹介された。 glayer.js – グレーアウト表示ライブラリ – Enjoy*Study これをインクルードして Glayer.show(); とかすると使うととりあえずグレーアウトはさくっとできた。 あとはその上に画面を表示できればよい。 メッセージやダイアログが簡単に表示できるglayer_ex.jsと言うものが同じサイトにあったけれども、これ以外の自分で作り込んだ画面を表示するには自分で処理を書いてあげないと駄目みたいだ。 エレメントのIDを渡すとグレーアウトレイヤーの表示と一緒にエレメントを表示してくれるshowParallelという関数もあったのだけど、なんだかうまく動かなかった。 ソースを見ると otherElements[i].style.displ

  • Rails3でTDD環境を整えたメモ - ひげろぐ

    2011/07/07追記 実はこの記事の内容よりも以下のGuardを前提にした構築がおすすめ。 Rails3+RSpec2+Spork+Guard(guard-rspec,guard-cucumber)で最速のBDD(振舞駆動開発)環境を作る | Curiosity Drives Me Guard便利すぎです。 久々にRailsでできる仕事が来たので久々に環境構築。 記事の一番最後に挙げた参考の渡り歩きつつ設定した。 Rubyのバージョンは1.9.2。Railsは3.0.5。 プロジェクトの作成 $ rails new -T hoge RSpecを使うのでUnitTestはいらないということで。 Gemfile 必要なものをBundlerでさくっと入れる。 group :development, :test do gem 'spork', '~> 0.9.0.rc' gem 'rspec-

  • VimでJavaScript - ひげろぐ

    最近node.jsやらTitaniumやら気になっているのでJavaScriptを書く環境をちょっと整えてみた。 .vimrc au FileType javascript set ts=2 sw=2 expandtab au BufNewFile *.js set ft=javascript fenc=utf-8 JavaScriptはタブ幅4が標準なのかなあと思いつつもタブ幅2。 シンタックス ・JavaScript syntax – Better JavaScrirpt syntax support : vim online javascript.vimを~/.vim/syntax以下に設置。 インデント ・IndentAnything – Write indentations or enhance existing indentations without writing code

  • Jasmine用のVimスニペット - ひげろぐ

    Jasmineを一通り使えるようにした後で「毎回 describe(“ほげほげ”, function() {〜とかいちいち書くのって実用的に無理じゃね?」と思い、やっぱり使うのやめようかと考えたりした。 が、そこでVimのスニペットの存在を思い出し踏みとどまった。 ~/.vim/snippets/javascript.snippetsに以下を追記。 # describe for jasmine snippet d describe("${1:comment}", function() { beforeEach(function() { }); }); # it for jasmine snippet it it("${1:comment}", function() { }); スニペット激しく便利すなあ。 2011/01/10追記 プラグインあった。 Jasmine snippets (f

  • Node.jsとJasmineでJavaScriptのBDD環境 - ひげろぐ

    Jasmineでスペックを書いていく環境を整えるのにJasmine Toolなるものを試してみた。 なお最近なんだかJasmine押しですが、Jasmineしか試してないだけであり他意はありません。 2011/01/12追記 Jasmine Toolはブラウザを介するもので、普通のJasmineとやってることは変わらない。 Node.jsを使って動かすのであって、Node.jsのソースをテストするのではない。ややこしいけど。 Node.jsのモジュールのテストにはjasmine-nodeやvowsが向いていそう。 両方試してみてjasmine-nodeについては書いた。 Jasmine Tool そもそもこれはなんぞや Jasmine ToolはNode.jsで動くコマンドラインのツール。 簡単に言うとrubygemsのjasmineのNode.js版。 rubygems版との違いはRub

  • Titaniumでユニットテスト Jasmine再び編 - ひげろぐ

    いちいちiPhoneシミュレータを起動して結果を確認するのはだるいのではないか、単体テストが有効なクラスならばTitanium外で作ってもいいんじゃない?と思いこないだはNode.jsを利用したテストに走ったわけだけど、TitaniumのAPIを利用したクラスのテストをしたくなりTitanium内に舞い戻った。 スタブとかモックを使えばいいじゃないって? いやー、それもなかなかしんどいしね。それに特に問題なかったら物使った方がいいと思いますよ。 2011/02/17 追記 試行錯誤の成果をまとめたJasmine Titaniumを公開しました。 出力を見やすく調整 個別のスペックのみ実行できるように といった改良が図られているのでこの記事の内容よりオススメです。 追記終わり。 準備 次のものはすべてResource以下での出来事。 Jasmineのコアを準備。 以前作ったTitanium

  • Titaniumでユニットテスト - ひげろぐ

    公式のドキュメントには何の記述もないが、ユニットテストには好きなJavaScriptのテスティングフレームワークを利用できる。 ただしブラウザに依存しないもので、ログの出力をフックできるものに限る。 要はTitaniumのコンソールにログを出力するためにTitanium.API.infoやTitanium.API.errorなどにテストの出力を渡せればよいわけです。 今回はxUnit系で一番勢いがありそうなQUnitとBDD系でよいと言われているJasmineで試してみた。 QUnitを使う Titanium用のアダプターがGitHubで公開されている。 lukaso/qunitGitHub 自分のプロジェクトで利用する場合はResources以下に次のファイルを設置すればOK。 * runner.js * qunit/qunit.js * qunit/titanium_adapto

  • 1