読者です 読者をやめる 読者になる 読者になる

yohjizzz's Blog

I'm a Programmer.

Python Falcon ちょっと本気のクイックスタート

Python の新進気鋭な (?) フレームワーク Falcon と戯れた機会があったので、
Qiita にクイックスタートを投稿しました m(_ _ )m


qiita.com


falconframework.org

2014年 - 2015年

http://instagram.com/p/xVHOanoBEe/
#2014年 も大変お世話になりました。#2015年 もどうぞ宜しくお願いします。#大晦日#太郎 と #泰介


2014年は、
長男坊が2歳になり保育園に通い始め、人生で初めての保育園送りに戸惑い、
さらに 次男坊が生まれ、(生後4ヶ月で8kg を超える巨大児)
週末は、乳幼児2 に対して 大人2 のマンツーマン・ディフェンスが強いられ・・私生活では非常にバタバタした一年でした。

それはそれで幸せと苦労に富んだ超貴重な経験ではありましたが、
技術的な新しいトライがほぼ出来なかったことは非常に反省しています。

仕事でも技術的な立場から離れた仕事が多かったので、
今年は 再び技術に貪欲な1年にしたいと思います。m(_ _ )m

三社祭

三社祭

去年の今頃は3ヶ月だった息子も今では歩いたり御輿に乗らせてもらったりと。

1年って早いね。

https://www.instagram.com/p/ZcvtswIBHS/
Instagram
https://www.instagram.com/p/ZdBK-oIBHf/
えっさ!えっさ!
https://www.instagram.com/p/ZdBUIpIBHq/
ほいさっ!ほいさっ!!
 

Hogan.js Memo

About Hogan.js

