大量・高速なログ分析 ログ分析ソリューションは、ログ収集・集計にかかるコストを大幅に削減し、分析に集中できるデータ分析体験を提供します。 インテリジェントな検索 検索ソリューションは、日本語の特徴を考慮したインテリジェントで高速な検索と付加価値を生み出すデータ分析体験を提供します。
16. from old Java to modern Java ∼ 職業プログラマに聞いて欲しいJava再入門 Acroquest Technology株式会社 JJUG / 関西Javaエンジニアの会 谷本 心 ( @cero_t ) 19. private List m_list = null; private int process_file(String str_file_name) { String str_line; List list_lines = new ArrayList(); int i_result = read_file(str_file_name, list_lines); if (i_result == 0) { List list_record = new ArrayList(); for (int i = 0; i < list_lines.size(); i+
Playで体得するRESTfulアーキテクチャの基礎知識:Javaの常識を変えるPlay framework入門(5)(1/3 ページ) サーブレット/JSPを基にする重厚長大なJavaのWeb開発のイメージを変える軽量フレームワーク「Play」について解説し、Webアプリの作り方を紹介する入門連載。今回は、RESTの概要、URIの概念、RESTで使われるHTTPメソッドとステータスコード、PlayでのRESTfulな設計、実装上の問題点などを解説します。 RESTを理解すると、Play frameworkが分かる 前回記事「Play frameworkのコントローラの使い方を理解する」までは、Javaを使う観点からPlay frameworkを紹介してきました。しかし、今回は視点を変えて、言語による実装方法ではなくPlay frameworkが得意とするソフトウェア・アーキテクチャのパタ
Java EE 7がリリースされて、それに対応したGlassFish 4もリリースされました。 ついでに、Java EE 7やGlassFish 4に対応したNetBeans 7.3.1もリリースされています。 ということで、NetBeansとGlassFishを使ってJava EE 7を試してみようと思います。 今回は、Java EE 7の中でも簡単なコードで動きの派手なWebSocket対応を試してみます。 ダウンロード まずNetBeansをダウンロードします。 https://netbeans.org/downloads/ NetBeansは、ちょっと試すにしてもずっと使うにしても、インストーラーではなくzipで落とすほうが楽なので、ここでは「プラットフォーム」に「OSに依存しないZIP」を選択します。 「サポートテクノロジー」が「Java EE」か「すべて」のものをダウンロードし
面倒臭いことを調べることになったJavaプログラマーに捧ぐ すこし時間を割いて最大桁数を計算してみることにしました。 結論からいうと 2793926648桁くらいだと思う。 精度の限界は646443000桁くらいです。 無量大数が128桁です、と補足しておこう。 動かすことが出来るかは保証できない。 3GB与えても私はprecision()の結果を得られなかった。 では机上検証してみようか。 この式を用いますが、これだけでは足りませんね。 BigIntegerの内容が必要です。 BigIntegerのいまの実装を見ると、数字はint配列で持っているようです。 BigIntegerは2の補数表現で数字をもっているそうです。 2の補数というのは先頭ビットが1なら負で、0なら正です。 intは4バイトの符号付き整数です。 また、Integer.SIZEにあるように、 2の補数のバイナリ形式に使用
あ、まず前提として、 貴女がJava大好き男を夢中にさせることが、 はたして貴女を幸福にするかどうか、それはまた別問題だけれど。 とはいえ、Java大好き男たちは玉石混交ながら、 大手SI系の給料高い男なども多く、 したがって、釣り師たる女たちにとっては、 なかなかあなどれない釣り場です。 では、Java大好き男に「どのIDEが好き?」と訊ねられたとき、 貴女は、どう答えれば理想的でしょう? まず最初に、その男がAndroidのようなタイプの携帯アプリと あとはJavaScript、そして(アプリ公開するほどではないけれど)iPhoneアプリが大好きな、 そんなタイプの場合は、 貴女はかれの目を見て、微笑みとともに質問など無視して、こう言いましょう、 「わたしが、いいIDEを作ってあげる♪」 これこそまさに必殺の答えです。 そこでJava大好き男が、えへへ、とやにさがったならば、 貴女は、
Concurrency Utilities for EE 7 2013年5月15日 at 12:10 午前 本日は、Java Day Tokyo に非常に多くの Java 開発者の皆様にお集まりいただきまして誠にありがとうございました。本日私が C-4 のセッション「エンタープライズ環境における並列処理の実装方法について」で説明した資料に参考メモを付加した、参照用のバージョンを下記に公開します。 また併せて説明時に使用したデモ(CPU 256 個の環境で Java を並列処理実行させた際のデモンストレーション)動画も下記に公開します。下記のデモは内部的に単なる Σ 計算を行なっているだけなのですが、デモ動画をご覧いただくとわかるのですが、単なる逐次処理、JDK 1.0 からある昔ながらの Thread 生成方法、Concurrency Utilities を利用した場合で、どの位 CPU
Javaでサーバアプリケーションを開発している場合に遭遇する問題に「Out Of Memory」がある。Javaアプリケーションが使用するメモリが増え続け、最終的に許容範囲を超えてJava仮想マシンがクラッシュする。この問題に対するもっとも簡単な対処方法は、物理的にメモリの容量を増やしてJava仮想マシンが利用できるメモリ容量を引き上げること、もうひとつは、クラッシュする前に定期的にアプリケーションを再起動することだ。強引な方法だが、実効性のある方法でもある。しかし、根本的に原因を解決することにはならず、何らかの原因でいつかOut of Memoryが発生する危険性が存在しつづけることになる。 根本的に問題を解決したい場合には、どの部分でメモリリークが発生しているかを追跡し、対象部分のコードを書き換える必要がある。そうした場合に参考になる記事が「Fix Memory Leaks in Ja
AWSのサービスではDNSを用いて可用性を向上する仕組みを用いている。 各種APIのエンドポイント RDSのエンドポイント ELBのエンドポイント ElastiCacheのエンドポイント CloudSearchのエンドポイント Redshiftのエンドポイント などなど。AWSが提供するエンドポイントのFQDNを、自分のアプリケーションから参照するように設定したり、一旦DNSでCNAME設定することも多い。 ただし、これらのエンドポイントFQDNで設定されているIPアドレスは、運用中に変更される可能性がある(ノード障害、フェイルオーバー等によるIPアドレス変更、スケーリングによるIPアドレス増減、等)。そのため、アプリケーション側はエンドポイントのIPアドレス変更に追随する必要がある。(追随しないと、古いIPアドレスにアクセス試行しつづけて、結果としてシステム障害になってしまう) ここで問
かなり久々の技術エントリ。 運用はお堅い重いサーバーを使ったとしても開発は軽いほうがいい。当たり前ですね。 というわけでさくさく開発する方法を書いてみる。DIコンテナはCDIやGuice、Springなど好きなものでよいが、今回は省く。軽いこともあって開発中はGuiceを使うことをお勧めしたい。注入は@Injectを使うため、開発中と運用中でコードが変わるってのは少ないはずだ。 まずはJAX-RS まず、アクションベースのWebアプリはJAX-RSを使うこと。これが基本。サーブレットAPIを使わずに開発することについては今までも書いてきた。サーブレットAPIを触らないことにより開発効率とテストのしやすさを両立できる。 こんな感じ。 @Path("/") public class Hoge { @GET @Path("add/{a}/{b}") public Response add(@Pa
Download and open the 'Processing' application. Select something from the Examples. Hit the Run button. Lather, rinse, repeat as necessary. More information on using Processing itself is can be found in the environment section of the reference. To learn the Processing language, we recommend you try a few of the built-in examples, and check out the reference. A group of diverse books have been writ
1 kazu@iij.ad.jp 2 3 Paul Graham 4 Andrew Hunt and David Thomas 5 6 Java 7 Java Java Java 3 8 Haskell Scala Scala 9 10 Java Java Dean Wampler AWT ActionListener public interface ActionListener extends EventListener { public void actionPerformed(ActionEvent e); } 11 AWT ActionListener import java.awt.*; import java.awt.event.*; class ButtonApp { private final Button button = new Button(); public Bu
なぜアルゴリズムを学ぶのか GCによる停止時間が長くなり、アプリケーションの処理時間が短くなると、業務に使える時間が短くなってしまいます。その問題を解決するために、GCをチューニングすることで、アプリケーションの停止時間を短くすることが考えられます。 その際大事なのは、GCのアルゴルズムを把握しておくことです。 GCのチューニングを行うときは、GCで行われている処理の内、どの処理に時間がかかっているかをモニタリング⇒分析⇒チューニングする、という流れになります。しかし、GCのアルゴリズムを知らないと、モニタリング結果を見てもどこに問題があるかがわからず、分析やチューニングを行うことができません。 今回は、以下の4つのアルゴリズムをご紹介します。 マーク&スイープGC コンパクション コピーGC 世代別GC GCのアルゴリズムはJVMの実装によって異なりますが、多くの場合、上記4つのアルゴリ
GoogleのMapReduceアルゴリズムをJavaで理解する:いま再注目の分散処理技術(前編)(1/2 ページ) 最近注目を浴びている分散処理技術「MapReduce」の利点をサンプルからアルゴリズムレベルで理解し、昔からあるJava関連の分散処理技術を見直す特集企画(編集部) いま注目の大規模分散処理アルゴリズム 最近、大規模分散処理が注目を浴びています。特に、「MapReduce」というアルゴリズムについて目にすることが多くなりました。Googleの膨大なサーバ処理で使われているということで、ここ数年の分散処理技術の中では特に注目を浴びているようです(参考「見えるグーグル、見えないグーグル」)。MapReduceアルゴリズムを使う利点とは、いったい何なのでしょうか。なぜ、いま注目を浴びているのでしょうか。 その詳細は「MapReduce : Simplified Data Proc
忘年会シーズンで肝臓への負担を極力避けている@masudaKです。今回はJavaアプリケーションの運用のポイントに関して、書いてみたいと思います。 このエントリはJava Advent Calendar 2012の22日目のエントリです。 Javaアプリケーションの運用ポイントとは 昨今ではLLのほうが敷居が低く、開発スピードも早いということからか、PHPやRubyなどのLLによるWebアプリケーションが多くリリースされているかと思います。 しかしながら、TwitterがJVMベースの開発にシフトしたように、より深いレベルで実装を行おうとした際にLL以外の実装も一つの選択肢として残っているのは間違いないでしょう。 そのようななかで自分が最もよく触れているJavaでのアプリケーションの運用ポイントについて述べてみたいと思います。 ここでいう「運用」とは、サービスをリリースしたのち、サービスへ
11/10に開催されたJJUG CCC 2012 Fallでジェネリクスについてセッションを行いました。 このエントリはセッション内容を補足するものです。本セッションはジェネリックなクラスの設計を行えるようになって欲しいという狙いで話をしました。ジェネリックなクラスを利用できるというのは前提条件として書いてます。入門的な内容であれば Javaジェネリクス再入門 - プログラマーの脳みそ を参考にしてください。 セッション資料はこちら ジェネリクスの基礎と応用 JJUG CCC 2012 Fall ジェネリクスのスコープ まずジェネリクスのスコープの話から入ります。Javaのジェネリクスには2つのスコープがあります。 メソッドをスコープとした型変数 インスタンスをスコープとした型変数 後者はおなじみの public interface List<E> などの型変数です。 これに対して pub
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く