理系学生日記

おまえはいつまで学生気分なのか

2016-04-01から1ヶ月間の記事一覧

Maven Assembly Plugin でできるファイル名がクソダサかった話

Maven Assembly Plugin でできるファイル名がクソださかったのでなんとかしたかった話。 descriptorRef 要素で jar-with-dependency 指定してたら、hoge-0.0.1-SNAPSHOT-jar-with-dependencies.jar とかいうフザけた名前になってて、あまりの衝撃に手足が震…

Maven Assembly Pluginで実行可能jarをつくる

maven assembly plugin maven 力も Java 力も貧弱なのだけれど、依存性を 1 つにまとめた実行可能 jar を作る必要性に駆られたので、ちょっと調べてた。 maven の plugin で実行可能 jar を作ろうとすると、以下の 2 つがメジャー。 Maven Assembly Plugin M…

Stubby4JをJUnitから利用する

Stubby4J を Junit で起動できればだいたいの HTTP 要求に関するテストはできる。 だいたいこんな感じでテストを書きたい。 public class Stubby4jTest { @ClassRule public static Stubby4jServer server = Stubby4jServer.fromResource("com/kiririmode/bl…

RestEasyとHttpComponents、そしてConnectionManager

RestEasy client を使用した HTTP 要求を行うと、TCP コネクションが長時間にわたり残存する問題が発生することがあります。 RestEasy の公式ドキュメントを読めば「HTTP コネクションは適切に release し、適切に close しなければならない」ということは分…

MacBook AirでもRetinaディスプレイ並の高解像度を実現したい

むかしは一年に一台ほど Mac 買ってたけど、2012 年以降はまったく買ってなくて、ひさしぶりに Mac 系の PC 買った。MacBook Air の 13 inch 買った。 これまでは MacBook Pro 15 inch の Retina で、Air もまぁ Retina だとタカをくくっていたのだけれど、M…

コマンドラインでの16進数変換

バイナリを hex encoded で表現するというケースが最近増えてきて、たとえば CBC の初期ベクトルを hex encoded で表現するとか、鍵を hex encoded で表現するとか。 16 進数というと hexdump があって、たとえば 0aA は 16 進数で表現すると 306141 になる…

パスワード等の秘匿情報をKeyStoreで保持する

DB 接続用のパスワードだったり、Basic/Digest 認証のときに使うパスワードだったり、世の中にはパスワードが溢れていて、もうパスワードを個別にして記憶しておくとか絶対にムリ、ムリムリムリムリかたつむりであるから、みんなどの Web サービスのアカウン…

イノベーションのジレンマ

イノベーションのジレンマ、どこに行っても評判よくて、いつか読みたい読みたいと思っていたんだけれど、いつの間にか Kindle で購入してて、いつの間にか読んだ。 イノベーションのジレンマ 増補改訂版 (Harvard Business School Press)作者:クレイトン・ク…

Maven管理下のリソースファイルの値を実行時にプロパティの値で置換する (Resource Filtering)

ここ半年くらいジャバジャバしていて、maven とかの実力不足を痛感している今日このごろで、勉強しているといろいろなことができるんだなぁというのを発見したりします。 一例として Maven には、動的にリソースの特定の値を置き換える機構が存在していて、…

コマンドラインで簡単にAES暗号化、または Java での AES 暗号化

Java で AES 暗号化とかやってて、コマンドラインで簡単に試せれば良いのになぁとか思ってたら、openssl 使ったら余裕で暗号化できることに気付いた。 例えば、AES/CBC の 128 bit 鍵長で暗号化したい場合は、以下のようにすれば良い。 -e は暗号化、-d は復…

curlでメールを送る

curl はどうも HTTP 用と思われている節がありますが、実は様々なプロトコルに対応しています。 たとえば SMTP にも対応しているので、がんばったら gmail にもメールが送れたりします。 $ cat <