tokuhirom's blog
Search
DBD::mysql の async について
並列にバンバン処理するかっこいい機能がついたわけではなく、だいぶアドホックな実装になっている。 mysql client として考えた場合に処理が遅いのは、DB サーバーの I/O や集計処理で、デ
2014-11-28(Fri)
Java8 Stream API では collector とかを複数回呼ぶと実行時エラーになる
以下のようなコードは、実行時エラーになる。 Stream<String> ss = Arrays.asList("hoge", "fuga").stream(); System.ou
2014-11-28(Fri)
cpan-repository command.
I wrote cpan-repository command. It shows CPAN repository URL from module name. ## SYNOPSIS
2014-11-28(Fri)
Parallel::Prefork で子プロセスが死なない場合の対応方法
殺しても死なない子は念入りに殺す必要があるし、死なないなら死なないで死んでないことを記録に残しておく必要がある。 infof("[%d] Worker exiting...", $$);
2014-11-28(Fri)
Perl6 でディレクトリの中身を列挙する
for dir("/tmp/") { .Str.say } でよい。 .Str が必要なのは、わたってくるのが IO::Path のインスタンスだからです。
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)
JSON-RPC 2.0 の over HTTP についての雑感
「うちは JSON-RPC やらんのかね」みたいなことを聞かれたので、前に考えた内容をここに晒す。 ## method 名について メソッド名が content-body にしか入らないので、ログ
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)
Content-Security-Policy と nonce の話
Content-Security-Policy の nonce を利用すると、XSS の脅威をかなり軽減できます。 そこで、Web Application Framework ではデフォルトで対応し
2014-11-28(Fri)
[java] webscrew に basic auth header のパーサーつけた
表題の通りです。 avans で Authorization header をパースするのがダルいので、一応そのへんの機能をつけた。 (webscrew とは web application を作
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とベンチマーク」というタイトルでJJUG ナイト・セミナー 「ビール片手にLT&納涼会」で話してきたよ~
<iframe src="//www.slideshare.net/slideshow/embed_code/38248472" width="427" height="356" frameborde
2014-11-28(Fri)
[java]インターフェースにArrayを露出させた場合の話
Java の世界ではプリミティブな配列が存在している。 プリミティブな配列は速度が List などと比べると圧倒的に速いのでついつい使いたくなる。 しかし、Java 言語では immutable な
2014-11-28(Fri)
groovy の grapes がうまくいかないときのデバッグ方法
groovy -Divy.message.logger.level=4 -Dgroovy.grape.report.downloads=true examples/synopsis.groov
2014-11-28(Fri)
Regexp::Trie を java に移植した
Regexp::Assemble っぽいことをするには graph-expression に入ってるやつを使えばいい、という話は[昨日書いた]( のですが、生成コードがあまり綺麗ではないし、まあ今
2014-11-28(Fri)
Dropwizard+Hibernate で発行したSQLをログに出力する
DBIx::QueryLog のように、発行したSQLを直接みたいな、と思ったりしたわけですが、それは以下のように行えばよいようだ。 database.properties に hibernate.
2014-11-28(Fri)
JPA2 の @GeneratedValue について
JPA2 ではすべての entity に id がふられている。その id の採番方式は選択することができる。 @GeneratedValue(strategy=GeneratedValue
2014-11-28(Fri)
xlsx ファイルを git diff しやすくする為の天才的な wrapper script を go に移植した
とりあえずこれ、Perl とか使うだけで発狂するわけでもないけど、golang に移植した。mattn さんとか他の人もやってそう。 以下、感想。 * golang で可変配列使うの、co
2014-11-28(Fri)
Caliper1.0-beta1 が guava 17.0 と conflict してる気がする
Benchmark.pm みたいなやつの Java 用のやつないかな、と思って探したところ、google の人が出してる caliper ってのが良さそうだった。 しかし、Caliper が古い g
2014-11-28(Fri)
DBD::mysql の quote_identifier の挙動
mysql.xs のこのへんを参照のこと。 case SQL_IDENTIFIER_QUOTE_CHAR: /*XXX What about a DB sta
2014-11-28(Fri)
daemontools とかでログ見てる時に途中で tail -f の結果が流れなくなる時の対処方法
`tail -F` 使う。
2014-11-28(Fri)
Re: 「切り捨て」に int() は使うべからず
遅レスだけど、精度がいらなくて floor() になろうが ceil() になろうがどっちでもいいなって時には int() を別につかっても構わない。 floor() ceil() のどちらかに
2014-11-28(Fri)
[perl] コントローラがどのテンプレを表示したかをテストする
Module::Spy をつかう。 my $render = spy_on('Text::Xslate', 'render'); # コントローラをよぶ ...;
2014-11-28(Fri)
Shipped Localizer 0.01
Abstract: I released yet another localizetion library for us(me and co-workers). Localizer というモジュ
2014-11-28(Fri)
AngularJS で Controller の継承をしたい
したいなっておもって、Google で検索したところ、stackoverflow で [Can an AngularJS controller inherit from another contoll
2014-11-28(Fri)
はじめての Spring Boot
<iframe src=" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" fram
2014-11-28(Fri)
LL から Java に移行した人がはまりがちなこと
こんにちは。Java 初心者です。 Java 初心者、得に LL から Java に来た人にありがちな問題について社内向けに書いたものをオープンアンドシェアさせていただきます。 前提として、我々は
2014-11-28(Fri)
Google guava と Java 8
Google guava は Java 7 で使っていると便利なのだが、Java 8 の世界では使わないほうがよいように思う。 * Java 7 の世界で独自で関数型プログラミングしようとした結
2014-11-28(Fri)
Shipped scan-prereqs-cpanfile 1.00
scan-prereqs-cpanfile is using Perl::PrereqScanner::Lite instead of Perl::PrereqScanner now. This ch
2014-11-28(Fri)
Groovy を Android で使った場合の得失について
Groovy が Android をサポートしたということのメリットについて考えて見る。 Android アプリの開発においても、できるだけコンパイル時にエラーを検出したいので、@CompileSt
2014-11-28(Fri)
rakudo + MoarVM を試す
2014-11-28(Fri)
Added experimental cookie_jar support in Furl
Hi, I added experimental cookie_jar support in Furl. You can use cookie_jar like following code:
2014-11-28(Fri)
Java 8 Date and Time API の実践的なチートシートできたよ~
Java8 を使いこなそうとすると、やはり Date and Time API も使いこなす必要がでてくる。 我々 Perl 畑出身の人間からすると、Perl の世界では DateTime/Time
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)
avans 0.36.0 を出しました
正式リリースに向けて、非互換な変更を入れています。 変更点はこちらです。 詳細はこちらに記載されています。 非互換の変更点がこのへんになってて、フックポイントを annotation に移し
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)
なぜ Teng は良いものなのか
なぜ Teng は良いものなのか、を YAPC で再考させられたのでここにメモしておく。 Teng は自社開発のウェブアプリケーションを作ってる人たちが作っていて、それがうちのニーズにあってるのでい
2014-11-28(Fri)
Java 8 で例外を投げていることをテストしたい
特定の条件で例外を投げるコードを書いたときに、それをテストしたい。なんてときがある。 このクラスの例外があがってるってことだけ判断できればいいんだけどな、ぐらいのゆるい条件のとき。 そんな時は以下の
2014-11-28(Fri)
golang で JSONPath 的にデータ取り出したいときは @mattn_jp の go-scan が便利
golang で net/http とってきて JSON を parse して所定のキーを取り出すプログラムを書きたかった。 こういう場合、JSONPath とか使って書きたいのだが、JSONPath
2014-11-28(Fri)
golang で lint したいのですが?
golint を使おう。 golint かけると、それなりにコミュニティの空気を読んだ感じのコードがかけるらしい。 つかわない理由がないので、使った方がいい。
2014-11-28(Fri)
Java で HTML Escape とかのベンチマーク
なんとなくとってみた。結局 Caliper でとった。guava が意外と速いんだなあ。 ``` package me.geso.javaMicroBenchmarks; import java.
2014-11-28(Fri)
Date::Simple が local $ENV{TZ} をさしかえててタイムゾーンがかわっちゃう件
`Date::Simple#format` が内部で local $ENV{TZ}='UTC+0'; POSIX::strftime(...); のようにしており、`Date::S
2014-11-28(Fri)
Shipped Text::Markdown::Hoedown 1.00
Text-Markdown-Hoedown 1.00 をだしました。 hoedown が 2.0.0 になって、インターフェイスがだいぶかわったので、それにあわせて Text::Markdown::
2013-12-13(Fri)
Shipped HTML::CallJS
HTML から JS にデータを安全にわたす方法として、JSONP みたいに関数をコールするようにしたらいいのではないか、という提案が kazuhooku blog にて行われているわけですが、実際に
2013-12-13(Fri)
Xslate と Mouse と Perl 5.20の話
Perl 5.20 で Mouse とか Xslate がおかしいな! ってことになったら、Mouse のバージョンが古くないかを確認しよう。 <hr> Mouse の 1.13 より前のバージョ
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)
AngularJS を本気でつかうための tips
最近、管理画面で AngularJS をつかってみている。 そんな中で、いくつか工夫した点があるのでそれをシェアさせていただきます。 ## XHR のエラーを表示する XHR のエラーがおきた際の
2013-12-13(Fri)
Web Application の validation はどのレイヤーでかけるべきか
数年前にも同じことかいた気がするけど、最近の状況にあわせてかいてみる。 途中で面倒になってきて説明が雑になっている点をご容赦ください。 <hr /> 言いたいことは「<B style="font-
2013-12-13(Fri)
ngResource はどうやって値を埋めているのか
ngResource は AngularJS で RESTful API を call する際につかえるクライアントライブラリだが、これがなかなかマジカルな動きをする。 具体的には、以下のようなコー
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)
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)
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)
Perl5 において chomp() とはなにをするものか
えてして、プログラミングにおけるバグの発生源は、使い方をまちがえていることに起因するものも多い。 猫を電子レンジでかわかす人がいるように。 <hr /> そもそも chomp() という組み込み関
2013-12-13(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)
Reported Module::Metadata's issue.
Following test code fails with latest M::Metadata. use strict; use warnings; use Tes
2013-12-13(Fri)
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)
Prev
Next