NAKAMURA Minoru の日記 (2019年5月)

先月の日記(2019年04月) 今月の日記(2019年05月)
2002 | 10 | 11 | 12
2003 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2004 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2005 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2006 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2007 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2008 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2009 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2010 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2011 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2012 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2013 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2014 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2015 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2016 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2017 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2018 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2019 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2020 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2021 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2022 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2023 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2024 | 1 | 2 | 3 | 4
ホームページ | 最新のコメント50
インデックス: 食べ歩き | Java | プログラム | UNIX | 画像
最新の日記へのリンク | この日記ページをはてなアンテナに追加 この日記ページをはてなブックマークに追加
はてな ダイアリー アンテナ ブックマーク ブログ
Twitter | mixi | Facebook | slideshare | github | Qiita



5/31 (金)

[Movie] ゴジラ キング・オブ・モンスターズ

109 シネマズ川崎で『ゴジラ キング・オブ・モンスターズ』(原題: Godzilla: King of the Monsters)の2D字幕版を観る。

  • 今回は怪獣対策が進んだのか住民の避難が徹底していて、人的被害は小さい。人類も学習するようだ。
  • 『キングコング: 髑髏島の巨神』で出てきたモナークという組織がクローズアップされる。次回作はいよいよコング v.s. ゴジラか。
  • チャン・ツィイーが双子の博士を演じていることはもう少しはっきりさせておいて欲しいよ。
  • 渡辺 謙はいい役貰った。

5/29 (水)

Apache Atlas 2.0

Apache Atlas の 2.0 が登場した。 あまり大きな変化はないようだ。


5/24 (金)

[Movie] プロメア

TOHO シネマズ川崎で『プロメア』を観る。


5/12 (日)

CLOC Count Lines of Code

これまでソースコードのいわゆるステップ数(Source Lines of Code; SLOC)を計測するのに SLOCCount を使っていたが、JavaScript や Go 言語のソースコードの数えられない。 調べると cloc (公式github) というのがあるらしい。 こちらに乗り換える。


5/10 (金)

[Linux] Red Hat Enterprise Linux 8

Red Hat Enterprise Linux の 8 が登場。 RHEL 7 はソフトウェアスタックが古くなっていたが、これでアップデートされる。 RHEL 6 → 7 は systemd 化や NetworkManager 化などいろいろあって差が顕著だったが、7 → 8 はあまり目新しい感じがしない。


5/6 (月)

[Java] JAX-RS(Jersey) で XML 形式でレスポンスを返す場合に Content-Type が text/xml にできない

JAX-RS は JAXB を使って、HTTP のリクエストボディに含まれる XML 形式や JSON 形式のデータを自動的に Java の POJO クラスにバインディングする機能が存在する。 逆に POJO クラスを XML や JSON に変換して出力することもできる。

例えば User という Java クラスがあったとする。

public class User {
    public String name;
    public int age;
}

JAX-RS は User を使うと以下のように書ける。

import javax.ws.rs.Consumes;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;

@POST
@Consumes({"application/json", "application/xml"})
@Produces("application/json")
@Path("/")
public User getUser(User request) {
    request = request + 1;
    return request;
}

この REST API は JSON と XML の両方を受理することができる。 JAX-RS は HTTP のリクエストの Content-Type ヘッダーを使ってこれを判定しており、@Consumes アノテーションはどの Content-Type を受け入れるかを支持している。 逆にレスポンスは @Produces アノテーションで指定しており、JSON になる。

curl -X POST -H "Conent-Type: application/json" http://host.example.com:port/path/ -d '{"name":"nminoru", "age":21}'
curl -X POST -H "Conent-Type: application/xml"  http://host.example.com:port/path/ -d '<User><name>nminoru</name><age>21</age></User>'

しかしこれだと入力が複数形式を採れるのに、レスポンスは1形式に縛れてしまう。 そこでメソッドの戻り値を javax.ws.rs.core.Response とする。 HTTP ステータスコード、レスポンスボディのヘッダー等を細かく調整できるようになる。

import javax.ws.rs.core.Response;

@POST
@Consumes({"application/json", "application/xml"})
@Path("/")
public Response getUser(User request) {
    request = request + 1;

    return Response.status(200).type("application/xml").entity(request).build();
}

ところが問題がある。 XML 形式のリクエストを受け付けるには application/xml か text/xml を指定することができるのだが、レスポンスには appliaction/xml しか受け付けない。 text/xml を指定するとエラーが発生する。 JAX-RS(Jersey)の内部でエラーが発生して、レスポンスは自動的に 500 (Internal Server Error) となる。

import javax.ws.rs.core.Response;

@POST
@Consumes({"application/xml", "text/xml"})
@Path("/")
public Response getUser(User request) {
    request = request + 1;

    return Response.status(200).type("text/xml".)entity(request).build();
}

JAXB 側の問題のようなのだが、POJO クラスを渡さずに JAXB でマーシャリングして String 型に戻したものをレスポンスとして返す以外の方法が見つからない。


5/5 (日)

[Andorid]

2月16日にスマフォを買い替えてから、古いほうの SH-01F は音楽プレイヤーとして再利用していたのだが、FTP サーバーを立ち上げて SH-01F に曲を転送しようと思ってもエラーとなる現象に遭遇。 どうも Android 4.4 に上がった時から外部 SD カードにアプリケーションからの書き込みが禁止されていたのね。 Android 5 系に上げると再び SD カードへ書き込みができるようになるようだが、SH-01F はもう OS のバージョンアップは期待できない。


先月の日記(2019年04月) 今月の日記(2019年05月)
2002 | 10 | 11 | 12
2003 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2004 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2005 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2006 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2007 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2008 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2009 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2010 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2011 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2012 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2013 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2014 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2015 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2016 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2017 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2018 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2019 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2020 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2021 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2022 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2023 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
2024 | 1 | 2 | 3 | 4
ホームページ | 最新のコメント50
インデックス: 食べ歩き | Java | プログラム | UNIX | 画像
最新の日記へのリンク | この日記ページをはてなアンテナに追加 この日記ページをはてなブックマークに追加
はてな ダイアリー アンテナ ブックマーク ブログ
Twitter | mixi | Facebook | slideshare | github | Qiita


Written by NAKAMURA Minoru, Email: nminoru atmark nminoru dot jp, Twitter:@nminoru_jp