タグ

javaに関するy-kawazのブックマーク (22)

  • Java の語彙で Maybe を説明してみる - ぐるぐる~

    java-jaで例外処理の話をしてきました - 西尾泰和のはてなダイアリー を読んで。 Maybe は値があるかないかを型で表すことができます!そう、直和型なんです!とか言われてもイミフだと思うのです(リンク先のエントリがそう説明してるわけではないですが)。 Java の語彙で Maybe の説明をできたら嬉しい人もいるんじゃないかなぁ、とかなんとか。 ただし、書いてたら結構長くなりました。時間がある人はどうぞ。 Maybe? null より安全に「値がないこと」が扱えるものだよ スタート地点としてはこれでいいでしょう。 以降で、「なんで安全なの?」という全うな疑問に答えてみたいと思います。 問題点 int で説明すると煙に巻いてしまうような気がしたので、User クラスを見てみます。 import java.util.*; class User { final String name;

    Java の語彙で Maybe を説明してみる - ぐるぐる~
  • 新しい Java SE API リファレンスの入手先について

    新しい Java SE API リファレンスの入手先について 2012年3月25日 at 10:30 午後 3件のコメント 2012 年 03 月 25 日、sun.com のドメインが利用不可になりました。これに併せ、java.sun.com で提供されていた Java SE API語ドキュメントもオンライン経由で参照する事ができなくなりました。今後、日語の Java SE API レファレンスはオンライン経由では参照できなくなりますので、アーカイブを御入手の上、ローカル環境でご参照ください。お手数をお掛けし申し訳ございませんが、どうぞ宜しくお願いします。 Java API の日語ドキュメントはコチラから入手が可能です。 ドキュメントの再配布ポリシーはコチラをご参照ください。 新しい日API ドキュメントのオンライン参照先URL (2012/4/11 訂正、追記) htt

    新しい Java SE API リファレンスの入手先について
    y-kawaz
    y-kawaz 2012/03/26
    Javaオワタなのか日本オワタなのか…
  • Java1.4.2〜Java7.0で文字列操作の速度を測ってみた(やっつけ) - 水まんじゅう2

    昨日ちょこっと計ってみたら大きく差が出たのでネタとして。 最初Java1.4.2とJava7.0だけを比べていたらメジャーバージョン2つ飛ばして計測はアレみたいな反応があったので、間のも測ってみました。 文字列操作は業務システムだと沢山の箇所で使われていると思っています。 入力値チェックに始まりCSV出力まで小さいものから大きい物まで。 java.net.URLEncoderというクラスがありますが、 こちらのクラスは、文字列を解析して、他の文字列に組み替えてくれるクラスです。 今回はこのクラスを実行させて、Java1.4.2とJava5.0とJava6.0とJava7.0での速度の差を測ってみました。 なお、実行環境はCore2Duo P8600(2.4GHz)上のWindows Vista(32bit)です。 Java1.4.2_19 1ループ目 2ループ目 1 19617 19762

    Java1.4.2〜Java7.0で文字列操作の速度を測ってみた(やっつけ) - 水まんじゅう2
    y-kawaz
    y-kawaz 2012/02/20
  • JDK7正式版の新機能一覧(Java言語仕様に関して) - R42日記

    2011-08-02追記 JDK7に致命的なバグ 重要なので先頭に追記しておきますが、JDK7のホットスポットコンパイラに致命的なバグが存在するそうです。 詳しくはコチラ。 http://d.hatena.ne.jp/takahashikzn/20110802 JDK7を使用する際はご注意下さい。 (Javadocのスタイルもガラっと変わりました!!) http://www.oracle.com/technetwork/java/javase/jdk7-relnotes-418459.html JDK7の正式版がリリースされています。 興味深い機能やAPIなどが追加されているわけですが、 その中でもみんな一番気になるところである、Java言語仕様の変更についてご紹介。 あとは、個人的にjava.lang.invokeなんてアヤシゲなパッケージが気になっているのですが… APIを見る限り、動

    JDK7正式版の新機能一覧(Java言語仕様に関して) - R42日記
    y-kawaz
    y-kawaz 2011/07/31
    とりあえずEclipse他各種周辺ツール対応待ちだな。
  • Googleが開発したJavaデバッグを簡単にする新技術「cofoja」 | エンタープライズ | マイコミジャーナル

    Java Programming Language Googleの20%プロジェクトからJava向けの新しい技術「cofoja (Contracts for Java)」が公開された。既存の実装に大きく手を加えることなく、デバッグをより簡単にしてくれる効果が期待できる。バグは些細なコードが起こすものだったりするが、それを追跡して発見するのは時に困難を極める。これは問題が発生した箇所と、実際にバグがある箇所が大きく離れていることが理由になっていることもある。問題発生箇所とバグ発生箇所を近くにまとめることができれば、それだけバグ発見も取り組みやすくなる。 cofojaはこれを簡単に実現するための技術。インタフェースに制約表現を追加可能にするところがポイントとなっており、クラスの実装に手を加えなくてもインタフェースに制約表記を追加することで実行時にチェックできるようになる。ブログに掲載されている

    y-kawaz
    y-kawaz 2011/02/09
    assert文を文字列で記述ってのがちょっと…。せめて無名インナークラスとかクロージャみたいので書けないものかな?
  • URLを引数に本文抽出を行うJavaライブラリ「Boilerplate」 | MOONGIFT | オープンソース・ソフトウェア紹介を中心としたITエンジニア/Webデザイナー向けブログ

    BoilerplateはURLを与えると文部分を抽出するライブラリ。 BoilerplateはJava製のオープンソース・ソフトウェア。Webサイトをクローリングしたり、そのサイト内にあるテキストを使って別なWebサービスを構築すると言った手法はよく存在する。そんな時に必要になるのが文抽出というテクニックだ。 デモ Webサイトには文以外にも多様なコンテンツが存在する。例えばヘッダー、サイドバー、フッター、広告などだ。そうした無用なコンテンツを除去し、必要な部分だけ取り出すためのライブラリがBoilerplateだ。 BoilerplateはURLを引数に、後は自動的にコンテンツを取得して文だけを返却してくれるという手軽なライブラリだ。Javaのライブラリなので、既存のJavaシステムに組み込むのはもちろん、Google App Engineを使ってWeb APIとしてコンテンツ抽

  • Gomoku: 辞書込みの形態素解析器 - sileのブログ

    IgoをベースにしてJARファイルに辞書データを同梱した形態素解析器を作成した。 名前は同系統のGomoku(ver 0.0.1)。 特徴 開発コンセプト(?)は「JARファイルのみで形態素解析」と「サイズを(比較的)小さく」の二点。 このJARファイル一つで形態素解析が行える(外部の辞書データ不要)、という点が最大の特徴。 ただし、その分辞書のカスタマイズ性には乏しい。 ※ 辞書を変更する場合はjarファイルごと取り替える必要がある その他の特徴を列挙: 辞書データサイズがIgoより小さい 辞書込みJARファイルのサイズは4MB程度。解凍時は10MB程度*1。※ Igoは辞書サイズは40MB程度 辞書のデータサイズを節約するために、形態素の素性から品詞以外の情報を除外 そのため原型や読み等の情報を解析結果から得ることは不可能 (デフォルトの)辞書にはIPADIC(mecab-ipadic

    Gomoku: 辞書込みの形態素解析器 - sileのブログ
  • mobylet(モビレット) | 携帯Webアプリケーションを開発するためのJavaオープンソースフレームワーク

    「mobylet(モビレット)」は携帯向けWebアプリケーション構築のために特化した、 強力なJavaオープンソースフレームワークです。 「mobylet」を導入することで得られる機能には、次のようなものがあります。 3キャリアの絵文字の表示/入力/変換に対応 3キャリアの絵文字入りメール/添付メール/デコメールの送信に対応 ブラウザサイズに合わせて画像を動的にリサイズ表示 アクセスした端末のUID/GUID/端末プロファイル情報などを取得可能 非常に簡単なGPS/GoogleMapインターフェースを提供 携帯端末のキャリア・機種毎に異なるブラウザ仕様への対応は非常に手間のかかる作業です。 開発者は、PC向けWebアプリケーションのクロスブラウザ対応以上に困ることも多いでしょう。 mobyletは、そんな携帯独自の開発を容易にする機能を提供し、 効率的な携帯向けWebアプリケーションの構築

  • Unicodeの似た文字を整理してみた - y-kawazの日記

    XMLやCSV等のデータをJavaで色々加工して出力したりといったことをしてると必ずハマるのが波線などの文字化け問題です。 文字化けが発覚するたびにググって場当たり的な対処を繰り返すのに疲れたのでよく問題になる文字と形が似た文字をリストアップして、更にそれをJavaで各種エンコーディングに変換したらどの文字になるかを頑張って纏めました。 ついでに文字化けしないよう上手いこと出力可能な文字に置換する関数も作ってみました。 Javaの変換テーブル 表中の U,S,W,E,J はそれぞれ、UTF-8、Shift_JIS、Windows-31J、EUC-JP、ISO-2022-JP で出力した際の文字です。 見た目で分からないくらい似た文字ばかりなので、各セルにマウスカーソルを乗せたらツールチップで確認できるようtitleにコードポイントを書いておきました。 分かりやすいよう、青は文字化けなし、黄

    Unicodeの似た文字を整理してみた - y-kawazの日記
    y-kawaz
    y-kawaz 2010/11/12
    Unicodeの似た文字を整理してみた。/Javaの文字化け対策関数を追記した。/ちなみに記者さんが思い思いにあまり深く考えずに入力した文章を明らかな文字化け無しで大体そのまま表示したかっただけだからね。
  • Javaジェネリクス再入門 - プログラマーの脳みそ

    ジェネリクスでは、「型」を変数にした「型変数」というものを取り扱う。型変数で何が嬉しいかというと、メジャーな例ではコレクションAPIが挙げられる。java.util.Listとかjava.util.Mapとかのデータを格納するタイプのユーティリティクラスのことだ。 2004年にJavaのバージョンが5.0となるまでは、Javaにはジェネリクスの機能はなかった。なので、Listにデータを格納し、取得する場合は List list = new ArrayList(); list.add("hello!"); String str = (String) list.get(0); といったソースコードになる。 add()の引数はObject型で宣言されており、どんな参照型でもadd()することができた。 get()の戻り値もObject型で宣言されておりキャストが必要だった。このキャストはプログラ

    Javaジェネリクス再入門 - プログラマーの脳みそ
    y-kawaz
    y-kawaz 2010/11/06
  • Ikai Says...

    Personal insights into the world of technology I’m Ikai and I say a lot about the world of technology. This blog contains some of the more interesting ideas I’ve shared. Let me demistify technology. The rate of technological development has increased dramatically over the last ten years making it easier than ever to be confused and exploited. I’m here to take the guess work and confusion out of te

    Ikai Says...
    y-kawaz
    y-kawaz 2010/06/11
    Luceneを使ったインメモリサーチのサンプル
  • Seasar3がやってくる - ひがやすを技術ブログ

    Seasar2は、機能を枯れさせることに徹し、機能追加は行わないと宣言してから、二年以上たちます。 で、Seasar2が冒険しないことによって、適切な大きさの問題は生まれなくなり、開発者が離れ、Seasar関連プロダクトが生まれなくなり、Seasarユーザも離れていく。使われないSeasarからさらに開発者が離れていく。 こういうスパイラルが発生するかもしれないことについては、どう考えますか? このような声もありました。「機能を枯れさせることに徹する」というのは、かなりの冒険でしたが、今のところ、うまく行っていると思っています。 「RubyやSeasar2、OpenPNEが“定番”に、Linux Foundationが活用動向調査」という記事も出てましたね。 http://itpro.nikkeibp.co.jp/article/NEWS/20100527/348514/ しかし、二年の間

    Seasar3がやってくる - ひがやすを技術ブログ
    y-kawaz
    y-kawaz 2010/06/03
    期待
  • Redirecting...

    y-kawaz
    y-kawaz 2010/04/01
    Java7ではFileに代わりPathを使おう!
  • Life with Cygwin

    沖ソフトウェア株式会社は、沖通信システム株式会社および株式会社沖インフォテックと平成22年10月1日をもって合併いたしました。新会社名は、株式会社OKIソフトウェアとなります。3社が行っております事業は新会社にて従来通り継続いたします。

  • Effective Java 読書会 1 日目「static メソッドの使い方などなど」 - IT戦記

    はじめに 社内で「Effective Java を 20 日で読もう」という勉強会が企画されて、今日がその一日目。 ノリノリな感じで。 どーん 今日読んだところ 5 ページ 〜 19 ページ という訳で いろいろ出た話題を残しておく 毎日続けるために、なるべく適当に書いていこうと思う あと、自分が勝手に解釈してる部分も多々あると思うます>< static ファクトリーメソッド static ファクトリーメソッドとは、コンストラクタの代わりに使われる static メソッドのことらしい。 コンストラクタは、名無し たしかに String コンストラクタとかごちゃごちゃしてて一個一個名前付けたほうがいいんじゃね?と思うなーと http://java.sun.com/javase/6/docs/api/java/lang/String.html#constructor_summary Strin

    Effective Java 読書会 1 日目「static メソッドの使い方などなど」 - IT戦記
    y-kawaz
    y-kawaz 2010/02/16
  • CoolCoding.com is for sale | HugeDomains

    Make 24 monthly payments Pay 0% interest Start using the domain today. See details

    CoolCoding.com is for sale | HugeDomains
  • Google Code Archive - Long-term storage for Google Code Project Hosting.

    Code Archive Skip to content Google About Google Privacy Terms

  • ScalaによるWebアプリケーションフレームワーク「Lift」とは

    Java仮想マシン上で動くオブジェクト指向+関数型言語として、Scala(スカラ)が最近注目を集めています。Scalaで構築されたWebアプリケーションフレームワークはいくつかありますが、 連載ではその中で比較的歴史のある(といっても2年程度ですが) フレームワークである、Lift(リフト)を紹介したいと思います。 はじめに Java仮想マシン(以下JVM)上で動くオブジェクト指向+関数型言語として、Scala(スカラ)が最近注目を集めています。 Scalaで構築されたWebアプリケーションフレームワークはいくつかありますが、 稿ではその中で比較的歴史のある(といっても2年程度ですが) フレームワークである、Lift(リフト)を紹介したいと思います。 対象読者 Javaは知っているが、Scalaも学んでみたいと思っている方 ScalaでのWebアプリケーション開発に興味がある方 必要な

    ScalaによるWebアプリケーションフレームワーク「Lift」とは
  • 古いJREを一掃する·JavaRa MOONGIFT

    WindowsJavaを使っていると、時々アップデーターが通知を行ってくる。そしてそれに従ってアップデートを行うと新しいバージョンのJRE(Java Runtime Environment)がインストールされるのだが、Program Files以下にはバージョン違いのJREが増えていく。 知らないうちに増えたJRE… アップデートするなら上書きでも良いのではないかと思うのだが、なぜかしない(バージョン番号が変わって動作しなくなることがあるからだろうか?)。そしてバージョン違いのJavaがどんどん増えて邪魔に感じてくる。そこでJavaRaを使って一掃してしまおう。 JavaRaは古いJREを一気に削除してくれるオープンソース・ソフトウェアだ。 JavaRaはJREのアップデートと古いものの削除という二つの機能を備えている。削除を行う前にアップデートを行い、最新版にすれば効果的だ。使い方は簡

    古いJREを一掃する·JavaRa MOONGIFT
  • あなたの知らないJDKの便利ツールたち

    Java News.jp(Javaに関する最新ニュース)」の安藤幸央氏が、CoolなプログラミングのためのノウハウやTIPS、筆者の経験などを「Rundown」(駆け足の要点説明)でお届けします(編集部) 標準JDKに含まれる便利なツール 読者の皆さんは、最近のJDK(Java SE)に、開発やデバッグに便利な新しいツールが含まれていることをご存じでしょうか? 古くからのJava開発者は、古い時代のJDKのツールしか知らず、一方で新しいJava開発者はEclipse/NetBeansなどの統合開発環境に慣れてしまい、細かなコマンドツールを直に使う状況が減ってきているかもしれません。 そこで今回は、最近のJava SE 6含めて比較的新しいと思われるツールを以下の5種類に分けて紹介します。 プロファイリング トラブルシューティング/情報取得 監視 配備/補助 スクリプティング 「こんなツー

    あなたの知らないJDKの便利ツールたち