mixiアプリtips

OpenSocial系のJSのAPIは、それをvalidationするための仕組みがないので、Persistent APIなどで、個人が書き換えすることがアプリとして許されるデータ以外は保存しないというのが基本方針。これはassanouさんが書かれてるグリモンを見れば、どんなことがで…

Ark入門

PSGIにも対応しているモダンなWeb application frameworkであるArkに入門してみました。まずはアプリの生成から ark.pl newapp Happy::WeddingこれでModule::Setupをつかったフレーバーからアプリのひな形が生成されます。続いて、Controllerをつくります。 …

Kindleが英語学習端末として圧倒的に優れている3つの理由

Kindleを使い始めたのですが、かなりいいですね。洋書を読む環境としてだけでなく、英語学習環境として優れています。理由は、以下の3点です。 英英辞書の統合 カーソルに単語をあわせると、その場で英英辞書で引けるというのが本当に素晴らしい。知らない分…

Kindleが素晴らしい3つの理由

先ほどのエントリでは英語学習環境として素晴らしいと書きましたが、本好きな人にとってもありがたい端末だと思います。Kindleを使ってみて素晴らしいと思うのは、以下の3つの点です。 手元に60秒で本が届く 技術書は、翻訳をまっていると1年以上遅れてしま…

snippetをautocomplpopで補完する

vim

id:ns9tksさんが作られているautocomplpopのv2.11以降でsnipMateと連携したsnippet補完が実装されています。これはLifechagingですね。 インストール方法 autocomplpopの設定は以下の通り。 " ============================================ " autocomplpop.…

snippetをneocomplcacheで補完する

vim

Shougoさんが作られているneocomplcacheも最近試してみています。autocomplpopのような補完やsnippetの補完などがneocomplcacheという一つのプラグインで実現されています。以下が設定です。snippetは、.vim/snippetsに置く設定になっています。 設定 " ====…

Practical API Design

最近はシステムプログラミングの本ばっかり読んでいて、古典しか読んでないので、これといって紹介する本がないんですが、最近読んだ本の中で良かった本を1冊だけ。Practial API Design http://www.amazon.com/Practical-API-Design-Confessions-Framework/d…

CPAN::Packagerでパッケージ作成時にテストをする

YAPC::Asiaで、CPAN::Packagerでrpmのpackageのbuild時にモジュールのテストをしたいというリクエストを受けたので、RPMのほうもデフォルトでモジュールをテストするようにしました。RPM版、Debian版ともに、依存関係の深い順のモジュールをインストールして…

YAPC::Asiaで受けた質問について

YAPC後すぐに休みにはいってたので、大分遅くはなりましたが、CPAN::Packagerのセッションで頂いたコメントをまとめました。 Q&A Q1: 古いバージョンのモジュールを残したい場合はどうすればいいか? A: cpanminiなどでカスタムのミラーサーバーを作るか、カ…

YAPC::Asia2009で発表してきました!

YAPC::Asia 2009で「優しいモダンなWAFの作り方」と「CPAN::Packager」の二つの発表をしてきました。去年は聞く側として初参加したYAPC::Asiaでしたが、そこで自分の作った物を発表するperl hackerに影響され、技術者として自分の作った物をYAPC::Asiaで発表…

Plackで作る優しいモダンなWAFの作り方

皆さんご存知のように最近PSGIの実装としてPlackが登場しています。HTTP::EngineからPSGIへの移行にともなって、angelosもPSGIの実装であるPlackに対応しました。そこで、YAPCでのトークも当初予定していたHTTP::EngineをつかったWAFの作り方から、今後主流…

CPAN::Packager 0.072 released !

CPAN::Packagerでは依存関係を再帰的に辿りながら、そのモジュールに依存するもの全てパッケージを作る事が出来るツールです。YAPCに向けて足りない機能を何点か追加して、一通り機能が揃ったのでリリースしました。今回の版では、walf443さんの協力もあり、…

scalaでDI

以下の記事のscalaでDIの話はなかなかscalaらしい面白い解決策を提示してい面白いですね。 http://jonasboner.com/2008/10/06/real-world-scala-dependency-injection-di/どんな方法かというと、 traitに抽象メンバ変数もたせて、DI対象のクラスではそれを参…

scalaのimplicit conversionで既存クラスにメソッド追加

既存クラスにメソッド追加する使い方は面白いです。Javaのクラスにも追加できるのがとても面白い。Commons系のUtilityを既存の型につっこんだら結構いいんじゃないかなぁ。ActiveResourceを、Commons系ライブラリ+implicit defで実装するのは結構いいんじゃ…

Scala is awesome!

Scalaは久々にすごいなぁと思える言語で、これからはScalaにかなりの時間を割こうかなぁと思ってます。色々と特筆すべきところはあるのですが、Rubyのように綺麗にかけて、それに加えて関数型言語の要素もくわわっていて、複数のパラダイムを混ぜる事で、向…

