タグ

javaに関するthreeMonthsのブックマーク (224)

  • Java変態?コード最速マスター - うなの日記

    Java変態文法最速マスター - プログラマーの脳みそが面白かった && 参考になったので便乗してリスペクト。変態世間であまり見かけない(かも知れない)Javaコードを、過去のエントリからまとめてみました。 nullでなければループ 「配列がnullでなければループ」というシーンはまれにありますが、nullチェックのためにインデントが深くなるのが我慢ならん、というときにこういう記述はどうでしょう。 String[] strs = // 略 // 配列がnullでなければ各要素に対して処理を実行 if ( strs != null ) for ( String str : strs ) { // 処理 } if文の「{}」を省略してforを繋げているだけですが、インデントをさりげなく削れます。 似たような例で、「例外を無視して次へ」とかも。 // 例外が発生しても無視して次へ for ( S

    Java変態?コード最速マスター - うなの日記
  • *演算子を用いてJavaでポインタを扱う

    2009-09-26 北陸Scala第1回開催 2009-04-04 第十四回java-ja勉強会 - 第1回チキチキ 地方巡業withひがやすを飲み会in富山開催 2009-03-20 わんくま大阪勉強会#28 「ジェネリクスを使おう!」 2008-11-08 わんくま富山勉強会#1 開催 2008-08-09 わんくま東京勉強会#23 「C#登場前夜」 2008-04-01 *で始まるタイトルはエイプリルフールネタです 2008-01-26 わんくま東京勉強会#16 「ライブプログラミング」 2007-12-08 わんくま名古屋勉強会#1 「わんくま初めてのJava」 2007-07-28 開店

    threeMonths
    threeMonths 2010/02/03
    ユニコードエスケープの処理がされてからコンパイルされるからか
  • Java変態文法最速マスター - プログラマーの脳みそ

    Java基礎文法最速マスター - いろいろ解析日記をリスペクト。 Javaの変態文法・技法一覧です。Javaの基礎をある程度知っている人はこれを読めばJavaの変態をマスターしてJavaを書くことができるようになっています。簡易リファレンスとしても利用できると思いますので、これは足りないと思うものがあれば教えてください。 1.基礎 エンクロージング型内部classの作成 外部classのインスタンスに紐付くインスタンスを生成します。外部クラスのインスタンス - 内部クラスのインスタンス間に、クラス - インスタンスのような関係を持たせることができます。 public class Outer { public class Inner { } } というようなクラスを作った場合、 Outer o = new Outer(); Inner i = o.new Inner(); となります。new

    Java変態文法最速マスター - プログラマーの脳みそ
  • http://www.itarchitect.jp/beginners/-/10422.html

  • James君!~単純に起動してみる

    インストール config.xml RemoteManager 受信テスト インストール まあ、James君を起動してみる、なんてのはカンタンだ。下手すりゃ qmail とか Postfix を自前で立ち上げる、なんてことをするよりも単純じゃなかろうか(qmail だと最近の Linux だとコンパイルが素直に通らなかったりするしな..)。 とりあえず Apache から James を落せばいい。で、テキトーなディレクトリで解凍してやる。そうすると、次のようなディレクトリ構成になっているのが判ると思う。 james-2.2.0 -+- apps --- james.sar +- bin --- run.sh とか +- conf --- kernel.xml と wrapper.conf (←Phoenix の設定ファイル) +- docs --- ドキュメント類 +- ext ---

  • JDKのフォントをメイリオに - torutkのブログ

    Windows VistaでJava(Swing)のフォントをClearType効かせることを追求してみました。 まずは、日経BP ITProに掲載されている櫻庭氏の記事を参照しました。 「Java SE 6完全攻略」第17回 文字に対するアンチエイリアス | 日経 xTECH(クロステック) 記事によると、Windows環境では日語の小さなフォント(実験では20ポイント以下)はアンチエイリアス(LCD)がかかりません。小さいといっても普通のGUIプログラムを作るときはほとんどの文字を12〜14ポイントで作るので、事実上日語はClearTypeが適用できません。 これは、おそらくJDKが使用しているフォントがMS ゴシックであり、小さなサイズのときはTrueTypeではなくビットマップデータを表示するフォントであるためではないかと思っています。 Windows Vistaでは、メイリオ

    JDKのフォントをメイリオに - torutkのブログ
  • ウノウラボ Unoh Labs: NetBeansでConsolasフォントを使う

    yamaokaです。 NetBeansの6.5がリリースされましたね。もともとNetBeansはJava用のIDEですが、今ではPHPRuby、C/C++の開発にも使えるようになっています。PHPをバンドルしたものを試しているのですが、入力補完など基的な動作はもちろん、Subversionなどバージョン管理ツールとの連携も便利で個人的な開発にはすっかり手放せないものとなってしまいました。 さて、新しいIDEやエディタを導入したとき、皆さんは初めに何をするでしょうか。私の場合はフォントの設定を行う場合が多いです。Consolasフォントがお気に入りなのですが、Windows環境に導入したNetBeansでエディタのフォントにConsolasを指定すると 日語が正しく表示されません(豆腐文字になってしまいます)。Windowsフォントリンクの機能なども試してみましたが、うまく表示されな

    threeMonths
    threeMonths 2010/01/26
    jdk/jre/lib/fontconfig.propertiesをいじる 行の高さが広くなってしまうのが何とかしたい
  • Java用デコンパイラー·JD MOONGIFT

    JDはJava製のフリーウェア。Javaはコンパイルする言語なので(コンパイルされるのは中間言語だが)、コンパイルされた内容は基的には見られない。だが以前の担当者が作ったプログラムを修正しないといけない時に元のコードがなくなっていたら惨事になってしまう。 Java向けのデコンパイルツール そんなときに役立つのがデコンパイラーだ。コンパイルの逆、コンパイルされたコードを元のソースに戻してくれるソフトウェアだ。使い方を誤ると問題になりかねないが、使い方によってはとても役立つ。その一つがJDだ。 JDはGUI版とEclipseのプラグイン版の二つが存在する。GUI版についてはWindows/Mac OSX/Linuxそれぞれ用に実行ファイルが提供されている。使い方は簡単で、ただコンパイル済みのjar/classファイルを開けば良いだけだ。 検索ウィンドウ コードはハイライト表示され、階層も分か

    Java用デコンパイラー·JD MOONGIFT
  • 第3回 Java標準のO/Rマッピング機能「Java Persistence API」

    前回はEJB 3.0のインターセプタ機能を使ったセッションBeanとコンテナ管理によるトランザクションについて説明しました。今回はJava EE(Enterprise Edition)やJava SE(Standard Edition)におけるO/Rマッピングの標準になる「Java Persistence API」*1を紹介しましょう。 Java Persistence APIを使うメリットは大きく二つあります。一つ目は,少ないプログラム・コードでデータにアクセスできることです。Java Persistence APIは,Javaオブジェクトをデータベースに格納したり,データベースのデータをJavaオブジェクトへ変換したりする処理を自動化してくれます。したがって,データベース・アクセス用のAPIであるJDBCを直接使ったアプリケーションよりも少ないプログラム・コードでデータベースへのアクセ

    第3回 Java標準のO/Rマッピング機能「Java Persistence API」
  • Java: PreparedStatement で like を扱う時の注意点 - toyfish.blog

    JDBC には PreparedStatement クラスが用意されていて、SQL 文の一部をパラメータ化することができる。 パラメータ部分のエスケープ処理は JDBC ドライバが行ってくれるので、SQL インジェクション対策として最近では必須になりつつあるこのクラス。しかし、like 演算子を使う場合は、ちょっと注意が必要だ。 Lv 1 ネットで検索してみると、失敗例としてひっかかってくるのがこのパターン。 Statement stmt = conn.prepareStatement("select * from items where name like '?%'"); stmt.setString(1, "hatena"); ResultSet rs = stmt.executeQuery();name が "hatena" で始まる行を選択しようとしているわけだけど、これだと例外が

    Java: PreparedStatement で like を扱う時の注意点 - toyfish.blog
    threeMonths
    threeMonths 2010/01/25
    アンスコや%をエスケープするには。
  • StringBuilderの初期化 続き - すぎゃーんメモ

    StringBuilderの初期化 - すぎゃーんメモについて、id:todogzmさんコメントありがとうございました。 AbstractStringクラスというのはググっても見当たらないですが、とにかくchar[]を内部で持っているものだと解釈していいんですかね? 新しいインスタンスを生成することによる速度的なコストと、 上書きされて参照されなくなったオブジェクトがどこでGCに回収されるのか、 というところがまた知りたいところです。。 配列のサイズが増えても減りはしないということが問題になるとすると、 ・大きなサイズの文字列を入れた後に、短い文字列を何度も使いまわすためにずっとインスタンスを保持する という場面では確かにメモリ効率が悪くなりそうですね。 逆に、 ・似たようなサイズの文字列を短期間の間に使いまわす といった用途であればsetLength(0)で問題ない、と考えたのですがいか

    StringBuilderの初期化 続き - すぎゃーんメモ
  • StringBuilderの初期化 - すぎゃーんメモ

    StringBuilderを使いまわすために一度中身を空文字列に変えたい、というとき StringBuilder sb = new StringBuilder(); という毎回新しいインスタンスを作成する方法、 sb.delete(0, sb.length() - 1); という同じインスタンスの中で中身を全削除する方法、 sb.setLength(0); という一番ラクそうな方法、 と3つほど方法を考えてみたけど、上から順にコストがかかるのかな。 一番下ので問題ないのかな。中で何が起こることになるんだろう。 結局重要なのはcapacity()の値か。3番目の方法が一番ラクでスマートっぽいな。 clear()とかいう名前のメソッドがあれば直感的で分かりやすいと思うんだけどなー

    StringBuilderの初期化 - すぎゃーんメモ
  • はてなブログ | 無料ブログを作成しよう

    私、餡子のためなら逆立ちだってしますよ。 こじらせている。 べたいと思ったらべたいのである。 ここが北カリフォルニアの片田舎であろうと、私があんみつがべたいと思えば、あんみつは今すぐ作ってべなくてはいけないものになる。いしん坊の思考は凄まじい。 子供が観ていたアニメで、赤ちゃんが空の…

    はてなブログ | 無料ブログを作成しよう
  • JavaでFlashファイルを生成する - きしだのはてな

    JavaSWFを使ってSWFファイルを生成してみました。 JavaSWFは、名前のとおりJavaからSWFファイルを読み書きできるライブラリです。 http://sourceforge.net/projects/javaswf/ ソースはこんな感じ import com.anotherbigidea.flash.movie.*; import com.anotherbigidea.flash.structs.*; import java.io.IOException; public class NewClass { public static void main(String[] args) throws IOException{ //枠線 Shape sh = new Shape(); sh.defineLineStyle(3, new Color(0, 255, 0)); sh.set

    JavaでFlashファイルを生成する - きしだのはてな
  • 米Google、Javaコレクションライブラリ「Collections Library 1.0」を公開 | OSDN Magazine

    Googleは2009年12月30日、Javaのコレクションライブラリ「Google Collections Library 1.0」を発表した。Java 5以上の基コレクションライブラリで、Java Collections Frameworkの拡張と位置づけている。 Google Collections Libraryは、Javaのコレクション型、実装、関連機能などを集めたもの。List、Set、Mapなどの既存のコレクションフレームワークのユーティリティクラス、MultiMap、MultiSet、BiMapなどの新しいコレクション型、コンカレントハッシュマップビルダのMapMaker、クラスとコレクションのソーティングに必要な共通の作業を支援するメソッドを追加するOrderingなどを含む。 コレクションの振る舞いをカスタマイズできるForwardingSetなどのフォワーディング

    米Google、Javaコレクションライブラリ「Collections Library 1.0」を公開 | OSDN Magazine
  • レビューで鍛えるJavaコーディング力 その2(バリデーション) - 谷本 心 in せろ部屋

    前回の問題は、そこそこ好評だったようで、嬉しい限りです。 これからも、週に1〜2回ぐらいのペースで問題を出していこうと思います。 では、今回の問題です。 問題 以下のコードの問題を指摘し、修正してください。 ただし、問題は複数あることもあれば、全くないこともあります。 public class EmpService { EmpDao empDao = new EmpDao(); public void register(Emp emp) { validate(emp); empDao.insert(emp); } protected void validate(Emp emp) { // 他のチェックは割愛。 // 例外処理や、メッセージ部分は、分かりやすさのためにベタ書きしているため指摘対象外。 if (ValidatorUtils.checkRequired(emp.getName()

    レビューで鍛えるJavaコーディング力 その2(バリデーション) - 谷本 心 in せろ部屋
  • レビューで鍛えるJavaコーディング力 その1(日付バリデーション) - 谷本 心 in せろ部屋

    現場でJavaのソースをレビューしていると、一目で「問題だ」と気づくコードによく出会います。 しかも、同じような問題をアチコチで見かけることも、少なくありません。 FindBugsを導入したおかげで、そういう問題が多少減ったものの、 やはりゼロになるわけではありません。 、、、ということで、 そんな問題コードに即座に反応できるようになるために、 私が見てきた問題コードをクイズ形式で紹介していきます。 ぜひ皆さんも、脊髄反射でNG部分を見つけてください。 見つけられなければ、適当にブクマでもしてください(笑 では今回は、日付チェックに関する問題です。 問題 以下のコードの問題を指摘し、修正してください。 ただし、問題は複数あることもあれば、全くないこともあります。 /** * 日付が正しい形式であり、存在する日付であることを検証します。 * * @param date 日付を示す文字列 *

    レビューで鍛えるJavaコーディング力 その1(日付バリデーション) - 谷本 心 in せろ部屋
  • JavaでLL風な開発を実現するWebフレームワーク「Play Framework」 | gihyo.jp

    RubyPHPなどLightweight Language(LL、軽量言語)な世界では、フルスタックなWebフレームワークが乱立している状況です。しかしJavaには有名と言えるフルスタックなWebフレームワークはありません。そんな中、まるでRailsのようなスタイルで開発ができるJavaフレームワーク「Play framework」が登場しました。 Play frameworkはPure Javaでコントローラやモデルを記述しますが、コード量は驚くほど少なく済みます。 しかも、Javaファイルを編集してブラウザを更新するだけで反映させることができます。これは内部でEclipse JDTコンパイラを利用していることで実現できています。ソースに記述ミスがあってもブラウザ上にコンパイルエラー部分を行番号付きでカラフルに示してくれるのも親切です。 モデルはHibernateベースのJPA(Jav

    JavaでLL風な開発を実現するWebフレームワーク「Play Framework」 | gihyo.jp
  • APサーバを問わずJavaアプリケーションを動かすには?

    APサーバを問わずJavaアプリケーションを動かすには?:Java Review(1/2 ページ) Webシステムでは複数のベンダーのアプリケーションサーバを利用していたり、Webシステム更改の際アプリケーションサーバを変更したりする場合がある。このような場合に動くはずのアプリケーションが動かなくなったという経験はないだろうか。今回は、Webアプリケーションサーバを変更した時にJavaの業務アプリケーションで留意すべき点について説明する。 Webアプリケーションサーバごとの違いを考慮する Javaの業務アプリケーションを異なるWebアプリケーションサーバで動かす場合には「バージョンの違い」、「Webアプリケーションサーバごとの違い」を意識しておく必要がある。前者の「バージョンの違い」では、WebアプリケーションサーバでサポートしているJava EEやJava SEのバージョンに違いが無いか

    APサーバを問わずJavaアプリケーションを動かすには?
  • Java に関するあれこれ

    Twitter クライアントに学ぶ Java GUI プログラミング #0 はじめに #1 開発環境の構築 (Java SDK, Eclipse, Maven 2) #2 Maven Project の作成 ~ Hello World! #3 外部ライブラリを使用する (Maven 2 使用) #4 Twitter の TL (タイムライン) を取得 #5 Thread を使用して一定間隔で TL を取得 #6 GUI ウィンドウとイベントディスパッチスレッド #7 TL を GUI ウィンドウ上に表示する