You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
null をフラグとして使うのは、やめた方がいいと思います。 null は、ただ変数が初期化されていないことを表しているだけです。 この意味以外で、null を使わない方がいいと思います。 null をフラグとして使う 「null をフラグとして使う」というのは、「null なら xxxx」というように、null が何らかの意味を持って使われていることを指します。 例えば、下記のコードでは「null はゲストユーザを指すフラグ」として使われています。 /** * ユーザ用のヘッダを作る処理 */ public String createHeader(User user){ (…中略…) String name; if(user != null){ name = user.getName(); }else{ name = "Guest"; // null ならゲストユーザ } 問題点 これの
30億のデバイスのみなさん、こんにちは、ジャバです。 何の前触れもなく、2013年 Androidアプリ開発で使いたいライブラリを発表します。 JsonConverter => gson JSONRPCでサーバーサイドと通信を行うときに、毎回パーサーを書くのは面倒なので、JsonConverterを使いたくなります。 そこで開発ではgoogleが開発しているgsonを使っていました。 NamingPolicyやDeserializerの使い方を覚えれば、手でjsonのパーサーを書くより圧倒的に楽で、 Person person = gson.fromJson(json, Person.class); このように一行でjsonからオブジェクトに変換できるようになり、 String json = gson.toJson(person); 一行でオブジェクトからStringに変換することも出来ま
Apache Batik¶ Overview License Download Notes Status Demo FAQs Batik Wiki Mailing lists Contributors Bug database Projects using Batik Batik Tools¶ Overview Browser Rasterizer Font converter Pretty printer Using Batik¶ Overview Architecture Javadoc APIs DOM API Parsers Scripting¶ Scripting with ECMAScript Scripting with Java Scripting with Security SVG generator Swing components Transcoder API Ext
Java Advent Calendar 2011 の18日目です。 17日目の記事は JavaEE使ってウェブアプリケーションつくろうよ - 水まんじゅう2、 19日目はJavaエバンジェリストの寺田さんですよ。乞うご期待。 プロローグ 後:「先輩、いまさらなんですけど上からSQLの遅いところを調査してくれって依頼がきてて、全クエリの実行時間を実データで集計とれと言ってるんですけど。これ、SQL発行前後で時間計測するしかないですかねー。このプロジェクトどんだけクエリ発行してるところあるんだろ…。簡単にやれないですかね。とりあえず調査に1週間かかるって返答しちゃいましょうか」 先:「まぁまて。全部のクエリにもれなく時間計測のコードを挿し込むとかやってられんし、手作業で漏れも発生するだろ。こういうのはオブジェクト指向で解決するのがスマートだ。あ、とりあえず調査に1週間かかるとは返答しておけ」
まず、「A*アルゴリズム(A*探索アルゴリズム)」というのは、ダイクストラ法を改良したようなものです。 ダイクストラ法というのは、初期状態からノードまでの必要最小コストが小さいものから順に探索していく方法で、具体的には (0)まず、最初にリストに初期状態を入れる (1)リストから、「初期状態からの必要最小コスト」の値が最も小さいノードを選ぶ。 (2)そのノードから到達できる状態を調べ、リストに追加する。 (3)目的の状態に到達したら終わる。 (4)到達しなかったら(1)から繰り返し。とまあそんな感じですな。 「必要最小コスト=初期ノードからの移動回数」なら幅優先探索と同じになるわけです。 次に、「Aアルゴリズム」とは、ここに「たぶんあとこれぐらいで目的の状態に着く」という、 目的地までのコストの推定値を求める関数(ヒューリスティック関数)h*(x)(xはノード)を考えて、 さっきのアルゴリ
ええっと、リクエストされたので、今回は並行処理ネタにいってみます。 並行処理といえば、この本は必読書ですね。でも、書いてることは、かなりムズカシイデス(´・ω・`) Java並行処理プログラミング ―その「基盤」と「最新API」を究める― 作者: Brian Goetz,Joshua Bloch,Doug Lea出版社/メーカー: ソフトバンククリエイティブ発売日: 2006/11/22メディア: 単行本購入: 24人 クリック: 419回この商品を含むブログ (163件) を見る ということで、並行処理について、もうちょっと優しく分かりやすく解説できないか考えて書いてみます。 スレッドセーフにするには 今回は、プログラムをスレッドセーフにするためにどんなことを考えればよいか。そういうテーマです。 アンスレッドセーフなコードから この本の最初の方に、"スレッドのリスク"という章で、スレッド
apktoolをMacで使う方法の続きです。 apktoolでデコンパイルするとsmaliが取り出されて見づらいので、今度は.javaを取り出す方法をメモ。 apkファイルを逆コンパイルする手順 1. apkファイルを解凍 逆コンパイルしたい apkファイルを用意したら、まずは解凍します。 apkファイルは zip の圧縮と同じなので、zip解凍ソフトで解凍。 2. jarファイルを取得 jarファイルの取得方法がWindowsでのやり方しか見つからなかったので、とりあえずWin環境でやりました。 apkファイルを解凍したら classes.dex というファイルが見つかるので、こいつを dex2jar というツールで jarファイルを取得します。 dex2jar を入手する http://code.google.com/p/dex2jar/downloads/list dex2jar を
The Apache Software Fondation(ASF)のApache Commonsプロジェクトチームは7月6日、XMLファイルをJavaオブジェクトにマッピングする「Apache Commons Digester 3.0」を公開した。実装が大きく書き直され、多数の新機能も含んでいる。 Apache Commons DigesterはXMLファイルをJavaオブジェクトにマッピングするためのJavaライブラリ。あらかじめ指定しておいた「ルール」に基づき、特定のXML構造を認識してそれをトリガーにアクションを実行できる。 Apache Commons Digester 3.0は、2009年1月にバージョン2.0がリリースされて以来のメジャーアップグレードとなる。全体にわたって実装が書き直され、ルール作成用言語「EDSL(Embedded Domain Specific Lang
10万行コード読んだらJava分かるよってTwitterに書いたらすげぇ勢いでRTされたので、調子に乗って捕捉エントリ書くよ。 Java Core API JDKインストールしたディレクトリに入ってるsrc.zipを展開すると入ってるから読むと良いよ。 すぐ近くにあるのから読むってのはメンタル的に楽でいい。 厳密にはOSSじゃなくて単に公開されてるってだけなんだけども、JavaプログラマなのにコアAPIのコード読んでないとか無いよね? どれから読めば良いか分からんかったら、 java.lang java.util java.io java.text 辺りをまずはキチンと理解すること。当然コードを読み終わったら、それを使ってコードを書く事。 OpenJDK http://hg.openjdk.java.net/jdk7/jdk7 OpenJDKを読むことで、プログラム言語してのJavaではな
Docomo製Android端末の発売日が発表されました。来月の札幌JavaコミュニティもAndroidイベントということもあり、チュートリアルを作成したりしています。ちょっとスレッド周りではまった事もあり、簡単な時計アプリケーションの作り方から、Androidのスレッド描画モデルを紹介します。 とりあえずソース このアプリケーションは、0.5秒毎に日時を更新する単純な時計アプリケーションです。 package com.example.android; // import 略 public class Clock extends Activity { private ScheduledExecutorService service; private Handler handler = new Handler(); /** Called when the activity is first
はじめに ソースコードは設計であり、コードの記述は品質に直結するのは言うまでもない。ちなみに、プログラマにとって特に重要なのは保守性だ。コードは書いた直後から保守対象となるからだ。コードは要求文書の範囲で動けばいいと思っている人がいれば今すぐ、ソースコードをコピペして100klに増えるプラグインがいつの間にかインストールされる呪いをかけてあげよう。幸い、ここを読んでいる人にはそんな人はいないだろうと思うけれども。 ということで、コードの品質を下げる要因、すなわちシステム全体の品質を下げる要因となり、かつ使われやすいアンチパターンを挙げ、対策を検討していくことにする。対象は以下: 出力パラメータ 処理状態返却 意味のある配列 無意味な初期化 多すぎるtry-catch 暗黙の順序 コンパイラ警告の無視 過剰なコメント e.printStackTrace() 出力パラメータ メソッドの引数にオ
キュー構造をJavaで実装してジェネリック型を理解する:【改訂版】Eclipseではじめるプログラミング(19)(1/3 ページ) これからプログラミングを学習したい方、Javaは難しそうでとっつきづらいという方のためのJavaプログラミング超入門連載です。最新のEclipse 3.4とJava 6を使い大幅に情報量を増やした、連載「Eclipseではじめるプログラミング」の改訂版となります 安全なままコレクションフレームワークを利用するために 今回は、「ジェネリックス(Generics)」について説明します。 Javaでは、すべてのクラスはjava.lang.Object型から派生しているので、どのオブジェクトもObject型として扱えば、ある処理をさまざまなデータ型に対して適用できます。 ただし、この場合は型について安全であることを保証するために、自分でチェックコードを記述したりキャス
とりあえずまとめてみました。他にもあるけどよく使いそうなやつを中心に書いてみました。参考になれば。 ■コーディングに便利なショートカット 1.補完(Ctrl + Space) これはもう言うまでも無いですね。ちなみにメソッドを補完する際はキャメルケースの大文字部分で絞込むことができます(補完だけじゃなくて検索も同様)。くわしくはEclipse: キャメルケースの補完奥義 - jfluteの日記。 sysoでSystem.out.println();が、mainでpublic static void main(String[] args) {}が補完されるのは常識。 あとコレクションや配列の変数の後にforeで拡張for文が補完されるのはループに関するつまらないバグを無くせるので積極的に使ったほうがいいと思います。 変数名も補完できます。型がArrayListならarraylist, lis
「サンプルのソースを見る」の第5回forminput編。このサンプルでは、 いろいろなフォーム要素の使い方 がなんとなくわかります(^_^;)。 アプリケーションクラス(FormInputApplication.java) まずは、アプリケーションクラスです。こちらは、ホームページクラスを返しているだけなので、割愛します・・・といきたいところですが、このクラスでは、initメソッドをオーバーライドして処理を追加しています。 まずは、例外処理設定のインスタンスを取得して、指定したりソースが見つからなかった場合でも例外をスローしないように設定します。 getExceptionSettings().setThrowExceptionOnMissingResource(false); 次に、各言語用のボタンの設定を行います。ここでは日本語の設定を見てみます。まず、Fontのインスタンス生成します。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く