タグ

ブックマーク / irof.hateblo.jp (6)

  • ローカルクラスとしてrecordを使う - 日々常々

    irof.hateblo.jp こちらで書いた「Local record classes」を使う時の注意。 触ってると案外使う機会が出てきそうな感触があったので、気をつけるところを書いておきます。 ローカルクラス そもそもローカルクラスってあまり使わないものなんで存在も認識されてなかったりします。メソッド内に書くクラスなんですが…… class Hoge { void fuga() { class Piyo { } // これ } } 書いたら「こんなとこにクラス書けるの?」な反応もしばしば。 用途は特殊だし代替手段もあるので無理に使う必要性はないです。知らなくても生きてけるし、知ってたからと言って 知識マウントに使うにも微妙で 嬉しいことってそんなにない。 サンプルコード書く時にちょっと楽なくらいです。 ローカルレコードクラスの使い所 と言う感触だったんですが、これがStream API

    ローカルクラスとしてrecordを使う - 日々常々
    mhag
    mhag 2021/10/27
  • Recordを使ってく上で気にしとくこと - 日々常々

    Java16で導入されたRecordですが、Java17リリースによりこれから一気に使われていくことかと思います。 Java17雑感で「データクラスを新しく作るならRecordを使ってみる」とか書いたんで「よしRecordを使おう!……ところで何気にしなきゃなんだっけ?」な私向けに、現時点で「これくらい知っとくといいんじゃないかな」ってことを書いておきます。だらだら書いたんで順番とか内容の濃淡がひどいかもしれない。 ちゃんとした知識 JEP 395: Records Java Language Specificationの8.10. Record Classes Java Object Serialization Specificationの1.13 Serialization of Records GitHub openjdk/jdkのjava/lang/Record.java とか。

    Recordを使ってく上で気にしとくこと - 日々常々
    mhag
    mhag 2021/10/27
  • 「ソースコードブランチ管理のパターン」のダイアグラム - 日々常々

    ソースコードブランチ管理のパターン - Martin Fowler's Bliki (ja) お世話になっている人も多い Martin Fowler's Blikiの日語翻訳サイト 、いつも運営&翻訳ありがとうございます。 パターン言語は関連が重要な役割を担っています。そして関連はダイアグラムにすると捗ります。ダイアグラムがついている書籍もよくみます。 なので、ダイアグラムがないときや書籍と違う雰囲気のダイアグラムが欲しくなった場合、自分で描きながら読んでたりします。こんな感じで。 紙に手書きすることも多いのですが、インターネットで公開されているものはURLが付けやすいのでSVGで作るのが最近のマイブーム。SVGはサイズが大きくなっても拡大すれば読めるのでいいです。 上の画像はPNGをアップロードしたものなのでGistに上げました。 GistのSVGへのリンクを置いておきます。Gistの

    「ソースコードブランチ管理のパターン」のダイアグラム - 日々常々
    mhag
    mhag 2020/06/25
  • ドメイン駆動設計に関する何か - 日々常々

    2020-03-13追記: 「ドメイン駆動設計」のハードルを上げる意図はありません。そもそもそんな特殊技能でもないと思っています。「ドメイン駆動設計が合っているか」を測る材料になるかも?くらいの気持ちで読んでいただけると幸いです。 何度目か知りませんがDDDがまたブームを迎えているようで。DDD難民と言う言葉が出た頃を思うと感慨深いですね。実際難民になったわけではないので肌感覚で知らないのが残念なところですが、これはどうでもいい。 DDD、日語ではドメイン駆動設計となりますが、DDDを冠していてもドメインが語られることは少ないようです。 数ある書籍もドメインモデリングの話ではなく、ドメインモデルをいかに実装に落とし込むかにフォーカスしていると感じています。 これはこれで仕方ないと言うか、ドメインの話って広く語れないんですよね。 ドメインは領域で境界があって範囲が限定されています。特定ドメ

    ドメイン駆動設計に関する何か - 日々常々
    mhag
    mhag 2020/05/04
  • Optionalの取り扱いかた - 日々常々

    JavaSE8で追加されたjava.util.Optionalにはnullとの戦いに終止符を打ってもらいたいと思っているんですが、思ってるだけだと何も起こらないので、使い方とか思ったこととかを一通り書いておきます。 Optionalのファクトリメソッド Optionalのインスタンスメソッド 値を取得するもの 値を使用するもの Optionalのまま扱うもの まとめ なお、一通りと言いつつOptionalIntとかはスルーしています。機会と書くことがあればそのうち書くかもしれません。 Optionalについては諸事情(遅筆とか理解不足とか分量とか)によりJavaエンジニア養成読では軽い紹介にとどまっておりましたので、補足としてお読みいただけると幸いです。あと、この辺も参考にどうぞ。 OptionalのJavadoc 一通り触って適当にコメント書いたコード(GitHub/sandbox)

    Optionalの取り扱いかた - 日々常々
    mhag
    mhag 2015/05/10
  • Git初心者用BootCampのようなものの演習資料 - 日々常々

    Git 初心者用Boot Camp(のようなもの? : ATND 3/17 に行われたGit初心者用BootCampらしき何かに行ってきました。 @datsuns さんを焚き付けたらなんか講師役に……「え、私のGit力じゃむりぽ」とか思いつつ、なんか話しに入ってた @backpaper0 さんを巻き込んで「何とかなるっしょー」と楽観的に挑みました。という割りに前日、というか当日AM5時頃まで資料ゴニョゴニョしてました。 やったことは、「Gitはコミットグラフを描ければ勝てる」を信じて、出したコミットグラフを作るためにどういうコマンドを打てば良いかの演習です。都度質問とか、こう言うのやってみたい、とかを聞きながら進めていったつもりです。 それなりに上手くいったと思う。 手順 一枚ずつコミットグラフを表示。下のコマンドは穴埋めのヒントです。空行は「適当にファイルでも作ってください」って感じで、

  • 1