WEB+DB PRESS の Vol.81 から JVM を中心とした連載を始めましたので是非買って下さい。 2014/6/24 発売です。書店には既に並んでいるかと思います。 これはアマゾンのアフィリエイトリンクですので、踏んだ直後に冷蔵庫等の大型家電を購入して頂けると僕が喜びます。 電子書籍版もありますので物理的な媒体に興味がない方は PDF を買って下さい。 WEB+DB PRESS Vol.81@Gihyo Digital Publishing初回の内容はラムダ式 + RxJava#今回の内容としては Java8 のラムダ式に関する簡単な説明から、ラムダ式を利用してRxJavaを使うとこんなに便利という話を書きました。 記事内で Stream API に関して説明しなかった最大の理由はラムダ式と Stream API に関する適切で妥当な説明については桜庭さんの記事を読めば良いと考
Javaが動く環境だけあればOKなWebサービスフレームワーク また新しいJavaのフレームワークかよ!と思ったのですが、 実際に少し使ってみると、いままでにない(自分が知らなかった)タイプのフレームワークでした。 今回は、(一部で)今年大ブレイクが予想されているらしい、「Dropwizard」というフレームワークの紹介をします。 Dropwizardは元々YammerのバックエンドWebサービスを提供するために作られたフレームワークだそうです。 このフレームワークが持つ基本的な機能は以下のとおりです。 組み込みWebサーバ(Jetty) JaxRSベースのRESTフレームワーク(Jersey) ORM Metricsを収集するためのライブラリや監視ツール 機能だけを見るとどこにでもあるようなフレームワークかと思いますが、 特徴的なのはこのフレームワークを使用したアプリのデプロイ方法です。
ある日、 id:cero-t がJJUGの重鎮たちと話している中で、とある宿題をもらいましたとさ。 「Java8のラムダの中で例外が発生したら、どうなるんだろう?」 こんにちは、アキバです。 もう皆さんはJava8を使ってみましたか? とりあえずインストールしてみた人! ・・はーい (おまえか という冗談はさておき、 今回は、id:cero-t に代わって私が冒頭のお題を調べてみました。 1. SerialStreamで動かしたラムダで例外が発生したら まずは、小手調べにシングルスレッドの場合を見てみましょう。 検査例外が発生するようなコードをラムダに書いてみると、コンパイルエラーになります。 こんなコードです。 try (BufferedWriter writer = Files.newBufferedWriter(Paths.get(W_FILENAME))) { // writer.
4/7に、LINEさんのオフィスで開催された「JVM Operation Casual Talks」。 一部で、Cassandra Casualだったのではないかという疑惑もありましたが、なかなかためになる話が多くて、あとできっと資料を見たくなる日が来そうなので、ちょっとまとめておこうと思う。 こちらもあわせて読みたい JVM Operation Casual Talks #jvmcasual - Togetter Understanding Memory Management of JavaVM in 15 minutes (@stanakaさん) https://speakerdeck.com/stanaka/understanding-memory-management-of-javavm-in-15-minutes @stanakaさん、どこでJVM使ってるのかと思ったら、今日は
今回から、具体的なJava SE 8の新機能について紹介していきます。はじめに紹介するのは、やはりJava SE 8の機能の中で最も注目されているProject Lambdaです。 とはいっても、Project Lambdaで策定している仕様を1回で紹介するには範囲が広過ぎます。そこで、今回はProject Lambdaの中で、最も基本的な部分であるラムダ式を中心に紹介していきます。 Project Lambdaの成り立ち 前回、紹介したようにJava SE 7のリリースが遅れた要因の1つに、Project Lambdaがあります。 Project Lambdaの成り立ちについては、本連載の2010年3月の「クロージャからProject Lambdaへ」で言及しました。しかし、それから随分時間が経ってしまいましたし、その後もやはり紆余曲折あったので、改めてここでまとめてみましょう。 Pro
“Stop the World”を防ぐコンカレントGCとは?:現場から学ぶWebアプリ開発のトラブルハック(2)(1/2 ページ) 本連載は、現場でのエンジニアの経験から得られた、APサーバをベースとしたWebアプリ開発における注意点やノウハウについて解説するハック集である。現在起きているトラブルの解決や、今後の開発の参考として大いに活用していただきたい。(編集部) Full GC問題の時代が再び到来! それまで順調に動いていたはずのWebアプリケーションが、ある時突然、応答を返さなくなる。そして、運用者があたふたしている間に、何事もなかったかのように再び動き出す。 Javaで構築したシステムにかかわる者ならば誰しもが体験するであろう事象、そうFull GC(ガベージ・コレクション)だ。Full GCが行われている間、すべてのアプリケーションスレッドは停止する。この事象は“Stop the
こんにちは。kimukimuです。 昨日はクリスマスイブでしたが、皆さんはどのように過ごされたでしょうか? 私はケーキは買う派ではなく、自分で作る派です。……まぁ、食べるのも自分なのですが…… クリスマスはさておき、今日はKinesisとStormに関する内容です。 AWS re:Invent 2013 で 発表されたAmazon Kinesis が12/17にPublic Betaになり一般公開されましたね! 以下のように、KinesisはStormのコネクタを含んでいる、ということなので、さっそく試してみましょう。 Kinesis does include a connector for porting data to Storm, which AWS General Manager for Data Science Matt Wood said is a possibility in
MessageDigestは、ある入力に対して一方向のハッシュ値を計算するためのアルゴリズム(ハッシュ関数)のことです。 任意の文字列から固定長のハッシュ値を生成することが可能となります。 実際の利用シーンとしては、認証の際の電子署名や、ファイルの改ざんや破損チェックにチェックサムとして利用されたりしています。 Javaで利用可能なMessageDigestのアルゴリズムを調べるには、以下のようなコードで確認が可能となっている。 ソースコード Set<String> algorithms = Security.getAlgorithms("MessageDigest"); for (String algorithm : algorithms) { System.out.println(algorithm); } 出力結果(JDK1.6) SHA-256 SHA-512 SHA SHA-38
JavaでPDFを生成する場合、こういった方法や、http://allabout.co.jp/gm/gc/80691/ こういった方法http://www.atmarkit.co.jp/fjava/javatips/121jspservlet41.html がある。しかし、どちらも低レベル過ぎて、美しいビジネス文書や帳票を出力するにはワープロを作るくらいの気合が必要となる。 手っ取り早いのは、ExcelやWordの文書をApache POI経由で編集し、そいつをPDFにして出力出来れば、美しいPDFが任意のテンプレートで作れるというプランである。 最近のOfficeならPDF出力をできるので、もしMSマンセーな組織なら、Windowsサーバ上でExcelを常駐させて、COMなんちゃらを利用して実現するのが良いと思う。しかし僕はJava屋だ。サーバはLinuxが好きだ。というわけで、今回は、
OrangeSignal CSV とは OrangeSignal CSV は CSV 入出力操作を簡易化させる高機能で便利な Java プラットフォーム向けの CSV ライブラリを提供します。 OrangeSignal CSV はパワフルであらゆるシチュエーションにマッチ可能な OSS (オープンソース・ソフトウェア) の CSV ライブラリです。 機能・特徴 区切り文字、囲み文字、エスケープ文字など CSV 形式を詳細に設定可能 (CsvConfig) 区切り文字、囲み文字、エスケープ文字やその他もろもろの CSV 形式に関する設定が可能です。 設定可能な項目は以下の通りです。 区切り文字 囲み文字 (無効化も可) エスケープ文字 (無効化も可) 項目値内の改行置換文字列 NULL 文字列 (大文字・小文字を区別する/しないの指定も可) 項目値前のホワイトスペースを除去 項目値後ろのホワ
IntelliJ IDEAでJavaのstatic import文に関する効率化設定をLive Templateで実現する - Shinya’s Daily Report Re: IntelliJ IDEAでJavaのstatic import文に関する効率化設定をLive Templateで実現する - marsのメモ mike、mikeなるままに…: IntelliJ IDEAでassertThatをimport staticする一番ひどい手段 消してしまいそうなので、Evernoteに書いてた内容を転記(少し内容いじってます)。 Junit関連のstatic importは常に「*」でimportするようにする Code Style -> Java -> ImportsのPackages to Use Import with '*'を以下にように設定する。 Live Template
Javaプログラマのみなさんは、Javaは型推論がないから変数の型指定をしなくていけなくてダサい、などとイジメられた経験があると思います。 おかあさんに型推論をねだるとGroovyをわたされたり、おとうさんに型推論をねだるとScalaがやってきたり、プレステが欲しいって言ったのにWiiやXboxを買い渡される感を味わった人も多いのではないでしょうか。 そんな良い子のJavaプログラマのために、今年はサンタが素敵なプレゼントを持ってきてくれましたよ。 同じ型を書くのがダサい たとえばウィンドウを出してボタンを押したらメッセージが表示されるサンプルを書くとこんな感じになりますね。 public static void main(String... args){ JFrame f = new JFrame("テスト"); JButton b = new JButton("押して"); JText
昨日、こちらののブログで見かけた、こんなエントリ。 JDOM2でXMLファイルを出力してみる http://kikutaro777.hatenablog.com/entry/2013/09/04/215134 JavaでXMLを出力する方法を探されていたようなのですが、使われていたライブラリがJDOMだったので、思わずTwitterでいろいろつぶやいてしまいました。 JDOMは、JavaにおけるDOMの代替ですが、自分はJDOMがまだβ版の頃から使っていた、なおかつJavaのライブラリで初めて扱ったものだったので非常に感慨深く…ハイ。 で、せっかくなので「JavaでXMLを出力する」という方法について、普段自分が使う方法を3つほど挙げたいと思います。 今回は、元のブログで目標とされている、 <?xml version="1.0" encoding="UTF-8"?> <Product> <
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く