【npm + Karma + Jasmine】JavaScriptの単体テスト環境を構築する

JavaScriptの単体テスト環境構築のまとめ. テストランナーとして「Karma」,テストフレームワーク・アサーションライブラリとして「Jasmine」を使う. PCのグローバル領域にこれらをインストールしても環境構築はできるが,今回はプロジェクト固有のツールとしてインストールする. これによって,PCの環境に依存しないテスト環境が構築できる. ...

April 21, 2014

GoogleSpreadsheetをパースするライブラリを作った

GoogleSpreadsheetをJSONにパースするライブラリを作った. google-spreadsheets-parser JSで使用する前提で作っていて,ブラウザやNodeで使用できる. シートのURLとシート名を指定するとObject形式・JSON形式にパースできる. var gss = new GoogleSpreadsheetsParser(publishedUrl, {sheetTitle: 'Sample', hasTitle: true}); ライブラリのセットアップなど詳しくはREADMEにて. 半年くらい実プロジェクトでも使用してみて,割りと汎用的に使えたのでいろいろ拡張していく予定. 動作デモなどはこちら...

YutaroTanaka.com デザインリニューアルしました

本ブログ 「For X Developers」 開設半年を記念して, ドメイン直下のデザインをリニューアルしました. - ** [YutaroTanaka.com](http://yutarotanaka.com/ "YutaroTanaka.com")**...

【Grunt + Karma + Jasmine】CoffeeScriptの開発環境を構築する

Grunt + CoffeeScript + Karma + Jasmine での開発をスタートして数ヶ月たった. ある程度ノウハウも溜まってきたので,メモしておく. CoffeeScript関連ライブラリをセットアップ $ npm init $ npm install $ npm install coffee-script --save-dev $ npm install grunt --save-dev $ npm install grunt-contrib-coffee --save-dev $ npm install grunt-contrib-concat --save-dev $ npm install grunt-contrib-uglify --save-dev $ npm install grunt-contrib-watch --save-dev プロダクトコード # src/hello.coffee hello = -> console.log("Hello world!!") # src/main.coffee hello() user = new User("Tanaka", 24) console.log(user.profile()) # src/user.coffee class User # static private param _uid = 987654321 # constructor constructor: (@NAME, @age) -> # public method profile: -> return @NAME + " : " + @age # private method _toAge = -> @age++ Gruntfile....

【iOS9.2】Detect dialog "Open this page in APPNAME" from JavaScript

iOS9.2でSafariからアプリを起動する際のアラート表示の仕様が変わった. iOS9.1以前ではアラートが表示されている間はJavaScriptの実行が止まっていたが,9.2からは止まらなくなっている. おまけにこのダイアログ、Webkitが実行しているのではなく、OSから起動されているダイアログなのでJavaScriptから検知ができないようだ. Given that all browser-based detection is now disabled iOS 9.2 may break deeplinking How to detect dialog “Open this page in APPNAME'' from JavaScript on iOS9.2 Mobile Safari? ...