tokuhirom's blog
あるプロジェクトを Gradle kotlin DSL に移行した
お仕事プロジェクトの一つを gradle kotlin dsl に移行させてみた。 理由としては以下。 - gradle kotlin dsl を利用すると、人によるブレが少ない - paren
2018-11-14(Wed)
Java9 だとspotbugs で OBL_UNSATISFIED_OBLIGATION 警告がでるとき
try-with-resources してるのに leak しているという警告が出るので謎ダナーと思ったら spotbugs のバグみたい。
2018-11-12(Mon)
spring boot 2.1+(spring framework 5.1+) applies `samesite=Lax` attribute to session cookie by default
After boot 2.1, DefaultCookieSerializer applies samesite=lax attribute by default. As a result, th
2018-11-09(Fri)
lombok 1.16.22+ と gradle 4.9+ の食い合わせが悪いイシュー
2018-11-08(Thu)
spring boot 2 で micrometer 使ってるときに、latency の percentile 値を prometheus に送る方法
``` management: metrics: distribution: percentiles: http.server.requests:
2018-11-01(Thu)
gRPC-WEB がもたらす我々の生活への変化
gRPC-WEB が GA となった。これが我々の生活にどのような変化をもたらすのかについて考える。 # 従来の gRPC の課題 gRPC は google が公開している RPC 方式であり、
2018-10-31(Wed)
sbt の %% と % の違い
`groupID %% artifactID % revision` と `groupID % artifactID % revision` の違い。 > If you use groupID %%
2018-08-14(Tue)
spring 5.1 で webflux に samesite 対応が入る
spring 5.1 から cookie の SameSite のさぽーとが入るっぽい つまり、boot 2.1 以後は spring 5.1 なので、webflux 使ってれば samesit
2018-07-31(Tue)
Spring IO platform が deprecated だった。。 今後は spring-boot-dependencies を使おう!
久々に みたら、"End of Life" の文字が。。 > The Platform will reach the end of its supported life on 9 April 2
2018-07-30(Mon)
ant の exec task で status code が non-zero のときにビルド失敗させるには failonerror="true"
`<exec executable="python" failonerror="true">` とかすれば良い
2018-07-27(Fri)
Re: Java 7 時代の String#split() 事情
Java 7 以後では `String#split(String)` で、引数が1文字の場合は最適化が効いて、高速になるという話。 社内でなんか話題になってたので最近の JVM だとどうなのかな
2018-07-15(Sun)
spring boot + jib を試す
jib を使うと java app を極めて簡単に docker image にすることができるというので試してみた。 tutorial 通りにやったらすんなり動いた。あっけない。 よくできて
2018-07-10(Tue)
MySQL の X Protocol/X DevAPI 周りについて調査したのをまとめたののメモ
2018-07-08(Sun)
Shibuya.pm で plenv/perl-build について LT した
perl 5.28.0 をインストールする際には perl-build のバージョンアップが必要ですよ、というアナウンス。
2018-07-08(Sun)
Nginx caches DNS records forever in proxy_redirect directive
>>> If a domain name resolves to several addresses, all of them will be used in a round-robin fashio
2018-06-27(Wed)
OpenJDK についての思い
1. Oracle put all JDK source codes on the OpenJDK repository. 2. Oracle won't provide free JDK distr
2018-06-27(Wed)
centos7 で time zone を変更する
``` timedatectl set-timezone America/Chicago ``` これでOK
2018-06-26(Tue)
github pages で underscore を含むディレクトリが表示されないとき
具体的には amon.64p.org を github pages に移したのだが、その際にハマった。 sphinx はデフォルトで _static/ 以下に静的ファイルを生成するからだ。 に解決
2018-06-26(Tue)
OWASP dependency-check を利用して脆弱性のある Java ライブラリに依存していないか確認する
依存しているライブラリに脆弱性がある場合、それを検出できると嬉しい。 OWASP dependency-check の gradle プラグインを入れると、簡単に検出が可能となる。 設定は以下のよ
2018-06-08(Fri)
このブログについて
まあなんか、そんなにブログに書くこともないというか、うーん。 このブログ、Ruby で書かれているんですが、Ruby で書かれていると、変更しづらくて。。 いずれ Ruby 以外の言語で書き直したい
2018-05-30(Wed)
GraalVM の native-image で HelloWorld してみる
# 目的 によると、graalvm を利用すると Java Application の起動が圧倒的に高速になるようだ。実際にどの程度高速化されるのかを Hello World Application
2018-05-23(Wed)
commons-math3 の二次元行列用の型についてのメモ
## BlockRealMatrix キャッシュフレンドリーで速いらしい。 ## Array2DRowRealMatrix `double[][]` で表現されるひじょうに素直な実装 ## D
2018-05-14(Mon)
commons-math3 の BetaDistribution を利用する場合は rng をキャッシュする
commons-math3 の BetaDistribution を利用する場合、alpha/beta が変わるたびに `new BetaDistribution( alpha, beta)` とかし
2018-04-10(Tue)
nuxtjs で bootstrap 使いたい
nuxt.js で twitter bootstrap を有効にする方法 を参考にやれば良い。 ``` npm i bootstrap-vue --save ``` して、nuxt.confi
2018-03-27(Tue)
Host の canonical name を取得するワンライナー
``` python -c "import socket; import sys; print(socket.getaddrinfo(sys.argv[1], 0, socket.AF_INET, 0
2018-03-06(Tue)
spring boot2 で redis 使った session を使う方法
ここを参考にすると良いです
2018-03-05(Mon)
lombok 1.16.20 以後で @lombok.Value された値を Jackson で deserialize しようとするとエラーになる
@lombok.Value された bean に対して ObjectMapper で deserialize した場合、以下のようなエラーがある。 ``` com.fasterxml.jackson
2018-03-01(Thu)
spring boot 2 で prometheus を actuator で export させるやり方
``` implementation("org.springframework.boot:spring-boot-starter-actuator") implementation("
2018-02-25(Sun)
Ruby の deserializer の速度比較
ruby 2.4.2p198 (2017-09-14 revision 59899) [x86_64-darwin16] ``` require 'msgpack' require 'benchma
2018-01-31(Wed)
Capturing grafana dashboard and post it to LINE group using LINE Notify
I want to post a screenshot of the Grafana dashboard to LINE Notify. Grafana distribution includes
2018-01-05(Fri)
rust のベンチマーク取る時は `cargo build --release` しなくてはならない
``` [package] name = "hello_world" version = "0.1.0" authors = ["Your Name <you@example.com>"] [dep
2017-12-23(Sat)
-Dsun.net.inetaddr.ttl=1 するよりも networkaddress.cache.ttl 使おう
jvm はデフォルトで DNS cache が 30sec かかっている。これはやや長過ぎると web service では判断されるケースが多い。 そこで、通常ではこれを短く設定して本番環境のデプロ
2017-12-01(Fri)
tableau server の "Query View Image" API のデフォルトキャッシュ期間は長い
``` If you make multiple requests for an image, subsequent calls return a cached version of the im
2017-11-30(Thu)
homebrew との付き合い方を見直す 2017
* 最近の homebrew では、OS に含まれるコマンドも利用可能なので積極的に利用していく * なんとかenv 系の管理コマンドは、LL で本格的に開發している場合には便利だが、最近はバージ
2017-11-23(Thu)
spring boot 2 にしたら `springBoot { executable = true }` が通らない
``` bootJar { launchScript() } ``` にしましょう。
2017-11-21(Tue)
spring boot 2 にしたら InvalidConfigurationPropertyNameException が発生するとき
spring boot 2 だと `@ConfigurationProperties("fooBar")` みたいなのを指定することができなくなる。 `@ConfigurationProperties
2017-11-21(Tue)
spring boot2 にしたら `bootRun { systemProperty 'spring.profiles.active', 'local' } }` が動かないよって場合
spring-boot 2 では以下の書き方は許容されなくなった。 ``` bootRun { systemProperty 'spring.profiles.active', 'local'
2017-11-21(Tue)
/dev/urandom を fork して読み込んでもいいんかって話
``` tokuhirom /dev/urandom って開いたまま fork して読み込んだらまずいんですっけ? 親 process で /dev/urandom 開いたまま、fork してそれぞれ
2017-11-13(Mon)
spring-boot-actuator 使いたいけど spring-webmvc はいらないよってケース
management.port のほうは開きたいけど server.port のほうは開きたくないってときは ``` server.port: -1 ``` とかやっときゃいいとのこと。
2017-11-08(Wed)
Perl Web application に於ける Data::UUID の利用について
# 本文書について 本文書では Perl における Data::UUID での UUID 生成について議論する。 特に、Linux 環境に於ける `Data::UUID->new->create_s
2017-11-08(Wed)
spring-boot で tomcat の設定するときのやり方
``` server: use-forwarded-headers: true tomcat: accesslog: directory: /PATH/TO/logs/to
2017-11-02(Thu)
spring-boot で ConfigurationProperties に ZonedDateTime を書く場合のやり方
application.yml に日付データを入れて ZonedDateTime にマッピングしたい、みたいな場合。 ↑こちらのブログに掲載されているように以下のようなクラスをおけばよい。 ``
2017-11-01(Wed)
apscheduler で add_job するときは misfire_grace_time の指定が必須
python で job の定期実行を実装するには apscheduler が便利だが、misfire_grace_time の指定をしないと job が実行されないことがあるので注意が必要。 指定し
2017-10-28(Sat)
spring.profiles.include は array で指定可能
spring.profiles.include は従来、string型でしか指定できなかったので以下のようなクソみたいな設定をするしかなかった。 ``` --- spring.profiles:
2017-10-24(Tue)
僕が情報収集に使っているブログ
僕が最近主に見ているブログについて以下に述べさせていただきます。 以下にあげたやつ以外に1000ぐらい購読してるけどそのへんのはあんま実用的というよりは趣味に近い感じです。 # idea blog
2017-10-19(Thu)
Spring cloud config client が Could not locate PropertySource: 400 Bad Request になるときの対処方法
spring cloud config を試しているときにハマったののメモ。 spring cloud config のチュートリアルは server を 8888 番ポートで listen させろ
2017-10-11(Wed)
DBIx::Sunny と DBIx::Class の組み合わせでコメント自動挿入機能が微妙なことになっていたのを直した
DBIx::Sunny は自動的にクエリ呼び出し元の位置をコメントに入れる機能がある。 しかし、DBIx::Class は Try::Tiny, Context::Preserve の内側でクエ
2017-09-29(Fri)
[python] IDEA で `if __name__=='__main__':` って簡単に入力したい
`main` って入力して補完すれば、java でいう psvm みたいなことができるとのこと。 <blockquote class="twitter-tweet" data-lang="en">
2017-08-23(Wed)
kotlin で -parameters 相当のことをしたい
ここにかいてあるとおりにやれば良い。 デフォルトでやってくれ!頼む!! という気分になる
2017-07-05(Wed)
[kotlin] ktor で config を読みたい
前提として、ktor のサンプルコードは、 ``` embeddedServer(Jetty, 8080, module = Application::module)
2017-05-30(Tue)
[kotlin] ktor で basic auth したい
ktor-auth コンポーネントで簡単に設定できます。 ``` compile "org.jetbrains.ktor:ktor-auth:$ktor_version" ``` で、あと
2017-05-26(Fri)
kotlin で instance_eval 的なことをしたい
kotlin では ruby 的な block つきメソッド呼び出しができるので、以下のようにすると instance_eval 的な、rubyish な DSL もめっちゃ簡単に実現できる〜〜 `
2017-05-24(Wed)
osx の notification を kotlin で呼びたい
osascript で呼ぶのがいいかな。apple script の escape 方法はよくわからないので JavaScript で書くことにして、 JSON で serialize して渡すのが良
2017-05-22(Mon)
kotlin native で外部のライブラリとリンクする
kotlin native は外部のライブラリとリンクするのも簡単にできます。 以下、例として openssl にアクセスしてみます。 openssl.def として以下のように記載します。 `
2017-05-19(Fri)
kotlin で native code を生成 kotlin native を楽しみたい
android で kotlin が話題なので、kotlin native を試してみました。 kotlin native を利用すると、kotlin のコードをネイティブコードにコンパイルできます。
2017-05-18(Thu)
Furl の timeout と SSL
Furl は、XS モジュールへの依存を排除するために IO::Socket::SSL のロードを実行時に行っております。 結果として SSL を利用したアクセスのうち、初回のアクセス時は若干の遅延が
2017-05-17(Wed)
parallelStream の利用スレッド数
defaultではCPUコア数と同じとのこと
2017-05-16(Tue)
Java でちょっとしたパーサーを実装するときは ANTLR4 が便利
Java でちょっとしたDSLパーサーを実装するときはANTLR4 が最近もデファクトスタンダードなのかなあ。と思っています。 ANTLR4 はパーサージェネレーターです。BNF っぽい記法で書いた
2017-05-15(Mon)
Sierra で key のスワップしながら cmd 単体だと英数にしたりする方法
現時点では karabiner が sierra だと使えない。 karabiner elements 使えば、キーのスワップはできるが、cmd 単体押した場合に英数にする、みたいなことは karab
2017-04-26(Wed)
pidstat で見れるような数字を perl で取ってみる
pid ファイルを読んで procfs からバーンと取って集計とるようなやつを書いてみた。 1secごとに60回データを取って、平均を取るみたいなのを子プロセス含めてバーンとヤる感じをやってみた。 書
2017-03-12(Sun)
Prev
Next