タグ

javaに関するboisboのブックマーク (280)

  • ハッシュテーブルに対する攻撃手法のはなし

    ハッシュテーブル実装に対する攻撃とは 昨年12月末にドイツで開催されたCCC(Chaos Communication Congress)において、"Effective Denial of Service attacks against web application platforms"(Webアプリケーションに対する効率的なDoS攻撃)と題した発表が行われました。タイトルに「Webアプリケーション」とついてはいますが、この問題はWebアプリケーションに限ったものではありません。以下の三つの条件が揃ったアプリケーションであれば例外なく、DoS攻撃の餌となる危険があります。 ハッシュテーブルというデータ構造を使っている ハッシュ値を計算するアルゴリズムが「脆弱」である ハッシュテーブルに登録するデータをプログラム外部から指定できる ハッシュテーブルとその問題 Wikipedia(日語版)

    ハッシュテーブルに対する攻撃手法のはなし
  • いまさら聞けないHadoopとテキストマイニング入門

    ビッグデータ時代の救世主「Hadoop」とは 「Apache Hadoop」は今、最も注目を集めている技術の1つです。Hadoopとは、大量のデータを手軽に複数のマシンに分散して処理できるオープンソースのプラットフォームです。 Hadoopを活用している企業は年々増え続けていて、不可欠な技術になりつつあるといえるでしょう。 連載では、Hadoopとは何か、Hadoopがどう活用できるのかということを、「テキストマイニング」に焦点を当てて解説していきたいと思います。 重い処理を複数のマシンに分散させる 複数のマシンに処理を分散させるには、プロセス同士の通信、監視、障害時の対応などを考えなければならず、プログラマにとってハードルが高いものです。しかし、Hadoopはそういった面倒くさい処理を一手に引き受けてくれ、プログラマは、やりたい処理だけに集中できます。 例えば、Hadoopを使うと、1

    いまさら聞けないHadoopとテキストマイニング入門
  • Javaメモリ、GCチューニングとそれにまつわるトラブル対応手順まとめ - 日記のような何か

    GC周りでトラブルシューティングした際の経験や、Web等で調べたことをまとめてみる。 前提 ・JVMは、Sun Javaを想定。(他は使ったことないです。。。) ・Sun Java 1.5-1.6を想定。 目標 マイナーGC、Full GCそれぞれが頻発することなく、かつそれぞれの実行時間を1秒未満に抑えること。 マイナーGCは1秒未満どころではなく、もっと短くなるべき。どれくらいが理想かは?(0.1秒未満ぐらいを目指したい?) 連続した負荷状態(想定されるピークアクセス)でもOutOfMemoryErrorが発生しないこと。 理想的な状態は、上記に加えて、Full GCの発生が低頻度であること。 具体的には、できるだけマイナーGCで短命オブジェクト(1回使ったらもう使わないようなオブジェクト。逆にセッションオブジェクト等は長命オブジェクトとなる)を破棄させて、短命オブジェクトが、Tenu

    Javaメモリ、GCチューニングとそれにまつわるトラブル対応手順まとめ - 日記のような何か
  • 普通の業務系PGには意外と知られていないJavaとJavaScriptの相違点10選 - 達人プログラマーを目指して

    以前はJava EEの普通のWebアプリケーションで、JavaScriptはあくまでも利便性のために補助的に使うものという認識がありましたが、さすがに最近では普通の業務系のSI案件でもテーブル表示や入力補助などで高度なAjaxライブラリーの使用が当たり前のように求められるようになりつつあります。サーバーサイドのJavaScript技術といったものもありますが、そういった新しい技術を使わないまでも、ごく普通にある程度大きなJavaScriptの作成が必要になってきているということです。 もちろん、JavaJavaScriptはその名前にかかわらず、来全く別の言語です。しかし、意図的に似た構文でロジックが書ける*1ため、兄弟の言語として認識している人も意外に多いのではないかと思います。しかし、使用できるライブラリーに違いがあるという点が一見してわかる最も大きな違いですが、基的な言語の文法

    普通の業務系PGには意外と知られていないJavaとJavaScriptの相違点10選 - 達人プログラマーを目指して
  • 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オープンソースソフトウェアのサンプルコードや使い方を通じて、さまざまな“常識”を学習する以下の連載の記事に、基礎知識のカテゴリごとに分けてリンクしていま

  • Google App Engineを使って無料でサイトを立ち上げる方法 - EC studio 技術ブログ

    Googleが提供する、Google App Engineというサービスを知っていますか? Amazon EC2などと同じで、Googleが用意するクラウドサーバー環境で アプリケーション開発ができるというサービスです。 (レンタルサーバーのようなもの) その大きな特徴は、なんといっても月間500万PV相当まで"無料"ということです。 ※有料で制限を拡張することも可能 ※2011/09/07 注 Google App Engineの新料金体系が発表されました。 新料金体系では無料で使える枠が大幅に削減されています。 この記事の無料での使用制限に関する記述は、新料金体系では 正しくありませんのでご注意ください。 「App Engine は無料で始めることができます。最大 500 MB の永続性ストレージに加え、月間約 500 万ページ ビューに対応できる十分な CPU と帯域幅を、すべてのア

  • 業務系のJavaプログラマーが知っておくべき10個のBad Partsとその対策 - 達人プログラマーを目指して

    Java: The Good Partsののタイトルに触発されて、逆にJava言語の使いにくい部分をいくつかピックアップしてみました。Java EEなどの業務系のアプリケーションプログラマーの視点で書いていますので、別の立場ではここで指摘している事項が必ずしもBad Partではないという指摘もあるかもしれませんし、他にもいろいろなポイントがあると思いますが、とりあえず、私の独断で思いついたものを10個説明したいと思います。 1.標準APIのチェック例外が扱いにくい Java言語のチェック例外は当にGood Partなのか? - 達人プログラマーを目指してでも取り上げましたが、Bad Partの第一番目として標準APIのチェック例外が扱いにくいという点を指摘させていただきたいと思います。チェック例外については、理屈上コンパイラーによって例外の処理をプログラマーに強制させることができるす

    業務系のJavaプログラマーが知っておくべき10個のBad Partsとその対策 - 達人プログラマーを目指して
  • Java使いをScalaに引き込むサンプル集 | mwSoft

    前書き Scalaという言語をご存知ですか? Javaと同じくコンパイルされるとclassファイルになり、実行時はJVM上で動作する、オブジェクト指向+関数型のプログラミング言語です。 Scalaを開発したのはJavaのgenericsの設計を手がけたり、javacの開発をしていた経歴も持つMartin Odersky氏。 Scalaは後発の言語ということもあって、Javaを書いている時に感じる冗長さに対する様々な解が用意されています。 記事では、ScalaJavaのコードを比較しながら、JavaユーザがScalaに移った際に得られるメリットを提示していきます。 尚、序盤のサンプルコードはJavaユーザに伝わりやすいように、returnを明記したり、メソッドは必ず{ }で囲むなど、極力Javaっぽい記述をしています。 だいたいJavaと同じような書き方ができます ScalaJava

  • Googleが開発したJavaデバッグを簡単にする新技術「cofoja」 | エンタープライズ | マイコミジャーナル

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

  • Javaプログラマが知るべき9のこと - @katzchang.contexts

    はじめに ソースコードは設計であり、コードの記述は品質に直結するのは言うまでもない。ちなみに、プログラマにとって特に重要なのは保守性だ。コードは書いた直後から保守対象となるからだ。コードは要求文書の範囲で動けばいいと思っている人がいれば今すぐ、ソースコードをコピペして100klに増えるプラグインがいつの間にかインストールされる呪いをかけてあげよう。幸い、ここを読んでいる人にはそんな人はいないだろうと思うけれども。 ということで、コードの品質を下げる要因、すなわちシステム全体の品質を下げる要因となり、かつ使われやすいアンチパターンを挙げ、対策を検討していくことにする。対象は以下: 出力パラメータ 処理状態返却 意味のある配列 無意味な初期化 多すぎるtry-catch 暗黙の順序 コンパイラ警告の無視 過剰なコメント e.printStackTrace() 出力パラメータ メソッドの引数にオ

    Javaプログラマが知るべき9のこと - @katzchang.contexts
  • Mac痛 | Android終了のお知らせ Javaからのソースコピペが発覚

    1: 虎々ちゃん(東京都):2011/01/23(日) 00:16:33.77 ID:FOdQFstB0 Androidソースコードのうち 43ファイルで、Javaのソースコードときわめて類似したものが見つかったと、FOSS Patentsが  伝えています。AndroidJavaの処理系を採用しつつJavaでない仮想マシンDalvikを搭載しており、これはJavaとは無縁  のオリジナルなコードによって書かれているというのがGoogleの主張でした。しかしAndroidJavaの特許権と著作権を侵害  していると見たオラクルは昨夏にGoogleを提訴、実際に「コードのパクリ」とされる部分も資料として提示しています。訴訟の  行方はまだ分かりませんが、FOSS Patentsの見方によれば、まだまだ火種は尽きないということになります。  もうすこし詳細を書くと、今回の発見で「オリジナル

  • SI業界(日本)のJavaプログラマーにはオブジェクト指向より忍耐力が求められている? - 達人プログラマーを目指して

    私自身は10年以上も前(JDK1.1の頃)にSJC-Pの認定を取って以来、Javaプログラミング関連の認定試験は受けていないのですが、昨日たまたまネットを検索して、SJC-Pとは別にJavaプログラミング能力認定試験という試験が存在していることを知りました。結構メジャーな認定試験のようですので、現役のJavaプログラマーJavaプログラマーを目指している学生さんで、今後受験に向けて勉強されている方々も多くいらっしゃるのではないかと思います。 試験は難易度に応じて3級から1級までランクが分かれており、2級まではJava言語の知識に関する筆記試験ですが1級の試験では実際のプログラムの修正を行う能力が実技試験として課せられます。試験範囲は以下で公開されています。 Javaプログラミング能力認定試験(試験範囲) 私は(自分で言うのも変ですが)、Javaプログラミングについてはこの道15年近くのキ

    SI業界(日本)のJavaプログラマーにはオブジェクト指向より忍耐力が求められている? - 達人プログラマーを目指して
  • ccset63_all.html

    実行時に編集可能なJSFページの作成 実行時に編集可能なJSFページの作成 新しいJSFページの作成: Change Mode ButtonやShow Detail Frameなどのコンポーネントを追加 するための新規JSFページを作成します。 Oracle Composerコンポーネントのページへの追加: Oracle Composerタグ・ライブラリを使用して、Change Mode Button、Show Detail FrameなどのさまざまなコンポーネントをJSFページに追加します。 コンテンツのページへの追加: イメージやRich Text EditorといったコンテンツをJSFページに追加します。 実行時のページ編集: ページを実行してブラウザに表示し、ページ設定の編集、コンテンツの追加、コンポーネント・レイアウトの変更などを行います。 WebCenterアプリケーショ

  • Apache、Javaコミュニティー脱退を示唆――Oracleのテストキットライセンス拒否に反発

    ASFは脱退をちらつかせるだけでなく、「Java SE 7」仕様に反対票を投じる方針も明らかにしており、ほかのメンバーにも同調するよう呼び掛けている。 米Apache Software Foundation(ASF)は、米Oracleが「Harmony」プロジェクトに対してテストキットのライセンスを拒み続けるのであれば、Java管理団体から完全に脱退すると脅しをかけている。 ASFは11月9日(現地時間)、同団体のブログに掲載した発表文で「Java仕様のインプリメンターとしてのASFの権利が認められない」のであれば、Java Community Process(JCP)から脱退すると述べている。 ASFが指摘した問題とは、Java SEのテストキットライセンス(TKL)をApache Harmonyプロジェクトに提供するかどうかをめぐるOracleとの論争のことだ。HarmonyはJava

    Apache、Javaコミュニティー脱退を示唆――Oracleのテストキットライセンス拒否に反発
  • Welcome to Apache™ Hadoop™!

    Apache Hadoop The Apache® Hadoop® project develops open-source software for reliable, scalable, distributed computing. The Apache Hadoop software library is a framework that allows for the distributed processing of large data sets across clusters of computers using simple programming models. It is designed to scale up from single servers to thousands of machines, each offering local computation an

  • 単体テストを“神速”化するQuick JUnitとMockito

    単体テストを“神速”化するQuick JUnitMockito:ユカイ、ツーカイ、カイハツ環境!(16) Quick JUnitプラグインの3つの大きな特徴 近年、JUnitとHudsonを利用した継続的インテグレーション(CI)によるテストの自動化や、テスト駆動開発(TDD)の普及などにより、ユニットテスト(単体テスト)のテストコードの作成が重要視されています。 今回紹介する「Quick JUnit」プラグインは、JUnitによるテストコードの作成と実装を支援するEclipseプラグインです。Quick JUnitプラグインは石井勝さんにより開発されていましたが、石井さんが不慮の事故により死去後、Quick JUnitプラグインプロジェクトにより開発が継続されています。優れたオープンソースプロジェクトの模範のようなプロジェクトです。 訂正のお知らせ 故人のお名前について間違いがあり、修

    単体テストを“神速”化するQuick JUnitとMockito
  • サーブレットやJSPの“バージョン”意識してますか?

    サーブレットやJSPの“バージョン”意識してますか?:現場にキく、Webシステムの問題解決ノウハウ(7) 連載は、日立製作所が提供するアプリケーションサーバ「Cosminexus」の開発担当者へのインタビューを通じて、Webシステムにおける、さまざまな問題/トラブルの解決に効くノウハウや注意点を紹介していく。現在起きている問題の解決や、今後の開発のご参考に(編集部) 10年で「J2EE 1.2」から「Java EE 6」へ 1999年にJ2EE 1.2がリリースされてから10年以上経過し、2009年12月には4回目のバージョンアップ版であるJava EE 6がリリースされた(参考:米Sun、軽量、モジュラー化を進めた「Java EE 6」を公開)。 この間、多くの技術が実装され、またエンハンスされてきたが、エンハンスに伴って以前のバージョンと振る舞いが変わってしまったケースが少なからず存

    サーブレットやJSPの“バージョン”意識してますか?
    boisbo
    boisbo 2010/07/04
  • 技術レポート | 技術情報 | ビーブレイクシステムズ

    技術レポート ビーブレイクのエンジニアが、話題のオープンソース技術などを調査し、レポートしています。 記述内容に不正確な部分があるかもしれませんが、ご容赦ください。お気づきの点等ありましたら、こちらよりご連絡ください。 (当社または著作者は、ここで公開する情報が有用であると考えていますが、この情報について明示的なあるいは暗示的ないかなる保証も与えるものではありません。) 開発者向け基礎編 開発者が知っておくべき基礎的な技術情報について説明しています。 「バージョン管理システムとプロジェクト管理システム」(PDF形式:984KB)(2016.04.19 Update) 「バージョン管理システムの使い方(発展篇)」(PDF形式:792KB)(2016.05.16 Update) 「Eclipseの使い方」(PDF形式:927KB)(2016.06.16 Update) 「スタックトレースの読

  • 今からでも遅くない、JPAを学ぼう!一覧

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    今からでも遅くない、JPAを学ぼう!一覧
  • Javaで軽快に使える「軽量フレームワーク」特集 ~アプレットベースのRIAフレームワーク「Apache Pivot」(1)

    はじめに RIA(Rich Internet Application)という言葉が登場して既に数年が経過しました。「よりリッチなGUIによるWebアプリケーションの開発」という目標を掲げ、さまざまな陣営が新しい技術を世に送り出しました。Javaの世界でも、「JavaFX」などの新技術が生まれたのは記憶に新しいところです。 が、こうした新しい技術というのは、一朝一夕に広まるものではありません。JavaFXにしろSilverlightにしろAdobe AIRにしろ、思ったよりも苦戦しているように見えるのは、やはり「新技術が浸透するにはそれなりの時間が必要だ」ということなのでしょう。ならば発想を転換し、「既に普及している旧(?)技術を使って、最も新しいRIAという技術を構築」したら意外に誰もがすんなりと受け入れるのではないでしょうか。 今回取り上げる「Apache Pivot」(以降、Pivot

    Javaで軽快に使える「軽量フレームワーク」特集 ~アプレットベースのRIAフレームワーク「Apache Pivot」(1)