Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

Python でマルチプロセスな TCP サーバを書いたので、ついでに Java の Netty でも似たようなものを書いてみる。内容は同じく Hello, World! と言って一方的に接続を切ってくる誰得サーバ。 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>study.netty.helloworld</groupId> <artifact
言うほど大げさなものでは無いのですが、最近 C++ を触ってて思ったことをまとめていみました。数あるオブジェクト指向言語の中でもC++独特の仕様というのは結構あって、その中でも特に面倒だと思ったものを挙げます。単なる構文的な話題については触れません。 このエントリは、C言語(特にポインタ周り)とオブジェクト指向プログラミングの知識を仮定します。(というかそういう人にしか役に立たないと思う) オブジェクトの生成 - 値とポインタ C++ は newしなくてもオブジェクトが作れます。 string s;等と宣言すると、その場でスタックに領域が確保され、コンストラクタが走ります。そしてスコープが切れると自動的に削除されます。 グローバルにオブジェクトを宣言したりすると、mainが走る前にコンストラクタが呼び出され、main終了後にデストラクタが呼ばれることになります。その中で例外を投げたりしても
// Geohash.java // Geohash library for Java // ported from David Troy's Geohash library for Javascript // - http://github.com/davetroy/geohash-js/tree/master // (c) 2008 David Troy // (c) 2008 Tom Carden // Distributed under the MIT License public class Geohash { public static int BITS[] = { 16, 8, 4, 2, 1 }; public static String BASE32 = "0123456789bcdefghjkmnpqrstuvwxyz"; public static int RIGHT
概要 Javaの有名な形態素解析器でありながら、長らく「公式サイトどこ?」な状況だったSenとGoSenですが、最近はlucene-gosenなるGoSenベースのライブラリがちゃんと管理された状態で公開されてるとか。 lucene-gosen http://code.google.com/p/lucene-gosen/ しかもこの子は辞書内包なのでjarを落とすだけで使えて、Lucene用AnalyzerやSolr用Toknizerも付いていて、日本語の検索用インデックスを貼る時に便利な各種フィルタも用意されているという、至れり尽くせりな構成になっているとか。 これは触ってみねばということで、とりあえず簡単な形態素解析、辞書の追加、Luceneでの利用、Solrでの利用を試してみました。 ちなみに上のURLでCommiterのところに名前が出ているKoji SekiguchiさんはSol
javacompleteのインストール VimでJavaを書いてみようと思い、Java補完のjavacompleteをインストールしてみた。 基本的にはvundleでOK. Bundle 'vim-scripts/javacomplete'あとは以下の設定を.vimrcに書きこめばいい。 autocmd FileType java :setlocal omnifunc=javacomplete#Complete autocmd FileType java :setlocal completefunc=javacomplete#CompleteParamsInfoこれで無事補完をすることができた。 ただ、過去のvim-users.jp - Lingrにもあるように、 補完をするためのファイルReflection.classがホームディレクトリに生成されてしまって鬱陶しい。 Reflectio
ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは、 前回のHadoopの記事 に引き続き、MapReduceのカスタマイズポイントを解説していきます。 前回の記事の図や、表などを参照しながら読み進めていただければと思います。 MapperやReducerの流れの制御 Mapperの実行の流れは、デフォルトでは、初期化処理を行った後、map関数を繰り返し実行し、終了処理を行うようになっていますが、この流れ自体を制御することができます。 古いAPIでは、MapRunnerを通じてこの流れを制御できますが、0.20.0からの新しいAPIでは単純にMapperクラスのrun関数をオーバーライドすることで、行えます。 デフォルトのrun関数は以下の通りです。 public vo
まず、 1 の入力ファイルを分割する方法は、InputFormatクラスの、getSplits関数を上書きすることで、カスタマイズできます。 また、 3 のInputSplitから、KeyとValueを抽出する処理も、InputFormatクラスを通じてカスタマイズできます。 InputFormatのgetRecordReader関数を通じて、RecordReaderクラスを生成するのですが、これに任意のRecordReaderクラスを指定すればOKです。 2 のMap処理ですが、ユーザが指定したMapperクラスの処理を実行します。 Mapperクラスは、MapRunnerクラスを通じて、初期化処理、map関数を繰り返す過程、終了処理といった一連の流れを実行します。 MapRunnerクラスをカスタマイズすれば、こうした流れを制御することができます。 0.20.0からの新しいMapRed
Ubuntu 10.04 にアップデートしたんだけど,標準だと,OpenJDK しか入れられなくなった. OpenJDK はちょっとバギーだし,Font 回りの設定とかがグダグダなので, 日本語が上手く表示出来なかったりするので,sun のやつを入れる $ sudo add-apt-repository 'deb http://archive.canonical.com/ lucid partner' $ sudo apt-get update $ sudo aptitude install sun-java6-jdk で,インストール出来るので, デフォルトの設定を変更しちゃえば終り $ sudo update-alternatives --config java There are 2 choices for the alternative java (providing /usr/b
チームラボ天下一武道会 ~コードGolf & F1レース!~ : ATND に参加してきました。普段Java使っていないのでどうなるかと思いましたが、なんとか優勝することができました。 問題は、ユーザデータと商品の購入データが与えられるので、全商品間のコサイン類似度を求めよというものでした。入力は <ユーザID>,<商品ID> のCSVで与えられ、出力は商品ID×商品IDの二次元配列をCSVで出します。購入データは1万件、ユーザ数は1000以下、商品数は500以下という制限です。 順位は、実行時間によるスコアとバイトコードのサイズによるスコアの和によって付けられます。それぞれ50点満点で、実行時間は 10秒 (50点) 60秒 (0点) バイトコードのサイズは、 1Kbyte (50点) 6Kbyte (0点) を基準として、線形補完されて決まります。50点満点ですが、基準値を超えた場合は
Google App Engineに最適化したJavaフレームワーク「Slim3」登場。作者のひがやすをさんにインタビュー Slim3は、Google App Engineで複数行のトランザクション操作を可能にし、標準で用意されているAPIよりも高速な動作を実現するなどの特徴があります。Slim3を開発したのは、オープンソースのJavaフレームワークとして知られるSeasarなどを開発してきたひがやすを氏です。 正式リリースにあたり、Slim3の特徴、開発に苦労した点、今後の展開などについて、ひが氏自身に説明してもらうべくインタビューをしました(インタビューはメールで質問し、返答いただくという方法で行いました)。 Slim3の設計哲学は、“Less is more”を実現すること ―― Slim3とは何でしょうか? Javaにそれほど詳しくないというプログラマにも説明するとしたらどう説明す
JDはJava製のフリーウェア。Javaはコンパイルする言語なので(コンパイルされるのは中間言語だが)、コンパイルされた内容は基本的には見られない。だが以前の担当者が作ったプログラムを修正しないといけない時に元のコードがなくなっていたら惨事になってしまう。 Java向けのデコンパイルツール そんなときに役立つのがデコンパイラーだ。コンパイルの逆、コンパイルされたコードを元のソースに戻してくれるソフトウェアだ。使い方を誤ると問題になりかねないが、使い方によってはとても役立つ。その一つがJDだ。 JDはGUI版とEclipseのプラグイン版の二つが存在する。GUI版についてはWindows/Mac OSX/Linuxそれぞれ用に実行ファイルが提供されている。使い方は簡単で、ただコンパイル済みのjar/classファイルを開けば良いだけだ。 検索ウィンドウ コードはハイライト表示され、階層も分か
概要 現在表示されているサイトは旧サイトです。新サイトは http://fess.codelibs.org/ja/ です。 Fess は「5 分で簡単に構築可能な全文検索サーバー」です。Java 実行環境があればどの OS でも実行可能です。Fess は Apache ライセンスで提供され、無料 (フリーソフト) でご利用いただけます。 Seasar2 ベースで構築され、検索エンジン部分には 2 億ドキュメントもインデックス可能と言われる Solr を利用しています。 ドキュメントクロールには S2Robot を利用することで、Web やファイルシステムに対するクロールが可能になり、MS Office 系のドキュメントや zip などの圧縮ファイルも検索対象とすることができます。 特徴 5 分で簡単に構築可能な全文検索サーバー Apache ライセンスで提供 (フリーソフト) OS 非依存
データ入力を行うには、Webブラウザや専用のGUI画面を使用することが一般的ですが、用途によっては、Microsoft Excelで作成したファイルからデータの読み込みを求められることがあります。そこで、本稿では「POI」を使用して、Excelファイルを読み込む方法を紹介します。なお、POIの基本については、「POIを使用してJavaからExcel出力を行う」をご覧ください。 今回は、Excelファイルを読み込み合計値を出力するというサンプルを実行します。 package to.msn.wings; import java.io.FileInputStream; import java.text.SimpleDateFormat; import java.util.Date; import org.apache.poi.hssf.usermodel.*; import org.apache
Strutsの常識を知り、EclipseとTomcatの環境構築:Webアプリの常識をJSPとStrutsで身につける(2)(1/4 ページ) 本連載は、JSP/サーブレット+StrutsのWebアプリケーション開発を通じて、Java言語以外(PHPやASP.NET、Ruby on Railsなど)の開発にも通用するWebアプリケーション全般の広い知識・常識を身に付けるための連載です いまさら聞けないStrutsの常識 今回は、「Strutsの常識」と題し、Webアプリケーションフレームワークの1つであるStrutsについての概要を説明したうえで、JDKやEclipse、TomcatなどのWebアプリケーション作成の環境構築を行い、サンプルプログラムを実際に作成してみましょう。 連載第1回の「いまさら聞けない、Webアプリケーションの常識」で、「本連載ではStrutsを取り上げていきます」
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く