タグ

関連タグで絞り込む (181)

タグの絞り込みを解除

javaに関するtm8rのブックマーク (357)

  • レガシーアプリを Java9 でモジュール化する最短の方法 - GMOインターネットグループ グループ研究開発本部

    D. M. です。 2017年9月に Java9 がリリースされました。 (画像はJava公式 Twitterからの引用) 目玉は新概念のモジュールです。モジュールはある意味破壊的な変更でもありつつ既存のパッケージの仕様の問題を解決する上で非常に効果的な新概念だと感じています。今回はこのモジュールを理解する上で役に立った情報を私なりに整理してご紹介します。 モチベーション 私の担当プロジェクトでは社内向けのAPIと管理システムがJavaで組まれており10年以上運営しています。運用上の問題として、根幹となる共通機能は単体テストコードがあまり充分ではなくおまけにライブラリのJarの依存関係が非常に複雑になっているため、変更時に予期せぬ影響が発生しがちです。 こうした Java レガシーシステムに多く見受けられる 「Jar地獄」の状況に対して Java が出した公式の回答が Project Ji

    レガシーアプリを Java9 でモジュール化する最短の方法 - GMOインターネットグループ グループ研究開発本部
    tm8r
    tm8r 2017/10/11
  • CodeIQについてのお知らせ

    2018年4月25日をもちまして、 『CodeIQ』のプログラミング腕試しサービス、年収確約スカウトサービスは、 ITエンジニアのための年収確約スカウトサービス『moffers by CodeIQ』https://moffers.jp/ へ一化いたしました。 これまで多くのITエンジニアの方に『CodeIQ』をご利用いただきまして、 改めて心より深く御礼申し上げます。 また、エンジニアのためのWebマガジン「CodeIQ MAGAZINE」は、 リクナビNEXTジャーナル( https://next.rikunabi.com/journal/ )に一部の記事の移行を予定しております。 今後は『moffers by CodeIQ』にて、 ITエンジニアの皆様のより良い転職をサポートするために、より一層努めてまいりますので、 引き続きご愛顧のほど何卒よろしくお願い申し上げます。 また、Cod

    CodeIQについてのお知らせ
  • [Java][test] Java Webテストツール文法まとめ - Qiita

    概要 http://java-source.net/open-source/web-testing-tools で紹介されているテストツールを使用したテストの書き方をまとめてみました。 HtmlUnit 順当な感じです。 @Test public void homePage() throws Exception { final WebClient webClient = new WebClient(); final HtmlPage page = webClient.getPage("http://htmlunit.sourceforge.net"); Assert.assertEquals("HtmlUnit - Welcome to HtmlUnit", page.getTitleText()); final String pageAsXml = page.asXml(); Asser

    [Java][test] Java Webテストツール文法まとめ - Qiita
  • OptionalがSerializableではない話と使い方まとめ - きしだのHatena

    Optionalは意図的にSerializableではなくなってますね。 でその意図としては、一旦Serializableにして出力形式を決めてしまうと、今後ずっとその出力形式を維持しないといけないことになるので、そのメンテナンスコストを嫌ったというのがあるようです。 このメンテナンスコストの中には、仕様が変えれなくなる、というコストも含みます。 なので、シリアライズしたい場合には、フィールドはnullを持つようにして、getterでOptionalに変換するということになると思います。 基的にOptionalは、Optional-returnイディオムをサポートするもの以上ではない、ということをBrian goetzさんも書いています。 Shouldn't Optional be Serializable? そこで、Optionalの使い方としては、基的にメソッドの戻り値としてだけ、

    OptionalがSerializableではない話と使い方まとめ - きしだのHatena
  • Java エンジニアチームが始めやすい Scala コーディングスタイル #ichigayageek

    English version is here: http://www.slideshare.net/seratch/jjug-ccc-2014springeng http://www.java-users.jp/?page_id=1048#R2-4

    Java エンジニアチームが始めやすい Scala コーディングスタイル #ichigayageek
  • Spring Boot + Netflix Eureka

    14. eureka : サービスディスカバリ ribbon : ロードバランシング Hystrix : サーキットブレイカー govenator : Google Guice拡張 feign : 宣言的HTTPクライアント vector : リソース監視&可視化 SimianArmy : AWSのサーバを落とす … 15. eureka : サービスディスカバリ ribbon : ロードバランシング Hystrix : サーキットブレイカー govenator : Google Guice拡張 feign : 宣言的HTTPクライアント vector : リソース監視&可視化 SimianArmy : AWSのサーバを落とす …

    Spring Boot + Netflix Eureka
  • Java 8u60で、Mapの初期化とかがすごい楽になってる件 - mike-neckのブログ

    夜中に8/15頃のツイートが回ってきた。 Java 8u60 adds reflection on lambda param names DSLs https://t.co/cflxFK468e Hash-Literals https://t.co/5rOCrrckcB pic.twitter.com/NEzj4X3Bt1— Benjamin Weber (@benjiweber) 2015, 8月 16 曰く Java8u60でラムダのパラメーターの名前に対してリフレクションができるようになってるよ というわけで 早速、件のツイートにあったレポジトリーをダウンロードして(mavenレポジトリーにはない…(´・ω・`))、プロジェクトに追加して、試してみた。 コード import com.benjiweber.typeref.NamedValue; import java.util.Col

    Java 8u60で、Mapの初期化とかがすごい楽になってる件 - mike-neckのブログ
  • https://blogs.oracle.com/oracle4engineer/post/entry/javaee_c126

    tm8r
    tm8r 2015/06/15
  • Concurrency Utilitiesの「再」まとめ - Java8対応版 - argius note

    以前、このような記事を書きました。 Concurrency Utilitiesを使った並列処理・マルチスレッドのおさらい (2013-12-26) 前回の内容は、Concurrency UtilitiesだけでなくJavaのマルチスレッドの話も一部含んでいましたが、今回は、Concurrency Utilitiesだけにフォーカスして、全体が分かるように整理してまとめ直しました。 目次 概要 準備 タスク・フレームワーク (Executor) 同期キュー シンクロナイザー 並行処理コレクション 時間単位 アトミック値型とアトミック操作 ロック・フレームワーク 概要 今回は、Concurrency UtilitiesのAPIをいくつかのグループに分類し、それぞれのグループの主要な機能を「広く浅く」紹介する、という形式でまとめています。 パッケージ単位で分け、それからjava.util.con

    Concurrency Utilitiesの「再」まとめ - Java8対応版 - argius note
  • 書籍「Javaパフォーマンス」を読んで - n-agetsumaの日記

    監訳者の@cero-tさんから頂きました。@cero-tさん、ありがとうございます。 Javaパフォーマンス 作者: Scott Oaks,アクロクエストテクノロジー株式会社(監訳),寺田佳央(監訳),牧野聡出版社/メーカー: オライリージャパン発売日: 2015/04/11メディア: 大型この商品を含むブログ (3件) を見るJavaトラブルシューティングに関する仕事に関わっていると、まだ切り分けができていない性能遅延の原因について、GCが疑われることが良くあります。『自動で動く』ことによるブラックボックス感によりGCは疑われやすくなっていると思います。 しかし、実際に色々な案件の解析を繰り返すと、性能遅延の要因は多種多様です。過去に遭遇した代表的なものには、GC以外にも以下のような遅延要因があります。 アプリケーションの不効率なロジック (ループ過多、オブジェクト生成過多) 過度なロ

    書籍「Javaパフォーマンス」を読んで - n-agetsumaの日記
    tm8r
    tm8r 2015/05/25
  • 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に追いつこう(周回遅れで) - 日々常々
  • Spring MVCのドキュメント「コントローラを実装する」を読む(1) - M12i.

    今回はSpring Web MVCフレームワークに関するドキュメントの訳出です。Spring Bootフレームワークのリファレンスに言及されていたことで関心を持ち、ちょっとばかし読んでみました。 原典は、Springフレームワーク(体)のリファレンス・マニュアルである"Spring Framework Reference Documentation"の第5部"The Web"の第17章"Web MVC framework"の第3節(バージョン4.1.1.RELEASE現在)です。 * * * 17.3 コントローラを実装する(1) コントローラは〔Webアプリケーションのユーザに対して〕アプリケーションの振る舞い──多くの場合サービス・インターフェースにより定義される──へのアクセスを提供します。コントローラはユーザの入力値を読み取り、モデル──ビューによってユーザに表示される──に変換

    Spring MVCのドキュメント「コントローラを実装する」を読む(1) - M12i.
  • Optionalの取り扱いかた - 日々常々

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

    Optionalの取り扱いかた - 日々常々
  • Java SEバージョンアップでのトラブルの話が面白かった - きしだのHatena

    Java Day Tokyo 2015で、NECJava SEバージョンアップでのトラブルの話が面白かった。 Java EEアプリケーションサーバの開発現場で見たJava SEの実際 資料はこちらで公開されてるので、資料に書かれてることはそちら参照という感じで、どんな話だったか書いてみます。 Java Day Tokyo 2015 アプリケーションサーバーを提供する中でJava SEをバージョンアップしたときに出て来たさまざまなトラブルの話と、Java SE 8から導入されたMetaspaceの話が主でした。 Java EEは機能が標準化されているので、アプリケーションサーバーはカスタマーサポートで差別化をはかるしかない、顧客から見ると、Java SEやOSまで全て含めてアプリケーションサーバーなので、全部対応していく、という話をされていました。 Javaにもそれなりにバグはあって、アプ

    Java SEバージョンアップでのトラブルの話が面白かった - きしだのHatena
    tm8r
    tm8r 2015/04/30
  • Android開発でRxJavaをチームに導入した話 - クックパッド開発者ブログ

    買物情報事業部の八木(@sys1yagi)です。 Android界隈でRxJavaが話題になっていますね。クックパッドアプリ(以後、「体」と表現します)でも先日ついにRxJavaの導入を果たしました。エントリではRxJavaをチームに導入する為に行ったいくつかの取り組みを紹介します。 目次 RxJava導入の失敗 どのような課題を解決するのか 導入の為に機能を分解し、学習コストを考える ブログを書く 低コスト、低リスクに導入する 勉強会を開く RxJava導入の失敗 2014年11月にRxJavaの1.0.0がリリースされました。遂に実用段階かという事で個人的にあれこれ触り、体に導入する機会を伺っていました。ある日、bug fixの為にRxJavaを使うと簡潔になるのではないかと思い気軽にPull Request(以後、PRとします)を送った所、「このタイミングで急に導入する意図はな

    Android開発でRxJavaをチームに導入した話 - クックパッド開発者ブログ
  • GS-Collectionsはcode kataで練習すると面白い - mike-neckのブログ

    Java Day TokyoとかJJUG CCCで話題になっていたGS-Collectionsのcode kataをドキュメントを読みながらすこしだけ(エクササイズ2まで)やってみたので、その感想。 なお、使い方的なのは下記参照。 qiita.com エクササイズ2までやってみた感じ、GS-Collectionsの効率が云々というのはよくわからなかったのですが、collectとかselectなどに対するFunctionやPredicateの作り方というのが非常に参考になります。 kataの例をそのまま引っ張ってきて恐縮ですが、オブジェクトCustomerのコレクションMutableList<Customer>から名前の一覧MutableList<String>を取得するとき、だいたいこのように書いてしまいます。 MutableList<Customer> customers = ... M

    GS-Collectionsはcode kataで練習すると面白い - mike-neckのブログ
    tm8r
    tm8r 2015/04/16
  • GS Collections Kata をひと通りやった - tokuhirom's blog

    GS Collections というゴールドマン・サックスさんが出してる Java 用のコレクションライブラリがある。 Java Day Tokyo/JJUG CCC 2015 Spring で知ったのだが、これは以下のような利点を持っているようだ。 使いやすいインターフェース メモリ使用量が標準のコレクションよりもよい場合がある Multimap や sortedbag などの標準にはないコレクション GS Collections には GS Collections Kata という、チュートリアルがある。これは junit test case の形式をしていて IDE で読みこめばすぐに試せる。 順番に指示通りにやっていけば試せるんで、なかなか良い。 例も Company, Order, Supplier, LineItem など具体的で、わかりやすい。結構手間かかってるな、という印象

    tm8r
    tm8r 2015/04/16
  • Jbatch実践入門 #jdt2015

    Java Day Tokyo 2015 jBatch実践入門セッションのスライドです。Read less

    Jbatch実践入門 #jdt2015
  • 「Javaにおけるnull。これまでとこれから」という発表をしてきた | さにあらず

    JJUG CCC 2015 Spring(4 月 11 日開催) で発表をしてきました。 一コマ目であり、エントランスから一番近い入り易い場所だったせいもあるとは思いますが立ち見が出る程の盛況ぶりでした。発表を聞いて下さった皆様、当にありがとうございます。 発表資料はこちらです。 Past & Future of null in Java発表者がどういう風に考えてコンテンツを作り、どういう準備をしているのか、というのは余り共有されていないように思います このエントリでは僕がどの様に事前準備を行い、当日はどんな風に考えながら発表していたのか記録しておきます。 事前準備#内容の決め方#まず、50 分では前提条件の多くなる話はできませんので、凡そ言語仕様かライブラリの話をするのが妥当でしょうとアタリを付けます。 恐らくビギナー向けを標榜しつつも、設計方法論などメタモデルについて話をするのが良い

    「Javaにおけるnull。これまでとこれから」という発表をしてきた | さにあらず
    tm8r
    tm8r 2015/04/15
  • 7つのサンプルプログラムで学ぶRxJavaの挙動 - クックパッド開発者ブログ

    会員事業部の山下(@tomorrowkey)です。 RxJavaが流行ってますね。最近AndroidクックパッドでもRxJavaが導入されました。この記事は私がRxJavaを使うにあたって検証用のテストコードを書いたものをベースに、RxJavaの挙動をみなさんに紹介したいと思います。 目次 リスト操作でおさらいする基的なRxJavaの使い方 Observable Operator Observer / Subscribe 実行順序を確認するサンプルプログラム 7つのサンプルプログラム リスト操作でおさらいする基的なRxJavaの使い方 RxJavaAPIアクセスやイベントトリガーやリスト処理などを多岐にわたる処理に使うことができます。このエントリでは初学者に一番分かりやすいリストの処理を例に解説します。 これは1から10までの値を渡し、偶数だけにフィルタリングしたうえ、値を10倍に

    7つのサンプルプログラムで学ぶRxJavaの挙動 - クックパッド開発者ブログ