JavaScript

Backbone Eyeが面白い(かも)

https://addons.mozilla.org/ja/firefox/addon/Backbone-Eye/?src=cb-dl-recentlyadded BackboneEyeというBackbone.jsで作られたアプリケーションの情報をfirebug上で色々見ることが出来るものがあります 面白そうだったので久しぶりにFirefoxを立ちあげて試…

Backbone.jsのlistenToについて

Backbone.jsでviewの中でmodelのイベントを購読するときに「model.on("change", view.render, view)」のようなことをすると、modelからviewへの参照が残ってしまって、SinglePageApplicationやViewの切り替えを行ったりするアプリケーションではZombieViewが…

Marionette.js in Single Page Applicationという話をした

最近Marionette.jsを使っているのでその話を社内勉強会でやった資料です。 https://speakerdeck.com/koba04/marionette-dot-js-in-single-page-application SinglePageAppをBackbone.jsでつくろうとするとどうしてもView周りで独自実装をせざるを得なくて、…

Webアプリケーションのテストを書くときに考えていること

テストを書く目的 自分の書いたコードが意図した通りに動いてるか確認するために書くのですが、自分が楽をするためと他の人のために書いてます。 自分が楽するため Webアプリの場合、実装した機能がちゃんと動作するかを確認するために何度もブラウザポチポ…

捗るかもしれないフロントエンド開発環境という話をした

フロントエンドの開発で試してみたかったことをやってみた話の資料です。 (@社内勉強会)デモしながらだったので資料だけだと伝わりにくいかもしれませんがドヤ顔でLiveReloadのデモしたりしました。 頑張って環境整えるとコード書くだけでブラウザが再読み込…

「JavaScript Ninjaの極意」を読んだ

日本語版が出る前から話題になっていたのを見ていて、英語だけど買おうかなーと思っていたら翻訳されて発売されたので買いました。 かなり話題になるかなと思っていたら、意外とそうでもなく、でも読んで見るとやっぱり面白かったので紹介します。 というか…

Angular.jsの社内勉強会やった

ここしばらくAngular.jsを使っていたので、そのフィードバックを社内勉強会でやってみました。こんな感じで使ってみたという内容になっていて、Angular.jsの日本語の情報はまだまだ少ないと思うので少しでも役に立てれば幸いです。 と同時におかしなところが…

JavaScriptで文字列を数値にするときは+valでやりたい

http://nmi.jp/archives/488を見ていて、 「+val」で数値として評価するコードはライブラリの中でも時々見るので、自分でコード書くときも+valでやりたいなと思い、parseInt(Float)やNumerとの挙動の違いを少し調べてみたのでメモ。環境はChromeのDeveloper …

JavaScriptを勉強したときにポイントになった3冊

今でもなんとなくJavaScript使っている感はあるのですが、勉強をしていく中でポイントになった3冊を紹介。 他の言語の経験があるけどJavaScriptに慣れていない人が読むといい本だと思います。 JavaScript: The Good Parts ―「良いパーツ」によるベストプラク…

CoffeeScriptを試してみた

デメリットの方が大きいかなと思って今までは気にしてなかったのですが、githubは新しいものは全てCoffeeScriptで書くというのを見て「へぇ」と思い、試しに使ってみたのでその感想などを。 https://github.com/styleguide/javascript 文法などはたくさん情…

JSHintの設定を調べてみた