Better Ruby, Better Java

Javaは静的型付けがあるけれどとても冗長。これは型だけじゃなく、いたるところで冗長なコードしかかけない。 一方、Rubyは綺麗なんだけど、静的型がなく、遅く静的言語に比べて多くのテストをかかないといけない。そして、monkey patchingしててもどこでpat…

scala++

現状の言語の中で、極めて理想に近い形の言語だなぁと。

gradle

http://in.relation.to/Bloggers/Maven2YearsAfterここで知ったんですが、gradleはなかなか良さそうなbuild toolですね。長い事、antもmavenも複雑なビルドするには全くもって向いてないなぁと思ったんですが代替手段もないなぁと思ってました。gradleは、乗…

1/1 scale Gundamを見に行ってきた!

行かないと日本人じゃないといわれたので行ってきました。いやぁ、これはすごい!頭とか動いちゃったりして、40周年には歩き出しちゃうんじゃないかという感じでした。さすがに人が集まる訳だ、これは。 煙だしているガンダム 仁王立ちのガンダム ビルと同じ…

YAPC::Asia 2009 で「モダンな優しいWAFの作り方」と「CPAN::Packager」について話します

9/10にYAPC::Asia2009で発表しますので、是非聞きにきてください ;) http://conferences.yapcasia.org/ya2009/talk/2207 http://conferences.yapcasia.org/ya2009/talk/2208Perlコミュニティに参加したのは、去年のYAPC Asiaが初めてでした。Perlコミュニテ…

PubSubHubbubは面白いかも

PubSubHubbubはなかなか便利そうですね。 http://pubsubhubbub.googlecode.com/svn/trunk/pubsubhubbub-core-0.1.htmlPubSubHubbub+ReverseHttpで、色んなフィードの通知をGrowlで通知なんて使い方すると意外と便利かもしれないなぁと。miyagawaさんのgithub…

EclipseでAndroidのフレームワークのコードを読む方法

Androidプロジェクトの作成 Androidプロジェクトから自動追加されたandroidのjarをremove プロジェクトのプロパティ表示 Javaのビルドパス選択 Add external jars sdkのディレクトリのandroid.jarを追加 android.jarにソースをattach androidのframeworkのソ…

Androidの非同期処理はAsyncTaskで

世間の空前の非同期ブームにのっかって、androidでよく使う非同期処理を実現するためのクラスAsyncTaskについて簡単にまとめてみました。AsyncTaskは非同期タスク実行後、完了時に画面更新などのシンプルな非同期処理を実現するために使う物です。AsyncTask…

Android開発でのパフォーマンス設計のBest Practice

Googleの公式のドキュメントでは、パフォーマンス向上のための基本的な指針が提示されています。GCの方式の違いやプロセッサの違いなどで、一般的なJavaでの開発とはかなり違った形での開発が要求されるので、特にJava屋さんには注意が必要です。Best Practi…

Android Hackathon #1 @kayac にいってきた!

typesterさんに誘って頂いて今日はAndroid Hackathonに行ってきました。今日はutility系のアプリとはてなダイアリーを編集するアプリを作ってました。はてなさんとTV会議システムで繋いでいたので、人数も数多く集まっていて賑やかで良かったですね。android…

Test::ContinuousのFile::ChangeNotify版

Test::Continuousがbusy loopして、ファイル更新のチェックしているので、 File::ChangeNotify版を作ってみました。http://github.com/dann/test-continuous/tree/masterLinux::Inotify2をインストールしておけば、Linux環境だとinotifyが使われます。Enjoy!#…

Varnishによる動的コンテンツのキャッシュ

Velocity 2009のTwitterのスライドを見ていて、何点か面白いなぁと思った物があったのですが、その一つがVarnishのESIによる動的コンテンツのキャッシュでした。ApacheとApp Serverの間にVarnishをはさんで、動的コンテンツをキャッシュするというものです。…

memcachedモジュールを使った特定IPからのブロック

さきほどのTwitterのスライドで紹介されていたものですが、mod_memcache_blockというapacheモジュールを使っていると書かれていました。LiveDoorのスパムちゃんぷるーと似たようなものだと思うんですが、面白いのはblockしたい IPのリストをmemcachedで共有…

Google I/O Writing Real-Time Games for Android

http://www.youtube.com/watch?v=U4Bk5rmIpicAndroidで開発するためのパフォーマンス上の工夫について、色々と述べられているので面白いですね。大分特殊な感じの開発になるかなという印象です。Android上では、オブジェクト指向開発は忘れてしまわないとい…

はてぶからDeliciousに自動投稿するApp Engine用アプリを作ってみた

今までplaggerではてぶ2Deliciousはやっていたのですが、Web HookができたのでGoogle App Engine版をつくってみました。mattnさんのやつの、Web Hook版ですね。 http://github.com/mattn/hatenabookmark-meets-delicious/tree/master #!/usr/bin/env python …