Built by EngineeringX - an independent collective of hundreds of CTOs and VPs of Engineering
Java Day Tokyo 2015で、NECのJava SEバージョンアップでのトラブルの話が面白かった。 Java EEアプリケーションサーバの開発現場で見たJava SEの実際 資料はこちらで公開されてるので、資料に書かれてることはそちら参照という感じで、どんな話だったか書いてみます。 Java Day Tokyo 2015 アプリケーションサーバーを提供する中でJava SEをバージョンアップしたときに出て来たさまざまなトラブルの話と、Java SE 8から導入されたMetaspaceの話が主でした。 Java EEは機能が標準化されているので、アプリケーションサーバーはカスタマーサポートで差別化をはかるしかない、顧客から見ると、Java SEやOSまで全て含めてアプリケーションサーバーなので、全部対応していく、という話をされていました。 Javaにもそれなりにバグはあって、アプ
テキストデータを読み込む場合、言語にかかわらず1行ずつ読み込んで処理します。ここではこのイディオムを"read-lines"と呼ぶことにします。 スクリプト言語なんかだと大抵、最初からforeachで済んでしまっていたりしますが、初期のJavaではちょっと面倒な手順が必要でした。 新しいバージョンではだいぶ簡単簡潔に書けるようになりましたが、今度はたくさんありすぎて、どれがなんなのかが良くわからなくなっています(大袈裟)。 そこで今回は、"read-lines"の変遷についてまとめてみました。 最近Javaを始めた方がバージョンが古い時に書かれたソースコードを読むときに役に立つ...かも知れません。 目次 基本 BufferedReader (Java1.1~) Scannerと拡張for文 (Java5~) java.nio.file.Filesとtry-with-resources(J
About Ozark is the reference implementation for the Model-View-Controller API 1.0 defined in JSR 371. MVC will provide an action-oriented alternative to JSF which is, by design, component oriented. In an action-oriented framework, developers are responsible for all the controller logic and are given full control of the URI space for their application. For more information on action-oriented vs. co
Business-ready architecture. Work with an open source leader. Try Payara Enterprise Enterprise Payara Server Enterprise Payara Micro Enterprise How Payara Enterprise is Developed Payara vs Competition Enterprise vs Community Our Customers Our Partners Consultancy FAQs Contact UsMigration GlassFish to Payara Server Migration JBoss EAP to Payara Server Migration WebLogic to Payara Server Migration W
https://github.com/javaparser/javaparser javaparser は Java をパースして AST にしてくれるライブラリである。 この手のライブラリは数多あるのだが、ほとんどのものが Java 1.5 ぐらいでメンテナンスが止まっている。 実際このライブラリもメンテナンスが止まっていたのだが、Java 1.8 対応版とし開発が再開されたものだ。 このライブラリはパーサーライブラリであるから、文字列をパースして AST を構築してくれるというものになっている。 実際どのような AST が構築されるのかが気になるところなので、構築された AST をダンプできるツールを groovy で書いた。 #!/usr/bin/env groovy @Grab('com.github.javaparser:javaparser-core:2.1.0') impor
表記の件について、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(
はじめに 先日、私たちが開発しているクラウド型WAFサービス、Scutum(スキュータム)において、予想していなかった箇所の修正によってサーバの負荷が大幅に減るということがありました。原因はこのエントリのタイトルにもあるように、Stringクラスのインスタンスを生成する際の方法にありました。 Stringクラスのコンストラクタとcharset Stringクラスにはいくつかのコンストラクタが用意されています。我々が使っていたのはString(byte[] bytes, String charsetName)です。2つめの引数で、"MS932"や"UTF-8"のような文字集合(以下charset)を明示的に指定するものです。 ScutumのようなWAF(Web Application Firewall)は通常のウェブアプリケーションとは異なり、起動している間にさまざまなcharsetを扱うこ
The Grinder is a JavaTM load testing framework that makes it easy to run a distributed test using many load injector machines. It is freely available under a BSD-style open-source license. The latest news, downloads, and mailing list archives can be found on SourceForge.net. Key features Generic Approach Load test anything that has a Java API. This includes common cases such as HTTP web servers, S
この記事の想定読者 Struts 1.xの代替技術を模索している方 Java EEという言葉は知っているが、中身はあまり知らないという方 Java EEってそもそも何?という方 今回は、「そもそもJava EEって何?」「なぜJava EEが注目されているの?」ということを解説するとともに、Java EE 8で導入される「MVC 1.0」を利用して、Java EEの技術で簡単な検索Webアプリの開発する方法を解説します。 MVC 1.0について 先日、2本の記事を書きましたので、こちらをご覧ください。 MVC 1.0(Java EE 8)をとりあえず動かしてみた - Java EE 事始め! JSR 371(MVC 1.0)Early Draftリリース&簡単に解説。 - Java EE 事始め! これまでのJavaによる開発 これまで、Javaでシステム開発を行う際には、複数のオープンソ
Java 界隈には OSGi といういかついダイナミックモジュールシステムがあるのですけども、これは解決しようとしている問題の量が非常に多いのでちょっとしたものを作るために使おうとすると非常に辛い。 そもそも、アプリケーションのブートストラップ部分から全部 OSGi ベースで作りこまないと良い感じに動いてくれません。 そこで、OSGi を前提としたアーキテクチャ設計が必要になるのですけども、ちょっと便利なツール作りたいだけなのに膨大な時間をかけて OSGi を勉強するかと言われると、しませんよね。 という訳で、Java において簡易的なプラグインシステムを Guice で作ってみましょうという話です。 尚、Spring 界隈で実現する方法については@makingさんのエントリをどうぞ。 DI コンテナで実現する簡易プラグイン機構コードの場所#必要に応じてエントリ内にコードはありますが、実際
本書の翻訳者の一人である@cero_tより献本頂きました、ありがとうございます。というわけで一週間かけて読んでみた。 www.amazon.co.jp 今現在 Java で開発している人、特に運用者や試験者は間違いなく買っておくべき本です。Javaに限らない一般的なパフォーマンスチューニングの考え方・観点から、Java アプリケーションにおいてボトルネックになりやすい GC や JIT の詳細な確認方法からチューニング方法が解説されている。特にすごいのが Java の世界のみならず、OS の世界まで触れている点。流石に OS の世界はここに書かれているのが全てではないけれど、Java アプリに関わる部分で問題になりやすい点は割と触れている。 JDK8 にも対応しており、今現在手に入る情報としては一番頼もしいと思う。4000 円程度でこの知識量が手に入るなら非常に安い。 お勧めの読み方 個人
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 など具体的で、わかりやすい。結構手間かかってるな、という印象
2015/04/11に開催されたJJUG CCC 2015 SpringのタイムテーブルAB4にて発表した「クリスマスを支える俺たちとJava」の資料です。 --- AB-4 クリスマスを支える俺たちとJava 阪田 浩一 (フリュー株式会社/関西Javaエンジニアの会) プリントシール機が、話題になった10年以上前のころと変わらず若い女性に利用されていることをご存知でしょうか? 私が所属するフリュー株式会社は、プリントシール機(プリ機)を出している会社です。そしてWebにてプリ機と連動して画像を取得するサービスを提供しています。実はこのサービス、会員数が1000万人を超えており、女性で特定の年齢層であれば90%以上の方が会員となっています。 JavaとRDBMS、分散ファイルシステムMogileFSにて構築したこの少し古いWebアプリケーションは、当初ここまでの規模になるとは想定していま
Java8で新たに追加されたクラスにjava.util.Optionalがあります。 Optionalを使用することで、プログラムの堅牢性を高めたり、煩雑な記述を減らすことが期待されます。 Optionalとは? Optionalは値をラップし、 その値がnullかもしれない ことを表現するクラスです。 使い方 メソッドgetHoge()はnullを返す場合があるとします。 これまでなら次のような感じでnullチェックをしていたと思います。 String hoge = getHoge(); // hogeはnullかも if (hoge != null) { // nullチェック System.out.println(hoge.length()); // hogeがnullじゃないのでlengthメソッドを呼ぶ } nullかもしれない変数hogeのメソッドを呼ぶ場合、事前にnullチェ
2月1日からLINE Fukuoka株式会社というところで会社員をやっております。 ということで、JJUG CCC 2015 Springのスポンサーをやらせてもらって、スポンサーセッションで登壇してきました。 だれも教えてくれないJavaの世界。 あと、ぼくが会社員になったわけ。 from なおき きしだ ※4/15 15:41追記 P37の「近所の定食屋」は今週値上げして490円になりました 内容としては、Javaエンジニア養成読本の記事をベースに、Javaの歴史について、技術トレンドや経済的な情勢、そしてハードウェアの事情から捉えてみて、いろいろな流れのなかで影響を受けてきたことを示しつつ、コミュニティがどう変遷してきたか、個人的にこの先をどう考えて動いてたかってのを、ふんわりと説明したかった感じです。 ということで、タイトルにある「誰も教えてくれないJavaの世界」というのは、そう
Transparent persistence. Powerful querying. Use the API your prefer, to a very wide range of datastores. The most standards-compliant Java persistence product. Open Source software, under the Apache 2 license. Persisting Java objects is now easy. Choose your Datastore from a very wide range! Providing access to industry leading RDBMS, map stores such as Cassandra and HBase, the Neo4j graph store,
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く