Yabu.log

ITなどの雑記

Java

Java読書会「現場で役立つシステム設計の原則」を読む会 第1回に参加

現場で役立つシステム設計の原則 〜変更を楽で安全にするオブジェクト指向の実践技法作者: 増田亨出版社/メーカー: 技術評論社発売日: 2017/07/05メディア: Kindle版この商品を含むブログ (4件) を見る 本の概要 投票の結果こちらの本になりました。 ペース…

AS400やRPG言語等で利用されているEBCDICコード順ソートをJavaで実現する方法

某所でちょっと話題になったので、ASCIIのスーパーセットになっていない文字コードをソートする方法を紹介します ASCII - Wikipedia asciiでは文字は 数字->英語大文字、英語小文字 の順で並んでいますが、最近普通に使われている文字コードも大体はASCIIコ…

Java読書会BOF「Kotlinイン・アクション」を読む会 第5回に参加

7,8,9章あたりを読みました。 ジェネリクス、ラムダなどJavaだとちょっと不便なところをKotlinがどう解決しているか?というのが見所だと思います。 コード 分割宣言 複数の戻り値を持つ関数 分割宣言とループとの組み合わせ 移譲の例 ORマッパーのようなも…

Java読書会BOF「Kotlinイン・アクション」を読む会 第4回に参加

5章の終盤から7章の途中まで読みました。 終盤に近づくにつれてメモが少なくなるのは仕様です Kotlinイン・アクション作者: Dmitry Jemerov,Svetlana Isakova,長澤太郎,藤原聖,山本純平,yy_yank出版社/メーカー: マイナビ出版発売日: 2017/10/31メディア: 単…

Effective Java Item 9: Prefer try-with-resources to try-finally

try-finallyよりtry-with-resourcesを使え Effective Java (3rd Edition)作者: Joshua Bloch出版社/メーカー: Addison-Wesley Professional発売日: 2018/01/06メディア: ペーパーバックこの商品を含むブログ (2件) を見る finallyの実装は難しい。著者の別の…

Javaの4種類の参照について

この記事で書いたWeakReferenceですが、それを加えてJavaには 通常の参照 SoftReference WeakReference PhantomReference の4つがある [Java] WeakReferenceとその仲間たち - Qiita Javadocの翻訳が間違っている? kagamihoge.hatenablog.com weak参照 weak…

Effective Java Item 7: Eliminate obsolete object references

廃れた参照は除くべし。 Effective Java (3rd Edition)作者: Joshua Bloch出版社/メーカー: Addison-Wesley Professional発売日: 2018/01/06メディア: ペーパーバックこの商品を含むブログ (2件) を見る この項目の要約は JavaはGCあるけど思わぬ参照が残る…

IntelliJ IDEAがすごい。JavaのコードコピペするだけでKotlinに変換してくれる

macOS SierraにIntelliJ IDEA CEを入れました。主にKotlin開発のため。 コマンドラインでも開発可能だが、Java to Kotlinのトランスパイラ的な機能を使ってみたくなったから導入。 www.jetbrains.com お金のない人はCommunityエディションを選択しましょう …

仮想マシンが不要なJava処理系picoJavaについて

JVMについて調べていたら興味深いブログがあった。 d.hatena.ne.jp JVMのバイトコードを直接実行できるCPUが過去に開発されていたようだ Wikipediaの記事があったが日本語版がなかった。 picoJava - Wikipedia 短かかったので訳してみようと思う。 picoJava…

Java読書会BOF「Kotlinイン・アクション」を読む会 第3回に参加

ちょっと時間が経っちゃいましたが。 議事録はこちら 本書について 勉強会の感想 クラス委譲のbyキーワードが素敵 Effective Javaの影響? staticの代替としてのcompanion object 他 逆コンパイル云々 Java読書会自体の感想 アーリーアダプターの痛み 議事録…

Kotlinのデータクラスが生成するhashCode()の謎に逆アセンブラで迫る

data class Person(val name:String, val age: Int) データクラスを逆コンパイルしたところhashCodeのソースが作れませんでした。 $ jad Person.class Parsing Person.class... Generating Person.jad Couldn't fully decompile method hashCode jadで逆コン…

逆アセンブラと逆コンパイルの違い

こんな恥を晒したので 逆コンパイルと逆アセンブラは違うとの指摘を頂いた。javapしかしらなかったけどjd?jda?とかいう逆コンパイツールもあるらしい。— yuyabu (@yuyabu2) 2018年3月17日 こんな記事を書いてみました qiita.com javaを例にとって両者の違い…

Effective Java Item 5: Prefer dependency injection to hardwiring resources

ハードコーディングではなくDIを使いましょう。 Effective Java (3rd Edition)作者: Joshua Bloch出版社/メーカー: Addison-Wesley Professional発売日: 2018/01/06メディア: ペーパーバックこの商品を含むブログ (2件) を見る スペルチェッカークラス 辞書…

Effective Java Item 85: Prefer alternatives to Java serialization

Effective Java 3rdに書かれているserializationの欠陥について Apache Commons Collectionsなどのgadget chain deserialization bomb JavaのSerializationは使うな? 代替 どうしてもSerializeしないといけない場合の処置 結論 参考 一部で心配されていたJav…

Effective Java item1:Consider static factory methods instead of constructors

サービスプロバイダフレームワークの検証ができていないが、時間をかけすぎているのでこの辺で投稿。*1 Static Factoryのメリット 1.名前が持てる 2.呼ばれるたびにインスタンスを作成しなくてもよい 3.サブクラスのインスタンスを返すことができる 4.引数に…

Effective Java 3rd に新規追加・削除された項目

Effective Java (3rd Edition)作者: Joshua Bloch出版社/メーカー: Addison-Wesley Professional発売日: 2018/01/06メディア: ペーパーバックこの商品を含むブログ (2件) を見る 英語版を買ってTDDの合間に読書中です。(どっちもJavaなのがいいですね) 項目…

macOS SierraにEclipseを入れる

インストーラを起動して見たところ警告が表示された。 Java SE 6 ランタイムをインストールする必要があります。 と出たのでAppleのサイトからJavaをインストール ダウンロード - Java for OS X 2015-001 レガシー用Javaを入れ、再度インストーラを動かすと …