tokuhirom's blog
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)
RxNetty のメトリクス取得について
2016-11-12(Sat)
RxJava2 と reactor どっちがいいのか問題
<blockquote class="twitter-tweet" data-lang="en"><p lang="ja" dir="ltr"><a href=" RxJ2はAndroidでも使うこと
2016-11-10(Thu)
PROXY protocl なサーバーに対して接続テストしたい
``` PROXY TCP4 255.255.255.255 255.255.255.255 65535 65535 GET /is/alive HTTP/1.0 ``` とか telnet で話
2016-10-31(Mon)
hotspot の NullPointerException 時の表示をわかりやすくできないかなあと思って調べたけど挫折した
# 解決したいこと `foo.bar(baz.boz());` みたいなケースで、NPE が発生した場合に、foo が null で例外発生したのか baz が null で例外発生したのかわからん
2016-10-09(Sun)
openjdk をコンパイルして gdb で実行すると sigsegv しちゃうんだけど、って時の対処方法
Java で開発していると openjdk を自分でコンパイルして gdb でステップ実行して内部動作をトレースしたいなーという時があると思います。 そんな時には以下のように、openjdk の c
2016-10-08(Sat)
activemq を動かしてみる
``` brew install apache-activemq activemq start ``` で起動完了。 以下のようにして実行開始。 ``` for i in {1..1000}; c
2016-10-05(Wed)
orelang を Java で実装してみた
わりとよくある JSON ベースの lisp っぽいインタープリタの実装ですが、コードを見ていてもよくわからなかったので自分で実装しなおしてみました。 ```java package com.e
2016-09-30(Fri)
@RequestMapping の produces を指定するとどうなるか
`@RequestMapping` に `produces = MediaType.APPLICATION_JSON_UTF8_VALUE` を指定したときの効果について。指定すべきかどうなのか
2016-09-27(Tue)
[java] SnakeYaml の機能を利用して Java でも YAML の custom tag を利用する
YAML には tag という型を規定する機能がある。 ! が文書固有の型で !! がグローバルな型。 see h2o の 2.1 では以下のような設定ファイルが書けるようになるそうです。 `!f
2016-09-26(Mon)
WebMvcAutoConfiguration で設定されるべき項目が設定されねーぞ!! ってときは @EnableWebMvc ついてないか確認しよう
[WebMvcAutoConfiguration]( が `/webjars/**` に対するパス設定などをしてくれているはずなのに、なぜか有効にならない。。という場合、`@EnableWebMvc`
2016-09-22(Thu)
kotlin で slf4j 使いたい
``` companion object { val log = org.slf4j.LoggerFactory.getLogger(this::class.java.encl
2016-09-20(Tue)
JDK9 で入るという新しい HttpClient を試してみた
jdk9 で HTTP/2 に対応した新しい HttpClient が提供される。これは待望の新機能である。 Java には標準で java.net.httpurlconnection という ht
2016-09-10(Sat)
mockito の when で、ちまちまと実際に渡す値を設定すべきではない
メソッドがちゃんと呼ばれたかどうかのチェックには `verify` を利用すべきです。 when の引数は基本的には any を指定し、複数の引数パターンで挙動を変えたい時のみ、any 以外を指定すべ
2016-09-06(Tue)
mockito でスタブし忘れて NullPointerException 発生するのが辛い時の解決策
mockito では mocking していない場合、`org.mockito.internal.stubbing.defaultanswers.ReturnsEmptyValues` が返ります。
2016-09-05(Mon)
armeria で grpc するサンプルコードをかいた
line が出している rpc フレームワークであるところの armeria が最新版で grpc をサポートしたとのことで、実際どんなもんか試してみた。 試すのは簡単。build.gradle
2016-08-30(Tue)
コンテナ型の内部にラッパー型が入っている時にmockitoのverifyメソッドのエラー表示がわかりにくいのをなおした
たとえば以下のケース。Map の中に long が入っていることを検証しているのですが、実際にはいっているのは Integer。 ``` @Test public void foo() {
2016-08-24(Wed)
spring boot で logging の設定のやり方まとめ
spring boot にはデフォルトでロギング機構が付いている。spring-boot-starter-web の依存に spring-boot-starter-logging 入ってるので、web
2016-08-19(Fri)
Prev
Next