tokuhirom's blog
Regexp::Trie を java に移植した
Regexp::Assemble っぽいことをするには graph-expression に入ってるやつを使えばいい、という話は[昨日書いた]( のですが、生成コードがあまり綺麗ではないし、まあ今
2014-11-28(Fri)
Split Amon2::Plugin::Web::CSRFDefender from core distribution.
## 1. Amon2::Plugin::Web::CSRFDefender was removed from Amon2 core distribution. Amon2::Plugin::Web
2014-11-28(Fri)
Karabiner の private.xml を設定した
Realforce 買ったので private.xml を書いた。 private.xml を書くと、MBP 本体のキーボードと外付けキーボードとの間で別の設定ができるようになるし、設定を複数の環境
2014-11-28(Fri)
cpan-outdated 的なことを maven でやりたい
mvn versions:display-dependency-updates でできる。コアなやつなので、pom.xml をいじらなくても使える。便利。
2014-11-28(Fri)
jackson で JDK8 の Optional をうまく扱ってほしい
jackson では JDK8 の Optional にまだ対応していません。 Jackson 自体が JDK6 をサポートしているので、コアのデータバインディングに入ることはないのですが、それにして
2014-11-28(Fri)
[Security Notice] Amon2, HTTP::Session2 security updates
Last week, I shipped Amon2 and HTTP::Session2 includes security fix. ## [Must] Update "secret" if y
2014-11-28(Fri)
Apache HttpClient で Content-Body を String として得る
public String getContentBody(CloseableHttpResponse res) { ByteArrayOutputStream stream =
2014-11-28(Fri)
「Javaとベンチマーク」というタイトルでJJUG ナイト・セミナー 「ビール片手にLT&納涼会」で話してきたよ~
<iframe src="//www.slideshare.net/slideshow/embed_code/38248472" width="427" height="356" frameborde
2014-11-28(Fri)
なぜ Teng は良いものなのか
なぜ Teng は良いものなのか、を YAPC で再考させられたのでここにメモしておく。 Teng は自社開発のウェブアプリケーションを作ってる人たちが作っていて、それがうちのニーズにあってるのでい
2014-11-28(Fri)
pom.xml から classpath を生成するやつ(cache 機能つき)
pom.xml で指定した依存関係を読み込んだ状態で、いい感じに起動させたい、みたいなことがよくある。しかし、都度 maven から起動するのもめんどくさいし、`mvn exec:java` はさまる
2014-11-28(Fri)
Perl 初心者がウェブアプリケーションを書く時に気をつけるべきこと
$c->req->param('id') みたいなメソッドは使ってはいけない。これは歴史的経緯から残っているものなので、基本的に使わない方がいい。 $c->req->paramet
2014-11-28(Fri)
How do I write pretty print JSON filter with Jackson?
byte [] bytes = ...; ObjectMapper mapper = new ObjectMapper(); mapper.enable(Serializati
2014-11-28(Fri)
YAPC::Asia 2014 で Test::Kantan というライブラリについて発表してきました
<iframe src="//www.slideshare.net/slideshow/embed_code/38911119" width="427" height="356" frameborde
2014-11-28(Fri)
Java 8 Stream API で Immutable な List を作成する
data.stream().collect(Collectors.collectingAndThen(Collectors.toList(), Collections::unmodifiabl
2014-11-28(Fri)
Java なウェブアプリのテストをするための mech というライブラリを書いていた
@Test public void testGoogle() throws Exception { try (Mech mech = new Mech(" {
2014-11-28(Fri)
Java で lazy なアクセサを書きたい
それ lombok でできるよ。 import lombok.Getter; public class GetterLazyExample { @Getter
2014-11-28(Fri)
Eclipse が起動しなくなった
なんかしらんけど起動しなくなった。Eclipse が起動しなくては仕事にならないということで調べたところ、Windows 上での情報が多くて辛かった。結局、以下のコマンドでかいけつ。 rmt
2014-11-28(Fri)
[java]インターフェースにArrayを露出させた場合の話
Java の世界ではプリミティブな配列が存在している。 プリミティブな配列は速度が List などと比べると圧倒的に速いのでついつい使いたくなる。 しかし、Java 言語では immutable な
2014-11-28(Fri)
Content-Security-Policy と nonce の話
Content-Security-Policy の nonce を利用すると、XSS の脅威をかなり軽減できます。 そこで、Web Application Framework ではデフォルトで対応し
2014-11-28(Fri)
LL から Java に移行した人がはまりがちなこと
こんにちは。Java 初心者です。 Java 初心者、得に LL から Java に来た人にありがちな問題について社内向けに書いたものをオープンアンドシェアさせていただきます。 前提として、我々は
2014-11-28(Fri)
[ruby] readline がなくて後から入れたい時
readline ライブラリは ruby の標準ライブラリなはずだけど入ってない環境もあるので gem install rb-readline しておく必要がある。
2014-11-28(Fri)
[ruby] スクリプトの実行結果をログファイルに書く
Ruby で書いたスクリプトの実行結果をログファイルに残したい。しかし tee とかでトルのもめんどくさい。 そんな時は ruby の STDOUT/STDERR をロガーのパイプに置き換えてしまえば
2014-11-28(Fri)
[java] SecureRandom のアルゴリズムの選択について
# 前提 Java SE 8 + Linux 前提です。 # Java で暗号的に安全な乱数をえる Java で暗号的に安全な乱数を得るには SecureRandom クラスを利用します。 Se
2014-11-28(Fri)
avans 0.34.0 出した
avans の 0.34.0 を出した。 クエリパラメータが足りていない場合などに例外をあげていたのだが、例外的な状況じゃないので、エラーレスポンスを真面目に返すようにした。
2014-11-28(Fri)
[java] webscrew に basic auth header のパーサーつけた
表題の通りです。 avans で Authorization header をパースするのがダルいので、一応そのへんの機能をつけた。 (webscrew とは web application を作
2014-11-28(Fri)
Yosemite にしたら AppleScriptEngine.jar がどやこやで Eclipse でコンパイルできなくなった。
から Java for OS X 2014-001 を入れたら治った。よかった。
2014-11-28(Fri)
tinyorm 0.28.7 がでてます
`SELECT ~ FOR UPDATE` と `INSERT ~ ON DUPLICATE KEY UPDATE` の2つの機能が実装されてます。 <S>この2つは、mysql 特有のクエリですが、
2014-11-28(Fri)
Shipped router-simple 0.16
Added `directory_slash` option by @fayland++. It works like Apache's DirectorySlash option.
2014-11-28(Fri)
maven central にリリースしてみた
Maven central にあげようと以前奮闘してみたが、うまく行かずに諦めていた。 アカウントの登録まではいっていたのだが、なんかうまくいかなくて諦めていたのだ。 が、モリスさんのエントリを見な
2014-11-28(Fri)
javadoc.io が便利
Maven central へのアップロードを無事に果たしたのはよいが、javadoc を見るにはどう>したらいいのか、、と思って探してみると、あった。ありました。javadoc.io は mav
2014-11-28(Fri)
jenkins のときだけ一部テストを走らせたくない
なんか一部だけすげー重いテストだから jenkins では走らせたくないとか、異常なミドルウェアに依存しているから jenkins では走らせたくないとか そういう事情なときに、一部テストをスキップさ
2014-11-28(Fri)
[java] web.xml から tomcat-embed をランダムポートで起動し、起動したポートを得る方法、または Java webapp のテスト手法について
一般的に web application のテストをするには application server を別スレッドで起動してそこにアクセスする方法と、http request を mocking して
2014-11-28(Fri)
java における sticky session の話
<blockquote class="twitter-tweet" lang="en"><p>HTTPのセッションをRedisのようなバックエンドに持たせて毎回参照するような構成と、それに加えてローカ
2014-11-28(Fri)
avans 0.36.0 を出しました
正式リリースに向けて、非互換な変更を入れています。 変更点はこちらです。 詳細はこちらに記載されています。 非互換の変更点がこのへんになってて、フックポイントを annotation に移し
2014-11-28(Fri)
はじめての Spring Boot
<iframe src=" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" fram
2014-11-28(Fri)
Google guava と Java 8
Google guava は Java 7 で使っていると便利なのだが、Java 8 の世界では使わないほうがよいように思う。 * Java 7 の世界で独自で関数型プログラミングしようとした結
2014-11-28(Fri)
AngularJS 嫌いな人が多い昨今について
最近 AngularJS 嫌いという言説が多いですが、そういうことを仰る方々は主に先鋭的な JSer のように思います。 ただ、僕なんかの場合には、ユーザー向けの画面の構築などには AngularJ
2014-11-28(Fri)
[java]2つのリストをマージする
List<String> newList = Stream.concat(list1.stream(), list2.stream()).collect(Collectors.toLi
2014-11-28(Fri)
Java で JSON をテストケースに貼り付けた後でエスケープしてまわるのが辛いときに
ここにあるように、Preferences -> Java -> Editor -> Typing の "Escape text when pasting into a String litera
2014-11-28(Fri)
JJUG CCC 2014 Fall で「Java で1から10まで書いた話」を発表してきました
<iframe src="//www.slideshare.net/slideshow/embed_code/41927339" width="425" height="355" frameborde
2014-11-28(Fri)
Java 8 Date and Time API の実践的なチートシートできたよ~
Java8 を使いこなそうとすると、やはり Date and Time API も使いこなす必要がでてくる。 我々 Perl 畑出身の人間からすると、Perl の世界では DateTime/Time
2014-11-28(Fri)
Class::Data::Lazy has been released.
[Class::Data::Lazy 0.01]( has been released on CPAN. It's very useful when you are writing the Amon
2013-12-13(Fri)
ngResource はどうやって値を埋めているのか
ngResource は AngularJS で RESTful API を call する際につかえるクライアントライブラリだが、これがなかなかマジカルな動きをする。 具体的には、以下のようなコー
2013-12-13(Fri)
Shipped HTML::CallJS
HTML から JS にデータを安全にわたす方法として、JSONP みたいに関数をコールするようにしたらいいのではないか、という提案が kazuhooku blog にて行われているわけですが、実際に
2013-12-13(Fri)
Shipped Amon2 6.00
Shipped Amon2 6.00. This release contains the big change. Amon2 switched to default session managem
2013-12-13(Fri)
Perl5 において chomp() とはなにをするものか
えてして、プログラミングにおけるバグの発生源は、使い方をまちがえていることに起因するものも多い。 猫を電子レンジでかわかす人がいるように。 <hr /> そもそも chomp() という組み込み関
2013-12-13(Fri)
Example code for postfix dereference(It'll come with Perl 5.20)
#!/usr/bin/env perl use strict; use warnings; use utf8; use 5.019005; use au
2013-12-13(Fri)
Xslate と Mouse と Perl 5.20の話
Perl 5.20 で Mouse とか Xslate がおかしいな! ってことになったら、Mouse のバージョンが古くないかを確認しよう。 <hr> Mouse の 1.13 より前のバージョ
2013-12-13(Fri)
Shipped Text::Markdown::Hoedown 1.00
Text-Markdown-Hoedown 1.00 をだしました。 hoedown が 2.0.0 になって、インターフェイスがだいぶかわったので、それにあわせて Text::Markdown::
2013-12-13(Fri)
Use multiple XS files with Module::Build
When I'm porting Text-Xslate to Module::Build, I got an issue. Text::Xslate uses multiple XS files
2013-12-13(Fri)
lldb について
Mavericks でデバッグしようとして、おもむろに gdb をつかおうとしたら、gdb がみつからない。 どこいってもうたんや…… ということでググると、lldb っていう llvm プロジェクト
2013-12-13(Fri)
[perl] Newxz() でとったメモリは Safefree() しないと -Dusemymalloc=y な環境で死ぬ
最近では、-Dusemymalloc=y にして運用している人はほぼいないとおもうのだけれど、Perl5 には -Dusemymalloc という機能があって、Perl5 自体がもっている mallo
2013-12-13(Fri)
Reported Module::Metadata's issue.
Following test code fails with latest M::Metadata. use strict; use warnings; use Tes
2013-12-13(Fri)
Web Application の validation はどのレイヤーでかけるべきか
数年前にも同じことかいた気がするけど、最近の状況にあわせてかいてみる。 途中で面倒になってきて説明が雑になっている点をご容赦ください。 <hr /> 言いたいことは「<B style="font-
2013-12-13(Fri)
AngularJS を本気でつかうための tips
最近、管理画面で AngularJS をつかってみている。 そんな中で、いくつか工夫した点があるのでそれをシェアさせていただきます。 ## XHR のエラーを表示する XHR のエラーがおきた際の
2013-12-13(Fri)
Amon2 5.01 was released!!!
Amon2 5.01 was released on CPAN. Core features are: * Default jQuery version is now 2.0 * Defaul
2013-10-28(Mon)
pull-req の本文にながながと書くぐらいならコミットログにも同じことを書こう
pull-req の本文にながながと背景の説明をかいているのにコミットログには一行しかメッセージを書かない人というのが非常に多い。 これはよくない。 pull-req の本文は git のコミットロ
2013-10-28(Mon)
Test::Power 0.09 supports ArrayRef and HashRef
Hi, I released Test::Power 0.09 today. Test::Power is a library for testing. It taps the calucuratio
2013-10-28(Mon)
Amon2 5.05 was out.
Default routing engine was switched to Router::Boom. Router::Boom is faster than Router::Simple. We
2013-10-28(Mon)
ng-bind-html-unsafe は AngularJS 1.2.0 以後ではつかえない
のあたりにかかれている件。 のあたりに回答がのっている。 要は、AngularJS は Xslate や Text::Markdown のような型ベースの sanitize 方式になったようで
2013-10-28(Mon)
Prev
Next