第3回 #渋谷Java の発表資料です。ランダムに振る舞う機能を、どのように JUnit でテストできるようにするかを記載しています。 http://atnd.org/events/42501
Biz Stone called it “one of the most special days in the history of Twitter.” And as it turned out, it was also a notable day for Java, a relic of the 1990s that is once again remaking the internet. In the summer of 2010, Russian President Dmitry Medvedev visited Twitter headquarters in downtown San […] Raffi Krikorian, vice president of engineering at Twitter.Photo: WIRED/Alex Washburn Biz Stone
ライブドアブログの PSGI 化の話 は良いはなしだと思う。一方で、私はあんまり Perl が好きじゃないので、10年にわたって生き続けた Perl アプリケーションが、次の10年にむけてアップをはじめているのは、ちょっとしたホラーでもある。 Twitter と Ruby と JVM ライブドアブログが、将来に向けて mod_perl から PSGI + Starlet にかえたように、将来に向けてプログラミング言語をかえる人達も存在する。最近の事例で有名なのは、Twitter の Ruby から JVM 言語群への移行だろう。 OSCON Java 2011 の Twitter: From Ruby on Rails to the JVM では、JVM への移行に至った理由として Ability to handle server workloads A real concurrency
Notice The link you requested or were directed to is https://openliberty.io/ You are now leaving the IBM Web site. IBM makes no representations or warranties about any other Web site which you may access through this one. When you access non-IBM Web sites, even though they might contain the IBM logo and content regarding IBM's products and services, such Web sites are independent of IBM and IBM ha
Notice The link you requested or were directed to is https://openliberty.io/docs You are now leaving the IBM Web site. IBM makes no representations or warranties about any other Web site which you may access through this one. When you access non-IBM Web sites, even though they might contain the IBM logo and content regarding IBM's products and services, such Web sites are independent of IBM and IB
Simon Maple氏による、「CON4117:The Adventurous Developer's Guide to Application Servers」のレポートです。 とりあえず中身の前に外見の感想 いきなり映画のオープニング風味のムービーで始まった本セッション。 会場からアンケートをとってその場で棒グラフが書かれる会場参加型(?)で楽しかったです。 演出面では今回聞いたセッションの中で一番かも。 内容は仁義無きApplication Server Buttle! Application ServerをMaple氏独自に比較していくセッションです。出場は、Tomcat、Jetty、GlassFish、Liberty Profile、JBoss。の5者。(+WebSphereとWebLogicが最後に一瞬だけdisられに登場) なお自分の経験は Tomcat ⇒ いつもお世話に
Full GCを任意のタイミングで実行させ、負荷の高い処理に備えておくという戦略を取りたい時がたまにあります。基本的にはチューニングで解決すべきですが、緊急or暫定策の備忘録として。 jmap -histo:live <pid> LinuxはJDK5から、WindowsはJDK6から利用可能。生存中のオブジェクトのみ抽出したメモリーマップを作成するために、直前にFull GCを実行するのでこれを利用する。 対象のJavaプロセスを実行しているユーザで実行する必要があるので注意。 jcmd <pid> GC.heap_dump <output_filename> Linux、WindowsともにJDK7から。これも上のjmap -histo:live と同じく、生存中のオブジェクトのみ抽出するためにFull GCを実行する。これもJavaプロセス実行ユーザと同じユーザで実行する。 Full
よく訓練されたアップル信者、都元です。前回は散々説明しといて「こんなの使わないッスよね(クッチャクッチャ」っていう酷いオチでごめんなさいごめんなさい。えっと、今回が本命です。これが、私が日常的に使ってるデータアクセスの仕組みです。間違いねえっす。 ただし、前回の最後の注釈でも指摘した通り、便利で高水準なAPIは黒魔術的要素が強くなります。APIの水準と裏側の見通し *1はトレードオフですので、プロジェクトメンバーのスキル等も勘案しつつ、慎重な選択が必要なところかと思います。本連載の読者の皆様は基本的にSpringを学び始めて間もないと思っていますので、今まではSpringの中でもそこそこ見通しの良い(まだ魔術とは言えないような)機能を中心にご紹介してきました。一方、今回は比較的黒いです。なので今回はこのエントリを通じて、Spring Dataの高水準のデータアクセスAPIを学ぶだけではなく
横浜Android and モバイルOS プラットフォーム部で発表した資料です。 資料はAndroidアプリ開発者をターゲットにまとめました。OutofMemoryErrorの発生原理とメモリ管理について最新事情を加味してまとめました(新版、なのはAndroid 1.xのころの発表が古いのにまだ参照されていたりで、さすがに最新事情に合わせて更新したかったのです)。 Androidアプリにおけるメモリ事情は(初期に比べたら)改善していますが、OpenCVなど画像処理の需要、高解像度対応を踏まえると依然として十分とは言いがたいユースケースもあります。そんな中でメモリ資源をうまく使うための指標となれば幸いです。 資料にもある通り書きかけの状態ですのでコメントやmentionなど「こんな情報があるから書き加えて」「ここ調べて」「こういうのがおすすめ」「ここ間違えてる!」というご意見いただければ嬉し
JavaOne2012でセッションを聞いてから、ずーっとさぼっていたがやっと調べた。 Batch Applications for the Java Platform (JSR352) Javaバッチフレームワークの標準仕様がJava EE 7に向けて策定が進められている。 Spring Batchをベースに策定され、現在のステータスはPublic Reviewが終わった段階。上半期中には最終仕様が出てくると思う。詳細についてはJCPのページから確認できる。 なぜJavaでバッチ? バッチというと、COBOLとか汎用機とかベテランとかそんな言葉が思い浮かぶが、やはり同じ開発プロジェクトでオンラインとバッチを両方開発するとき、プログラミング言語が変わるとメンバも変わってきて、コミュニケーションにも影響してくるからではないだろうか。 『プログラミング言語は適材適所』という考え方ももちろんあると
public class Server extends VerticleBase { public Future<?> start() { return vertx.createHttpServer() .requestHandler(req -> req.response() .putHeader("content-type", "text/plain") .end("Hello from Vert.x!") ) .listen(8080); } } class Server : VerticleBase() { override fun start(): Future<*> { return vertx.createHttpServer() .requestHandler { req -> req.response() .putHeader("content-type", "text/
JavaでHTTP通信をやろうとすると、必ずと言っていいほど登場する、Apache HttpClient4(以前は、Jakarta Commons HttpClient3)ですが、これでちょっとハマっていた事象を見かけたので、軽くメモを。 あ、その時に使われていたのは、Jakarta Commons HttpClient3の方です。んで、ソケットのクローズ漏れでハマってました。 これ、チュートリアルだけを信じて実装すると、ハマるんですよねぇ…。 http://hc.apache.org/httpclient-3.x/tutorial.html チュートリアルの中に // Release the connection. method.releaseConnection(); みたいなことが書いてあって、いかにもコネクションをクローズしてくれそうな雰囲気がありますが、これは意味が違います。Ht
Our company recently upgraded from Windows XP to Windows 7 Enterprise. The JDK installation is no longer setting user.home to the full path of the user directory, but instead is setting user.home to %userprofile%. This is causing a lot of issues with applications such as Eclipse, Maven, etc. I now have to set -Duser.home in the JVM for each application. Has anyone else experienced this? Is there a
あるアプリケーションの作業にとって、スループットは最も重要なターゲットです。1つ例を挙げると、長時間実行されるバッチ処理のジョブです。ガベージコレクションが実行されている間、バッチジョブが時々1、2秒止まっても、ジョブ全体がすぐに完了すれば問題ありません。 人間が直接対話するアプリケーションから金融取引システムまで、実質的な他のすべての作業では、システムが1、2秒か、数ミリ秒以上反応しない場合、大変なことになり得ます。金融取引では、しばしば一貫した停止時間と引き換えに、スループットを犠牲にするだけの価値はあります。物理的に利用可能なメモリ量によって制限されるアプリケーションを持ったり、footprintを維持しなければならなかったりすることもあります。そのような場合、停止時間とスループットの面の両方で、パフォーマンスをあきらめなければなりません。 以下のトレードオフは度々起こります。 大部
ハリーポッターのエマワトソンが好きなのでEMMAと迷ったのですが、テストのカバレッジツールはCobertunaを利用することにしました(^^; で、mavenのpom.xmlに以下を追加。 <!-- テストカバレッジのために追加 --> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>cobertura-maven-plugin</artifactId> <version>2.5.2</version> <configuration> <formats> <format>html</format> <format>xml</format> </formats> </configuration> </plugin> ビルドして必要なものがダウンロードされた後、プロジェクトを右クリックすると NetBeansでは以下のようにメ
1. オープンソースのワークフローエンジン「Activiti」とは 「Activiti」は、Apache2.0ライセンスのもとで配布されているオープンソースの“ワークフロー・エンジン”です。 BPMN2.0という規格に準拠していることから、“BPMN2.0エンジン”とも呼ばれています。 Activitiの開発は、オープンソースの「Enterprise Content Management(企業向けコンテンツ管理システム)」で有名な「Alfresco Software」によって行われています。 Activitiは、元JBoss jBPMのプロジェクトリーダーであり、開発者でもあったTom Baeyens氏らによって開発されました。 よって、jBPMのVer.3およびVer.4のコンセプトを継承しており、JavaベースのWebアプリケーションへ組み込みやすいエンジンになっています。 これまでの
一つのJavaプログラムについて、処理をマルチスレッドで並行性を持つように記述し、複数CPU(マルチコア)上でそのプログラムを実行することにより並列処理を実現しようとした際、ログ出力が実行性能にどれだけ影響を及ぼすのかを把握したい、と考えています。 プログラムの開発(特にデバッグ)においては、ログが使えないと苦労します。ただし、ログを埋め込むと、性能に影響を及ぼします。また、ログレベルを抑制し、実際にはログ出力がなかったとしても、ログレベルの判定処理が動くことで、多少の影響はあります。 最近のログ出力ライブラリはスレッドセーフに作られていますが、それは内部で排他区間を持つことになるので、並列処理においては排他による性能への影響は無視できません。 そこで、同一プロセス内でマルチスレッドにより並行実行するプログラムを作成・実行し、複数スレッドからログを出力すると、実行性能にどれだけ影響を及ぼす
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く