grunt.jsの環境も作った( http://d.hatena.ne.jp/koba04/20130203/1359898395 ) ので、JSHintを使ってコーディングスタイルのチェックをしたいと思い、JSHintの設定項目を調べてみました。 JSHintのドキュメント http://www.jshint.com/docs/ 設定項目につい…

grunt.js0.4.0でJSとCompassをコンパイルする

Backbone.jsなどを使っていてjsのファイルが増えてくると、公開するときには1つのファイルにまとめたいなぁとか、コーディングスタイルのチェックもしたいなぁと思っていて、そこで何かいいのないかなと思って調べてみると、「grunt.js」がよさそうだったの…

jQuery1.8.2のanimation系メソッドをAndroid2.3.4のブラウザで使うと落ちる件

ゆとりなのでjQueryのtoggle()を使おうかなと思って、Android2.3.4のブラウザで確認していると何度やってもそこでブラウザが落ちるということがあったので調べてみたところ、下記のissueが原因のようでした。 issue http://bugs.jquery.com/ticket/12497 fix…

YouTubeの動画を簡単に連続再生させてみる(iPhone対応とcuePlaylist)

以前に書いたYouTubeをJavaScriptから連続再生させる方法について書いた記事が今でも時々見られているようだし、PetaTube作るときに調べたこともあるので改めて書いてみます。前回のはこちら http://d.hatena.ne.jp/koba04/20110227/1298736386 iframeAPIでi…

node-Karaoke-Slideというのを作って結婚式の余興で使ってみた

なにそれ 結婚式でみんなで乾杯を生演奏で歌いたくなる状況ってよくあると思うのですが、その時に写真をスライドショーにして、そこに歌詞を表示出来たら素敵だなぁと思って作って使ってみた話です。 ムービーを作って流せばよさそうですが、生演奏なのでタ…

Androidブラウザでのページ内リンクの挙動

ページ内リンクが2回目以降反応しない件 現象 Android2.2( or 2.3)のブラウザだとページ内リンクがうまく動かないということがあって、調べてみるとどうやら一回押したページ内リンクをもう一回押しても反応しないということが。おそらく、現在のURLが「/hog…

JavaScriptのforEach的なものでbreakしたい話

JavaScriptで毎回forループ書くのは面倒だし、そのためだけにライブラリ使うのもなぁという状態の時についこんなこんな感じの実装をしたりしてしまいます。 でこれだとbreakが出来ないので他のライブラリではどうやっているのかなぁと思ってみたので調べてみ…

COLOPL FrontNightに参加してきた

コロプラさんによるフロントエンド系の勉強会である"COLOPL FrontNight"に参加してきました。 途中からの参加になってしまったのですが、どの話もとても勉強になったのでメモというか感想。 CSS3で実現する表現と演出 @mattari_panda さん 最初から参加出来…

キャプチャリングとバブリングとpreventDefault()とstopPropagation()

ある要素に無名関数でイベントが設定されているけど、そのイベントを発生させたくない!でも要素は消したくない!ということがあったのでJavaScriptのイベントについて少し調べてみました。 具体的には、ある要素がtouchmoveの中でpreventDefault()している…

Nodeビギナーズブックがいいという話

http://www.nodebeginner.org/index-jp.html ちょっと前に話題になっていたので紹介するまでもないのですが、実際にやってみてわかりやすかったので紹介したいと思います。 丁寧に説明されているので最近のJSはよくわからんと思っている人でも、順番に理解し…

for in と hasOwnProperty の組み合わせ

JavaScriptでオブジェクトを連想配列のように扱い、全部のキーと値に対して何かをしたい場合、for in を使いつつ、hasOwnProperty でそのオブジェクトが持っているかどうかチェックするために以下のようなコードを書くことが多いのかなと思います。 Object.p…

JavaScriptのindexOf

JavaScriptのIndexOfといえば、こんな感じで文字列に対して指定するものだと思っていたのですが、 // 文字列 var str = "hello javascript"; console.log( str.indexOf("javascript") ); // => 6 他にもECMA-262のJavaScript拡張ではあるけど、配列に対して…

第21回 HTML5とか勉強会「HTML5+ゲーム」

http://atnd.org/events/20007 という面白そうな勉強会があり、Canvas以外での実装方法やフレームワークについても知っておきたかったので参加してきました。CanvasでFlashゲームを移植してみた経験から、これはフレームワーク化して面倒なところを吸収しな…

JavaScript: The Good Parts(1〜4章)

JavaScript書き始めてもなかなか他の言語みたいに馴染まないなぁと思ってたときに手にした一冊です。 実はこの本の内容が最初読んだ時には理解出来ず二度読みました。この本を読んだことでようやくJavaScriptに入門出来た気がしたので感想を書きたいと思いま…

JavaScriptでのちょっと気になったfor inなどの書き方メモ

ちょっと気になったfor inの書き方 あるJavaScriptのライブラリのコードを見ていたところ、見慣れない書き方があったのでメモ。 var cityInfo = { shinjuku: "tokyo", shibuya: "tokyo", yokohama: "kanagawa", kyoto: "kyoto" }; for ( city in cityInfo ) …

JavaScript ゲーム製作勉強会 Vol.2

JavaScriptの勉強会でしかも今回はゲームが題材とのことで、面白そうだったので参加してみました。 内容については、hirataraさんがいらっしゃったこともあり詳細にメモを取っていないので簡単に感想だけを。 詳しい内容については、@hirataraさんのエントリ…

YouTube連続再生をpushStateでパーマリンク化&戻る対応した。

以前に作ったものは、検索文字列の取得、検索、動画再生をajax的に全てJavaScriptで行っていたので、当然パーマリンクはなく戻るボタンなどで前の検索履歴に戻ることが出来ません。 http://d.hatena.ne.jp/koba04/20110227/1298736386 その対応としてlocatio…

YouTubeの動画を連続再生させてみる。

iPhone対応&cuePlaylistを使って簡単に実装した話はこちら http://d.hatena.ne.jp/koba04/20121030/1351526950 YouTubeで好きなアーティストの曲を連続再生させたいって思ったとき、すでに「君のラジオ」だったりYouTube本家にDiscoとしてあるわけですが、L…

Javaの*.propertiesファイルを簡単に編集する。

Unicode文字列とコードポイントの変換を行うちょっとした方法です。 Javaの.propertiesファイルと言えば、「\u6587\u5B57\u5217」といったUnicodeのコードポイントです。 Javaの開発をやっている人は、Eclipseを使っている人が多いと思いますので、プロパテ…