Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。この本では、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...
GC周りでトラブルシューティングした際の経験や、Web等で調べたことをまとめてみる。 前提 ・JVMは、Sun Javaを想定。(他は使ったことないです。。。) ・Sun Java 1.5-1.6を想定。 目標 マイナーGC、Full GCそれぞれが頻発することなく、かつそれぞれの実行時間を1秒未満に抑えること。 マイナーGCは1秒未満どころではなく、もっと短くなるべき。どれくらいが理想かは?(0.1秒未満ぐらいを目指したい?) 連続した負荷状態(想定されるピークアクセス)でもOutOfMemoryErrorが発生しないこと。 理想的な状態は、上記に加えて、Full GCの発生が低頻度であること。 具体的には、できるだけマイナーGCで短命オブジェクト(1回使ったらもう使わないようなオブジェクト。逆にセッションオブジェクト等は長命オブジェクトとなる)を破棄させて、短命オブジェクトが、Tenu
One thing to realize about our fractional reserve banking system is that, like a child's game of musical chairs, as long as the music is playing, there are no losers. Andrew Gause, Monetary Historian 「部分準備金融制度について一つだけ実現している事は、 子供の椅子取りゲームのように、 音楽が流れ続けている限りは敗者が存在しないということである。」 アンドリュー ガウス、金融史家 【Sun HotSpot VMのガベージコレクションとヒープ】 TomcatはApache Software Foundationが提供するフリーのサーブレットコンテナ実装です。要するにJ
Tomcatを、ユーザ "tomcat" で起動している場合、 "tomcat"ユーザの ".bash_profile"ファイルに指定することで設定値が適用されます 記述例(~/.bash_profile) CATALINA_OPTS="-server -Xmx128M -Xms64M -Xss256k -Djava.awt.headless=true" export CATALINA_OPTS (*)起動スクリプト(/etc/rc.d/init.d/tomcat)内に指定してもOKです RedHat系Linux(CentOS)の場合、起動時の環境変数等は、/etc/profile.d/以下に記載し、起動スクリプト(/etc/rc.d/init.d/tomcat等)から読み込む様に記述が統一されています 例(/etc/rc.d/init.d/tomcat) : : : : : : # So
bin/catalina.shのコメントに書かれているように、stop時も使われるかが違うだけです。 CATALINA_OPTS Java runtime options used when the “start”, or “run” command is executed. JAVA_OPTS Java runtime options used when the “start”, “stop”, or “run” command is executed. 例えば-Xmx指定などは、本来CATALINA_OPTSで十分なはずです。 また、gcログの出力ファイル名に起動時の日時をつけたい場合なども、起動時だけ有効なCATALINA_OPTSを使うと簡単におこなえます。 CATALINA_OPTS="-XX:+PrintGCDetails -Xloggc:$CATALINA_HOME/logs
ThreadとHashMapに潜む無限回廊は実に面白い?:現場から学ぶWebアプリ開発のトラブルハック(10)(1/3 ページ) 本連載は、現場でのエンジニアの経験から得られた、APサーバをベースとしたWebアプリ開発における注意点やノウハウについて解説するハック集である。現在起きているトラブルの解決や、今後の開発の参考として大いに活用していただきたい。(編集部) マルチスレッドのトラブルハックはさっぱり分からない… 対処が難しいトラブルといえば、GC(ガベージ・コレクション)とマルチスレッド処理に起因することが多い。 前々回(「肥え続けるTomcatと胃を痛めるトラブルハッカー 」)と前回(「JavaのGC頻度に惑わされた年末年始の苦いメモリ」)の2回にわたってGC、特にメモリ周りのトラブルを取り上げた。そこで今回は、マルチスレッド処理のトラブルの1つ、「レースコンディション(競合状態)
1.JDKダウンロード http://java.sun.com/j2se/1.5.0/ja/download.html jdk-1_5_0_15-nb-6_0_1-linux-ml.sh 2.DISPLAY 環境変数を設定する。 # export DISPLAY=:0.0 3.権限変更 # chomod +x ./jdk-1_5_0_15-nb-6_0_1-linux-ml.sh 4.インストーラ実行 # ./jdk-1_5_0_15-nb-6_0_1-linux-ml.sh 5.GUIでのインストール ※Tomcat5.5とJDK1.6だとエラーとなったため、JDK1.5をインストールし直しました。。 http://closeworld.exblog.jp/8206510/
/** * 初めて作るであろういっちょまえのクラス * @author YTP */ public class Message { /** * インスタンス変数だってあるもん */ private String sMessage_ = null; /** * 初めてのコンストラクタでーす */ public Message() { } /** * 初めてのセッターメソッドでーす * @param sMessage 幸せなメッセージを下さい */ public void setMessage(String sMessage) { sMessage_ = sMessage; } /** * お披露目でーす */ public void showMessage() { System.out.println(sMessage_); } }
このページでは、Android SDK をインストールして、開発環境を設定する方法について説明します。SDK をまだダウンロードしていない場合は、[ダウンロード] ページからダウンロードしてください。SDK をダウンロードした後に、このページの手順を行ってください。 インストール中に問題が発生した場合は、このページの下部にあるインストールに関する注意事項を参照してください。 アップグレードする場合 SDK の以前のバージョンを使用してアプリケーションを既に開発している場合は、このページの代わりに、SDK のアップグレード をご覧ください。 インストールの準備 インストールを始める前に、開発用マシンがシステム要件を満たしていることを確認してください。 Eclipse 環境に Android Development Tools(ADT)プラグインを組み込んだ開発環境は、Android 向け開発
集合知イン・アクションposted with amazlet at 09.05.17Satnam Alag ソフトバンククリエイティブ 売り上げランキング: 3193 Amazon.co.jp で詳細を見る 本書は2008年10月に発売された「Collective Intelligence in Action」の邦訳されたものです。 集合知とはどういうものなのかから始まり、Javaを用いて実際に集合知を扱うアプリケーションの作り方まで広い内容が書いてあります。 データマイニングのような話題ばかりではなく、既存のブログ検索から情報を取得してきたり、検索の仕組みの作り方やタグクラウドの実現方法、クローリングについてなど集合知の収集方法についても言及がなされています。 集合知プログラミングとの違い 集合知を扱った本としては「集合知プログラミング」が有名だと思います。 集合知プログラミングは各手法
現在大学1年生の人で3年後には NAIST に (というか松本研に) 来たいという人から「どんなプログラミング言語やっておくといいですか」と質問されたりするのだが、なかなか答えるのは難しい。自分は Perl → Python がメインでときどき C++/C# を使ったりするのだが、どれが一番いいかはなんとも言えないので、自然言語処理以外に転向する可能性も考えると、C とか C++ とか Java とか(授業でそちらをやるのであれば)を最初の武器に選んだ方がいいのでは、と思ってはいる。 そんなこんなで最近 Hal Daume III (機械学習を用いた自然言語処理では非常に有名な人) のブログで Language of Choice というタイムリーなエントリーが出ていたので、紹介すると、「それなりに大きな自然言語処理のプロジェクトでどのプログラミング言語を使うのか」というアンケート結果が出
とりあえずこんなJavaコードにする。 1,2,3と順にint値を渡して対応する文字列をもらう。 public class HelloNumber { public native String convertToString(int nNumber); static { System.loadLibrary("HelloNumber"); } public static void main( String[] args ) { HelloNumber hello = new HelloNumber(); for ( int i=1; i<=3; i++ ) { String strNumber = hello.convertToString(i); System.out.println( strNumber ); } } } javacでコンパイルし、javahでヘッダファイルを作成する。
職場で話題になったこと。 m_value mValue this.value(self.value) _value value_ value と色々あるわけですが、 世の中では 「m_ or mでメンバである事を明示する派」(m派) 「mは冗長だから_だけで表すよ派」(接頭辞アンダースコア派=マーチン・ファウラー派) 「言語機能に乗っ取ってthisつけて表すよ派」(this派) 「前置_は言語処理系に予約されている(c/c++)ので後置_にするよ派」(接尾辞アンダースコア派) id:nattowさんの指摘で追記。 「つけないと区別できないのは設計がまずいから俺はつけないよ、てか接頭辞も接尾辞もきもいよ派」(設計上正しければ区別必要ないよ派) がいるような気がします。 (Rubyの@派とかは知らぬ) で、割と最近「後置_派」(C++ Coding Standardsの影響)になったんですが、
java-ja 第12回のLTで話そうと思ったのですが、出番がなかったので資料をブログで公開しておきます。 Jungは研究などでグラフ構造が出たときに、理解しやすくするために可視化するのに使っています。他にもいくつかグラフを扱うライブラリは存在していますが、日本語の資料があったのと拡張可能なことが多かったのでJungを結果的に使うようになりました。 以下はそのJungについての簡単な解説です。 Jungとは Jungの正式名称はJava Universal Network/Graph Frameworkで、ネットワーク(グラフ) 構造の分析や視覚化を行うためのJavaのOSSライブラリです。グラフ理論、データマイニング、ソーシャルネットワーク分析のアルゴリズムを数多く実装しています。 安定バージョンは1.7.6で最新は2.0betaで、BSDライセンスで使用できます。 http://jun
テキスト分類課題などでは,文書をTF-IDF重み付けしたbag-of-wordsで表現することが多い.これをベースラインにするため,さくっとこの処理をしたい.卒論やM1のときは,この処理をわざわざ手で書いたのだが,バグが出たら大変だし,なにより面倒くさい. 論文では,最近流行りのLuceneを使っている人もいるけれど,WekaのStringToWordVectorもなかなか高性能.TFIDF重みづけまでの処理をやってみる.Luceneの方が汎用性があるから便利そうなんだけれど,とりあえずテキスト分類課題に使いたいので. 前提知識 かなり自分用メモ(+α)なので,説明不足な部分があります.あと,基本的にCUIベースで話を進めます.最後の方に気がついたのですが,GUIとずれがありますね.そこらへんは,まぁ,適当に. Wekaについては,日本語情報があるにはあるのですが最近更新されていないので,
たまにwekaAPIを使って簡単な実験をしようと思い立つと、やり方を忘れているのでもメモしておく。 public void runJ48(String training, String test, String result) { try { //load data ArffLoader al = new ArffLoader(); al.setFile(new File(training)); Instances trainInstances = new Instances(al.getDataSet()); al.setFile(new File(test)); Instances testInstances = new Instances(al.getDataSet()); //set class trainInstances.setClassIndex(trainInstances
Weka入門 決定木とデータセットの作り方 インストール手順 まずは決定木を作ってみよう 入力データを用意しよう 分析結果の意味を知ろう tips キーワード: データマイニング weka 決定木 この文書を自由に改変、転載することを許可します。連絡不要 ● Wekaインストール Weka入手場所 http://www.cs.waikato.ac.nz/~ml/weka/index_downloading.html Windows版では2種類ダウンロードできるファイルがあるが、これはJavaが含まれているかどうかの違いです。 お手持ちのPCにJava環境が入っていればwithout the Java VMの方を。 Javaが入っているかどうかわからない、もしくはJavaのバージョンが1.4より古い場合は includes Java VM 1.4の方をダウンロードして下さい
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く