Debuginfo

思考とアウトプット

Mojolicious

Mojolicious文字化けまとめ

よくハマるのでメモ。 言葉の定義から Encode::decode_utf8 : バイト文字列からPerl内部文字列の変換のこと Encode::encode_utf8 : Perl内部文字列からバイト文字列の変換のこと Teng等で deflate : DBに挿入時のファンクション inflate : DBから取ってくる…

Mojoliciousの文字化けをTengのinflateでデコードする

MojoliciousのJSON出力で文字化けのyusukebeさんのコメントにもあるようにMojoliciousは内部的にutf8フラグを落としているようです。 毎回decode_utf8をするのは面倒なのでTengのスキーマ宣言クラスでinflateしてしまいましょう。 package MyApp::DB::Schema…

Instagram APIでPaginationを実現する

Instagram APIでユーザフィードはデフォルトで20しか返ってきません。Countパラメータで変更可能ですが、自分が確認したところ、30ぐらいが上限のようです。なのでユーザが見ているときに、"もっと見る"のようなボタンを容易して次を見させるのがよさそう…

動的なリンクをjavascriptを使ってPDFをダウンロードする方法

これだとダウンロードできるんだけど、a.click()の下に$location.hrefとか置けないんだよね:( promise.then(function(res) { console.log(res.url); var a = document.createElement('a'); a.href = res.url; a.download = "a.pdf"; a.click(); }) ちなみに…

Mojolicious + AngularJS + Yeoman = Mojangman?

MojolicousをAPI dedicatedなバックエンド、AngularJSをフロントにするWebappの構築を考えています。 Yeomanでdist以下をどのようにデプロイするかが述べられていますが、git subtreeを使った方法だと複雑になりそうです。 色々調べてみると、Jeffrey氏がRai…

Mojoliciousのrender(json => '..')で日本語文字化けを直す

内部でしっかり日本語を見れたので送信時の問題かなと検討をつけて、 response hearderを見たら、charsetがなかったので下記のようにtypeにcharset=utf-8を追加。

$HOME/notesというITエンジニアなら誰でもホームディレクリ以下にある自分用のnote/docとかを共有するサービスを作ってみた

$HOME/notes このサービスを作った出発地点は, "最近、グーグルで調べるのがしんどくなってきたなぁ。知りたい情報は数行なのにたどり着くまでえらく時間がかかるなぁ、もっと的を得たものってないのかな。そもそも$HOME/notesってディレクトリに自分用のノ…

Mojoliciousで”Content-Type application/json”の受け取り方

backbone.jsではsave()時に”Content-Type application/json”でデータをPOSTします。この場合は、Mojoliciousの$self->paramで受け取れないので、 Crontoller内で my $data = $self->req->json; して、受け取る。 参考 https://groups.google.com/forum/?hl=j…

Mojoliciousのtemplateとunderscore.js(backbone.js)のtemplateが競合するときの対処法

Mojoliciousのテンプレートは”<%”を使って表現します。underscore.jsも同じものを使ってるので、underscore.jsのテンプレートを使ったページにアクセスするとMojolicoiusのプロセスがエラーを吐きます。 すごい悩んでどうやればいいかわからなくて、Twitter…

Mojolicious::Plugin::Web::Authでgithubのログインを実現する

最近は他のサービスを使ったログインが主流ですよね。開発者向けのサービスQiitaでもTwitter/Githubをログインに使用してますね。 Mojoliciousで使うために今回、Amon2プラングイン由来?のMojolicious::Plugin::Web::Authを使ってみました。セッションを使…

Kindleおすすめ本というサービスを作った

Kindleおすすめ本 - Kindleのおすすめ書籍を紹介 このサイトではTwitter上で本をおすすめしている発言を元にKindle書籍をランキングしています。Kindleで読む本をお探しの方はご活用ください 昨年Kindle Paperwhiteを買ったのですが、読みたい本がAmazonのKi…

MojoliciousでAccess-Control-Allow-Originを有効にする方法[Perl]

Mojliciousに限らずWeb server側で他ドメインのAjaxを受け入れるためには,Access-Control-Allow-Orignを有効にしなければいけないみたいです。 Mojoliciousではどうやるかというと下記のようにControllerのところにヘッダを変更すればできました。 $self->re…

初めてのCarton + Mojolicious

Deployを容易にしてくれるCarton使ってみます。(Need to note that the carton is not fully production but it doesn’t matter for my joke app :) ) いつかはHerokuにデプロイしてみたいです。 $ cpanm carton $ vi Makefile.PL $ cat Makefile.PL use inc…