タグ

javaに関するu1tnkのブックマーク (15)

  • 可視性と公開APIと非公開(内部)APIと - 都元ダイスケ IT-PRESS

    Javaではpublic, protected, default, privateという4種類の可視性がある。 Javaを始めてしばらくの間、この4つの使い分けがよくできていなかった。 「外から呼ぶならpublic、呼ばないならprivate」時代 当時から、なるべく可視性は下げた方が良い(オブジェクト指向は「隠す技術」である → 継承とコンポジット - 都元ダイスケ IT-PRESS参照)ということは理解していたので、「外から呼ぶならpublic、呼ばないならprivate」という指針からスタートした。 上記に加えて「継承先からしか呼ばないならprotected」時代 Template Methodパターンを覚えた頃の話。この時代が一番長かった。 そして残ったひとつ、default(package-private)の使い方が全く分からなかった時代でもある。色々使おうと頑張ってみたが、pa

    可視性と公開APIと非公開(内部)APIと - 都元ダイスケ IT-PRESS
    u1tnk
    u1tnk 2009/12/24
    良まとめ。package private使いこなしてないなぁー
  • #appengine JavaのLow-Level API(低レベルAPI)入門

    追記このエントリについては今後はWikiでメンテナンスしていきますので、最新の情報はWikiで確認して下さい。 追記スティルハウス社の佐藤さんよりコメントを頂いたので一部の表現を修正しました。取り消し線+青字にしたりしてます。 追記ひがさんよりコメントを頂いたので、最後のTransactionについてのソースコードのサンプルを一部修正しています。子Entityをput()する呼び出しの第一引数にTranscationを指定するように修正しました。 ここから GAE/JのLow-level API(主にDatastore周り)については基的にJavaDocしかなくて情報量が少ないと思ったので、それなりに使っていくための簡単な説明を書いてみる(@fumokmm氏の発言で思いつきました、Thx!)。 個人的な思いとしては、GAE/JのDatastoreについてJDOから入るのは間違いの元だJD

    u1tnk
    u1tnk 2009/08/31
  • hamcrestのMatcherメモ - 都元ダイスケ IT-PRESS

    技術ネタじゃないところで盛り上げてしまった。技術ネタいこう、技術ネタ。 さて、JUnitを使う際、hamcrestライブラリを使って、英語として読めるようなassertionを書く、なんてのは流行ってたり流行っていなかったり? JUnit4限定だけれど、assertionの際、assertEqualsとか色々assertionのメソッドはあるけど、全てassertThatで書くことができるはず。assertThatメソッドの第一引数にテスト対象、第二引数にhamcrestのMatcherインターフェイスの実装を与えます。なんのこっちゃですが。 Jiemamyでは、なるべくassertThat以外のassertionメソッドを使わないようにテストを書いています。(もしかしたらもう一つも残ってないかも。) まぁ、以下のように書くと、英語っぽいのが書けますよ、と。 assertThat(aaaa

    hamcrestのMatcherメモ - 都元ダイスケ IT-PRESS
  • 第13夜 Java SE 6はnative2ascii使わなくていいのはみんな知っていると思うが - しんさんの出張所 はてなブログ編

    みなさまJava SE 6への移行は進んでおりますでしょうか。もう7月になったということはJava2 SE 5.0のサポート期間は4ヶ月をきったということですよ。 そこで今後はJava SE 6での地味な改良をあげていきたいと思う。派手な話題はみんな飛びつくけど、地味な改良が実はうれしいのだ。 最初はみんな知ってる小ネタから。 J2SE 5.0からPropertiesがXMLを扱えるようになったのはご存知のとおり。それまでは7bitなファイルしか扱えなかった。理由はPropertiesクラスが1.0のときに登場した古参クラスであるということ。1.0はマルチバイトが対応しておらずみんなこんな感じだった。そもそもHashTableを継承してるのはどうよ、とかいいたいことはたくさんあると思うのだが、Javaが発表されたのが14年前。その前からあったことを考えると仕方あるまい。C++ですら標準化さ

    第13夜 Java SE 6はnative2ascii使わなくていいのはみんな知っていると思うが - しんさんの出張所 はてなブログ編
    u1tnk
    u1tnk 2009/07/09
    すっげーー嬉しい…
  • Perf4jでプロファイリングが容易になる

    垂直スケーラビリティと効果的なテストによる金融取引システムのパフォーマンスと効率の最大化 Peter Lawrey氏はJavaチャンピオンであり、Chronicle SoftwareのCEOとして、開発者を鼓舞してソリューションのクラフトマンシップを高めることに情熱を注いでいる。経験豊富なソフトウェアエンジニアとして、Lawrey氏はソフトウェア開発プロセスにおけるシンプルさ、パフォーマンス、創造性、革新性を奨励することに努めている。

    Perf4jでプロファイリングが容易になる
  • Google App Engineのtips集 - スティルハウスの書庫の書庫

    (随時更新中です。間違いなどありましたらコメントをお願いします!) このページのtinyurl: http://tinyurl.com/gaetips Datastoreのtips Bigtableの内部構造 BigtableによるDatastoreの実装 Datastoreによるクエリの実装 トランザクションとエンティティグループ Datastoreのtips List Proprtyとmerge joinの使い方 GAE一般のtips GAEのサーバー構成とリクエストの流れ Task Queue APIの使い方 開発環境とプロダクション環境の違い Flex/AIR+GAEのtips GAE/JにBlazeDSを組み込む BlazeDSの番環境へのデプロイでハマる Datastore APIの取り扱いでハマる App Engine開発の便利な参考ページ TOPGATEさんのGoogle

    Google App Engineのtips集 - スティルハウスの書庫の書庫
  • 2009-06-15 - 矢野勉のはてな日記

    u1tnk
    u1tnk 2009/06/15
    これは便利そう。
  • 【ハウツー】JavaでWebブラウザをドライブ! WebDriverを使ってみよう (1) WebDriverとは | エンタープライズ | マイコミジャーナル

    WebDriverとは WebDriverはWebブラウザを操作するためのJavaライブラリだ。WebアプリケーションのUIテストツールとして使用することが想定されており、JavaScriptを多用しリッチなUIを提供するアプリケーションのテストに効果を発揮する。 サポートするブラウザはFirefox、Safari(MacOS Xのみ)、Internet Explorer(Windowsのみ)となっている。また、実際のブラウザは使わずHtmlUnitを使用することも可能だ。この場合、Rhino(Javaで実装されたJavaScriptエンジン)を使用してブラウザ上で動作するJavaScriptの動作もエミュレートすることもできる。また、試験的にiPhone用のドライバの実装も進められているようだ。 同種のテストツールとしてはすでにSeleniumなどがあり、多くのユーザに利用されている。し

  • MOYO Laboratory Java + PostgreSQL で BLOB を扱う その 3

    さらに続きである。これで完結である (ことを願う…)。 まずは観測から。 何とかなりそう! ヽ(´ー`)ノ PostgreSQL で大きなバイナリを扱うには、今まで試した BYTEA 型を使用するほかに OID 型を使用する方法がある。BYTEA 型がバイナリそのものをテーブルに格納するのに対し、OID 型はオブジェクトの ID のみを格納し、実体のバイナリはどこか別のところに保存される (PostgreSQL の場合はシステムカタログのどこかに入るらしい)。 元々 BLOB がロケーション ID やオフセット、長さなどを使って巨大なバイナリを扱うための手段だということを考えれば、むしろこの OID 型を BLOB と呼ぶ方が自然だ (ちなみに商用データベースの方は実体をテーブルスペース外の別ファイルにするか VARBINARY と同様にテーブル内に入れるかなど、きめ細かな構成を選択できる

    MOYO Laboratory Java + PostgreSQL で BLOB を扱う その 3
  • 良いプログラマを目指すなら「Java並行処理プログラミング」は今すぐ読むべき - higepon blog

    Java並行処理プログラミングを読み終えた。ここ 1 年に読んだ技術書の中でダントツのベスト。(2位はWorking Effectively With Legacy Code) 「Javaだから関係ない」と思った人にこそ読んで欲しい。僕もここ数年 Java のコードなど一切書いていないが、このを読んで得たものは非常に大きかった。 このでは マルチスレッドプログラミングにおける問題と背景、その対処方法 Java が提供している API の設計と実装 を解説している。分かりやすさとレベルの高さを兼ね備えたとても良い。翻訳も最高。 僕はこのを読んで、Java の並行処理プログラミングは、想像を遙かに超えて進化している事に驚きを隠せなかった。何回も twitterJava すげーと叫んだ。 これを読んでしまうと、最近僕が熱心な Scheme も含めて、自分の身の回りにあるプログ

    良いプログラマを目指すなら「Java並行処理プログラミング」は今すぐ読むべき - higepon blog
  • Java SE コアAPI 使用コード例一覧 - @IT

    IT編集部 2009/3/24 最終更新: 2012/04/11 17:57 このページは、Java開発者/プログラマのための、Java SE(旧、J2SE)のコアAPIの使用コード例の記事へのリンク集です。パッケージごとに表でまとめてあります。メソッドやコンストラクタ、例外などAPIの使い方の参考にしてください。パッケージやクラスの並び順は、標準のJavadoc(「Java Platform, Standard Edition API 仕様」)と同様にしています。 すべてのクラス java awt(Abstract Window Toolkit) event image io(In/Out) lang(LANGuage) reflect math(MATHmatics) net nio(New In/Out) charset(CHARacter SET) rmi(Remote Meth

  • 侍ズム - Java - スレッドダンプの取り方

    →その1 / スレッドダンプの取り方 ・その2 / Linux だと java プロセスがいっぱい!? ・その3 / Windows サービスとして登録している場合は? ・その4 / WebLogic Server とスレッドダンプ スレッドダンプについて網羅的に説明した資料はあまりないのでちょっと書いてみました。まとまったら侍のドキュメントに追加するつもりです。 スレッドダンプとは、 Java のプロセス内部で動作している各スレッドがそれぞれ何をしているか確認できるものです。 Java のプログラムがフリーズした場合や、パフォーマンス低下が見られる場合などに取得すると、どのスレッドが停滞しているのか、プログラム中具体的にどこで止まっているのか確認できます。 スレッドダンプは任意のタイミングで SIGQUIT シグナルを送る(Unix)、または キーボードで Ctrl+Break を押下す

  • Javaフレームワークの比較検討資料公開 - 矢野勉のはてな日記

    Java仕事で各種フレームワークを比較検討したので、比較用に作った参考資料を公開します。ちなみに現在私は、ドワンゴさんの社内システム開発をお手伝いしてまして、その一環で調べたものです。会社資料じゃなく、私の資料ということでブログで公開してよい、むしろしとけ、とのことなので公開しときます。 今回の案件向けにアプリケーションを画面層コンテナ層データアクセス層に分けて、それぞれフレームワークを選ぶのが目的です。コンテナ層はDIコンテナのうちいずれか、データアクセス層はO/Rマッパーを選ぶことになります。 太枠の範囲が選定対象です。よくに出てくる杓子定規な階層図とは変えてあります。 次のものを比較検討しました。画面層SAStrutsApache Wicket(ほかにもTeedaとかClick Frameworkとかももともとは候補にあったが、調査が追いつかないので二つに絞った)コンテナSeasa

  • 【ハウツー】memcached client for java - Javaでmemcachedを使おう (1) データをメモリ上に保持するキャッシュサーバ | エンタープライズ | マイコミジャーナル

    memcachedとは? memcachedとはその名の通り、データをメモリ上に保持するキャッシュサーバで、アクセス数の多いWebサイトにおいてデータベースの負荷を減らすために利用されることが多い。データをディスクに書き出さず、保持するデータもキーと値のみと非常にシンプルであるため動作は高速だが、memcachedを終了するとデータが失われてしまうという問題がある。そのためmemcachedには消失しても問題のないデータのみを格納するようシステム設計を行う必要がある。 なお、memcached互換のキャッシュサーバとして、データをディスクに永続化する機能を備えたmemcachedbや、レプリケーション機能を備えたrepcachedがある。 Java向けのmemcachedクライアントはいくつか存在するが、稿で紹介するのはmemcached client for java。LGPLで提供さ

  • FindBugsのバグパターン一覧 - たかのり日記

    Javaに対する静的解析ツールには、以下のようなものがあります。 FindBugs PMD Jlint Lint4j Jtest(有償) 近頃の動向を見ていると、OSSのツールでは、FindBugsがデファクトスタンダードになりつつあるように思います。FindBugsは、2007/11/08にリリースされた1.3.0以降、1〜2ヶ月に一度の頻度でリリースされており、チェックルールも充実してきています。最近、FindBugsのチェックルールを調べる機会があったので、どんなルールがあるのかをまとめてみました。 FindBugsが検出するバグパターンは、次のような括り方となります。 バグカテゴリ > バグコード > バグタイプ 左側がより大きい括りになっており、バグタイプが1つの検出ルールに対応付きます。 FindBugsは、1.3.4時点で、8個のカテゴリと354個のチェックルールから成り立ち

    FindBugsのバグパターン一覧 - たかのり日記
  • 1