タグ

javaに関するYamashiro0217のブックマーク (151)

  • Vert.x がいいね!(第4回:テストする) - Taste of Tech Topics

    id:KenichiroMurata(@muraken720 )です。 皆さん、Vert.x 使っていますか? 私は先日(11/9)開催された JJUG CCC 2013 Fallに参加し、「Over the Node.js. An Introduction to Vert.x」というタイトルで発表させて頂きました。 内容はこの「Vert.x がいいね!」の第1回〜第3回で紹介した内容をベースとして、現在の最新バージョンであるVert.x 2.1Mの新機能の紹介、node.jsで開発したfront-endとvert.xアプリケーションをeventbusでつなぐためのnpmモジュール、vertx-eventbus-clientなどを紹介しています。スライドは以下にありますので、興味のある方はぜひご覧下さい。 An Introduction to Vert.x from Acroquest T

    Vert.x がいいね!(第4回:テストする) - Taste of Tech Topics
  • JUnitのカスタムアサーションを簡単に実装できるcmtest | DevelopersIO

    渡辺です。 先日、「JUnitのオブジェクト等価比較を怠けたい!」というスライドが公開されました。「オブジェクトのカスタムアサーションをどのように実現するか」という問題は、ユニットテストを実践していくとよく発生します。この問題に関して、先日のJJUG CCCでも相談されました。また、簡単に書ける仕組みは共有した方が良いのですよね。そんなわけで、cmtestというライブラリにまとめましたので紹介したいと思います。 Objectクラスのequalsメソッド Javaではオブジェクト同士の比較にはObjectクラスのequalsメソッドを利用することが定石です。これはユニットテストのアサーションでも同様です。テストした結果に作られる実測値と、テストの期待値を比較する時、通常はequalsメソッドを利用します。equalsメソッドを使った比較を行うのであれば、定番のassertThat構文を利用で

    JUnitのカスタムアサーションを簡単に実装できるcmtest | DevelopersIO
  • 今どきのJava Webフレームワークってどうなってるの? - きしだのHatena

    昨日のSeasar2のエントリについたコメントなどで、「とはいえ代わりに何つかうの?」みたいな話が出てたので、とりあえずJava EEのWebフレームワークについて簡単にまとめてみます。 Java SE 8+Java EE 7+lombokで書いていますが、基的なところはJava SE 7+Java EE 6でも大丈夫です。 なので、今どきとは書いてますが、基的には2009年12月のJava EE 6ということで、実はすでに4年近くたってます。 何も考えてない なんも難しいこと考えないなら、やっぱJSPが楽ですよね。 なんでも書けちゃう。 <%@page contentType="text/html" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content=

    今どきのJava Webフレームワークってどうなってるの? - きしだのHatena
  • fastutil

    fastutil: Fast & compact type-specific collections for Java™ Introduction fastutil extends the Java™ Collections Framework by providing type-specific maps, sets, lists and queues with a small memory footprint and fast access and insertion; provides also big (64-bit) arrays, sets and lists, and fast, practical I/O classes for binary and text files. It is free software distributed under the Apache L

  • 勢いで、ScalaFXとGroovyFX - CLOVER🍀

    夏休み前の小ネタ、第2弾。 今日、やたら目にしたこちらを見て。 RubyGUIアプリを作るならJRuby+JavaFX+Rawrで決まり! http://blog.supermomonga.com/articles/jruby/javafx-rawr.html ScalaとGroovyで、JavaFXを使って同じようなことをやっていました。 あ、最初に注意事項。 ScalaFX、GroovyFXはおろか、JavaFXも触ったことない人が書いてます あくまで、「同じ画面が出るまで」のところをやっただけで、exeファイル化とかは一切ノータッチです とはいえ、少しだけJavaFXに興味はあったので、勢いでマネしてみました。名前を先に出しちゃいましたけど、ScalaFXとGroovyFXで。 ScalaFX http://code.google.com/p/scalafx/ GroovyFX h

    勢いで、ScalaFXとGroovyFX - CLOVER🍀
  • 『Javaではじめるakka入門』

    はじめまして。 ブロググループ所属の見原と申します。 今回は先日担当した案件で利用した、akkaを紹介させていただきます。 はじめにakkaはtypesafeが提供する、イベント駆動の分散並列型アプリケーションフレームワークです。 並列処理が簡単に記述出来るほか、複数のマシンを用いた分散処理の実現、 「let it crash」という設計思想に基づいたロジックとリカバリ処理の分離などが特徴です。 akkaのサンプルはscalaが多いのですが、今回はjavaで説明していきます。 まずはMavenを利用したアプリケーションを作成します。 akkaを利用するため、以下をpom.xmlに記載します。 <repositories> <repository> <id>typesafe</id> <name>Typesafe Repository</name> <url>http://repo.type

    『Javaではじめるakka入門』
  • 第5回 Spring環境におけるDBアクセス(2) 〜 Spring Data篇 | DevelopersIO

    よく訓練されたアップル信者、都元です。前回は散々説明しといて「こんなの使わないッスよね(クッチャクッチャ」っていう酷いオチでごめんなさいごめんなさい。えっと、今回が命です。これが、私が日常的に使ってるデータアクセスの仕組みです。間違いねえっす。 ただし、前回の最後の注釈でも指摘した通り、便利で高水準なAPIは黒魔術的要素が強くなります。APIの水準と裏側の見通し *1はトレードオフですので、プロジェクトメンバーのスキル等も勘案しつつ、慎重な選択が必要なところかと思います。連載の読者の皆様は基的にSpringを学び始めて間もないと思っていますので、今まではSpringの中でもそこそこ見通しの良い(まだ魔術とは言えないような)機能を中心にご紹介してきました。一方、今回は比較的黒いです。なので今回はこのエントリを通じて、Spring Dataの高水準のデータアクセスAPIを学ぶだけではなく

    第5回 Spring環境におけるDBアクセス(2) 〜 Spring Data篇 | DevelopersIO
  • Java8日付時刻APIの使いづらさと凄さ - きしだのHatena

    いままでのJavaでは、日付時刻を扱おうとするとめんどくさい割に非常に低機能でした。 Java8では、新たに日付時刻APIが導入され、めんどくささが増しつつ非常に高機能になりました。 (以降、Java8で導入された日付時刻APIを単に「日付時刻API」と表します) もちろん、慣れてきて、ちょっとしたサポートメソッドを用意してやれば、結構使いやすいのですが、それは「このAPIは使いやすい」という評価にはなりません。 つまり日付時刻APIは、慣れないとぜんぜんわからないし、サポートメソッドがないと面倒なコードが必要ということです。 いろいろあってよくわからない 日付時刻では、時点を扱うInstantや期間を扱うPeriod、時間量をあらわすDurationなど多くのクラス・インタフェースが導入されています。 これらは、IDEの補完でAPIを探りながら機能を推測すれば、それなりにドキュメントなし

    Java8日付時刻APIの使いづらさと凄さ - きしだのHatena
    Yamashiro0217
    Yamashiro0217 2013/09/17
    なんていうか…互換性維持したり、高機能なものと、同時に、さっくり実装できるようなライブラリも欲しいですね。
  • Javaのデータベースマイグレーションツール「Flyway」 #JJUG : ryu22eBlog跡地

    2012年12月07日 Javaのデータベースマイグレーションツール「Flyway」 #JJUG Java Advent Calendar 2012 7日目です。 昨日は@megascusさんの「Java Bug Database 参照していますか?」でした。 先日、弊社サービスにJavaのデータベースマイグレーションツール「Flyway」を導入してみたところ、なかなか便利だったので紹介します。 事前準備 まず、マイグレーションの対象になるデータベースを用意します。 このエントリーでは、MySQL 5.5.28を使っています。 CREATE DATABASE flywayexample DEFAULT CHARACTER SET UTF8; Flywayをプロジェクトに組み込む ドキュメントによるとFlywayを利用するには以下の3つの手段があるようです。 Maven Plugin Com

    Javaのデータベースマイグレーションツール「Flyway」 #JJUG : ryu22eBlog跡地
  • 軽量なTime-based ID生成器”shakeflake(仮称)”について | SmartNews開発者ブログ

    大平です。今回はさだまさしネタは特に無しです。 先日、サービスのクローラーで使用しているID生成器について置き換えを行いました。非常に地味な話になりますが、記事ではその辺の内幕の話をしたいと思います。  ID生成にまつわる苦悩 弊社ゴクロの提供しているSmartNewsは表向きはニュースアプリですが、裏側の仕組みは検索エンジンに近似しています。ユーザーの方々の興味関心や、アクセス傾向をクエリーとし、その内容に応じた話題のニュースを検索結果として返却する、という風に捉えていただくと、なんとなく私が言わんとしている事を想像していただけるかと思います。 SmartNewsはTwitterのつぶやき情報を用いたトレンド分析をベースとしており、話題になっているニュースを選定するためには、大量のTwitter上のtweet、ならびにその中に含まれているURLに対してクロールを行う必要があります。日々

  • ScalaとLombokを比べた場合のメリットとデメリット - xuwei-k's blog

    最近いくつかlombokが話題になってた lombokで快適Java生活 サイバーエージェント公式エンジニアブログ JavaでIDEのアクセッサ生成よりlombokを使ったほうがいい理由 Java特有の冗長なコードを簡潔に記述する「Lombok」 codezine ので、twitterなどでは何度かつぶやいた私見を、改めてblogにも書いておこうかと思います。Scalaもlombokも好きなので、ある意味「Scala使えばいいじゃん」という単純な意見に対する反論でもあります。 lombok自体のそれぞれの細かい機能の紹介は、先ほど上げたリンク先で既に語られてるのでしません。 lombokがScalaに比べて優れている点 IDEの恩恵 (自分はeclipseである程度やっていましたが)ほぼ素のJavaを書いているときと同じくらいの快適さです。対して、Scalaでは、IDEAだろうがeclip

    ScalaとLombokを比べた場合のメリットとデメリット - xuwei-k's blog
  • Java特有の冗長なコードを簡潔に記述する「Lombok」

    Javaは言語仕様上の制約により、ボイラープレートコード(自明だが省略できないお決まりのコード断片)がいくつかあります。例えば、メンバ変数を読み書きするだけのgetterメソッドやsetterメソッドがこれにあたります。Lombokを使えば、これらJava特有の冗長なコードを、見やすく簡潔なものにすることができます。記事ではLombokを利用して、ボイラープレートコードをシンプルに記述する方法について解説します。 はじめに 今やJava開発に必要不可欠となったものの一つに、IDEの存在があります。例えばEclipseではメンバ変数さえ定義すれば、getter/setterの自動生成や、equalsメソッドやhashCodeメソッド、toStringメソッドなどの自動生成などさまざまな場面でコーディングを強力にサポートしてくれます。 これは大変便利な機能ですが、裏を返せばJavaの言語仕様

    Java特有の冗長なコードを簡潔に記述する「Lombok」
  • Vagrant + Chef で Java Web アプリケーション開発環境を作る

    Vagrant + Chef で Java Web アプリケーション開発環境を作る2013年8月09日とあるプロジェクトのために Vagrant + Chef で Java Web アプリケーションの開発環境を作った。 実現すること git clone -> vagrant up -> gradle war により、ゲスト OS でアプリケーションが動く状態にします。 vagrant up 時に chef-solo によりサーバを構成する gradle war で Tomcat にデプロイする (以後同じ方法で再デプロイ) アプリケーション起動時に FlywayDB でマイグレーションする プロジェクトの構成 git リポジトリの構成は以下の通り。 app は Java の Web アプリケーションプロジェクト。server は Vagrantfile と chef のリポジトリ。 開発を

    Vagrant + Chef で Java Web アプリケーション開発環境を作る
  • JavaのDBマイグレーションツールを試してみた

    kzhirataです。蒸し暑い日が続いていますね。 最近、社内で「継続的デリバリー」の読書会をやっています。 AWSなど簡単・迅速にインフラを調達できる時代になり、デプロイメントパイプラインを早い段階で構築することができる環境が整ったんだなぁと改めて実感します。 デプロイメントパイプラインを作るために欠かせないことの1つが、DBの構成管理です。 以前DBの構成管理をしていなかったために、リリース作業自体に時間がかかったり、リリースバグを出したことのある人も多いのではないでしょうか。(私も経験してます...) 今回は、JavaDBマイグレーションツールを2つ試してみました。 FlywayとLiquibaseです。すでに、ここにFlywayとLiquibaseの比較記事がありますが、自分の感想を書きます。 1. インストール・環境構築について FlywayとLiquibaseもインストールの

    JavaのDBマイグレーションツールを試してみた
  • JMS 2.0の新機能

    待ち望まれていたJava EE 7がついに、JMS 2.0とともにリリースされた。これは10年以上使われてきたJMSに対する最初のアップグレードになる。 最新のJMS仕様で最も注目すべきところは、Oracleが"Simplified" APIと呼んでいるスリムな表現だ。たとえば、メッセージを送受信するための新しいAPIを使うことで、多くのボイラープレートコードを取り除くことができ、必要なコード量を劇的に削減することができる。アプリケーションサーバで動かしているなら、新しいAPIはリソースインジェクションをサポートしている。アプリケーションサーバはJMSオブジェクトを管理できるようになり、アプリケーションはさらにシンプルになる。 フレームワークは完全に後方互換性があり、レガシーコードを使い続けたまま、新規コードにSimplified APIを使うことができる。古いAPIが非サポートになる予定

    JMS 2.0の新機能
  • 文字列でswitchするときはif-else switchイデオムを使うほうが安全 - きしだのHatena

    Java SE 7から、switch構文で文字列が使えるようになりました。 public void hoge(String s){ switch(s){ case "a": System.out.println("AA"); break; case "b": System.out.println("BB"); break; default: System.out.println("Other"); } } ところが、残念なことに、sがnullの場合はdefaultには飛ばず、ぬるぽが発生します。 そこで、null判定は事前にif文で行うことになるので、次のようなif-else switchイデオムを使うと便利です。 if(s == null){ System.out.println("Null!"); }else switch(s){ case "a": System.out.printl

    文字列でswitchするときはif-else switchイデオムを使うほうが安全 - きしだのHatena
    Yamashiro0217
    Yamashiro0217 2013/04/30
    確かにこの書き方のがいいね
  • Jenv Portal

    What is jenv? jenv is Java environment manager, and it is a clone of RVM for Java. jenv can manage parallel versions of Java development kits on any Unix based system. It provides a convenient command line interface for installing, switching, removing and listing Candidates. Why jenv? Easy to manage Java version, such as 1.6, 1.7, 1.8 and 1.9 Easy to install Java tools, such as Ant, Maven, Tomcat

  • guava-libraries - Project Hosting on Google Code

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    guava-libraries - Project Hosting on Google Code
  • Apache Shiro | Simple. Java. Security.

    Apache Shiro™ is a powerful and easy-to-use Java security framework that performs authentication, authorization, cryptography, and session management. With Shiro’s easy-to-understand API, you can quickly and easily secure any application – from the smallest mobile applications to the largest web and enterprise applications.

  • IT news, careers, business technology, reviews

    The rise of synthetic media: Get ready for AI avatars at work

    IT news, careers, business technology, reviews