のらねこの気まま暮らし

技術系だけど、Qiita向きではないポエムとかを書くめったに更新されないヤツ

AngularJSでDOMの更新を監視する with iScroll4

iScrollをAngularJSと使いたい案件があったので、それを使うためにいろいろ調べた。 DOMを動かしてScroll position:fixed等、モバイルでは一部バグがあったり非サポートだったりして、その大体にiScrollやscrollerjs等といったライブラリを用いる。 これらは…

AngularJS x UI-RouterでpushStateを使う

何も考えずにAngularJSを使うと、遷移のURLはハッシュフラグメント(#)を使うことになる。 しかし、ngRouterの$locationProviderにはhtml5Modeという機能があり、こいつを有効にすると、pushStateを使ってURLを構築することができる。 それをUI-Routerで使う…

Angular UI-Routerのviewsの定義を確認してみた

state.viewsの指定方法を理解してなかったので調べた。 基本 viewの名前はビュー名とステート名を@で結合したviewName@stateNameで構成される。 無名のview ui-viewは名前を与えず無名のviewとして定義ができる。 <div ui-view></div> その場合、stateは""でviewを指定する $sta…

AngularJSでdirectiveを作ってみる

2014-03-25っていう文字列の日付をyear, month, dayの3つのフォームに分割して入力したい、と思った。 一つのngModelからフォーマットを変えてinputを並べればいいとおもって、directiveを使ってみた記録。 <input type="date" name="year" ng-model="user.birth_on"> <input type="date" name="month" ng-model="user.birth_on"> <input type="date" name="day" ng-model="user.birth_on"> directiv…

AngularJS x UI-Routerの使い方

UI-Routerはとても強力で、ngRouterよりも多くの事ができるのでとても便利。 しかし、強力すぎてRouterの概念自体を塗り替えてしまっていてなかなかピンと来てなかったのでまとめてみる。 リストページと詳細ページを別々のページとして用意する state-route…

homebrewでperlオプションのついたvimをインストールする術

Macでちょっと複雑な一斉置換を行いたかったのだけれど、perldoが無いって起こられたのでいろいろやった。 perlフラグが立っていない $ vim --version | grep perl +cmdline_compl +insert_expand -perl +user_commands perlのoptionを確認する 試しに打って…

Heimdall.jsを0.0.2にあげたよ #開発二部

金剛改二がかわいすぎて何も考えずにクリックするだけなのが最近の提督業です。 こんばんわ、Heimdall.jsを0.0.2にアプデしました。 いんすとーる? bowerでインストールしとくと管理が楽なのでたとえば、 $ bower install --save 'rymizuki/Heimdall#0.0.2'…

formizeっていうjquery用のpluginを書いた

description formにデータと突っ込んだり、データを取得するときに、$('#form').find('[name]').val()みたいなコードを毎回毎回書くのが面倒だったのでplugin化しました。 getValue(s)で取得、setValue(s)で設定できます。エラーがあった時とか入力にバイン…

requirejsで管理してるjsのキャッシュを管理する方法

requirejsはいいツールなんだが初めてjsがキャッシュに残ってしまって更新されなくてどうしたもんかと調べたので記録。 urlArgs requirejsのconfigにurlArgsというのがある。 読んで字の通り、requirejsで読み込んだjavascriptファイルのurlのクエリパラメー…

HeimdallというjQuery/Zeptoで使えるFormValidatorを書いた話

温泉発火村#2に参加しましたという記事で紹介したライブラリの話をもうちょっと突っ込んで話します。 Synopsis <script src="//ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script> <script src="/js/heimdal.min.js"></script> <script> // validatorのインスタンスを生成 var heimdall = $.heimdall({ "name" : ["required", ["length", [1, 32]]], "age" : ["re…

Text::Xslateにis_array_ref, is_hash_refはビルトインで入ってる

月一でとあるチャンネルでぼやいてるきがするのでそろそろメモることにした。 $ perldoc Text::Xslate::Manual::Builtin : if is_array_ref(hoge) { <p>arrayref</p> :} そんな僕を見た某かるぴす先生から適切なアドバイスを受けた。 $MODULE::Manual 以下はひと通…

grunt-init で jquery-plugin を作って travisCIに上げるまでのメモ

準備 以下をインストール grunt-init on Github grunt-init-jquery $ npm install -g grunt-init $ git clone https://github.com/gruntjs/grunt-init-jquery.git ~/.grunt-init/jquery プロジェクトの作成 grunt-init jqueryをプロジェクトディレクトリで走…

plenv install-cpanmをすると~/perl5にcpanmをインストールして困った話

App::cpanminusはインストールディレクトリの決定にオプションとしてのlocal_libと環境変数PERL_LOCAL_LIB_ROOTとPERL_MM_OPTを参照して決定するようになっている。 僕のMac Book Airさんはたぶん昔にlocal::libをインストールしたりした経緯からか、PERL_LO…

温泉発火村 #2 に参加しました #発火村

概要っぽいの 温泉発火村とは 温泉発火村 #2 : ATNDより抜粋。 温泉発火村とは 温泉でハッカソンしようぜという企画です。まーまー普通のハッカソンです。 ノートPCが持参出来ればだれでも参加出来ます。 温泉でゆったりしつつ美味しいものを食べつつわいわ…

#yapcasia 2013 に参加しました

9/20, 9/21 とYAPC::ASIA 2013に参加してきました。 参加するのは3回目で、初のLTにも挑戦させていただきました。備忘録はあとでまとめるとして、ざっくり所感とか次の一年に思うトコロとかを書き留めようかなと。 あとブログ書くまでがYAPCなので。あとブロ…

Spicaのドキュメントの下書き

開発二部と布教用の為に下書きしてみた。Spicaについては以下。https://github.com/rymizuki/p5-Spica めざしたもの 様々なWEB APIのI/Fの共通化 WEB API実装のフレームワーク WEB APIにまつわる困ったこと 構造や命名規則やフォーマットが異なる リクエスト…

perlでWEB APIを複雑に扱いたい人向けのSpicaというモジュールを書いている話

インターネット、便利ですよね。TwitterやFacebookやニコニコ動画とか、みんないろんなWEBサービス使ってますよね。一般的に使ってる人や、中にはYoutubeの動画をNoPasteみたくペタペタできる自作のWEBサービスを作ったり、IRCからニコ動の動画検索できるよ…

PhoneGap/cordova 3.0.0rc1でpluginsを利用する

先日、「Ubuntu12.4にphonegap(cordova)をインストールしてカジュアルにネイティブアプリを作成する・・・ための環境を作る呪文」という記事を書きましたが一つ困ったことがある。 $ cordova -v 3.0.0rc1 現在zipで配布されているPhoneGapの最新バージョンは…

Ubuntu12.4にphonegap(cordova)をインストールしてカジュアルにネイティブアプリを作成する・・・ための環境を作る呪文

多くのサイトがGUI操作を前提にチュートリアルを書いてたりするので、ドキュメントの隙間を縫ってCLI環境でのphonegap環境について書く。マルチプラットフォーム(AndroidやらiPhoneやらTizenやら)のアプリを構築できるphoneGapだが、何分Androidくらいしか…

jenkins経由でBuildしたAndroidのAPKファイルをDeployGateにPushする呪文

DeployGateについて deploygatemixiが提供しているAndroidのアプリ配布ツール。「開発中のアプリを一瞬で手元へ」届けてくれる。 クックパッドやカヤックといった業界おなじみの企業が導入しているので、実績もある。弊社でも使っている。Webの管理画面やAPI…

Ubuntu12.4にjenkinsを立ててandroidのBuildをできるようにする呪文

AndroidのBuild環境は、できれば統一したい。 複数人で開発していると、それぞれ異なる環境でBuildしているため、他の人の環境だと正しく動かなかったりすることがごくごく稀にある。Build環境を標準化することとは別に、githubのcommitHook等から自動でBuil…

CUI(CLI)でAndroidプロジェクトを作成・Build環境を整える呪文

FireFoxOSの話から一転してAndroidです。 僕はEclipseが苦手で(というかとあるテキストエディタが便利すぎて)、かつGUIよりCUIで開発したい奇特な人間で、いままでどうしてもAndroidの開発にコミットシたがらなかったんです。 最近は、コマンドラインベー…

FirefoxOSを試してみる 第2回

前提のお話 FirefoxOSを試す 提供されてるサンプルアプリが動いたよ!の続き。 volo serveって・・・rを仲間はずれにするなよ!! volofileが定義しているコマンドなのでカスタマイズできるらしいのよ。 firefoxos-quick-start/app/volofile こいつをいじっ…

FirefoxOSを試してみる

まえがきとかそんなものはない FirefoxOSを試す。 それがたったひとつのシンプルな答え。 FirefoxOSについてぼくが知っていること FirefoxOS持ってません。(世に出ているのかも知らん) FirefoxOS Simuratorなるものがある FirefoxOS simuratorはFirefoxのA…

Mac Book Air に node.js を入れる

今の時代、node.jsなしじゃ生きられませんよね。というわけでMac Book Airにnode.js入れる。 前提 OSX homebrewインストール済み node.jsのインストール $ brew install node ==> Downloading http://nodejs.org/dist/v0.8.18/node-v0.8.18.tar.gz #########…

Backbone.jsのpopstate時にルートページのcallbackが実行される

Backbone.jsとjQuery pjaxを併用してフロントエンド充してるところで、思わぬ罠にハマったので記録しとく。 問題 var MyRouter = Backbone.Router.extend({ "events" : { "" : 'home', "path/to" : 'fuga' }, "home" : function () { console.log('--route:h…

backbone-pjax.jsを書いた

まえおき Backbone.jsとpjax使いたいよ! Backbone.jsだけでpjax実装できるけどjquery-pjaxで至れりつくせりしたいよ! Backbone.jsとjquery.pjax.jsを同居させるとpushStateを2回しちゃうよ! /(^o^)\ナンテコッタイ 解決策↓ Backbone.js × jQuery pjax - しるて…

Backboneとjquery.pjaxの相性は悪い

前置き 以前こんな記事を書いた。 http://mizuki-r.hatenablog.com/entry/2013/02/02/150356Backboneでpjaxの実装書くより、jquery-pjax使ったほうが楽だし利便性いいよね! なんかよくわかんないバグにハマったけど試行錯誤してたらうごいたよ! っていう内…

jquery.pjax x Backbone.js を試す

週末ですね。こんにちわ。 まえおき 前回のエントリで「Knockback.js試すぜ!」みたいなことを言いましたが撤回します。ドキュメント見て止めました。 理由は以下の二点 Backbone.js, Knockout.js知識が必要 日本語での資料が少ない Backbone.js というわけ…

月の終わり、あるいは始めるための

中二分が足りません。こんばんわ。とりあえず1月おわっちゃうので、2月にやりたいことをメモするだけのおもしろみのない記事です。 その前に振り返り 技術的にしか振り替えれることが無い。絶望した。 Amon2のpluginを書いたよ。 Bootstrap使い倒したよ Co…