タグ

javaに関するterazzoのブックマーク (697)

  • 「Javaの鉱脈」でRundeckの記事を書きました | さにあらず

    WEB+DB PRESS の Vol.87 で、ジョブスケジューラの記事を書いたので是非読んでくださし。 2015/6/24 発売ですので、既に購入頂いてる方も多いと思います。 電子書籍版もありますので物理的な媒体に興味がない方は PDF を買って下さい。 https://gihyo.jp/dp/ebook/2015/978-4-7741-7477-8今回の記事における対象読者について#僕の知ってる範囲ですと、どうも Jenkins 先生をジョブスケジューラの一種として運用している方が随分と多く見受けられます。 具体的に言うとJenkins Job DSL / Plugin等を使っているケースがこれにあたります。 CI サーバがジョブスケジューラの一種であるという部分に関しましては否定しようもないのですけども、定常的な運用作業にまで CI サーバを使うのはちょっと違うんじゃないかなーと常々

    「Javaの鉱脈」でRundeckの記事を書きました | さにあらず
    terazzo
    terazzo 2015/06/25
    本番デプロイにJenkins使うのすら違和感あるのに>定常的な運用作業にまでCIサーバを使うの
  • JavaにC#のLINQを移植してみた - jLinqer - Qiita

    JavaでLINQが使いたい Javaで使えるLINQライブラリを作成しました。C#のLINQなら流暢に表現できるのに,Java8のStreamでは上手く表現できない悩みをラップします。 jLinqerはJavaでLINQ (Language INtegrated Query: 統合言語クエリ) が使えるライブラリです。C#のLINQに存在してJava8のStreamに不足している機能(selectMany,Union, Intersect, Except等)も追加しています。 使用方法 Gradleで使用する場合は,以下を登録してください。

    JavaにC#のLINQを移植してみた - jLinqer - Qiita
  • Lambda Function が Java で書けるようになりました! | DevelopersIO

    Lambda Function が Java で書けるようになりました AWS Lambda にアップデートがあり、Java で書けるようになりました!以前からアナウンスされていましたが、日からついに使えるようになりました。 AWS Lambda Update – Run Java Code in Response to Events | AWS Official Blog ということで、早速 Lambda Function を作ってみました。 AWS Toolkit for Eclipse のインストール Lambda Function は AWS Toolkit for Eclipse を利用すると簡単に実装できます。今回は現時点の最新バージョンである Eclipse IDE for Java Developers Luna Service Release 2 (4.4.2)

    Lambda Function が Java で書けるようになりました! | DevelopersIO
  • Date and Time API 相互変換チャート - Programming Studio

    Date and Time API の主要な日付・時刻クラスについて、相互変換を図にしてみました。これは昨年 3 月の JJUG Java 8 ローンチ・イベントの発表資料に収録した図を、印刷に耐えられるよう改版したものです (マスタを Illustrator 形式で作成)。 イメージは以下の通りです。 PDF 形式も用意しました → jsr310-conversions.pdf この図を持っていても皆様の給料は上がりませんが、Date and Time API の使い勝手は少しだけ上がります。

    Date and Time API 相互変換チャート - Programming Studio
    terazzo
    terazzo 2015/06/15
  • Javaで1行ずつテキストデータを読み込むイディオムの変遷 - argius note

    テキストデータを読み込む場合、言語にかかわらず1行ずつ読み込んで処理します。ここではこのイディオムを"read-lines"と呼ぶことにします。 スクリプト言語なんかだと大抵、最初からforeachで済んでしまっていたりしますが、初期のJavaではちょっと面倒な手順が必要でした。 新しいバージョンではだいぶ簡単簡潔に書けるようになりましたが、今度はたくさんありすぎて、どれがなんなのかが良くわからなくなっています(大袈裟)。 そこで今回は、"read-lines"の変遷についてまとめてみました。 最近Javaを始めた方がバージョンが古い時に書かれたソースコードを読むときに役に立つ...かも知れません。 目次 基 BufferedReader (Java1.1~) Scannerと拡張for文 (Java5~) java.nio.file.Filesとtry-with-resources(J

    Javaで1行ずつテキストデータを読み込むイディオムの変遷 - argius note
    terazzo
    terazzo 2015/06/07
  • 簡潔なJavaコード

    12のソフトウェア・アーキテクチャの落とし穴とその避け方 成功するソフトウェアアーキテクチャを開発するのはシンプルだが、簡単ではない。QARを理解し、QARを最大限に満たすトレードオフを理解し、実行するには、洞察力と経験が必要であり、その多くはアーキテクチャ自体の実験を繰り返すことで集めなければならない。プロセス自体は単純だが、考慮すべきトレードオフはしばしば難しく、簡単な答えはめったにない。

    簡潔なJavaコード
    terazzo
    terazzo 2015/05/25
  • 書籍「Javaパフォーマンス」を読んで - n-agetsumaの日記

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

    書籍「Javaパフォーマンス」を読んで - n-agetsumaの日記
    terazzo
    terazzo 2015/05/25
  • Javaの検査例外は、呼び出し側で「どんなに注意しても防げない」異常系 - Qiita

    注:記事の内容はJavaで公式にドキュメントされているものではなく筆者の見解です。とはいえクラスを設計する上で有用な指針たり得ると思われるので公開したものです。 おさらい - 検査例外と非検査例外 Javaの例外クラスには「catchしないとコンパイルエラーになる」検査例外(チェック例外、checked exception)とそうでない非検査例外(非チェック例外、unchecked exception)があります。 検査例外は最近は嫌われる傾向がありC#では採用されていませんしAltJava言語も軒並み不採用、さらにはJavaの新しめのライブラリにも非検査例外しか投げないものが出てきていますが、適切に使えば安全なプログラミングのための強力な武器であり、検査例外の有意義さについては @irxground さんの Javaの検査例外の存在意義 をご覧ください。 例外クラスを自作する場合、検査

    Javaの検査例外は、呼び出し側で「どんなに注意しても防げない」異常系 - Qiita
    terazzo
    terazzo 2015/05/14
    事前チェックの方法がわからなくてSecurityManagerのcheckPermission()で泣く泣くtry-catchした記憶が。
  • 匿名クラスとかローカルクラスとか - 日々常々

    Java入門では割愛としていたローカルクラスと、ついでに関連の強い匿名クラスについて書いておきます。ネストしたクラスとかインナークラス(内部クラス)とかはそこそこしっかり書いたつもりなので、読んでいただけると嬉しいです。 Javaエンジニア養成読 [現場で役立つ最新知識、満載!] (Software Design plus) 作者:きしだ なおき,のざき ひろふみ,吉田 真也,菊田 洋一,渡辺 修司,伊賀 敏樹技術評論社Amazon 言語仕様とか読んでもいいと思いますし、この辺りも参考に見てみるといいと思います。 ローカルクラスの意義 - ぐるぐる~ 2009/3/14 Javaのクラス宣言5種+α - プログラマーの脳みそ 2012/3/8 Javaのクラスの使用 - ひしだま's 技術メモページ 2010/1/9 みなさまにはいつもおせわになってます。 宣言とか呼び方とか それぞれど

    匿名クラスとかローカルクラスとか - 日々常々
    terazzo
    terazzo 2015/05/09
  • Java 8 Streamの挙動を調べたった - mike-neckのブログ

    表記の件について、JavaのListから作るStreamは操作中に変更をするとその後の挙動についてなんら結果を保証しないので、ListからStreamを作った場合は、変更をしないか、あるいは不可変なListに変換してから作るのが良いです。 と、書いておいてからなのですが、こんなツイート見かけました。 これは思わぬ結果 ステートフルな中間操作のsorted()かますと 最終的にListは空になるけどforEachで全て出力される。 なんでだろう? これで今日も眠れないw pic.twitter.com/864kLHyK8K— Yucchi (@Yucchi_jp) May 8, 2015 peekでListの要素を削除するというやってはいけないパターンです。 @Test public void intList() { List<Integer> list = IntStream.range(

    Java 8 Streamの挙動を調べたった - mike-neckのブログ
    terazzo
    terazzo 2015/05/09
  • Date and Time APIを理解する為には、ISO 8601に踏み込みましょう!

    HASUNUMA Kenji (Deprecated) @khasunuma_old Date and Time APIを説明するにISO 8601にまで踏み込むのは蛇足だという方は非常に多く、過去にJava界隈の重鎮から叩かれたことがあります。しかし、過去のセッションやブログを見る限り、ISO 8601には触れずに解説したものは、ほぼ例外なく爆死しています。 2015-05-09 05:11:10 HASUNUMA Kenji (Deprecated) @khasunuma_old Date and Time APIがISO 8601ベースになったのは、先行したJoda-Timeが同様にISO 8601ベースにしてうまくまとまったから。Stephenは暦が無数にあることを承知の上で、ISO 8601という国際規格を「人間向け」の基準と定めたのです。 2015-05-09 05:13:45

    Date and Time APIを理解する為には、ISO 8601に踏み込みましょう!
    terazzo
    terazzo 2015/05/09
  • 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
    terazzo
    terazzo 2015/04/28
  • Javaのシリアライザーをいろいろ試してみる(Java標準、Kryo、MessagePack、Protocol Buffers、JBoss Marshalling) - CLOVER🍀

    少しシリアライズ関係のライブラリを目にする機会がありまして、そういえばこういうまとめ記事あったなぁということを思い出しました。 MessagePack、Kryo、Protocol Buffersなどのシリアライザーのパフォーマンス比較 http://blog.katty.in/4567 気にはなっていたものの、実際にこれらのライブラリを使ってコードを書いたことはなかったので(Protocol Buffersは除く)、いい機会だなと思い試してみました。 今回は、以下について書いていきます。 Java標準 Kryo MassagePack Protocol Buffers JBoss Marshalling 最後の方にかなり個人的な趣向が入っていますが、気にしない方向で…。Java標準が入っているのは、とりあえずといった感じで。 ここから、簡単にシリアライザーごとにシリアライズ対象のクラスと、

    Javaのシリアライザーをいろいろ試してみる(Java標準、Kryo、MessagePack、Protocol Buffers、JBoss Marshalling) - CLOVER🍀
    terazzo
    terazzo 2015/04/27
  • GroovyのクロージャとJava8のlambda式の違いについて - uehaj's blog

    この両者は、似ているようでいて、基的には別モノです。表にしてみます。 Groovyのクロージャ java8のlambda式 導入時期 2003年 2014年03月 ローカル変数へのアクセス 読み書き可能 実質的にfinal(変数そのものに対しては読み込みのみ) 実装方法 Closure型のインスタンス MethodHandle, invokeDynamic.. 型推論の根拠 Closure<T>のTで返り値、@ClosureParamsで引数 FunctionalInterface(SAM型) 記法 { 引数 -> 体 } { 体 } {-> 体 } (引数) -> { 体 } (引数) -> 式 () -> { 体 } 暗黙の動的なthis delegateにより実現 - 性能 ローカル変数をenclosingするため間接参照にするためのオーバーヘッドあり 性能上のオーバーヘ

    GroovyのクロージャとJava8のlambda式の違いについて - uehaj's blog
  • CDI を理解する為に重要なレシピ

    2015年4月15日 at 1:19 午後 1件のコメント Java Day Tokyo 2015 で私が発表した内容を下記に公開しました。セッションは、資料を作成する上で、今回ご紹介する内容を、より重点的に説明した方が良いと判断し、アジェンダに記載した若干内容を変更しお届けさせて頂きました。しかしセッションは、日でまだ不足している情報をお届けする内容であるため、皆様のご理解のお役に立てば誠に幸いです。 Java EE を利用して Web アプリケーション、企業アプリケーションを構築するためには、Webのデザイン、データ・アクセス部の実装、そしてそれらをつなぐビジネス・ロジックの3階層から構成する事が多いかと思います。これらの構成要素の中で、今回は、ビジネス・ロジックの実装部で重要な役割を担う CDI について焦点をあて、利用する上で重要な点について 14 点ご紹介しました。 セッ

    CDI を理解する為に重要なレシピ
    terazzo
    terazzo 2015/04/15
  • クリスマスを支える俺たちとJava(JJUG CCC 2015 Spring AB4)

    2015/04/11に開催されたJJUG CCC 2015 SpringのタイムテーブルAB4にて発表した「クリスマスを支える俺たちとJava」の資料です。 --- AB-4 クリスマスを支える俺たちとJava 阪田 浩一 (フリュー株式会社/関西Javaエンジニアの会) プリントシール機が、話題になった10年以上前のころと変わらず若い女性に利用されていることをご存知でしょうか? 私が所属するフリュー株式会社は、プリントシール機(プリ機)を出している会社です。そしてWebにてプリ機と連動して画像を取得するサービスを提供しています。実はこのサービス、会員数が1000万人を超えており、女性で特定の年齢層であれば90%以上の方が会員となっています。 JavaRDBMS、分散ファイルシステムMogileFSにて構築したこの少し古いWebアプリケーションは、当初ここまでの規模になるとは想定していま

    クリスマスを支える俺たちとJava(JJUG CCC 2015 Spring AB4)
    terazzo
    terazzo 2015/04/15
  • だれも教えてくれないJavaの世界。 あと、ぼくが会社員になったわけ。

    新たなgitのブランチモデル「Git Feature Flow」!Git Flow,Git Hub Flow,Git Lab Flowを超えれるか?naoki koyama

    だれも教えてくれないJavaの世界。 あと、ぼくが会社員になったわけ。
    terazzo
    terazzo 2015/04/15
  • だから、あれほどFiles#lines(Path)を使うときはtry-with-resourcesでちゃんと包めといったのに… #jjug #ccc_f2 - mike-neckのブログ

    以前、こういう記事を書きました。 mike-neck.hatenadiary.com 僕は、世間的にあまり知られていない人間なので、この記事があまり伝わっていなかったのでしょう。ちょっと恐れていたことがありました。 JJUG CCC 2015 SpringのセッションF2で、このような発表がありました。 ほんとうに便利だった業務で使えるJava SE8新機能(JJUG CCC 2015 Spring) from Yuuki Fukuda www.slideshare.net これの33ページのコードにはリソース解放漏れがあります。 FIles.lines(path).lines().forEach(System.out::println); このバグの可能性のあるコードがJJUG CCCというかなり規模の大きくなってきた大舞台でサンプルコードとして紹介されてしまいました。規模の大きいイベン

    だから、あれほどFiles#lines(Path)を使うときはtry-with-resourcesでちゃんと包めといったのに… #jjug #ccc_f2 - mike-neckのブログ
    terazzo
    terazzo 2015/04/12
    本質じゃないから間違った書き方をしたというのは、端的に例として不適切なのでは。
  • Streamの平均を求める処理が精度が高かった件(総和も) - きつねとJava!

    昨日,JavaDayTokyo2015でProject Lambdaのハンズオンのお手伝いをしてきました. その中で,Collectors#averagingDoubleやDoubleStream#averageの実装が優秀だということが分かったので,まとめておきます. 結論を先に言うとStreamAPI*1が優秀なので,それを使おうという話です. *2 普通の実装の話 よくサンプルで出てくる,ある数列から平均値を求める処理は以下のようになっていると思います. また,おそらく普通のプログラマに平均値を求める処理を書かせても同様なコードを書くと思います.*3 double[] array = {...}; double sum = 0; for (int v : array) { sum += v; } double ave = sum / array.length;実はこれは精度が低く,実

    Streamの平均を求める処理が精度が高かった件(総和も) - きつねとJava!
    terazzo
    terazzo 2015/04/09
    KahanのKasan
  • JPA 2.1 の新機能 Entity Graphs まとめ - A Memorandum

    Entity Graphs とは Entity Graph の構成 Graph アノテーションと Graph API 簡単な利用例 Fetch Graph と Load Graph Attribute Node の定義 Subgraph の定義 Subgraph の複数参照 継承構造の Graph 定義 ルート継承構造の Graph Map Key Subgraphs タイプセーフな属性定義 Entity Graph の取得 名前付きの Entity Graph への追加 Entity Graph の利用 Entity Graphs とは JPA 2.1 では Entity Graph を使うことで fetch 計画を指定できるようになりました。これにより query や find で取得する対象ををカスタマイズできるようになります。同じ Entity から様々なデータの見せ方が必要で、時

    JPA 2.1 の新機能 Entity Graphs まとめ - A Memorandum
    terazzo
    terazzo 2015/03/14