タグ

Javaに関するtyageのブックマーク (71)

  • 「null」をフラグとして使うのは、やめた方がいい - 地平線に行く

    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 ならゲストユーザ } 問題点 これの

    「null」をフラグとして使うのは、やめた方がいい - 地平線に行く
    tyage
    tyage 2013/04/15
  • Oracle、Java 7 Update 11を公開 脆弱性に対処

    Oracleが1月13日の日曜日に、10日に発覚した「Java 7 Update 10」の深刻な脆弱性に対処するアップデートを公開した。 米Oracleは1月13日(現地時間)、1月10日に発覚した「Java 7 Update 10」の深刻な脆弱性に対処したアップデートJava 7 Update 11」を公開した。JavaコントロールパネルあるいはOracleのWebサイトからダウンロードできる。 この脆弱性を利用した攻撃の発生がセキュリティ各社から報告され、脆弱性に関する詳しい情報もインターネットで出回っていることから、Oracleではできるだけ早くこのアップデートを適用するよう、強く推奨している。 リリースノートによると、2つの脆弱性に対処した他、Javaコントロールパネルでのセキュリティレベルの初期設定を「中(M)」から「高(H)」に変更した。これにより、ユーザーが無署名のJava

    Oracle、Java 7 Update 11を公開 脆弱性に対処
  • エフセキュアブログ : 有害とみなされるJava

    有害とみなされるJava 2011年12月22日17:31 ツイート mikko_hypponen ヘルシンキ発  by:ミッコ・ヒッポネン WebブラウザにJavaは必要ですか? まじめな話、あなたは必要だろうか? もし不要なら、それを削除すべきだ。 ほとんどのユーザはもうJavaを必要としていないが、それでも動作させ続けているようだ。 JavaJavaScriptと混同してはいけない。JavaScript無しでWebを使用するのは難しい。しかしJavaScriptJavaとは無関係だ。 先頃、JavaのリスクがJava Rhino脆弱性(別名CVE-2011-3544)により見事に示された。もしJavaを動作させており、しかも最新版でないなら攻撃を受けやすい。よってその場合は、Javaの最新版を使用しているか常にチェックするか、すべて削除するかのどちらかだ。 そしてJava Rhi

    エフセキュアブログ : 有害とみなされるJava
  • 僕たちプログラマーは、プログラミングに、Excelを使います! - m2

    なんとかカレンダー 21日目 id:miya2000 です。こんばんは! 低級テキストエディタでせっせとコーディングしているあなた!そろそろ手がが疲れてきていませんか? そんなあなたは、この記事で紹介する Excel コーディングをぜひ覚えてください。 わずか数秒で世界が変わります! 元ネタ めんどうな作業がわずか数秒に!新人デザイナーが 知らないと一生後悔するExcelを使ったHTML生成 | Webロケッツマガジン http://webrocketsmagazine.com/entry/20111209/html-code-generation-using-excel.html Excelを使った高級コーディング とにかく Excel でコーディングを行った画面を見てみましょう。今回は Java のコーディングをやってみます。 どうでしょう? 画面を見るだけでどれだけ恩恵があるかお分か

    僕たちプログラマーは、プログラミングに、Excelを使います! - m2
  • 【祝】:Java SE 7 正式リリース

    【祝】:Java SE 7 正式リリース 2011年7月29日 at 2:00 午前 3件のコメント 日(2011年07月28日(日時間29日 日でもぎりぎり28日だったようです。))Java SE 7 が正式にリリースされました。5年ぶりのリリースとなる Java SE 7 ですが、Java SE 7 は進化として位置づけられているバージョンになります。ここで言う進化とは言語仕様に対する大幅な変更はなく、開発生産性の向上やライブラリのアップデート等が多く、今まで Java SE 5, 6 等で開発をしてきて頂いた Java 開発者は比較的かんてたんに移行が可能になっています。Project Coin, NIO.2 等により可読性、開発生産性が向上した最新の Java SE を入手頂き是非開発現場でご使用ください。 サポート環境はこちら Java SE 7に関するドキュメント チュー

    【祝】:Java SE 7 正式リリース
    tyage
    tyage 2011/07/29
  • いまさらですが、職業Javaプログラマーなら理解しておいてほしい「継承」の意味について - 達人プログラマーを目指して

    正しく意味を理解している方にとっては、まったく常識レベルの話であり、何をいまさらと思われる方々も多いかと思いますが、大規模案件のレガシーコードなど、私が仕事で見かけるJavaのコードを読むと、「このコードを書いたSEやPGの方々は、はたして継承の意味を正しく理解していないのではないか」と思われる設計のコードに出会うことが少なからずあります。現在では改良されましたが(Javaプログラミング能力認定試験の問題がかなり改善されていました - 達人プログラマーを目指して)、以前のJavaプログラム認定試験の問題は、そうした不適切な設計がされている典型的な例となっていたのですが、実際、SI業界ではあのような品質のコードのシステムが今でも現役で多数稼動しているというだけでなく、現在でも新たに生み出されているというのは残念ながら紛れもない事実のようなのです。 確かに新人研修で「哺乳類を継承して犬クラスと

    いまさらですが、職業Javaプログラマーなら理解しておいてほしい「継承」の意味について - 達人プログラマーを目指して
    tyage
    tyage 2011/06/24
  • JavaとJavaScriptの「戦争」? - カレーなる辛口Javaな加齢日記

    JavaJavaScriptの20年戦争」 http://wise9.jp/archives/2245 なんというか全体に「これはひどい」ネタ記事なんだが*1,なんでコレが絶賛されてるか分からん.*2 そもそもJavaJavaScriptを比較する時点でねえ... さて、Javaだが、JavaC++の流れを汲む言語だ。 C++の源流は言うまでもなくCにあり、Cの源流はPascalやFORTRANといった手続き型言語にある。 Java格的に登場したのは1996年。 うーん,こういう書き方している時点で,プログラミングのことを全く知らないんじゃないかと思うくらいに酷い. さらっと流しているが,「JavaC++の流れを汲む言語」と捉える人はそんなに多くないのでは. 「C系の表記+オブジェクト指向」というならJavaと近い部分もあるが,それだけならObjective-Cだってあったわ

    JavaとJavaScriptの「戦争」? - カレーなる辛口Javaな加齢日記
  • http://asklife.info/archives/1626

    http://asklife.info/archives/1626
  • モバイルゲームの歴史を年代別にご紹介します。モバイルゲームの成長と今後について詳しく解説していきます。

    モバイルゲーム 物凄い勢いで勃興したモバイルゲーム業界は、いろいろな課題や問題に直面しながらも巨大化し、今日の時点でのスマートフォン向けゲームの市場へと継承されていきます。 モバイルゲーム歴史 2001 Javaアプリと3Dゲームの登場 Javaが利用できるようになったことにより、ダウンロード型のゲームが供給できるようになりました。 2002 携帯電話端末の大容量化・3D化競争 Java搭載携帯電話端末が登場してからごく僅か1年の間に、アプリのサイズに関しては10倍に広大化し、表現方法も2Dから3Dにシフトし始めました。J-PHONEは『ゼビウス』や『スペースハリアー』などといった昔のアーケードゲームを、ドコモはSIMCITYなどパソコンで世界的規模のヒットを飛ばしたゲームを主力商品としていました。 2003 モバイルゲームの一般化 メモリの制限が厳しいJava仮想マシン上ではなく、OS

  • wise9 › JavaとJavaScriptの20年戦争

    モバイルゲーム 物凄い勢いで勃興したモバイルゲーム業界は、いろいろな課題や問題に直面しながらも巨大化し、今日の時点でのスマートフォン向けゲームの市場へと継承されていきます。 モバイルゲーム歴史 2001 Javaアプリと3Dゲームの登場 Javaが利用できるようになったことにより、ダウンロード型のゲームが供給できるようになりました。 2002 携帯電話端末の大容量化・3D化競争 Java搭載携帯電話端末が登場してからごく僅か1年の間に、アプリのサイズに関しては10倍に広大化し、表現方法も2Dから3Dにシフトし始めました。J-PHONEは『ゼビウス』や『スペースハリアー』などといった昔のアーケードゲームを、ドコモはSIMCITYなどパソコンで世界的規模のヒットを飛ばしたゲームを主力商品としていました。 2003 モバイルゲームの一般化 メモリの制限が厳しいJava仮想マシン上ではなく、OS

  • Railsの100倍コード量少なくAjaxアプリケーションが作れるJavaフレームワーク·AribaWeb MOONGIFT

    タイトルは相当釣りが入っていますが。公式サイトにも「100X LESS CODE THAN RAILS」と謳われているくらい、Webアプリケーションが手軽に構築できるフレームワークと言うことで。 グラフ表示 Gmailから始まったと言ってもいいWebアプリケーションの流れは、オフィススイート、画像編集、アニメーション、ドロー、イラストなど多岐に渡って発展している。セキュリティの問題もあるが、ターミナルレベルやFTPといった操作もWebアプリケーションで行われている。その流れを加速するのがAribaWebだ。 今回紹介するオープンソース・ソフトウェアはAribaWeb、Webアプリケーションフレームワークだ。 AribaWebはなんと(?)Javaで開発されている。この点はエンタープライズ向けWebアプリケーションを開発する上で重要な視点と言えそうだ。そして多彩な機能をもったAjaxアプリケ

    Railsの100倍コード量少なくAjaxアプリケーションが作れるJavaフレームワーク·AribaWeb MOONGIFT
    tyage
    tyage 2011/05/17
  • 【コラム】攻略! ツール・ド・プログラミング (52) Googleが開発した高速圧縮ライブラリ「Snappy」をJavaで使う | エンタープライズ | マイコミジャーナル

    「Snappy」はGoogle社が開発した高速圧縮/伸長(解凍)ライブラリである。もともとは「Zippy」という名称で知られていたものだが、BSD Licenseに基づいてオープンソース化され、誰でも利用できるようになった。ZippyはBigTableやMapReduceから内部的なRPC処理にいたるまで、Google社内のあらゆるプロジェクトで利用してきた実績を持つ。 Snappyの最大の特徴は、圧縮/伸張の実行速度である。シングルコアのIntel Core i7プロセッサにおけるベンチマークでは、圧縮で毎秒250MB以上、伸張で毎秒500MB以上の性能を実現しているという。一方で圧縮率はzlibやLZOといった主要なツールよりも劣る。圧縮率はプレーンテキストで1.5から1.7倍、HTMLで2から4倍、JPEGやPNGといった圧縮済みのファイルフォーマットでは1.0倍となっており、これは

    tyage
    tyage 2011/04/21
  • JVM上で動くプログラミング言語のまとめ - No Programming, No Life

    ※当記事はNAVERまとめに移行しました。(2012-04-14) 今後はNAVERまとめの方でメンテしてゆきますので、 よろしくお願いします。 JVM (Java Virtual Machine)上で動くプログラミング言語が増えてきたのでここらへんでまとめて行きたいと思います。新しいのを見つけ次第追加して行きます。 こんなのもあるよ!といった情報は大歓迎です。コメントかはてブコメントにてよろしくお願いします。 JVM上で動くプログラミング言語一覧 ※はてブエントリ数順*1 No. 言語名 Wikipedia 説明 1 Scala (ja,en) オブジェクト指向+関数型のハイブリット言語。TwitterやFacebookなどもバックボーンにScalaが使われている。 2 Noop (ja,en) Noop (発音 /ˈnoʊ.ɒp/) は新しいプログラミング言語を開発することを意図するG

    tyage
    tyage 2011/04/20
  • Welcome to the Minecraft Official Site

    Minecraft Explore your own unique world, survive the night, and create anything you can imagine!

  • ジェームズ・ゴスリング氏、グーグルへ

    Javaの生みの親ジェームズ・ゴスリング(James Gosling)氏は自身のブログOn a New Roadにポストした記事「Next step on the road...」で、グーグルに就職したことを報告しています。 I find myself starting employment at Google today. 今日からグーグルの社員として働き始めるのだ ゴスリング氏はオラクルがサン・マイクロシステムズを買収した後の2010年4月2日にオラクルを退社していました。それ以来、多くの企業からオファーがあったようです。 One of the toughest things about life is making choices. I had a hard time saying "no" to a bunch of other excellent possibilities. 人

    ジェームズ・ゴスリング氏、グーグルへ
  • 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オープンソースソフトウェアのサンプルコードや使い方を通じて、さまざまな“常識”を学習する以下の連載の記事に、基礎知識のカテゴリごとに分けてリンクしていま

  • 「C#できます」と言い放ったあいつがJavaプログラマであることを見分ける10の質問 - 平々毎々(アーカイブ)

    <追記> 念のため書いておきますが、ネタですからね。 わざと難しい質問にしてるので、 回答に困っても大丈夫だ、問題ない。 下記質問にそれぞれ50文字以内を目安に簡単に説明すること。 ==演算子のオーバーロードを実装してEqualsメソッドと同じ処理を実行するようにしてもよい場合はどのような時か? ループ内でなければ、たとえ100個の文字列型変数であってもまとめて+演算子で連結してよい理由を説明せよ。 Listのように値型を格納するジェネリックコレクションを使ってもボックス化/ボックス化解除が発生しない理由を説明せよ。 Full GC(Gen2 GC)が動作したときに断片化していてもコンパクションされないヒープ領域はどのような領域か? throw; とthrow ex; の違いをスタックトレースの観点で説明せよ。 フィールドのアクセス修飾子をprivateにしプロパティのgetter/set

    「C#できます」と言い放ったあいつがJavaプログラマであることを見分ける10の質問 - 平々毎々(アーカイブ)
  • Javaプログラマであるかを見分ける10の質問 - やさしいデスマーチ

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

    Javaプログラマであるかを見分ける10の質問 - やさしいデスマーチ
  • オブジェクトを手軽にソートする

    int[] ia = {10, 5, 30, 20, -18, 0, 50}; // 適当なint型の配列 java.util.Arrays.sort(ia); この結果、iaが昇順にソートされます(-18, 0, 5, 10, 20, 30, 50)。iaの中身が書き換えられることに注意してください(sortの戻り値はvoidです)。ソートのアルゴリズムは修正クイックソートが用いられています。クイックソートは最悪の場合(ソート済のデータ)の時間計算量がデータ数nの2乗に比例することが知られていますが、このメソッドではそのような場合にも(n*log n)に比例する時間で実行できる修正がなされています。 オブジェクトをソートする 単に数値型の配列をソートするのではなく、データをフィールドに持つオブジェクトをソートすることもあります。例えば、String型のフィールドを持つDataクラスを、そ

    オブジェクトを手軽にソートする
    tyage
    tyage 2011/02/23
  • 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倍も遅かった