タグ

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

  • ドメイン駆動設計に関する何か - 日々常々

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

    ドメイン駆動設計に関する何か - 日々常々
  • Javaアプリケーションを作るときにまずやってること - 日々常々

    DevLOVE関西で実験的なイベントをさせてもらいました。 devlove-kansai.doorkeeper.jp このイベントのおかげで、自分がアプリケーション作るときに最初にどうしてるかを確認できたので晒してみます。誰かの役に立つかどうかは知らない。あ、Macです。ある程度はWindowsでもいけると思うけど、ある程度だと思う。 なおSTSとかIDEのプロジェクト生成機能を使えば一発で済むことだったりする。宗教上の理由で使わないけど。 やってること 作業ディレクトリを作る ビルドスクリプトを用意する 必要なディレクトリを作る IDEを起動して取り込む テストを書いて実行する コミットする 基的にマウスを触る必要はないです。それぞれの詳細は次の通り。長く見えるかもしれませんが、(IDEAの起動とgradleのjarのダウンロード時間を除けば)全部で30秒くらいです。 作業ディレクトリ

    Javaアプリケーションを作るときにまずやってること - 日々常々
  • 「現場で役立つシステム設計の原則」の感想 - 日々常々

    現場で役立つシステム設計の原則 ~変更を楽で安全にするオブジェクト指向の実践技法 作者: 増田亨出版社/メーカー: 技術評論社発売日: 2017/07/05メディア: 単行(ソフトカバー)この商品を含むブログ (1件) を見る 目次流しは以前書きましたが、読み終わってるので改めて。 一緒に開発する人には読んでおいてほしい。可能なら手元に置きながら開発してほしいです。手頃なサイズ、重量、厚さ、価格ですし。鈍器系に比べれば持ち運びやすい。実際レビューやペアプロの際、「あのに書いてるんだけど・・・」という感じで何度か参照しています。 読書会をしてみて 4つのイベントに参加しました。うち2つは輪読形式の読書会で、最初から最後まで読み上げです。有用なのと同時に危険でもある、というのが読書会での感想です。 平易な文章で理解しやすいように思えるのですが、表面だけで理解した気になっていると間違いな

    「現場で役立つシステム設計の原則」の感想 - 日々常々
  • ベタープログラマを読もう - 日々常々

    ベタープログラマ ―優れたプログラマになるための38の考え方とテクニック 作者: Pete Goodliffe,柴田芳樹出版社/メーカー: オライリージャパン発売日: 2017/12/15メディア: 単行(ソフトカバー)この商品を含むブログ (4件) を見る 読みながらブログを書いてみようと思いたちました。去年ポチって届いたまま積んでた。とりあえず今回は目次流しして、部ごとにブログ書いていこうかなーとか思ってます。思ってるだけかも。 どんなかというと コードを気にかける人の姿勢みたいなものかしらね。著者はCodeCraftと同じPeteGoodliffeなので、読んだことがある人は想像できるのかもしれない。 Code Craft エクセレントなコードを書くための実践的技法 . (Mynavi Advanced Library) 作者: Pete Goodliffe出版社/メーカー: マ

    ベタープログラマを読もう - 日々常々
  • 「現場で役立つシステム設計の原則」の目次流し - 日々常々

    日発売された @masuda220 さんの「現場で役立つシステム設計の原則」が気になってる方へ。 紙の。 現場で役立つシステム設計の原則 ~変更を楽で安全にするオブジェクト指向の実践技法 作者: 増田亨出版社/メーカー: 技術評論社発売日: 2017/07/05メディア: 単行(ソフトカバー)この商品を含むブログを見る こっちはkindle。 現場で役立つシステム設計の原則 〜変更を楽で安全にするオブジェクト指向の実践技法 作者: 増田亨出版社/メーカー: 技術評論社発売日: 2017/07/05メディア: Kindle版この商品を含むブログを見る まだ全部読めてないけれど、精読するといつ読み終わるかわからない・・・。 なので、まったく読んでない気分になって目次ベースで紹介してみます。 どう言うことが書いてそうかの参考にはなるかなと。 しかしこの内容、よくこのサイズので、それほど小

    「現場で役立つシステム設計の原則」の目次流し - 日々常々
    naopi_chan
    naopi_chan 2017/07/05
    “読書会とかするといいんじゃないかなー” / ガタッ
  • DIコンテナのインジェクション方法の使い分けについて - 日々常々

    DIコンテナを使う時にどのインジェクションを使うかって話です。 たぶん誰かがどこかで同じようなことを書いているだろうけれど、気にせず書くよ。 「他の誰かが書いている」なんてのを書かない理由にしてると何も書けなくなるし。 コンテナ DIコンテナのこと。 コンテナ管理 インスタンスのライフサイクルをコンテナが管理していること。雑に言えば、使う側で new しないってこと。 インジェクション Dependency Injectionのこと。 Short Answer コンストラクタインジェクションを使いましょう。使い分けなくていいです。 3種類のインジェクション インジェクションには3種類ありますね。他あっても知らない。 フィールドインジェクション セッターインジェクション コンストラクタインジェクション フィールドインジェクション 一番よく見るかな。 class Hoge { @Inject

    DIコンテナのインジェクション方法の使い分けについて - 日々常々
  • Kotlinに手を出してみる - 日々常々

    Kotlinをはじめてみよう。 と思って、こんなことをした。 インストールする はろわをかく javapして眺める Kotlinに依存しない形(javaコマンド)でkotlincでコンパイルしたクラスを動かす GitHubのほうに同じのをあげてるます。 https://github.com/irof/sandbox/tree/master/kotlin インストールしてみる sdkmanでいけるんじゃないかと思って、sdk install kotlinを叩いてみる。 % sdk install kotlin Downloading: kotlin 1.0.1 % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 -

    Kotlinに手を出してみる - 日々常々
  • コンストラクタのメソッド利用で注意すること - 日々常々

    Java入門ではさらっと以下のように書いた、コンストラクタでインスタンスメソッドを実行することについて掘り下げてみます。 コンストラクタからインスタンスメソッドを使用することは可能ですが、避けたほうが無難です。 コンストラクタの実行中はインスタンス自体が構築中のため、初期化が完了していない状態でメソッドが実行されることになります。 Javaエンジニア養成読 [現場で役立つ最新知識、満載!] (Software Design plus) 作者: きしだなおき,のざきひろふみ,吉田真也,菊田洋一,渡辺修司,伊賀敏樹出版社/メーカー: 技術評論社発売日: 2014/11/11メディア: 大型この商品を含むブログ (6件) を見る 文章だけで伝えるのはなかなか難しいものだとも思いますし、 に書いたのに実際にこの問題を見た時に即解決できなくて悔しかった ので、 突っ込んでしっかり書くことにしま

    コンストラクタのメソッド利用で注意すること - 日々常々
  • ハンズオンイベントに潜む悪魔(黒猫) - 日々常々

    11/15に「Javaでwebアプリケーション入門」というイベントのお手伝いをいたしました。 #javajok で関西Java女子部さんのイベントです。 http://javajok.connpass.com/event/22044/ イベントページ http://backpaper0.github.io/2015/11/15/javajok.html 一緒にやったうらがみさんの。 私は参加者と一緒にライブコーディングをするという大役を仰せつかり、緊張のあまり前日は24時間以上爆睡いたしまして。 おかげでGitHubの草を生やそう運動が54日で止まりました。無念。 会場は @bufferings さんに楽天株式会社大阪支社のカフェテリアを提供いただきました。最高ですね。広いし綺麗だし。 同会場にて11月21日(土)に Rakuten Technology Conference 2015 の

    ハンズオンイベントに潜む悪魔(黒猫) - 日々常々
  • Optionalの取り扱いかた - 日々常々

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

    Optionalの取り扱いかた - 日々常々
  • JUnit4.12に追いつこう(周回遅れで) - 日々常々

    JUnit4.12がでました!……2014/12/4に。なんと6ヶ月経ってる。まぁいいや。 JUnit 4.12の新機能紹介まとめ / うさぎ組(2014/8/5) JUnit 4.12から入ったTestRuleを軽く見てみる / 裏紙(2015/2/28) JUnit4.12時代のParameterized Test / mike-neckのブログ(2015/5/6) ググっても4.12の情報があまり引っかからなかったので書いてみますね。 リリースノート斜め読み とりま、Summary of changes in version 4.12 を斜め読み致して、気になるところ(★)は後でもう少し詳しく書く事にします。なお、バグフィックス、メッセージ変更、挙動の統合などの特にテストコーディングに影響を与えないものはスルー。 Assersions floatのassertNotEquals →

    JUnit4.12に追いつこう(周回遅れで) - 日々常々
  • JAX-RSのユニットテストまわり - 日々常々

    JAX-RSのClient APIを確認した流れで、ユニットテストまわりも眺めてみる。 Jersey - 2.17 RESTEasy - 3.0.9.Final 各実装のテストサポート 軽くコード書いてみたりしつつ思ったことをば。 Jerseyさん Chapter 25. Jersey Test Framework Jerseyさんのテスティングフレームワークを使うには、jersey-test-framework-core と、テストで使うコンテナのproviderが要ります。providerはいくつか用意されているので、好きなのを依存に追加しましょう。 testCompile "org.glassfish.jersey.test-framework:jersey-test-framework-core:${jerseyVersion}" // grizzly2, inmemory, jd

    JAX-RSのユニットテストまわり - 日々常々
  • #JavaDayTokyo 2015 に行ってきた - 日々常々

    4/8 に行われた Java Day Tokyo 2015 に行ってきました。 20周年を迎えるJavaの記念イベントでもありました。 そんな場でなぜか話してきました。 昼イチのセッションでした。 タイムテーブル見ていただければわかると思いますが、裏番組もいいとこ……にも関わらず立ち見も出る状況でした。 若干ふわっとしたタイトルで釣りになっちゃったかなーと「Java9以降の話はしないよ!期待してた人は他のセッション行ったほうがいいよ!!」と言ったのですが、誰も出て行かれませんでした。みんな優しい。 ともかく、今までで一番緊張したセッションでしたが、時間も50分丁度でしたし、なんとか終わった時はすごくホッとしました。 …… で、自分のセッション終わってあとは他のセッションを楽しむだけ! ……とはならず。 なぜかJava20周年記念セッションでLTしてました。 関西の技術力! #JavaDay

    #JavaDayTokyo 2015 に行ってきた - 日々常々
  • Javaであまりしないコーディング - 日々常々

    Java Advent Calendar 2014 - Qiita の9日目です。9日ったら9日です。 なんか難しいエントリが多い中ですが、空気を読まずに軽めでいきます。 Javaでは色々なコードの書き方ができるけど、実際あまりやらないよなーって思うコーディングについて、やらない理由を無理矢理書いてみた。 決して「やってはいけないコーディング」と言う意味ではないです。単に「私はあまりしない」程度で、一般的な(?)業務開発でもあまり見ない、くらいの位置付け。理解した上でやる分には全く問題無いですし、そう言うもんだと思って使っても良いとは思います。 複数変数を同時に宣言する int i, j = 2, k; 同じ型の変数(フィールドでもローカル変数でも)は同じ文で宣言できます。 けど、あまり使ってるのは見ません。 同じ型でしか使えないし、フィールドだとJavaDocコメント書き辛いし、初期化式

    Javaであまりしないコーディング - 日々常々
    naopi_chan
    naopi_chan 2014/12/10
    “if (true = value) return; ”←この書き方をちょっと前まで書いたり勧めてたんだけど、何を読んでこうしようと思ったか思い出せない。
  • JAX-RSをGradleでアレしたい - 日々常々

    なんか最近ほっとな感じがするJAX-RSのお話に便乗。 JavaでさくさくWebアプリ開発 - しんさんの出張所 はてな編 JAX-RSとかの話 — 裏紙 short answer apply plugin: 'java' apply plugin: 'jetty' repositories.mavenCentral() dependencies { providedCompile 'com.sun.jersey:jersey-bundle:1.17.1' providedCompile 'asm:asm:3.1' } これで `gradle jettyRun` で動かせます。やったね。 以下ははまりどころとかpom出力とか。 ライブラリの依存解決 jersey-bundleは全部入りでコンパイルするには便利なんですが、動かす際のライブラリがprovidedになってたりして持ってきてくれま

    JAX-RSをGradleでアレしたい - 日々常々
  • Mavenさんの代わりにGradleさんを使ったら依存解決で - 日々常々

    ハマることがあるかも。と言うか私以外にもハマった人が居たので、書いておきます。 なお、ここではgradle1.9、jersey1.17.1を使っています。他のバージョンは知らない。 お話 「時代はJAX-RSなので素振りでもしてみよう」と思いたちますよね。そしたら「backpaper0 JAX-RS」とかでググりますよね? JAX-RSとかの話 — 裏紙 で。これを見ながらもpom.xmlなんて書いてられないので、「時代はGradleだ」と思ってbuild.gradleを書きますよね? apply plugin: 'java' repositories.mavenCentral() dependencies { compile 'com.sun.jersey:jersey-bundle:1.17.1' testCompile 'com.sun.jersey.jersey-test-fram

    Mavenさんの代わりにGradleさんを使ったら依存解決で - 日々常々
    naopi_chan
    naopi_chan 2013/11/22
    “「時代はJAX-RSなので素振りでもしてみよう」と思いたちますよね”/ただし、お世話になってる先ではJDK1.4+Struts1な運用
  • 関ジャバでJUnitな話をしたので #kanjava #junitbook - 日々常々

    関西Javaエンジニアの会'13 7月度 - connpass 関西Javaエンジニアの会'13 7月度を7月31日に開催しました。6月に続いて二ヶ月連続ですね。三ヶ月連続は無いので心配しないでくだ……あ、8月にはJavaEEと言うかGlassFishと言うか、あれがありますね!(「関ジャバのイベント」ではありませんが。) Java EE 7 & GlassFish について語ろう - DevLOVE関西 | Doorkeeper 今回の関ジャバは@jyukutyoさんのindy、@chipstar_lightさんのDDD、2連続となる@haljikさんのパズラー、あと私のコレでした。 スライド スライドあげておきます。内容の詳細は……結局このブログへのリンクになるので、中で触れてるのもあわせてリンク並べておくことで代替。 JUnitの知識を棚卸し #JJUG - 日々常々 assertT

    関ジャバでJUnitな話をしたので #kanjava #junitbook - 日々常々
  • 「自動受け入れテスト」を考えてみる - 日々常々

    きっかけは XP祭り関西2013 の @StoneGuitar777 さんのLTからです。 LTスライド: XP祭り2013-LT-Codeer @ITの記事: 特集:受け入れ検査の自動化手法の考察:Windowsアプリの受け入れテストを自動化しよう (1/5) - @IT 「継続的デリバリー」に貼付けた付箋を抜き出してみる 【大阪】継続的デリバリー読書会(8回目) - connpassの範囲でもありました。 受け入れ=ビジネス的な受け入れ基準=ユーザーの価値 ユニットテストとの色分け ユニットテスト: 作り手の意図 受け入れテスト: 顧客の意図 うまくやらないとコストが高すぎる 適切に作成して保守すれば自動のほうがはるかに安上がりになる ユニットテストやコンポーネントテストではどれほど包括的にやっても検出出来ない問題がある 手動テストはアプリケーションの複雑さに関わらずきわめて高くつく

    「自動受け入れテスト」を考えてみる - 日々常々
  • 文字列連結と+演算子について整理しておく - 日々常々

    何度か書いているけど、整理的な意味で。今後は「このエントリ参照」にするつもりで書いてみる。 文字列連結から見るシステム内で扱う型について - 日々常々 Javaプログラマであるかを見分ける10の質問 に答えてみる - 日々常々 String の連結ネタの続き - 日々常々 前書き Stringなんてboxed primitive*1でもないただのクラスのくせに、中途半端に贔屓されて*2てムカつく*3し、その中途半端ぶり*4がなお腹立たしい……。そして +演算子 で連結して問題が起こるような状況、つまりそんな長々と文字列連結したいような場合は、きっと他の適した型がある。StringBuilderじゃなく、もっと別の何か。業務要件で文字列を組み立てる目的を考えれば、たぶんテンプレート的なものに落ち着くんじゃ無かろうか。ライブラリ的な所でなら逐次書き出し等になるような。どちらにせよ文字列の組み立

    文字列連結と+演算子について整理しておく - 日々常々
  • GroovyでJUnitなテストを書くときの注意点……なんて無かった #gadvent2012 - 日々常々

    Groovy!!(挨拶) G* Advent Calendar 2012 の13日目でございます。 前日: SpockでビルトインされているExtensionsとかそのへん - Yamkazu's Blog / @yamkazuさん 翌日: groovy.lang.MissingPropertyException*1*2 http://piyopiyoducky.net/gadvent2012/ / @gantawitterさん JUnitをGroovyで使うなど 何も考えずに突っ込みどころ満載のFizzBuzzとテスト(色々足りてない)を書きます。 HogeJava.java HogeJavaTest.java これをGroovyで書くとします。 HogeGroovyTest.groovy(ほぼ HogeJavaTest.java のまま) そのままJUnitとして動きます。Eclips

    GroovyでJUnitなテストを書くときの注意点……なんて無かった #gadvent2012 - 日々常々