タグ

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

  • モッククラスを使うべきか否か - 日々常々

    元ネタ: モッククラス、下から見るか?横から見るか? モッククラスを使うべきか否か、というネタを拾ったので書いてみます。これまでにモックについて殆ど書いてないことに気づいて驚きつつ。 Short Answer 「モックに何をさせたいの?」 質問に質問で返すなという感じですが、モックに何をさせたいか答えてみれば、モックを使うべきか否かはだいたい決まるよなーと思うのです。 モックは道具で、使うことで何かを改善するものです。 「このことをテストしたいから、モックをこう使う。」という文脈なく使用すると、無用な複雑性を作り込むことになります。 モックの使用は負債なので、十二分に利益を見込める場合にのみ使用するものだと思っています。 これはモックに限った話ではなく、何かを便利にするために道具を追加する際は必ず付いて回るトレードオフです。 Short Answer 露払い 使うべきか否か どちらでも差が

    モッククラスを使うべきか否か - 日々常々
  • 「あるエンジニアがプログラムを紡いでいく様を見てみる」ライブコーディング・リプレイ - 日々常々

    あるエンジニアがプログラムを紡いでいく様を見てみるでしたライブコーディングで言ったことや言わなかったことを書いてみます。 意識してるのは「コードをどまんなかに」です。 speakerdeck.com ……あ、このスライドのブログ書き忘れてた。 スライド中の「えらぶ」はだいたいIDEの機能を指します。なのでライブコーディング中に使用したIDEの機能も挙げようと思います。基的にデフォルトのつもりだけど、vimとの兼ね合いで変更してるのもあるので、そこはごめんなさい。あとMacです。今回はメソッド抽出とかクラス間移動とかダイナミックなのがなくて地味だけど、便利な子たちなので使ってあげてください。 リプレイ 今日の公開コーディングはスゴい新鮮だった🎵 コミット後のソースには、どこに悩んだのか、どこにこだわったのかは残らないのですね。 実際のコーディングを見させて頂く事で、気づかされる事が多かっ

    「あるエンジニアがプログラムを紡いでいく様を見てみる」ライブコーディング・リプレイ - 日々常々
    tenten0213
    tenten0213 2018/03/09
    生で見たかった!!!!!!!!!
  • DIコンテナのインジェクション方法の使い分けについて - 日々常々

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

    DIコンテナのインジェクション方法の使い分けについて - 日々常々
  • JAX-RSのClientAPIを眺めてみて - 日々常々

    導入 もう随分前の話になるのだけれど、JAX-RS2.0にはClient APIが仕様に入っております。 それはそれとして、各実装は個別にClient APIを提供したりしておました。 個別に実装していたClientAPIには当然違いがあるわけです。で、どんな差があるんだろーと見てみることにした。 JSR JSR 339: JAX-RS 2.0: The Java API for RESTful Web Services javax.ws.rs.clientのjavadoc 実装 Jearsey Client API 2.17 RESTEasy Client API 3.0.9.Final Apache CXF 3.0.x? JSRさん 斜め読みすると「Clientを取得してWebTargetを生成し、WebTargetからrequestを作って送信する。」ものらしい。なるほど。 あとはW

    JAX-RSのClientAPIを眺めてみて - 日々常々
  • 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のユニットテストまわり - 日々常々
  • 「はじめてのSpring Boot」の感想とか #hajiboot - 日々常々

    大晦日に家族のひんしゅくを買いながらはじめてのSpring Bootを読んでました。 はじめてのSpring Boot―「Spring Framework」で簡単Javaアプリ開発 (I・O BOOKS) 作者: 槇俊明出版社/メーカー: 工学社発売日: 2014/11メディア: 単行この商品を含むブログ (4件) を見る 2014年秋のJJUG CCC*1のハンズオンは気になりつつ参加しなかったわけですが、よく話も聞くし一度触っておかないとなーと思ってた。で、渡りに船のようなも出されてたりするので、よしこれは買うかーと。 買おうとしたら在庫切れになってたけど。 "一時的に在庫切れ; 入荷時期は未定です。 " ヽ(´o`; (SpringBootのを買おうとした— irof(javarista); (@irof) November 25, 2014 なんだかんだあって、届いたのが12/

    「はじめてのSpring Boot」の感想とか #hajiboot - 日々常々
  • 誤った共通化 - 日々常々

    前に書いた キョウミタコード と同系列のネタです。 「コードは共通化するべきである」 これ自体に真っ向から全否定することはまーないかなと思います。例えばこんな感じで処理A1-3から処理Bを呼ぶのパターンはよくあります。 コードの共通化。いいですねー。同じような処理をまとめておくとメンテコストがぐぐっと下がる気がします。これをしなきゃ、どんどんコピペされたメソッドが増えていくことでしょう。同じような処理はまとめていくことは重要です。 ところでこの図を見てください。 ……わかります?一度処理をまとめているにもかかわらず、まとめた処理がまた枝分かれしています。それもまとめる前と同じ単位で。コードで書くとこうなります。 class A { void method1() { B.method(1); } void method2() { B.method(2); } void method3() {

    誤った共通化 - 日々常々
  • PowerMockとJUnitのRuleを使うときのメモ - 日々常々

    少し試行錯誤してしまったので書いときます。この情報はバージョンによって古くなる可能性が十分にあります。 PowerMock: 1.5 Mockito: 1.9.5 junit: 4.11 short answer PowerMockRule は使わず PowerMockRunner を使いましょう。 PowerMock? powermock - PowerMock is a Java framework that allows you to unit test code normally regarded as untestable. - Google Project Hosting いわゆるMockのアレですが、名前の示す通りPowerある感じです。staticとかをアレできるところとかが。使い方はJUnitのRunnerで指定するのが基です。 @RunWith(PowerMockRu

    PowerMockとJUnitのRuleを使うときのメモ - 日々常々
  • レガシーコードのはなしをしてみた #DevKan - 日々常々

    レガシーコードと対峙する方法を考える - DevLOVE関西 | Doorkeeper 2014/03/25にあったDevLOVE関西「レガシーコードと対峙する方法を考える」で、「"レガシーコード"再考」とか釣りっぽいタイトルで話してきました。DevLOVE関西は発表とダイアログって形式が多いので、その時のネタの一つにでもしてくれればいいかなーくらいを力点にしてます。だもんで、「レガシーコードってなんやねん」とか聞くだけ聞いて、結論付けたりとかはせずに終わったり。そんな毒にも薬にもならない話でした。 スライド "レガシーコード"再考 問い: 発表者の気持ちを答えよ(制限時間10分) 「レガシーコードの話をする」のは簡単なことだと思う。世の中にはレガシーコードが溢れてる事にはおおむね同意されるだろうし、見てきたものをそれなりに話すだけでも「あるある」とか「うへー」みたいな、参加者の多くである

    レガシーコードのはなしをしてみた #DevKan - 日々常々
  • 関ジャバで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 - 日々常々
    tenten0213
    tenten0213 2013/08/05
    ステキ!
  • 1