tokuhirom's blog
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)
/proc/$$/smaps の読み方のメモ
``` #include <assert.h> #include <signal.h> #include <stdio.h> #include <stdlib.h> #include <sys/t
2017-03-12(Sun)
golang プロセスのモニタリングってみんなどうしてるんですかね、という話
``` [9:43 AM] tokuhirom plack のアプリだと Plack::Middleware::ServerStatus::Lite とかで監視したりしますけど、go だとそうい
2017-02-22(Wed)
memcached の conn_yields について
memcached の conn\_yields が上がっていた場合、conn\_yield がでなくなるまで起動時オプションの -R を上げろって主張している人がいます。 * * 実際問題、
2017-02-03(Fri)
cursor.executemany(operation, seq_of_params) の挙動
python の `cursor.executemany(operation, seq_of_params)` について、 ``` data = [ ('Jane', date(2005, 2,
2017-01-30(Mon)
vagrant を centos linux で動かしたい
↑のエントリどおりに動かしたら動いた。
2017-01-24(Tue)
MySQLでタイムゾーンがどう設定されているか確認したい
``` mysql> select @@system_time_zone, @@session.time_zone; +--------------------+-------------------
2017-01-07(Sat)
/dev/random のエントロピーが足りないときは Haveged を使う
/dev/random を利用した乱数生成器を利用する場合、VPS などの場合にはエントロピーが足りなくて stuck する場合があります。 たとえば以下のような感じ。 ``` "localhos
2017-01-06(Fri)
Keynote の数式エディタは何が良いのか問題
* latexit 最高派 * word 最高派 * powerpoint でよくない? 派 * mathjax をスクショで取ればよくない? 派 * 色々派閥があるようだ。。 とりあえず la
2016-12-12(Mon)
DBD::mysql のメンテナンス体制が変わっていた
レポジトリが ここに変わっていた。 この issue は buffer overflow なので、ちょっとまあアレなんだけど2年前から放置されてて困ったなーと思っていたが、なんか新体制で別のレポ
2016-12-12(Mon)
YAPC Hokkaido で「Perl6 と Web 開発と」というタイトルで発表しました #yapcjapan
<iframe src=" frameborder="0" width="960" height="749" allowfullscreen="true" mozallowfullscreen="tr
2016-12-10(Sat)
RxJava で無理やり MDC を使うライフハック
```java import java.util.Map; import org.slf4j.MDC; import rx.functions.Action0; import rx.functio
2016-11-25(Fri)
Jet Brains Night 行ってきた
Yahoo! Japan さんのオフィスで Jet Brains Night というミートアップイベントがあったので行ってきた。 大きめのセミナールームを2個ぶち抜いた感じで、スクリーンが前面4面と
2016-11-24(Thu)
Vert.x で access log を出したい
``` router.route().handler(LoggerHandler.create(LoggerFormat.DEFAULT)); ``` でいいのだが、ドキュメントを見ていてもわかりづ
2016-11-15(Tue)
netty で http server
RxNetty 触ってると、素の Netty だとどうなんだっけ? というところも把握しておかないと厳しい面もありますので、一応ひさびさに netty で素の http server を書いてみる。
2016-11-13(Sun)
RxNetty 使ってるときに access log を取得する方法
RxNetty を利用しているときに、access log を取得しておくと便利です。 RxNetty 自体には access log を取得するフックがないので以下のようなフィルタを用意してみまし
2016-11-13(Sun)
Prev
Next