http://twitter.github.io/hogan.js
Twitter が開発したオープンソースJavaScript テンプレートエンジン。
Mustache のテンプレート仕様と互換性をもち、
かつ、プリコンパイル機能を具備しており、実行速度は Mustache よりも高速。
プリコンパイルしなくても Mustache より速いっぽい。
テンプレートには {{name}} や {{#list}} といったデリミタを用いており可読性も高い。
Matador でもテンプレートエンジンとして採用され、
クライアントサイドのテンプレートはもちろん、
サーバーサイドのテンプレートエンジンとしても利用される。
Express でも Jade や EJS と同じように利用することもできる。

Sample

  • {{escaped}}

エスケープ処理されて出力されます。

  • {{{unescaped}}}

エスケープ処理されず出力されます。HTMLタグなどそのまま出力した時に。

  • {{#list}}

配列/コレクションをループします。

  • {{!comment}}

コメントです。


こんな感じかな。
まだまだ機能はたくさんあると思うけど、まずはこの程度で始められるかと。

Links

2011年に公開されていてネット上にも情報はそこそこある。
けど、日本語情報は意外と少ない。

 以前にも「google-jstemplateを使ってみる」でJavaScriptのテンプレートエンジンを使ってみたを書いたが、
個人的にはいまいちだったのでTwitter製ということでHorgan.jsを使ってみた。

 売りとしてはTwitter製の2.5kのテンプレートエンジンで、
事前にコンパイルしておくこともできるし、ブラウザに読み込んで動的な処理も出来る。
node.jsを使って開発しているのであればnpmからインストール可能。 ...

Horgan.jsを使ってみた - wataメモ

 hogan.jsをTwitter社がオープンソースで公開されました。

hogan.jsは最近かなり使われてきているテンプレート言語mustacheのコンパイラーで、名前の由来はホーガンさんのようです。

hogan.jsは、mustache.jsとは異なり、mustacheの記法で書いたテンプレートをコンパイルすることができます。
従って、レンダリングのたびにmustache記法のテンプレートをパースする必要があるmustache.jsよりも高速な ...

hogan.jsでmustacheをコンパイルする - memo.yomukaku.net

 Twitter社のHogan.jsをnode.jsのExpressでtemplateとして使用する方法。

Hogan.jsを使ってmustacheのテンプレートをコンパイルする方法について「hogan.jsでmustacheをコンパイルする」で書きました。
今回は、node.jsのExpressフレームワークの中でhogan.jsをテンプレートとして使用する方法を書きます。

Expressは標準でjadeをテンプレートとして使用するようになっています。
ejsやhamlも使うことができますが、hogan.jsを使用できるようにしてみます。 ...

Using Hogan.js Templates in Express - memo.yomukaku.net

 

Mustache vs Hogan.js vs Handlebars.js

クライアントサイドで動く Javascript のテンプレートエンジンのお話。

クライアントサイド・テンプレートエンジンというと jQuery.tmpl しか使ったことがなくて、
それはそれで事足りていたんだけど、
Restful + Backbone.js でクライアントMVCだーってなると、
クライアントサイド・テンプレートエンジンの重要性が高まってくる。

ということで、本格派を選定中。

※下記は比較的新しい機能比較の記事。わかりやすい。

今回は、 JavaScript 製でクライアントサイドで使えるテンプレートエンジンの比較を行いました。 まず、機能面で比較した表がこちらです。
 ・・・

クライアントサイドで動くJavaScript Template Engine7つ | 株式会社インフィニットループ技術ブログ

選定基準はこんな感じ↓

  • 実績と信頼性・将来性 (High)
  • テンプレートが Logic Less であること / テンプレートのわかりやすさ (High)
  • プリコンパイルにより高速であること (High)
  • Partial/Include (組み込み) が可能であること (High)
  • Escape や Method Call が可能であること (Middle)
  • サーバーサイドでも利用できるテンプレートエンジンであること (Low)

選定基準を加味すると Mustache/Hogan.js と Handlebars.js あたり。
ただどれも使い勝手にあまり差がない。

あとは気になる速度。

※下記はプロダクト/ブラウザごとのベンチマーク結果。
Mustache vs Hogan.js vs Handlebars.js · jsPerf
Precompiled Templates · jsPerf


この結果を見ると、

■Mustache

Mustache を基準とすると・・・

■Hogan.js

Compiled はもちろん速いが、
Uncompiled も Mustache より全然速い。大事。プリコンパイルできない場合もあると思うので。

■Handlebars.js

Compiled は最速。Hogan.js よりも速い。
Uncompiled はかなり遅い。ICanHaz.js 同等 or やや劣る。


・・・と、いうことで (どういうことで?) 総合的に判断すると・・・・




Hogan.js 採用!!


Twitter 製というのも《なんか》お洒落。m(_ _ )m
 

JavaScript で CDN 利用するときに

jQuery をはじめ CDN (Google や CDNJS など) を利用する頻度が増えてきた今日この頃。

こういう考慮は必要だよね。.

<script src="//ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>

<script>window.jQuery || document.write('<script src="/js/lib/jquery/jquery-2.0.0.min.js"><\/script>')</script>

CDN が落ちるようなことなんてはまずないけど、
CDN が落ちたらサービス障害ってのはさすがにマズイよね。
 

はてな復活!

はてなダイアリー d.hatena.ne.jp をやめてから2年ぶり。


はてなブログ hatenablog.com をスタート!!


id:yohjizzz です。



よろしくどうぞ。





以前のブログ ようじのにっき の記事もこちらにインポートしています。

久しぶり!

さいきん全然書いてなかったブログに久しぶりの投稿・・


そしてお知らせ!


このブログおよびアカウント id:yohjizzz を終わります。

30歳!なんとなく新規一転やりなおします!!

そんなに多くないと思うけど読んで頂いた方々、コメント頂いた方々、
有り難うございました!!


またね〜


ありがとね〜

FacebookClient にプロキシを設定

RestFb でプロキシを指定するにはチョイと面倒で、
DefaultFacebookClient に指定する DefaultWebRequestor の openConnection() を拡張する必要があるようです。

    public static final void main(String[] args) throws Exception {
        
        FacebookClient facebookClient = new DefaultFacebookClient(
            "Facebook あくせすとーくん",
            new DefaultWebRequestor() {
                @Override
                protected HttpURLConnection openConnection(URL url) throws IOException {
                    SocketAddress address = new InetSocketAddress("0.0.0.0", 0); // ←プロキシのホストとポート指定..
                    return (HttpURLConnection)url.openConnection(new Proxy(Type.HTTP, address));
                }
            },
            new DefaultJsonMapper());
        
        User user = facebookClient.fetchObject("me", User.class);
        System.out.println("User.email = [" + user.getEmail() + "].");
        System.out.println("User.bio = [" + user.getBio() + "].");
        System.out.println("User.link = [" + user.getLink() + "].");
        System.out.println("User.birthday = [" + user.getBirthday() + "].");
    }

これで OK !

RestFB is a simple and flexible Facebook Graph API and Old REST API client written in Java.
It is open source software released under the terms of the MIT License.

RestFB is a simple but powerful Facebook Graph API and REST API client written in Java

Mac には JavaHL がない??

MBAEclipse (Subclipse) を起動するたびに以下のようなエラー・・

JavaHL がロードできねー、と。

んで、調べてみたらこんな記事↓。
http://blog.ikemasa.com/2010/10/mac-javahl-error/


実際にやってみる。

$ port search subversion-javahlbindings
subversion-javahlbindings @1.6.16 (devel, java)
Java (javahl) bindings for the subversion version control system (svn)

↑あるね。

sudo port install subversion-javahlbindings

↑いんすとーる!


 ・
 ・
 ・
 ・
 ・
 ・



うわさどおり終わらね〜 寝ちゃおうかな・・

追伸

10分程度で終わってた。

Eclipse を起動してみたら無事解決!

ちゃんと読み込めている↑ようだ。


おしまい、おしまい〜

MacbookAir に PHP5.2 を (備忘録)

最近めっきり MBA です。


かなり久しぶりの PHP 。しかも開発マシンとしては馴染んでいない MBA
ということで環境構築がてら備忘録を残しておきます。

PHP ばーじょん

今回はあえての PHP5.2 です。かなり萎えます。
Ethna 2.5.0 を使わないといけない大人の事情があるんでしょうがない ><

僕の MBA には標準で 5.3.4 がインストールされているので、
そいつを残したまま 5.2.17 をインストールします。

いんすとーる

http://www.php.net/get/php-5.2.17.tar.gz/from/a/mirror
ここ↑からダウンロードしてきても良いんだけど「面倒くせー」ということで MacPorts で。

$ sudo port install php52

php52 は「PHP 5.2.17」です。install するまえに search して確認しましょー

かくにんさぎょう

インストールする前の環境はこんな感じ↓

$ php -v
PHP 5.3.4 (cli) (built: Dec 15 2010 12:15:07)
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies

インストールした後の環境はこんな感じ↓

$ php -v
PHP 5.2.17 (cli) (built: May 22 2011 18:42:34)
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2010 Zend Technologies

標準でインストールされていた PHP (5.3.4) は /usr/bin/ にあります。
MacPorts でインストールした PHP (5.2.17) は /opt/local/bin/ にあります。

当然、/opt/local/bin が PATH に入ってること。



以上、非常に簡単でしたね〜 ・・備忘録いらなかったじゃん・・

2010年に誕生した新しいWEBサービス

2010年に誕生した新しいWEBサービス より知らなかったものを中心に気になったサービスをいくつかピックアップしてみました。


まだまだ知らないWebサービスたくさんがありますね。

Get Glue (http://getglue.com/)

「同時エンターテイメント」がサービスのテーマになっています。好きな映画、ミュージシャン、本などを手軽に共有、評価出来ます。
たとえば、今読んでいる本について、それを以前に読んだことのある、あるいは今読んでいる世界中の他ユーザーと『リアルタイムでチャット』ができ、
その場で生の情報交換を行うことができるサービスです。

面白そうなので登録してみました。→ http://getglue.com/yohjizzz
Facebookアカウントがある人はコネクトできるのですぐに利用できます。いきなり好きな映画を10個ほど選択させられました・・
個人的には SNS はお腹いっぱいなんで Facebook 上で出来りゃ良いような気が・・・(そんなこと言ったら元も子もねーけど)

Lunch (http://www.lunch.com/)

食べログなどの口コミ情報サイトに、ソーシャルメディア機能を加えたサイトです。
コンセプトは「不特定多数の意見や情報の中から最も自分に関連した人のニッチな意見や情報を見つけよう」というものです。
お店の推薦、感想、クイックティップ、口コミなどを書き込んでいくことで、その人の興味の内容がより具体的になってきます。
そしてその中から似たもの同士、ユーザー同士を結びつけようというスタイルです。

う〜ん、、まだ使ったことがないのでわからないけど、このコメントからだと Foodspotting とかぶるのかな。

minus (http://min.us/)

flickrPicasaとは違って、ブラウザに写真をドラッグアンドドロップするだけで、見栄えのするギャラリーを作成してくれるサービスです。
Minusだと写真を放り込むだけなので、そういった操作に不慣れな人や面倒くさがりな人にもおすすめです。

コメントのとおりでギャラリーを作成(&共有)して楽しむことに重きを置いているような感じです。
フォト・ストレージとして期待してはいけないような感じなので(間違ってたらすみません) FlickrPicasa (やフォト蔵) と競合はしないように思います。
ドロップで画像をUpできるのは素敵です。今後増えるでしょうね。

ユーザー登録しないでも画像をUp(そして公開)できたのでやってみました。→ http://min.us/mvk56mB
1枚だけだと もの寂しい。

livlis (http://www.livlis.com/)

人々の「あげたい」「ほしい」をマッチングするウェブサービスです。
書籍「シェア」が話題となっていますが、これからのウェブは間違いなくこっちの方向が熱いと評判のようです。
モノ共有系では、これまでも「シェアモ(サービス終了)」などがありましたが、
リブリスはツイッターのソーシャルグラフを利用している点などが斬新。

僕のはこんな感じ↓です。
http://www.livlis.com/users/show/id/25996/

いま検討してるサービスはこーゆー系↑なのでこれ以上コメントは避けようw

FoodLog (http://www.foodlog.jp/)

食事の写真を送るとカレンダー上に日々の“食事日記”を作成できるサービスです。
画像から主食や主菜、副菜などを自動判別し、食事バランスの情報を表示する機能があります。
ほかのユーザーが投稿した画像を一覧できる「みんなの食事」機能や、画像を地図上に表示する「食事マップ」機能も魅力的。
カロリー計算を補助する機能や、位置情報や時間情報をもとにまとめた画像表示モードも搭載。

食事情報を共有することもさることながら「食事バランス」の表示(分析?)もしてくれるところがポイント(?)。
最近では外食したときに Foodspotting を良く使っていますが、Foodspotting は飲食店やその中のメニューに特化してしまうので、
トータル的な食事のログを残したい、とか、自分の食生活を見直したいとか、であればコッチの方がマッチしますね。

KeepItWith.Me (http://www.keepitwith.me/)

iPodへ、またはスマートフォンとデスクトップ、あるいは異なるブラウザ間でURLを共有したい時、
『KeepItWith.Me』なら、1クリックでデバイス、ブラウザ間でのリンク共有が可能なサービスです。
どのデバイスでも、どのブラウザでも使用できるというところが魅力的です。

初めて聞いたサービスです。Instapaper や ReadItLater とはどう違うんだろうか??

ロケタッチ (http://tou.ch/)

ライブドアが2010年7月にリリースした訪問した場所や店舗、
さらに、犬や猫やあらゆるオブジェなど、目に入った様々なモノに“タッチ”して、お出かけ情報を記録し、自分の友達と地図を共有するサービス。

以前は良く使ってましたが fousquare が写真を取り込めるようになって以来、一切使わなくなってしまった。。
fousquare との差別化が図れると面白いんですけど。(既にあるなら誰か教えて下さい m(_ _ )m)

retaste.me(http://retaste.me/)

Deliciousにブックマークした内容を、一週間まとめてメールで送信してくれるサービスです。
retaste.meへの登録は簡単でAOL、Google、Yahoo!、OpenIDのいずれかのアカウントでログインし、Deliciousのアカウントとパスワードを登録するだけ。
登録した後はブックマークのまとめがメールで届きます。
一週間という期間が過ぎてからメールが届くので、また違った視点でブックマークをもう一度見直すことができます。

これけっこう良いかも!
僕は「はてな」と「Delicious」を使ってますが、忙しい時って、ざっと読んでとりあえずブックマーク!・・・そして忘れる>< ってことがよくあるので、
1週間後に思い返してじっくり読み返すことができるのは嬉しい。さっそく使ってみよう。
1週間という期間を自分で設定できると良いな。(既にできるのかな??)

InstaReader (http://mediastech.com/InstaReader/)

Google Readerでスターを付けるとInstapaperに登録する「InstaReader」というWEBサービス。
あとでじっくり読みたい記事にはスターを付けておき、InstapaperのiPhoneアプリやWEBでゆっくりと読むことができる。

Google Reader の「Send to」オプション(以下、URL)で良いような気がするのですが・・・
iPhone などであれば Reeder のように Instapaper にダイレクトで飛ばせる RSS Reader もいくつかあるし・・・

http://www.apptoiphone.com/2009/08/googletwitter-delicious-instapaper.html


何か他にメリットがあるのかな・・・

こえすきっ (http://koesuki.net/)

こえすきっ!は登録不要/利用料金無料でユーザーの皆様が入力したセリフを声優の卵(声優志望)さんが喋ってくれるサービスを提供しております。

あんなHなコトやこんなHコトも喋ってくれるんだろうか・・・

Dropbox for Teams (https://www.dropbox.com/teams)

Dropboxで提供しているクラウドファイル共有サービスを複数名で共有する事が可能です。
管理者はアカウントの追加、削除、ストレージの追加購入などの管理を実施することが可能です。
Dropboxは人気の高いクラウドファイル共有サービス。無償アカウントは2GBまで利用でき、それ以上は有償サービスへアップグレードが必要。

いまさら言うことはないですね。今ではヘビーユーザーです。
世界中の「メールに添付」というシチュエーションを大幅に削減させたサービスではないでしょうか?
バージョン管理ソフトのようなコミット&アップデートも不要だしね。


今度は自分が使ってきたサービスをまとめてみようかな。