hatakeのブログ

社会人ひよこプログラマのtil

匿名クラスをシリアライズするときの奇妙な挙動について

TL;DR 非staticのコンテキストで宣言された匿名クラスはエンクロージングインスタンスへの非transientな参照を持つ 匿名クラスでオブジェクトの初期化 Javaでは匿名クラスと初期化ブロックを組み合わせて以下のような書き方ができます。 User user = new Use…

C#で最長増加部分列(LIS)の実装サンプル

競プロTips勉強メモです。 今日の一問は、トランプ挿入ソート!現代AtCoderでは出づらいストレートな知識勝負。問題の言い換え→アルゴリズムによる計算量の最適化、という流れは、まさに競プロ的。問題の言い換えまでは頑張ってみよう!#chokudai今日の一問h…

DICOMでJPEGを扱うときの注意点

DICOMを知っている人向けです。 DICOMでは転送構文というものが定義されており、一般でいうところのエンコーディング規則に相当します。転送構文にはJPEGコーデック指すものが含まれていますが、その中には特殊な形式のJPEGが存在するので扱いには気を付けな…

Javaからexeを起動したらデッドロックしてしまった話

TL;DR 下記の条件をすべて満たすとデッドロックします。 呼び出されるexeが標準出力や標準エラー出力に何か書き込むプログラムを持つ ProcessBuilder.start()やRuntime.exec()の後に何もせずProcess.waitFor()する 解決策はProcessが持つストリームのバッフ…

WSL(旧:Bash on Windows)のルートディレクトリが無い

ものごっつハマったので備忘録です。Ubuntu 18.04を再インストールしていた時の出来事。 昔ルートディレクトリがあった場所 C:\Users\%USERNAME%\AppData\Local\lxss 今(2018/07/25時点)ルートディレクトリがある場所 C:\Users\%USERNAME%\AppData\Local\Pac…