タグ

Javaに関するagxのブックマーク (129)

  • [Java]Java 59 bytes FizzBuzz - terazzoの日記

    お題: Java 30byte FizzBuzz - プログラマーの脳みそ ぎ「FizzBuzzが110文字で書けるなら、1文字2bitの文字コードで記述すれば220bitで記述できる。byteに直すと28byteになる」 な「無茶言うなあ」 せ「だいたい、1文字2bitじゃ文字が4種類しか扱えないじゃない」 じゃあ、まじめに「1文字単位でちゃんと符号化できる」という縛りなら、実際何bitならFizzBuzzが記述できるかやってみた。 方針 まず、FizzBuzz自体をなるべく短くする。 ↓ 使用されている文字の種類を少なくする。 ↓ ソースがなるべく短くなる符号化の方法を作る。 ↓ 文字コード作成。 結果 FizzBuzz(97文字)は35種類の文字で書けて、上手く符号化すると59バイトになるよ。 daphne:FizzBuzz terazzo$ ls -l src/z.java -rw

    [Java]Java 59 bytes FizzBuzz - terazzoの日記
    agx
    agx 2011/02/27
  • サービス終了のお知らせ

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

    agx
    agx 2009/09/22
    関数の場合と、どこが違うのか明らかにしてくれてるので分かりやすい
  • Google App Engine for Javaを使ってみよう! (1)Google Plugin for Eclipse

    2008年4月7日に発表されたGoogle App Engineが、ちょうど1年後の2009年4月7日にJavaに対応したことが発表されました。さらに、Java開発には必須のEclipse用のプラグイン「Google Plugin for Eclipse」が同時に発表され、Java利用者は簡単にGoogle App Engine用のプログラム開発とEclipse上からのデプロイができるようになっています。今回はそんな便利な「Google Plugin for Eclipse」の使い方を説明します。 はじめに 2008年4月7日、Googleのインフラでウェブサービスを展開できるという「Google App Engine」が発表され世界中が驚かされました。この時点では利用できる言語としてPythonのみがサポートされており、Pythonの開発者がGoogleの社員であることを考えると当然なの

    Google App Engine for Javaを使ってみよう! (1)Google Plugin for Eclipse
  • TXTCache Index uniquely : ホーム

    圧縮インデックスライブラリ「TXTCache」,圧縮Suffix ArrayなどのJava実装パッケージ,オンメモリで全文検索を行うことができる,高速な検索エンジンやユニークなデータモデルの開発が可能となる圧縮インデックス(Compressed Index)のJavaのライブラリ。 接尾辞配列(Suffix Array)、圧縮接尾辞配列(Compressed Suffix Array)、LZ-Indexなどを含んだパッケージ。 オープンソース。 ライセンスは、GPLまたはLGPLのユーザー選択式。 無償。 GPL版ダウンロード LGPL版ダウンロード Operaの場合、お手数ですが、ダウンロード後、ファイル名に.zipを付ける必要があります。

  • Mathematical Infomation Technology

    入出力比較 ここでは、様々なファイル入出力が可能なクラスを用いて入出力速度の比較を行う。 Javaプログラミングにおいて import 頻度の高いパッケージを挙げよと問われれば java.io が浮かぶだろう。 このパッケージは InputStream だけを見ても様々なクラスが存在する。 FileInputStream DataInputStream PipedInputStream ObjectInputStream FilterInputStream PushBackInputStream BufferedInputStream ByteArrayInputStream LineNumberInputStream などだ。 さらに JDK1.4 からは java.nio(NewI/O) が追加された。 java.nio.channels にはファイルへの読み込み、書き込みを行うクラス

    agx
    agx 2008/04/26
    java.nio の channel map について
  • Javaの型推論Utilsクラス - yukobaのブログ

    いろんな方々のブログから集めてまとめた、型推論を使ったUtilsクラスです。結構便利です。Java 5で導入された型推論を使っています。Java 7で型推論をさらに強化するという案もあるそうですね。 (2008/4/15 追記)set() を map() と同じインターフェイスにしていたのですが、list() と同じインターフェイスで良いので修正しました。まぁ、Set に一度に2個以上挿入する機会は少ないからなぁ。 (追記2)http://d.hatena.ne.jp/amachang/20080415/1208229209 amachang に記事を紹介してもらった!cast()はよそのメソッドの引数に対しては使えません。amachang のブログのコメント欄をご覧ください。 (2008/4/17 追記3)array() を追加。 まず、使い方。 import static com.ex

    Javaの型推論Utilsクラス - yukobaのブログ
    agx
    agx 2008/04/23
  • NyARToolkit project website is moved.

    NyARToolkit website is moved. New website supports Google translator. New website Previous website (c)2008-2011 nyatla.jp

    agx
    agx 2008/04/06
    ARToolkit の Java版
  • [実装編]メモリー管理を処理系任せにしてはいけない

    Javaや.NETを使うと,メモリー管理を意識しなくてもプログラミングできる。例えばJavaの場合は,Java VM(Virtual Machine)が備える「ガベージ・コレクタ」と呼ぶメモリー管理機能が,未使用のオブジェクトを破棄してメモリーを解放するといった処理を自動的に実行する(図1)。 図1●JavaVMによるメモリー管理の仕組み ヒープ領域は,生存期間の短いオブジェクトを格納する「New領域」と生存期間の長いオブジェクトを格納する「Old領域」で構成される。New領域はさらに,最初にオブジェクトを格納する領域「Eden」と,しばらく生存しているオブジェクトを格納する「世代0」「世代1」から成る。Edenに存在するオブジェクトは,生存期間が延びるにつれて,世代0または世代1に移動。世代0と世代1を何度か移動した後,最終的にOld領域に移される [画像のクリックで拡大表示] だが,処

    [実装編]メモリー管理を処理系任せにしてはいけない
    agx
    agx 2008/04/05
    世代別GCの説明
  • wordからぶっこ抜き

    agx
    agx 2008/02/09
    word から text を取り出す
  • https://jgap.sourceforge.net/

  • 入門から実践までJavaで学べる「ログ」の常識 (1/4) - @IT

    連載は、Java言語やその文法は一通り理解しているが、「プログラマー」としては初心者、という方を対象とします。Javaコアパッケージを掘り下げることにより「プログラマーの常識」を身に付けられるように話を進めていきます。今回は、開発現場でのプログラミングやセキュリティに必須の「ログ」について具体的な出力の仕方や設定方法をじっくり解説します。 今回はログの常識について、Java言語を通じて学んでいきます。多くの場合、ログは「ログファイル」という物理的なファイルに関連付けられて、私たちの前に現れます。 前回のプロパティの記事と同様、プログラム内では完結せず、外部の物理ファイルとのかかわりが出てくるため、初心者のうちはなかなかなじみにくい技術であるかもしれません。しかし、プログラミングにおいて重要ですので、しっかり習得してしまいましょう。 前回紹介したプロパティでは、プロパティファイルからの設定

    入門から実践までJavaで学べる「ログ」の常識 (1/4) - @IT
    agx
    agx 2008/01/25
    java.util.loggingの使い方
  • viでJava開発:Javaのためのvi設定方法 - builder by ZDNet Japan

    エディタ「vi」は、Javaアプリケーションの開発環境としては用いられないことも多い。しかし、VimとAntを利用すれば、Javaの開発に適した環境に設定することが可能である。ここでは、次のJavaプロジェクトですぐに利用できるように、viのカスタマイズ手順を紹介しよう。 多くのソフトウェア技術者は、キャリアの中で一度はviエディタを使うことがある。それは、大学生のときかもしれないし、Windowsデスクトップで高性能IDEを用いてコーディングしたソフトウェアを、製品版のUNIXマシンにインストールするときかもしれない。MicrosoftとべったりのIT企業の開発者でもない限り、最低でも月に一度はみなviを起動するだろう。viを熱狂的に愛している人がいる一方で、ひどい嫌悪感を抱いている人も多いということも事実である。しかし、たくさんカスタマイズをすれば、viはJava開発者にとってよりよ

    agx
    agx 2007/12/20
    syntax_high_light と ctags, complete, foldmethod, makeprg について Java用の設定
  • Sbox Error

    The sbox program encountered an error while processing this request. Please note the time of the error, anything you might have been doing at the time to trigger the problem, and forward the information to this site's Webmaster (webmaster@www.ac.cyberhome.ne.jp).Stat failed. /usr/local/apache2/cgi-bin/~mattn: No such file or directory sbox version 1.10 $Id: sbox.c,v 1.16 2005/12/05 14:58:01 lstein

    agx
    agx 2007/12/18
  • ひどいHTMLをSAXパーサに読ませる (2007-08-10)

    先日取り上げたexblogのひどいHTMLを、HTML向けSAXパーサに読ませるとどうなるかの実験。startElement()やendElement()がどうコールされるかによって、パーサごとの性格が現れる。 コールバックメソッド level はネストの深さを表すインスタンス変数。 public void startElement(String uri, String localName, String qName, Attributes attrs){ for(int i = 0; i < level; i++) System.out.print(" "); System.out.print("<"+localName); for(int i = 0; i < attrs.getLength(); i++) System.out.print(" "+attrs.getQName(i)+

    agx
    agx 2007/11/16
  • Mostly-Concurrent Mark & Sweep GC のアルゴリズム

    目次 1. 前置き 2. HotSpot VM 1.4.x の GC の種類 3. Mostly-concurrent Mark & Sweep 4. 応用 4.1 世代別 GC との組み合わせ 4.2 カードマーキング (Card Marking) 4.3 並列化 (Parallel GC) 4.4 ビットワイズ・スイープ (Bitwise Sweep) 4.5 インクリメンタル・コンパクション (Incremental Compaction) 5. 参考文献 脚注 コメント 1. 背景 ガーベージコレクション(GC) には色々なアルゴリズムが存在するが、大雑把に言って Stop-the-World (STW) 型 GC と On-the-fly 型 GC に大別される。 STW 型の GC はプログラムの実行中にはガーベージの回収を行わず、メモリが枯渇した時になって始めてガーベージの回

    agx
    agx 2007/11/01
    Java のGCアルゴリズム
  • marsのメモ - [memo] JUnit4とTestNG,ついでにgroovyでも試してみた

    「スはスベックのス」を読みかじったくらいで,BDDに手を出すとは,どんなミーハーだ? RubyにあるならJavaにもあるだろうと調べたところ,この2つが見つかったよ. JDave/JBehave ちらっと使った限りでは,JDaveのほうが完成度が高そう(というか,JBehaveはドキュメントが少な過ぎで,使うところまでたどり着けなかった).テストコード(仕様)の記述性...というかexpectationsの可読性は,良さげなんだけど,JUnitに取って代われるかつうと,まあムリだろなって感じ. #JUnit以上に大衆受けしないって意味で. そんでも,JUnitにも転用できそうな技術はちらほら見つかったので,あたしの抽き出しのひとつにさせてもらう.:-P 続きを読む ってのを,JBehaveをGroovyで動かしてるときに知りましたよ. →Java Integration: JavaScri

    marsのメモ - [memo] JUnit4とTestNG,ついでにgroovyでも試してみた
    agx
    agx 2007/10/09
    java の単体テストツール比較。Junit4で良いようだ
  • Javaに「ド」を再生させる - cloned.log

    PCMを使って音程を再生させる。ちゃんとクラスを考える時間がなかったので、とりあえず実行する箇所をmainメソッドにまとめたものを貼ってメモる。 import javax.sound.sampled.AudioFormat; import javax.sound.sampled.AudioSystem; import javax.sound.sampled.DataLine; import javax.sound.sampled.LineUnavailableException; import javax.sound.sampled.SourceDataLine; public class HelloPCM { public static void main(String[] args) throws LineUnavailableException { float sampleRate

    Javaに「ド」を再生させる - cloned.log
  • 自己流オブジェクト指向プログラミング&Javaお奨め本2007年版 - カレーなる辛口Javaな転職日記

    http://d.hatena.ne.jp/JavaBlack/20050909/p1の改訂.*1基的に改訂版への差し替えと一部の新刊の追加程度になっている. お奨めのJava&オブジェクト指向プログラミング関連の書籍/参考文献リスト.初心者向け入門書や参考書から上級者向けの専門書まで,オブジェクト指向だとかJava言語とかの初心者〜中級者が学習をすすめる上での参考にすることを想定して作っている. 初心者向け勉強の手引き:http://d.hatena.ne.jp/JavaBlack/20070825/p1 オブジェクト指向プログラミング とりあえず初心者なら「オブジェクト指向プログラミング入門」「オブジェクト指向における再利用のためのデザインパターン」と,あと「リファクタリング―プログラムの体質改善テクニック (Object Technology Series)」くらいかな.ただしリフ

    自己流オブジェクト指向プログラミング&Javaお奨め本2007年版 - カレーなる辛口Javaな転職日記
    agx
    agx 2007/08/09
  • オブジェクト指向言語の比較 - Wikipedia

    オブジェクト指向言語の比較(オブジェクトしこうげんごのひかく)の記事では、C++Java・C#・Visual Basic(.NET)・Delphi言語・JavaScriptの各言語について、オブジェクト指向プログラミングに関係することや全く関係しないことについて、「キーワード比較表」として(「キーワード」については、「予約語」の記事を参照)比較する。 キーワード比較表[編集] C++ Java C# Visual Basic(.NET) Delphi言語 JavaScript クラスの宣言

  • JUnitで作成されたユニット試験のカバー範囲を検証可能 - Jumble 1.0.0 | エンタープライズ | マイコミジャーナル

    Jumbleの初のパブリックリリースとなる「Jumble 1.0.0」が17日(米国時間)、公開された。同アプリケーションはこれまでReel Twoによって開発されてきたツール。今回はじめてGNU GENERAL PUBLIC LICENSE Version 2のもとでオープンソースソフトウェアとして公開された。JumbleはJavaで開発されたユニット試験カバー範囲の検証ツール。JUnitを使ったユニット試験に対応している。 Jumbleはユニット試験の対象となるクラスの内容をバイトコードレベルで微妙に変更させながら同試験クラスを実行。さまざまに条件を変えたうえで、ユニット試験クラスがきちんとこれらの条件をカバーするように組まれているかを検証する。結果は0%から100%までのメータで表示される。100%が表示されれば素晴らしいユニット試験プログラムが組まれているということになる。 今回は

    agx
    agx 2007/07/20