タグ

javaに関するihciadのブックマーク (33)

  • 例外設計における大罪 - 契約

    1. 例外設計 における大罪 和田 卓人 (a.k.a id:t-wada or @t_wada) Jun 27, 2012 @ java-ja 12年6月28日木曜日 2. 自己紹介 名前: 和田 卓人 (わだ たくと) ブログ: http://d.hatena.ne.jp/t-wada メール: takuto.wada@gmail.com Twitter: http://twitter.com/t_wada タワーズ・クエスト株式会社 取締役社長 12年6月28日木曜日

    例外設計における大罪 - 契約
  • GoFの23のデザインパターンを,Javaで活用するための一覧表 (パターンごとの要約コメント付き) - 主に言語とシステム開発に関して

    GoFデザインパターンの一覧表と,活用のためのコメント,および入門者が独学するためのリンク集(サンプルコード付き)。 入門者の独学を支援するために,このページのURLを提示して熟読させ,各パターンを短時間で効率よく学んでもらう。 デザインパターンはプログラマの常識だ。 Java使いかどうかは問わない。 にも関わらず,入門書を買ったまま,途中で挫折する人が多い。 挫折の原因は,パターンの数が23もあって,多いからだろう。 全パターンをすんなり覚えてもらうためには,各パターンごとに 「要するにこういう目的のパターンなんだ。」 「10文字で表現すると,パターンの意味はこうなんだ。」 という要点・質を,短いコメントで伝えれば助けになるだろう。 こういった学習を通して,Java言語の「設計思想」も併せて感じ取ってゆけるはず。 全パターンの一覧表(要約コメント付き) 全パターンについて,10文字以内

    GoFの23のデザインパターンを,Javaで活用するための一覧表 (パターンごとの要約コメント付き) - 主に言語とシステム開発に関して
  • quick sortよりも高速でmerge sortのように安定しているソートアルゴリズムtim sort [勘違い] - Islands in the byte stream

    <追記>ベンチマークプログラムに誤りがありました。ソート済のシーケンスに対してソートを掛けていました。ご指摘ありがとうございます>ak氏 そんな夢のようなソートアルゴリズムがあるのかというと、あるらしいんです。それがtim sortと呼ばれるアルゴリズムです。 画期的(?)なソートアルゴリズム「Sleep Sort」:濃縮還元オレンジニュース|gihyo.jp … 技術評論社 このあたりで拾ってきたネタですね。 merge sortを改良したアルゴリズムで、安定*1しており、しかも実行速度にも優れているとか。アルゴリズムの性能の評価は済んでいるらしく、CPythonやJDK7には既に導入済みのようですね。 ならば当然Perlのソートも…と考えるわけですが、まず評価のためにJavaのソースをC++にそのまま移植してみました。それがこれ(いちおうテスト済): https://github.co

    quick sortよりも高速でmerge sortのように安定しているソートアルゴリズムtim sort [勘違い] - Islands in the byte stream
  • デザインパターン[モデリング] -TECHSCORE-

    オブジェクト指向プログラミングにおいてデザインパターンを利用することは、開発者に様々なメリットを与えてくれます。 ここでは、「デザインパターンとは何か」というようなデザインパターンの基事項と、GoFの23個のデザインパターンをJavaを利用してわかりやすく解説します。 デザインパターン INDEX

  • Javaで文字列の暗号化/複合化(※外部ライブラリを使わずに) - on the center line.

    僕がいま係っているシステムで、別システムのログインパスワードを文字列でデータベースに格納することになりました。これを実現するために、Javaで文字列の暗号化/復合化を行う方法を調べたので、その結果を記しておきます。(※既に別の方々が解説している内容をまとめただけですが。) まず、大きく以下の工程にわけて考えます。 文字列を暗号化する(バイト配列を得る) 暗号化されたバイト配列を文字列化する(暗号化文字列を得る) 暗号化された文字列をバイト配列化する(暗号化バイト配列を得る) バイト配列を復号化する(文字列を得る) 「1. 文字列を暗号化する(バイト配列を得る)」 Java Tips:手軽に暗号化・復号化するには? このページにばっちり解説してあるとおりです。 import javax.crypto.Cipher; import javax.crypto.spec.SecretKeySpec

    Javaで文字列の暗号化/複合化(※外部ライブラリを使わずに) - on the center line.
  • Javaで覚えるIT技術者の40の常識 - @IT

    ~新人プログラマ/SEは覚えておきたい“まとめ”~ @IT編集部 2011/3/24 このページは、開発者/プログラマが、以下のような項目に関して、常識的な基礎知識を学ぶための記事リンクのまとめです。 デスクトップなどの見た目に関する3つの常識 プログラミング・コーディングに関する6つの常識 ネットワーク/通信に関する9つの常識 セキュリティに関する3つの常識 データとファイルに関する5つの常識 設計・アーキテクチャに関する6つの常識 ソフトウェアの品質管理に関する3つの常識 業務アプリに関する5つの常識 Java SE(旧、J2SE)のコアAPIやJSP/サーブレット+StrutsのWebアプリケーション開発、JBossやその他のJavaオープンソースソフトウェアのサンプルコードや使い方を通じて、さまざまな“常識”を学習する以下の連載の記事に、基礎知識のカテゴリごとに分けてリンクしていま

  • Utilz: Main

    Top Java関連 Servletメール処理 JavaでFlash(Ming) JSPWikiフォーム JavaでアニメーションGIF Webページのキャプチャ JDBCのロギング JavaMailとTLS Gmail 自己署名 自己署名(2) プログレッシブJPEG 携帯サイト関連 再配布不可識別子 Forward Lock トルカのメール添付 携帯位置情報(GPS) 画像の位置情報 動画の位置情報 JSFで携帯ページ デコメールテンプレート 携帯識別 携帯クローラ 携帯アフィリエイト 携帯関連リンク集 チュートリアル キャラクタセット作成 Misc E61 IMAP IDLE ソフトウェア Emf(絵文字フィルタ) インストール 絵文字の表示 絵文字メール カスタム設定 サンプル Scf(補助文字フィルタ) インストール サンプル 詳細設定 GCalViewer 開発メモ

    ihciad
    ihciad 2011/02/03
  • JavaでWebページをレンダリング(画像化)するライブラリあれこれ (JavaWebPageRendering - MemoWiki v5)

    JavaでWebページをレンダリング(画像化)するライブラリあれこれ ---- Swing (JEditorPane, HTMLEditorKit) -Why does it work? Javaでウェブサイトを表示する#4(ウェブサイトをPNG画像として保存する) --http://hightide.blog2.fc2.com/blog-entry-306.html -HTMLをGIFファイルに保存 - Java Solution --http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=33760&forum=12&9 --保存するタイミングの問題。 -Why does it work? Javaでウェブページを表示する#1(JEditorPane編) --http://hightide.blog2.fc2.com/blog-e

    ihciad
    ihciad 2010/12/08
  • LWJGL

    このページは軽量Javaゲームライブ ラリのLWJGL(Lightweight Java Game Library)の 情報サイトです。 2005年1月現在日語での情報が全くないのでちょっと作ってみました。 現在作成中なので情報が抜けていたり、間違っていたりします。LWJGLのバージョンは0.94を元に作成されています。 ・LWJGLは何ができる? ・OpenGL、 OpenALを使って3Dのグラフィック、3Dのサウンドが利用できます。 ・マウスやキーボード、ゲームコントローラーが使用でき、キーが押された時のイ ベントはもちろん、現在任意のキーが押されているかどうかも取得できます。 ・ゲームコントローラーのアナログスティックの値が取得できます。PS2コントローラーのような2軸のパッドもそれぞれの値が取得できます。 ・モニタの解像度を変更でき、フルス

  • TM's Workspace - Java Archive

    ihciad
    ihciad 2010/12/04
  • Java Laboratory Java2D AffineTransform No.1

    アプリケーションには何らかの処理を定期的に行うという処理がいろいろとあると思います。例えば、アニメーションやゲーム、サイトを定期的にチェック、ポーリングなどなど、それこそいろいろあると思います。 そんな時、どういう実装をしてますか? Runnable インタフェースを派生したクラスを使うこともあるでしょう。もしかして Thread クラスの派生クラスを作ってませんか。当にそのクラスは Kind of Thread になってますか? でも、そんなことしなくても、もっと簡単に周期処理を行うことができるんです。しかけは java.util.Timer クラスです。 java.util.Timer クラスは J2SE 1.3 で導入されました。アニメーションなんかスレッドなんか使わないで、このクラスを使えば簡単にできるのに、とよく思います。でも、なぜか書籍などのサンプルでは使われていないのはなぜ

  • Jogl

    JOGL はまだ公式に完成したものではなく、まだ発展途上にあります。 eclipse を使用しなくても JOGL を使用できますが、環境変数の設定で面倒なことを しないといけないので eclipse を使用するほうがよいと思います。 eclipse を使用する場合には SWT を使用するほうがよいかも知れませんが、これは当面扱いません。 私にとって、少しややこしくなりすぎるのでとりあえず JOGL のみを扱います。 JOGL アプレットを作成することが目標です。 OpenGL を java で動かすための、ライブラリーには幾つかの種類があるようです。 しかし、アプレットにも対応しているのは JOGL だけではないかと思います。 JOGL に難点があるとすれば、JOGL がネイティブ・コード (OS 依存) を 使用することです。そのため、JOGL アプレットは作成はできるのですが、 アプレ

  • 「OpenGLを使ってJavaでも3Dを楽しもう」第1回 3Dは関係ないと思われているかもしれませんが...

    「OpenGLを使ってJavaでも3Dを楽しもう」 第1回 3Dは関係ないと思われているかもしれませんが... 3Dによる表示は様々なところに使われています。 映画やコマーシャル,ゲームなどでは3D CGは当たり前のように使われています。でも,「そんなのはごくごく一部の分野で,仕事には全く関係ない」と思っている方も多いのではないでしょうか。 たぶん,仕事で一番多く使用されている3Dの表示は表計算ソフトのグラフでしょう。それ以外で,3Dといっても思い浮かぶものはないかもしれません。 だからといって3Dによる描画を使用していないかというと,そんなことはありません。意識はしていないかもしれませんが,今後は3Dによる表示は欠かせないものになってきています。 例えば,Windows Vistaはどうでしょう。 Windows Vistaのデスクトップ環境であるWindows Aero(以前はAero

    「OpenGLを使ってJavaでも3Dを楽しもう」第1回 3Dは関係ないと思われているかもしれませんが...
  • Java技術最前線 櫻庭祐一 連載目次 :ITpro

    今日のソフトウエア開発において,Javaは最も重要なプログラミング言語あるいは開発環境といってもいいでしょう。そこで,ITproではJavaの最新技術についての連載を掲載しています。著者はJavaプログラマ向け情報ページ「Java in the Box」で有名な櫻庭祐一氏です。

    Java技術最前線 櫻庭祐一 連載目次 :ITpro
  • http://www.utilz.jp/wiki/WebCapture

  • Java Swingによるドラッグアンドドロップ(drag-and-drop)の実装 - my-notebook

    Java Swingによるドラッグアンドドロップ(drag-and-drop)の実装Javaで実装する場合に限らず、一般的にドラッグアンドドロップの処理は、いろいろな要素(処理やメッセージの伝達)が関わってくるのでわかりにくい部分があります。 ざっと思いつくままに挙げても、以下のような点に注意してコーディングする必要があります。 ドラッグ元での処理ドラッグ開始時の処理ドロップ先での処理ドロップしたときの処理(ドラッグ完了したときのドラッグ元での処理)ドラッグ中の処理(ドロップ領域に入ったとか出たとか)など。 しかし、ドラッグアンドドロップ中に起きる処理の流れ全体を把握して、そのそれぞれでどのクラスが関わってくるのかを把握できれば、Javaでの実装はかなり簡単です。 異なるJavaVM間やネイティブなプラットフォーム上のアプリケーションとのドラッグアンドドロップに対応しているので、これをマス

  • 「Java SE 6完全攻略」第27回 Swingでマルチスレッド - SwingWorker その1

    この問題は,サン・マイクロシステムズのJavaエバンジェリストグループが主体になって毎月開催しているセミナー「今月の2時間で学ぶJava Hot Topic」で取り上げたのと同じものです。Javaエバンジェリストグループは5分でわかる今週のJavaホットトピックというブログでも,定期的にJavaのパズルを掲載しており,このパズルも掲載されています。 ですので,このセミナーに参加された方はもう答えを知っていはずですね。正解は(2)です。 この結果は「Swingで実装されている」というところがキーです。同じものをAWTで作り直して実行すると,結果は(6)になります(ソースコード)。 なぜSwingだともともとの意図である(6)になってくれないのでしょうか。 それはSwingがシングルスレッドで実装されているからです。 SwingやAWTはイベント駆動で動作することは皆さんご存じのはずです。イベ

    「Java SE 6完全攻略」第27回 Swingでマルチスレッド - SwingWorker その1
  • Javaサンプル(絵ボタンクリックと文字列表示)

  • デザインパターン(マルチスレッド) - 自分用メモとか

    Single Threaded Execution(Critical Section) パターン † 一度に1つのスレッドしか実行できないようなメソッドを指します(要は排他制御のこと)。 つまり、Javaでは、synchronizedをつけるだけです。 C++(Windows環境)では、クリティカルセクションオブジェクトを用います。 synchronized なメソッドを実行中は、そのオブジェクトがロックされます。 (他のスレッドがオブジェクトのメンバにアクセスすることができなくなる) 例えば以下のコードでは、safeMethod()が synchronizedな時とそうでない時で実行結果が異なります。 public class ThreadSafeSample { int x = 0; /// スレッドセーフにしたいメソッド public synchronized void saf

  • 『増補改訂版Java言語で学ぶデザインパターン入門マルチスレッド編』

    書は、マルチスレッドと並行処理を学ぶ入門書です。 書では、Javaのスレッドの基から書き起こし、 マルチスレッドプログラミングによく登場するパターンを解説します。 書を通して、マルチスレッドと並行処理に関する理解を深め、 よく使われる技法を身につけましょう。 Amazon 目次 想定読者 書の目次 サンプルプログラムのダウンロード 誤りと訂正 フィードバック 想定読者 書は、こんな方へおすすめです。 Javaのマルチスレッドプログラミングに興味を持っている人 Javaのスレッドについて、きちんと学びたい synchronizedって、どういうときに、なぜ書くのか、ちゃんと理解したい マルチスレッドプログラミングで何が問題になるのか、なぜ難しいかを把握したい スレッドの間で情報をやりとりする方法について学びたい スレッドを使ってパフォーマンスアップする方法について学びたい Swi