Jerseyのテストフレームワークは小気味よく動くけどフィルタとかちょっと凝ったことしても通るんだろうか、と不安に思っていたらやっぱりテストが通りませんでした。
どうもHttpServletRequestなどServletエンジンに依存するオブジェクトが取れない(nullになる)ようです。
続きを読むこういうレベルでハマると運が悪いとずっとハマりそう、という話です。
続きを読むプロダクトコードなので詳細は非公開ですが、とあるパブリックじゃないWebAPIへのアクセスで激ハマりしたのでその記録などひとつ。
そのWebAPIの仕様書(のようなもの)にはレスポンス内の文字コードについての言及がなく、「メッセージは英語なのかな」って勝手に思い込んでいたのですが、先方の試験用環境にアクセスしたら思いっきりマルチバイト文字だった、というところから始まりました。
完全に文字化けしていてどうしようもない状態だったので、先方に「これ文字コード何ですか?」と確認したら「シフトJISです(ぺこり)」との回答。
ならば、ちょろっと.getBytesして文字コード変換すればいいかな、と思いましたが、妙な違和感。
そもそもhttpclient使っている系のライブラリでこの手の問題(文字化け)って出くわした(解決した)記憶がないのです。
続きを読む社内のハッカソンでTwitter(twitter4j)を使ったアプリを作りましたが、時間内に解決できなかった問題があって、調査の時間も取れずになかなか解決できずにいました。
問題というのはすぐにAPI制限がかかってしまうというものです。
429:Returned in API v1.1 when a request cannot be served due to the application's rate limit having been exhausted for the resource. See Rate Limiting in API v1.1.(https://dev.twitter.com/docs/rate-limiting/1.1) message - Rate limit exceeded code - 88 Relevant discussions can be found on the Internet at: http://www.google.co.jp/search?q=ec1fe56d or http://www.google.co.jp/search?q=1e3b4ab6 TwitterException{exceptionCode=[ec1fe56d-1e3b4ab6], statusCode=429, message=Rate limit exceeded, code=88, retryAfter=-1, rateLimitStatus=RateLimitStatusJSONImpl{remaining=0, limit=15, resetTimeInSeconds=1410595332, secondsUntilReset=864}, version=4.0.2} at twitter4j.HttpClientImpl.handleRequest(HttpClientImpl.java:163) at twitter4j.HttpClientBase.request(HttpClientBase.java:53) at twitter4j.HttpClientBase.get(HttpClientBase.java:71) at twitter4j.TwitterBaseImpl.fillInIDAndScreenName(TwitterBaseImpl.java:128) at twitter4j.TwitterImpl.verifyCredentials(TwitterImpl.java:545) ・・・
な感じで怒られます。
続きを読む秋のJavascript祭りに行ってきました。
最近、社内でもフロント周りのニーズが高まってきてることもあり、主に情報収集の一環です。
どうも参加者はデザイナー寄りな方々が多い様子。backbone.jsとかAngularJSあたりのSPAとかバインディング、あるいはnode.jsなどのサーバサイド的な話題はかなり少なめでした。
「Javascriptは書けないけどjQueryは書けます」っていうのは「Rubyは書けないけどRailsなら書けます」的な感じなんですかね(適当)。
続きを読むYAPC::Asia Tokyo 2014に行ってきました。
いちおうJavaを生業にしてることになってるんですが、 日常的に書いてる(書き捨ててる)コードといえば今でもPerlだったりします。 CentOS系ならpythonもいいんですが、Perlはだいたい環境を選ばないのでその辺も便利です。
とはいえ、YAPCトークのお品書きを見てもあんまりPerlって感じじゃないですね。
1日目は午後から行ったんですが、人多過ぎでセッションやってる部屋に入れずノベルティ抱えて帰宅して出社。
2日目は前日の教訓から場所取りのために初回セッションの1時間くらい前に到着して待機。 「朝イチのセッションは集まり悪いですねー」とか言いながらセッション始まる頃には振り向くと人がギッシリ。
キャパが小さいなら規模の大きいカンファレンスでよくある、各セッション単位での事前登録制がよさそうです。
続きを読む