のらねこの気まま暮らし

Perlについてとか、創作についてとか、発展途上の自分と向き合う記録。

Macを外部ディスプレイにつなげた時のWindow配置を記憶したい!

背景 最近の僕は、GoogleChromeのタブを38個とか開いているようです。 Tabs Outliner と Spaces という拡張機能を併用して、 たっくさんあるタブを用途やカテゴリ毎にwindowに分割しているんです。 まあ、ぞれでもWindowは5,6個できるんですけど。 Tabs Outl…

2015年の振り返り

新年早々いろいろあって振り返ってる余裕が無かったので、それっぽいのをハリボテで。 2015年に書いた記事 当ブログ mizuki-r.hatenablog.com 8記事!少ない!! Qiita qiita.com qiita.com 2記事!少ない!! 2015年に発表したトーク(public) 最近のフロン…

#gotandajs でトークしてきました

ブログを書くまでがgotandajsだ!ってことで。 gotandajs 五反田や沖縄で JavaScript の勉強する(conpassから引用)会で、AngularJSにFluxとRiotJSを導入したというトークをしてきました。 gotandajs.connpass.com 発表資料 AngularJSとFluxとRiotJSと1 15/…

MINILA AIR US67 を購入したのでMac用にカスタマイズしたメモ

商品 Majestouch MINILA Air US67キー 茶軸 Bluetoothの奴 茶軸 英語配列 仕様にはWindowsしか記載無いけどOS Xも利用可(OS X 10.10.5) 設定 caps lock ⇔ ctrl 鉄板 [修飾キー設定] cmd ⇔ option Mac Book Airの配置に合わせてみた [修飾キー設定] caps lock…

指定期間でDOMを出し分けてくれるangular-periodを公開しました

angular-periodとは AngularJS のDirectiveで、期間を指定するとその 期間前、期間中、期間後でDOMの表示を切り替えてるようにするものです。 例えば、なんかの応募とかで、以下の様なHTMLをテンプレートエンジンやJavaScriptなどを使って出し分けることがあ…

node-hariko にクリパラメータによってモックデータを割り振る機能を入れた

欲しかった機能をいれたかったので、 hariko を v1.1.0 に更新しました。 更新内容としては、複数のリクエストをExamplesに設定している時に、リクエストパラメータがマッチするやつを優先的にレスポンスさせるような機能を追加しました。 multipe example A…

Introduction to Hariko API Server with API-Blueprint

はい、harikoの紹介です。 harikoとは hariko harikoとはNodeJS製のAPI MockServerであり、APIドキュメンテーションツールであるAPI Blueprintのエコシステムです。 使い方 npmからインストールして下さい。 npm install -g hariko harikoはAPI-Blueprintの…

AngularJS x Webpack を使った構成の紹介

AngularJSとWebpackを上手いこと連携させてメンテナンスしやそうな構成を試行錯誤したので、 現状の記録と整理を兼ねて記事にしてみる。 結構いいかんじなアプローチなのではないかと思いつつ、まだ詰め切れていないところも多いので今後ブラッシュアップを…

NodeJSでSystemJSを使ってES6を試す

SystemJSとは、ES6やAMD等の汎用的なモジュールシステム。 SystemJSを使うとどんなふうにロードされるのかを試した。 インストール npm install --save systemjs 基本的な使い方 良い感じローディングするためには初期設定が必要。 require で呼び出すんだけ…

EC6のimport及びexportを使いたい

jspm関連でEC6を使おうとしたけど、moduleの管理の仕方いろいろあってどうすればいいのかわからなかったので調べた。 SystemJSを使ってブラウザでもEC6のコードを利用できます。 SystemJSのI/Fで利用 ファイルをimportする <script src="system.js"></script> <script> System.import("runtime-hoge"); </script>…

grunt-contrib-connectのmiddlewareの順序による挙動について

grunt-contrib-connectとgrunt-connect-proxyでstubcellを設定したが POST や DELETE のリクエストが method not allowed で弾かれてしまって嵌ったのでメモ。 middlewareの設定順序が不適切 最初に正しい方法。middlewaresの先頭にproxyを挟む必要がある。 …

Dartを使ってみる

Dart Dart: Structured web apps ECMAの標準規格になったらしい jsにcompile可能な汎用言語らしい javaとjavascriptのいいとこ取りらしい ってことで試してみる イメージ DartEditorなるものがあるけど、とりあえずvim使ってみる Botでも書いてみるかー? fo…

CasperJSを拡張したライブラリをローカルに置こうとして苦戦した記録

CasperJSを使っていて大変苦労したのでその記録。 やりたかったコト CasperJSを継承した独自拡張のライブラリを複数のファイルでrequireして個別にプログラムを実行したかった。 grunt-casperのようなライブラリをから使う場合と、単体のファイルをcasperjs…

YAPC::Asia 2014に参加してきました #yapcasia

YAPC::Asiaとは 8/29, 8/30に開催された、世界最大規模のプログラミングカンファレンスです。 Perl界隈のエンジニアからPerlは関係ないけど、プログラミングが好きな人が集まる年に一度のエンジニアの祭典! YAPC::Asia 2014 この記事は わたしく@mizuki_rの…

WindowsでWebアプリ開発

何やるかを考える。 前提 開発機はWindows7 エディタはIDEを主に使っていた ネイティブ言語 バージョン管理はgitではない何か 学んでもらうこと Unixベースの開発 IDEではないエディタ gitによるversion管理 HTTP通信周りの基礎知識と動き WEBアプリケーショ…

node-scheduleという予定を登録して実行するnpmライブラリの紹介

node.jsを使っていて出会った、使い勝手の良さそうなライブラリ(俺基準)を紹介していくシリーズを初めてみました。 node-schedule https://www.npmjs.org/package/node-schedule 指定時間に登録したタスクを実行してくれるライブラリです。 Dateオブジェク…

AngularJSのfactoryとserviceを読み解く(後編)

前編: ngularJSのfactoryとserviceを読み解く(前編) 前回のAngulaJS!(なんちゃらライブ的な) factoryやserviceといったAngularJSの機能をドキュメントを読んだりぐーぐる先生に聞いたりしてもまったくさっぱりよくわからなかったのでAngularJSのコードを追っ…

AngularJSのfactoryとserviceを読み解く(前編)

AngularJSのfactoryとserviceがどうにも覚えられないのでまとめてみた。 まとめ factoryはobjectをキャッシュしておく serviceはインスタンス化してキャッシュしておく providerの謎が深まった factory providerにfunctionらしきものを渡している。 $getはIn…

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…

Amon2::Plugin::Web::Auth::PathというPluginを書いた

ソースはこちら。トルネで録画したJOJOの映像が乱れまくって辛いです。 https://github.com/rymizuki/p5-Amon2-Web-Auth-Path 頑張って短くした前置き Amon2にはWeb::Authという認証をサポートするプラグインがあります。が、それらは外部の認証自身のアプリ…

Amon2::Plugin::Web::ValidatorというPluginを書いた

ソースは以下。まだ全然書き途中 https://github.com/rymizuki/p5-Amon2-Plugin-Web-Validator 長めの前置き 以前からポツポツとリクエストのValidation系のModuleがどうにも肌に合わず、去年の秋ごろにData::Validatorを弄る感じで自作Moduleを使っていた。…