タグ

Javaに関するkamei_rioのブックマーク (177)

  • Tomcat 7も対応したServlet 3.0の変更点 後編

    Tomcat 7も対応したServlet 3.0の変更点 後編:Tomcat 7の新機能で何ができるようになるのか?(2)(1/3 ページ) 前回の「Tomcat 7も対応したServlet 3.0の6つの主な変更点」では、「Tomcat 7」が実装したServlet 3.0の新機能のうち「Ease of Development(EoD、開発容易性)」「Pluggability and Extendibility(モジュール化と拡張性)」について紹介しました。今回はAsynchronous processing(非同期処理)、セキュリティSession Tracking、マルチパート対応を紹介します。 アノテーションによる非同期処理 Servlet 3.0から非同期処理が使えるようになりました。Servlet 2.5までは、Servlet上でスレッドを生成・起動し、リクエストやレスポンス

    Tomcat 7も対応したServlet 3.0の変更点 後編
  • 一歩先行くJavaプログラマが読むべきオープンソースソフトウェア10選 - 設計と実装の狭間で。

    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ではな

    一歩先行くJavaプログラマが読むべきオープンソースソフトウェア10選 - 設計と実装の狭間で。
    kamei_rio
    kamei_rio 2011/06/10
    システム開発ではJava"プログラマ"がむしろ希少種という説も
  • Java SE 7徹底理解 第2回 細粒度の並行処理 - Fork/Join Framework

    Java SE 7徹底理解の2回目である今月は、並行処理のフレームワークについて紹介していきます。 Javaは1.0がリリースされた当初から、スレッドを使用することができました。筆者もJava 1.0で簡単にスレッドが使えることに感動したことを覚えています。 しかし、スレッドを安易に使ってしまうと、デッドロックやデータの破壊を引き起こしかねません。スレッドクラスは簡単に使えるものの、使いこなすには並列/並行処理についての適切な知識を必要としたのです。 そこで、より簡単に並列/並行処理を使うためのフレームワークであるConcurrency UtilitiesがJ2SE 5.0で導入されました。 Concurrency Utilitiesは非同期処理APIや、スレッドセーフで高性能な並行コレクション、ラッチやセマフォなどのロック機構、アトミック処理など並列/並行処理のためのさまざまな機能が含ま

    Java SE 7徹底理解 第2回 細粒度の並行処理 - Fork/Join Framework
  • Android開発のための環境準備

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

    Android開発のための環境準備
    kamei_rio
    kamei_rio 2011/05/30
    __〆のヮの
  • 『Java:The Good Parts』 一流のプログラマになるには言語の“コア”を理解せよ:晴読雨読@エンジニアライフ:エンジニアライフ

    Java:The Good Parts Jim Waldo(著) 矢野勉(監訳)笹井崇司(翻訳) オライリージャパン 2011年2月 ISBN-10: 487311487X ISBN-13: 978-4873114873 2310円(税込) ■言語ごとの特性を理解し、使い分ける人が一流のプログラマ あらゆる面で完ぺきなソフトウェアは存在しない。プログラミング言語もソフトウェアである。ゆえに、あらゆる面で完ぺきなプログラミング言語は存在しない。 人間の言語が現実世界をうまく表現できないのであれば、まず間違いなく、プログラミング言語が現実世界をもっとうまく表現できるとは期待できないだろう。プログラミング言語は現実世界にあるものをモデル化するための抽象概念を提供するが、その言語の表現力は現実世界と言語とを直接対応付けるには不十分なところがある(p111)。 完ぺきなプログラミング言語は存在しない

    『Java:The Good Parts』 一流のプログラマになるには言語の“コア”を理解せよ:晴読雨読@エンジニアライフ:エンジニアライフ
    kamei_rio
    kamei_rio 2011/05/17
    __〆のヮの<「Javaのもともとの目的は、長年にわたって理解可能でメンテナンス可能な、大規模なシステムを書くのを助けること」
  • Java SE 7徹底理解 第1回 言語仕様の小さな変更 - Project Coin

    今月から、久々のJavaのメジャーバージョンアップであるJava SE 7を紹介していきます。 Java SE 6がリリースされたのが2006年12月ですから、もう5年にもなろうとしています。これだけの時間がかかってしまったことからもわかるように、Java SE 7の仕様が決まるまでは紆余曲折の歴史でした。 もともと、Java SE 7はJava SE 6と一緒に仕様を決め、簡単に実現できる機能をJava SE 6、実現に時間がかかる機能をJava SE 7にすることになっていました。その当時、Java SE 7に盛り込まれる機能としてリストアップされていたのが、クロージャやfriendです。 クロージャのすったもんだについては連載の「クロージャからProject Lambdaへ」で言及しました。その後、Project Lambdaは再び仕様が変更されています。 friendはスーパーパ

    Java SE 7徹底理解 第1回 言語仕様の小さな変更 - Project Coin
    kamei_rio
    kamei_rio 2011/05/09
    __〆のヮの<楕円曲線暗号?
  • 普通の業務系PGには意外と知られていないJavaとJavaScriptの相違点10選 - 達人プログラマーを目指して

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

    普通の業務系PGには意外と知られていないJavaとJavaScriptの相違点10選 - 達人プログラマーを目指して
    kamei_rio
    kamei_rio 2011/04/24
    違いがわかるまとめ / 混同する人がいるのか……?
  • Servlet3.0でcometチャットを作ってみる - きしだのはてな

    Cometとは? ブラウザベースのチャットをつくろうとする場合、以前は定期的にクライアントからリクエストを送信して更新を確認するという手法がとられました。そうすると、平均して更新間隔の1/2の遅延が発生し、更新がないときの問い合わせが無駄になるなど、ユーザーにもサーバーにもうれしい手法ではありませんでした。 そこで使われるようになったのがCometです。 Cometは、HTTPでクライアントからの接続への返答を保留して、サーバーからデータを送信する必要がでたときに返答を返すことで、サーバーからのリアルタイムデータ送信を行う手法の総称です。 Servlet3.0でのComet対応 Cometでは、クライアントからの接続を保持しつづけるので、これまでのServletの仕組みをつかって実現しようとすると、各接続にスレッドを割り当てることになり、スレッド数が多くなりすぎるため、多くのユーザーには対

    Servlet3.0でcometチャットを作ってみる - きしだのはてな
    kamei_rio
    kamei_rio 2011/04/15
    「HTTPでクライアントからの接続への返答を保留、サーバーからデータを送信するときに返答を返す」ことでリアルタイムデータ送信を行う手法Comet
  • Objective-Cの『遅さ』を計測したら、JavaやC++の5倍も遅かった

    なお、メモリ消費量はtopコマンドで測ったので、かなり大雑把な数字だ。また、Cで同様の処理のコードを書くと、ほぼC++と同じ速度になる。 追記(2011/02/17 8:50):Rubyによるベンチマークを追加。 追記(2011/02/17 11:00):Smalltalkによるベンチマークを追加。ソースコードは「Smalltalkのtは小文字です」のループ回数を修正した。 追記(2011/02/17 16:00):Perlによるベンチマークを追加。 追記(2011/02/18 10:30):Java 1.6.0_22で実行した、Scalaによるベンチマークを追加。また、clang/llvmでC++とObjective Cの値を取り直し、改善が見られないのを確認。 追記(2011/02/18 14:30):Ruby 1.8.7によるベンチマークを追加。1.9.2との速度差については、@IT

    Objective-Cの『遅さ』を計測したら、JavaやC++の5倍も遅かった
    kamei_rio
    kamei_rio 2011/04/15
    メソッド呼び出しに特化した計測 / 結果の正当性は何とも言えないけど、「事実上のApple社製品専用言語」だから細かいことは(ry
  • Tomcat 7も対応したServlet 3.0の6つの主な変更点

    実装する仕様は、以下のバージョンにアップデートされました。 Servlet 2.5⇒Servlet 3.0 JSP 2.1⇒JSP 2.2 EL 2.1⇒EL 2.2 連載では3回の連載を通して、Tomcatの最新メジャーバージョンであるTomcat 7について説明します。第1回目と第2回目でServlet 3.0を紹介し、第3回目でTomcat独自の新機能を紹介する予定です。 Servlet 3.0における6つの主な変更点 第1回目となる今回は、Tomcat 7が実装したServlet 3.0について説明します。Servlet 3.0とはJSR-315のことを指します。Tomcatは、このJSR-315仕様を実装しています。 Servlet 3.0では、Servlet 2.5に対して主に、次のような仕様変更を導入しました。 Ease of Development(EoD、開発容易性)

    Tomcat 7も対応したServlet 3.0の6つの主な変更点
    kamei_rio
    kamei_rio 2011/04/12
    __〆のヮの
  • 今春プログラマーになる人がこれからやるべきたった1つのこと(Java編) - うさぎ組

    プログラマーになる人がやるべきたった1つのこと。それはクリーンコードを書くことです。 おそらくアジャイルのプラクティスが重要であることは自明で、そこで使われるツールもです。 ただプラクティスやツールやインフラはあくまで「加速装置」です。加速させる車輪が小さくては生産性が大きくはあがりません。 ということで、根源的にクリーンなコードを書けるようにしましょう。 タイトルは釣りです。すいません。 どうすればクリーンコードを書けるようになるのでしょう? それは良いコード、良い書籍を読み、熟考し、自分で書くことです。 その入り口になる例をずらずらとあげていってみます。そしてこれはタイトルの通りJava向けです。かと言ってJava以外の人が読んで損かと言うとそうでもないですが。 ※並び順は特に意識していませんが、ロバートCマーチン、ケントベックの書籍はかなり読みやすい日語なので最初の方に読むことをお

    今春プログラマーになる人がこれからやるべきたった1つのこと(Java編) - うさぎ組
    kamei_rio
    kamei_rio 2011/03/28
    __〆のヮの
  • 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オープンソースソフトウェアのサンプルコードや使い方を通じて、さまざまな“常識”を学習する以下の連載の記事に、基礎知識のカテゴリごとに分けてリンクしていま

    kamei_rio
    kamei_rio 2011/03/24
    __〆のヮの
  • https://ryoasai.hatenadiary.org/entry/20110321/1300696942

    kamei_rio
    kamei_rio 2011/03/21
    __〆のヮの
  • “GAIKAI”が示した衝撃的なクラウドゲーミングの世界 「Cloud Gaming: 10x the Audience for your PC games」

    kamei_rio
    kamei_rio 2011/03/06
    「5MB以上のブロードバンド回線とWEBブラウザ、そしてFlash or Javaだけ」でPC版WoWが動くとか
  • Javaプログラマであるかを見分ける10の質問 - やさしいデスマーチ

    元ネタはこちらですが、「優れたJavaプログラマ」を見分ける質問ではありません*1。次のような状況を想定してください。 受託業務を中心にしている弊社は、Javaで業務系ウェブアプリケーションの開発を行う事になりました。しかし社内のリソースを使うにも1−2名足らない事が見積もりから解っています。そこで、中堅エンジニアを1−2名募集することになりました。正社員か派遣かは問いませんが、経験が3年程度の中堅プログラマが必要です。同等またはそれ以上のスキルを持つ正社員がプロジェクトを牽引しますが、ゼロから教えながら教育することはできないので、必要最低限のスキルを持っていることが条件になります。 こんな状況を想定して、面接の質問を考えてみました。経験が3年程度あれば、問題なく答えられるはずです*2。尚、質問はホーム言語がJavaである前提です。 下記質問にそれぞれ50文字以内を目安に簡単に説明すること

    Javaプログラマであるかを見分ける10の質問 - やさしいデスマーチ
    kamei_rio
    kamei_rio 2011/03/05
    「職場でやってみるのはホラーの場合がありますのでご注意ください」関係無いけどブレアウィッチプロジェクトって単語が頭に浮かんだ
  • 7ステップで理解するJavaでの列挙型/enum使用法

    「int enumパターン」の問題点 int enumパターンは手軽で便利な方法ですが、問題となることがあります。 例えば、次のコードはCalendar.FEBRUARYの値が2だと勘違いして書いてしまったコードですが、int型の値を比較しているので、コンパイルエラーにはなりません。しかし、実行すると「FEBRUARY」ではなく、「JANUARY」と表示されるので、「プログラムのどこかで間違ってしまったのだ」と気がつきます。 package sample21; import java.util.Calendar; public class PrintFebruary { static void printMonth(int month) { if (month == 1) { System.out.println("JANUARY"); } if (month == 2) { System

    7ステップで理解するJavaでの列挙型/enum使用法
    kamei_rio
    kamei_rio 2011/03/04
    __〆のヮの
  • JavaでTwitterをOAuth認証して使えるTwitter4Jとは

    JavaTwitterをOAuth認証して使えるTwitter4Jとは:クラウドとフレームワークで超簡単ケータイ開発(2)(1/3 ページ) 数年前に比べケータイ向けサービス構築を支援するフレームワークやノウハウがたまってきて、そして無料または、格安でサービスを公開できる仕組み(クラウドやVPSなど)も普及している今こそ、ケータイ向けサービス開発を始めるチャンスではないでしょうか 携帯端末は、何気なく“つぶやく”のに最適! 前回の「Google App EngineとSlim3とMobyletで始める携帯Web入門」では、Javaのケータイ向けサービス開発を簡単にするクラウド環境とフレームワークなどを紹介し、開発環境を構築して動かしてみました。数年前に比べ、今ケータイ向けサービス構築が容易になっていることが確認できたかと思います。 携帯端末は、いつでもどこでも触れるため、つぶやくためのデ

    JavaでTwitterをOAuth認証して使えるTwitter4Jとは
    kamei_rio
    kamei_rio 2011/02/08
    面白そう