鈍足ランナーのIT日記

走るのが好きな5流のITエンジニアのブログ。

趣味の範囲は広いけど、どれも中途半端なクソブロガー楽しめるWebアプリを作ってあっと言わせたい。サーバーサイドPerl(Mojolicious)、クライアントサイドVue.js。Arduinoにも触手を伸ばす予定。

2013-01-01から1年間の記事一覧

ATNDフルカレンダー機能追加のお知らせ - Twitterのfollowsの参加イベントが区別できるようになりました

Twitterのフォローのイベントを区別したい ATNDフルカレンダーに新機能。Twitterでフォローしている人のイベントが区別できるようになりました。 元ネタはWebアプリ「What events your twitter friends ATND?」のAPIを作りましたで、同じようなことをしてみ…

Fullcalendar.jsで別ウィンドウにイベント情報を表示する

Fullcalendar.jsのドキュメント にドンぴしゃりの内容がありました。 ATNDフルカレンダー にも取り込まないとなぁ、使いにくい。 Tech CompassのWebアプリ VS. ネイティブアプリ 、勝つのはどっちだ!? の大前さんの「ユーザ体験がすべてだ」という言葉が非常…

Defferdオブジェクトを2重のforループの中で使ってうまく待合せられない

あれが、終わったら、これらをする。 あれが、終わったら、これらをする。 あれが、終わったら、これらをする。 あれら、これらがすべて終わったら それ(alert)をやる。 がやりたい。 var ajaxs = []; for (var i=0;i

Mojoliciousでクッキーの値が設定されているか、クライアントサイドで確認したい

以下のように、Mojolicious::Plugin::Web::Authプラグインをつかっています。 やりたいことは、ブラウザを閉じたらセッションを無効化したい。 package Atndfc::Web; use Mojo::Base 'Mojolicious'; # This method will run once at server start sub startu…

ATNDフルカレンダーの体裁を整えた

ATNDフルカレンダー の体裁を整えて、見た目をよくしました。 新作アプリの方のコーディング作業に戻らなくてはいけないんだけど どうもやる気がでない。困ったものです。 とりあえず、今度はBackboneルーターの勉強をしようかなと思います。 wri.peでも使っ…

ATNDフルカレンダーのウィークリーカレンダーが表示できるようになりました。

昨日リリースしたATNDフルカレンダー に、新機能追加! 週カレンダーが有効になりました 一度表示したデータはキャッシュにいれて、読み込まないようにしました。 週カレンダーは、リクルートさんに問い合わせてみたら、decodeURIComponentを使ったらという …

jqueryのajaxのクエリパラメータでカンマをエンコードしない方法

JQUERYのAPIによると jQuery.ajax( url [, settings ] )Returns: jqXHR settingsの説明によると The data option can contain either a query string of the form key1=value1&key2=value2, or an object of the form {key1: 'value1', key2: 'value2'}. …

perlで配列の引き算したいんですよ

仕事でちょっとしたツールを作った時に、配列の引き算をしたくなって、 以下のようなNGコーディングをしてしまった。 my @uu = @boo-@foo; そんでもって以下のようにコードを書き換えて動かしました。 use strict; use Data::Dumper; my @lefts = (1,3,5,7,9…

javascriptのハッシュのキーを変数にしたい

こちら ふむふむ。 javascript力が弱すぎる・・・私。

新作Webサービス「ATND フルカレンダー」をリリース

ATNDカレンダー検索という、よく使っているサイトがあるんですが、 私は、現在Fullcalender.jsというライブラリの使い方に慣れるべく いじっていたので、折角だからと、ATNDカレンダー検索みたいなことを フルカレンダーでやったら面白くないか?と思い立ち…

サーバーサイドperlでのnginxのリバースプロキシの設定方法

サーバーサイドperl+nginxの設定はおそらく人気があると思います。 私が今まで躓いていた、index.html(静的ファイル)はアプリケーションサーバーで処理したくないけど うまく設定できずにいたのが解決したので皆さんにお披露目。 というかみんな知ってるか…

php5.5をsupervisordで動かしてみた

php5.5のインストール PHPからphp5.5のtar.gzをダウンロード。 /tmpにtar.gzをアップロード tar -xvf php-5.5.0.tar.gz cd php-5.5.0 ./configure --enable-fpm make sudo make install cd /usr/local/etc sudo cp php-fpm.conf.default php-fpm.conf nginx…

priv nextの遷移でFullcalenderのイベントが2倍に増殖してしまう。

昨日の続き。月を遷移させてちゃんと表示されるか試してみたくなったけれど うまく動かない。Backboneを無理やり使う必要ないかな。 何回もajaxアクセスが裏で走ってしまうが、原因よくわからない。 難しいなぁ。挫折しそうだ。 $(function(){ var Event = B…

FullCalendarのイベントをMojoliciousからfetchして描写したいbackbone.js

backbone.js fullcalender Building a shared calendar with Backbone.js and FullCalendar: A step-by-step tutorial 上記を参考に作ってみる。 $(function(){ var Event = Backbone.Model.extend(); var Events = Backbone.Collection.extend({ model: Eve…

Backbone.jsでコレクションを絞り込んでFetchする

なるほどというか。よくドキュメントを読むと書いてあった。 こちら documents.fetch({data: {page: 3}}) dataというプロパティに渡してあげればいいのか。 ある人の、何日から何日までの予定を取りたいとか そういうことを私はしたいんですが。 ある人とい…

TodoMVC(backbone.js)のバックエンドをMojoliciousにしてみた。

クライアントサイドMVCを学習したくて 自身、サーバサイドはPerl(Mojolicious)しか使えないというスキルセットなので とりあえず、サーバサイドをMojoliciousにしてみる挑戦を無謀にも。 こちらの ソースをpublic配下にコピってきて、index.htmlはindex.htm…

perlで綺麗な色をランダムに出したい

現在、ランニング系のサイトを作っているので、ランニングコースの色分けをしたいなー、したいなーと開発当初から思っておりまして。。(ここだけは、譲れないというか、やりたかったので) リサーチ。 いい方法がありました。 ランダムに綺麗な色を作る方法…

Tengから取得した日本語文字列をMojoliciousでrender(partial)したあと、renderすると文字化けする

うーん。やっぱり文字化けしてしまった。 Tengから日本語文字列を取得する。 それをjsonデータとして、render(partial=>1) それをスタッシュにつめる renderでスタッシュの内容を出力 my $json = $self->render(json=> \@routes, partial => 1); $self->app-…

関数の中でwantarrayを使っているときは要注意

昨日のはまったエントリ 関数の返却値をそのまま、ハッシュの値に詰め込んだ場合、リストコンテキストとなるんですなぁ。ハッシュは配列の一種だから当然なんですが・・・ 以下のソースを見るとよくわかります。 use strict; use warnings; use Data::Dumper…

MojoliciousでJson日本語文字列をレンダリングすると文字化けする

Mojoliciousでrender(partialフラグ付き)を用いて 日本語文字列を含むjsonをレンダリングすると文字化けした。 以下テンプレートファイルの中身。renderテキストの方は文字化けしない。 <%= $self->render(json=>{"aaa"=>"あああ"},partial=>1) %> <%= $self…

perlでデータを一旦変数に入れないと値が変わる?

データを一旦変数に入れてから使わないと値が変わるの? use strict; use warnings; use Geo::WKT; use Data::Dumper; my $linestring = qq/LINESTRING(1 1,2 2)/; my $geoline = parse_wkt_linestring($linestring); my $points = $geoline->points(); my $…

Geo::WKTのインストール

Geo::WKTのインストール Geo::WKTをcpanmでインストールしようとしたら、 依存モジュールのGeo::Proj4のインストールでこけてしまって ERROR: proj library not found, where is cs2cs? proj4のページからproj4 proj-4.8.0.tar.gzをダウンロードして、 confi…

MySQL5.6のGISデータをperlデータにマッピングしたい

次の作品はGoogleMapsをバリバリと使ったWebアプリになっています。はい。 登録機能はほぼできた感があるので、いよいよ検索機能に駒をすすめました。 サーバーサイドPerlの出番となり、リサーチ活動。 MySQLのgisデータを取り出してPerlに格納したい MySQL…

Mojoliciousのlayoutヘルパーで指定したlayoutのheadの中身を可変にしたパート2

名前付きcontentを使う もう少し、ドキュメントを読み込み、前回エントリとは違う方法を探してみました。 exapmle/root.html.ep % layout 'hoge'; % content_for head => begin <script> function init(){} </script> % end <p>hello world</p> layouts/hoge.html.ep <html> <head> <title>dokechin site</title> </head></html>…

Mojoliciousのlayoutヘルパーで指定したlayoutのheadの中身を可変にしたい

exapmle/root.html.ep % layout 'hoge',head=> 'boo'; <p>hello world</p> layouts/hoge.html.ep <html> <head> <title>dokechin site</title> <%= include $head %> </head> <body> <%= content %> </body> </html> boo.html.ep <script> function init(){} </script> headをカスタマイズしたくないときにも、何かしら値を入れないといけな…

googlemapsのPolylineの全ポイントを表示する適切なズームに変える方法

Google Maps API: Calculate Center/Zoom of Polyline

Hatena Blog でシンタックスハイライト変えた

シンタックスハイライトを変えたい ```perl use strict; use warnings; ``` というように書く、GitHub Flavored Markdownという記法があるのかぁ。 知らなかった。 GitHub Flavored Markdown あとはshiba_yu36さんの ブログのsyntax highlightのデザイン変え…

Mojoliciousからiframeの中のjavascriptへデータを渡したい

さあ、どうやってするのか。と悩んでぐぐった結果 Sharing global javascript variable of a page with an iframe within that page Mojoliciousで、JSONデータをjavascriptへ埋め込む renderでpartialオプションをつけて、埋め込める。 mainのコード <script> var m</script>…

Mojoliciousでステータスコード303のリダイレクト

データ入力画面でPOSTして、Mojoliciousでリダイレクトで確認画面にとばすのですが、 POSTでくるものをリダイレクトするとPOSTでリダイレクトしちゃうので GETでリダイレクトしたいのです。 そういう場合は、303を返せばいいということがわかったんですが…

Mojolicious4.0からセッションを使うをていねいに

私のMojoliciousディレクトリ構成はこんな感じ |-- hogehoge_web.conf |-- hogehoge_web.psgi |-- lib | `-- HogeHoge | |-- DB | | `-- Schema.pm | |-- DB.pm | |-- Web | | |-- Root.pm | | `-- Route.pm | `-- Web.pm |-- log | `-- development.log |--…