算譜王におれはなる!!!!

偏りはあると思うけど情報技術全般についてマイペースに書くよ。

KotlinでWebSocketクライアントを作ってモナーコインの取引を見守る

国内発 仮想通貨のモナーコインが熱いです。 その価格は、年初から600倍以上にもなったとか! 私は乗り遅れまいと先月末あたりに買ってみました。 値動きが激しく持っているだけで面白いです。 なにより、日本の仮想通貨という誇りとモナーのかわいさが最高ですね。

で、値動きが激しいのでチャートが気になってしかたないわけです。 しかし(あることはあるんですが)よさげなチャートがないのが残念です。 そこで、自分で作ってしまおう!というのが今回のモチベーションです。 第一歩として取引情報を取得するところです。

続きを読む

2017年のKotlinまとめ #ktac2017

f:id:ngsw_taro:20121129063626j:plain

今年も残すところ1ヶ月となりました。 街には色とりどりのイルミネーションが輝いています。 ピンクオンリーの電飾を最近見かけますが、なんだか桜を連想させて季節感がないなぁと思ってしまいます。 私は王道の黄色?の電飾が好きで、表参道に見に行きたいです。 クリスマスが楽しみですね!

ということで恒例のKotlinアドベントカレンダーが本日スタートしました! 初日はtak-ondaさんの「Kotlin サーバーサイド開発に採用した軽量 Web フレームワーク Jooby の紹介と採用理由」です。

…実は、今年はアドベントカレンダーを作成したのはいいものの、参加のタイミングを伺っている間に全枠が埋まってしまいました。 嬉しいですねぇ。 そのため、この記事はアドベントカレンダーに紐付いたものではありませんが、今年のKotlinについて簡単に振り返ってみたいと思います。

続きを読む

KotlinConf 2017に参加してきたよ〜!!

f:id:ngsw_taro:20171103005138j:plain

JetBrainsによるKotlinのカンファレンス「KotlinConf 2017」に参加してきました! 11月2日と3日の2日間開催で、場所はサンフランシスコです。 このような大規模なKotilnカンファレンスは初めての開催となります。 1,200枚のチケットは完売とのことです。

本エントリは、KotlinConf参加を含む雑な旅行記です。 技術的な話はCA.kt #4 (Kotlin Conf報告会)で発表します。 私は「Spring and Kotlin」というタイトルで発表する予定です。

続きを読む

Springで_methodがputやpatchのときにリソースオブジェクトに値がマッピングされない問題(解決済み)

対象はSpring framework 4.3.10, Spring Boot 1.5.5, 1.5.6。

こういう単純なREST APIがあります。

@SpringBootApplication
@RestController
public class DemoApplication {
    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }

    @PatchMapping("")
    public String patch(TestResource testResource) {
        return "PATCH: " + testResource.getValue();
    }
}

class TestResource {
    private String value;

    public String getValue() {
        return value;
    }

    public void setValue(final String value) {
        this.value = value;
    }
}

ちゃんとPATCHメソッドでリクエストを投げれば問題ないのですが

$ curl -X PATCH http://localhost:8080 -d 'value=HELLO'
PATCH: HELLO

POSTメソッド + _method=patch指定で投げるとTestResourceクラスのvaluenullになってしまいます。

$ curl -X POST http://localhost:8080 -d '_method=patch' -d 'value=HELLO'
PATCH: null

これはどうやらSpring自体のバグっぽくて(https://jira.spring.io/browse/SPR-15828)、Spring 4.3.11で修正されているので、Spring 4.3.10の使用を避けます。 スナップショットですがSpring Boot 1.5.7を使うか、Springのバージョンを4.3.11.BUILD-SNAPSHOTと直接指定してやればOKです。