タグ

Javaとjavaに関するdeg84のブックマーク (21)

  • 「淡路島の電車の運行状況を聞いた話」をシステム開発に置き換えてみる - 日々常々

    気象庁の地震情報|平成25年04月13日05時48分 気象庁発表 4/13のAM5:33にM6.0らしい地震がありました。各地で大きな被害が無いことを祈りつつ。 フジテレビのアナウンサーさんが淡路島の電車の状況を聞いたと言う話 【放送事故】フジテレビが淡路島民に「電車動いてますか?」と質問 「淡路島は電車ありません」 - NAVER まとめ だいたい見てると「電車無いのを知らずに聞いてしまった」のを叩く向きに思えます。実際のところ、聞いたこと自体はNGなのでしょうが、これをシステム開発の話に置き換えると見えるものがある気がしました。 以降はJavaの語彙で書きますが、これって NullPointerException っぽいなと。 コードっぽい何かで書いてみる こんな感じ。 運行状況 = 淡路島.get路線().get運行状況(); get路線() が何を返すのか知らないけど、これが nu

    「淡路島の電車の運行状況を聞いた話」をシステム開発に置き換えてみる - 日々常々
    deg84
    deg84 2013/04/14
    これ面白いなーw
  • 【祝】: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 正式リリース
    deg84
    deg84 2011/07/29
    みんな書いてるけど、Eclipse待ちだな~
  • いまさらですが、職業Javaプログラマーなら理解しておいてほしい「継承」の意味について - 達人プログラマーを目指して

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

    いまさらですが、職業Javaプログラマーなら理解しておいてほしい「継承」の意味について - 達人プログラマーを目指して
    deg84
    deg84 2011/06/24
    オブジェクト指向が分かるとJavaが面白くなる。PHPじゃ中途半端でイライラするんだよなぁ~
  • wise9 › JavaとJavaScriptの20年戦争

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

  • alternative dvamp project  技術の空洞化

    自称Javaが出来る人でも設計書をまともに書けない。先週は社内の諸事情からプログラミングをする機会を得た。 既にプロパーによってプログラム設計書は記載済で、製造工程以後を担当というもの。 早速プログラム設計書を見てみると…。会員No登録チェックメソッド(引数int型で会員番号):戻り値はなしtry-catch宣言をする。try-catch宣言をする。try-catch宣言をする。Connection conn = new Connection();PreparedStatement pstm = new PreparedStatement();ResultSet rs = new ResultSet();DBに接続する。pstm = conn.prepareStatement(strSQL);pstm.setString(1, 会員番号);pstm.executeUpdate();conn

    deg84
    deg84 2011/01/06
    Javaだからという話でもなさそうな
  • [速報]JavaもHTML5対応へ。モバイルではWebKitを採用。JavaOne 2010

    サンフランシスコでJavaOneが開催されています。今日9月21日(現地時間20日)の基調講演では、デスクトップPCとモバイルデバイスで動作するJavaHTML5対応のWebアプリケーションプラットフォームにする、といった今後の開発方針がオラクルから発表。Javaのオープンソース実装であるJDKもロードマップが発表されました。 今年はサン・マイクロシステムズがオラクルに買収され、同社からジョナサン・シュワルツ氏やJavaの父ジェームズ・ゴスリング氏など昨年までのJavaの顔が去って最初のJavaOneです。 マルチコア、大規模メモリのサーバへの最適化 基調講演に登場したのは、プロダクトデベロップメント担当上級副社長のThomas Kurian氏。 まずはサーバとデスクトップの話題から始めよう。この分野でのJavaの設計目標は、新しいアプリケーションモデルと新しいハードウェアにJavaを最

    [速報]JavaもHTML5対応へ。モバイルではWebKitを採用。JavaOne 2010
    deg84
    deg84 2010/09/21
    最近Javaから離れていたけど、Javaエンジニアからすると、この発表はどう思うんだろ?
  • 「Java による RESTful システム構築」 が超勉強になる!! - 宇宙行きたい

    JavaによるRESTfulシステム構築 作者: Bill Burke,arton,菅野良二出版社/メーカー: オライリージャパン発売日: 2010/08/23メディア: 大型購入: 28人 クリック: 804回この商品を含むブログ (40件) を見る これ,当にタイトル勿体無いなぁって思うでした. いや,タイトルに偽りは無いんだけど,これだと REST に興味無い人は手に取らないだろうなぁと思って,それは凄く勿体無い内容なので,ホントみんな読むと良いと思う. 簡単に説明すると,Java で REST を扱うために JAX-RS という API があるんだけど( JSR311 ),そのエキスパートグループの一人であり,さらにその実装である RESTEasy の作者が書いているです. で,この人は元々 SOAP とかのどちらかというと Fat な仕様大好きっこだったので,このには色

    「Java による RESTful システム構築」 が超勉強になる!! - 宇宙行きたい
  • 単体テストを“神速”化するQuick JUnitとMockito

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

    単体テストを“神速”化するQuick JUnitとMockito
  • Javaで軽快に使える「軽量フレームワーク」特集 ~本格的なRoRスタイルフレームワーク「Play!」(1)

    はじめに 今やWebのフレームワークと言えば、そのほとんどが「RoRタイプ」です。RoR(Ruby on Rails)がWebの開発に与えた影響は非常に大きく、その後生まれたフレームワークの多くがその影響を受けています。 しかし、Javaの世界に関しては、RoRはなぜか素通りしてしまいました。既にStrutsというデファクトスタンダードがあったために新しいMVCフレームワークが割り込む余地があまりなかったのか、あるいはLL(ライトウェイト)言語でないとRoRなスタイルは作りにくかったのか。ともあれ、その後、長い間、Javaでは「いわゆるRoRタイプ」と言えるフレームワークは登場しませんでした。 その流れを変えたのは、Groovyです。Groovyの登場により、JavaでもLL言語のような小回りの聞くコーディングが可能となりました。そのおかげで、ようやくJavaの世界にも遅まきながら新しい世

    Javaで軽快に使える「軽量フレームワーク」特集 ~本格的なRoRスタイルフレームワーク「Play!」(1)
  • 簡単なWebサーチエンジンの作り方 - Imagine with 加藤和彦

    筑波大学は3学期制で,12月1日から3学期が始まりました.3学期には私が担当している学類生(普通の大学の学部生)3年生向けの実験があります.約3ヶ月を掛けて,ほどほどの規模のプログラム作成を行います.私が作り,担当しているプログラム実験は「Webサーチエンジン」といいまして,テキストはこちらに公開しています. この実験,結構,自信作なんです.Javaの基的なプログラミングができることだけを仮定して,漏れのない全文検索を行うWebサーエンジンを作ります.Webデータ収集を自動的に行うクローラー付き.Googleのようなページランキング機能はありませんが,一応,サーチエンジンの基機能を備えます.自慢は,このテキストが実質A4で印刷して2ページくらいであること.数学の小問を解いていくように,順番に小問を解いていくと,最後にはWebサーチエンジンができます. ミソはサフィックス・アレイ(suf

    簡単なWebサーチエンジンの作り方 - Imagine with 加藤和彦
  • 最低限これだけ知っていればOK! Androidアプリ開発の基礎知識 ~速習! Androidアプリケーション開発(2)~

    Androidアプリケーション開発の基礎知識を身につけよう 前回で開発環境が準備できたので、今回は必要な基礎知識を身につけて開発の準備を整えていきましょう。 対象読者 連載はJavaおよびEclipseの基を理解している方を対象としています。 前回の記事 第1回 Androidの概要と開発環境の構築 Android独自の実行環境 AndroidのアプリケーションはJavaのVM上で動作しますが、日ごろ使用しているJava VMとは異なり、DalvikVMという低メモリ環境に最適化された独自のVM上で実行されます。 DalvikVMでは、Java標準のクラスライブラリのすべてがサポートされているわけではなりません。その結果、世の中に存在するJavaライブラリの多くはそのまま持ってきても使う事はできません。もし運よく、使いたいライブラリが非対応のAPIを利用していなければ使用できるので、A

    最低限これだけ知っていればOK! Androidアプリ開発の基礎知識 ~速習! Androidアプリケーション開発(2)~
  • Androidの概要と開発環境の構築 ~速習! Androidアプリケーション開発(1)~

    はじめに 私の会社はオープンソースを用いた業務システムの構築を得意としている会社で、私自身も約10年に渡りJavaで業務システムばかりを開発してきました。 Androidが登場するまでは携帯アプリにそれほどの興味を持つことはなかったのですが、Javaでオープンなプラットフォームで携帯アプリが作れるという事で、Androidを通じて初めて携帯アプリ開発に手を染めることになりました。 新たなプラットフォームでの開発のため、当初はかなり苦戦する事を予想していたのですが、開発環境も整っており、驚くほど簡単にMapGPS、センサーを利用したプログラミングを行う事ができました。そして、何よりも久しぶりに純粋にプログラミングを楽しく感じられる日々でした。 その後、社内でチームが立ち上がりましたが、JavaとEclipseで開発をしてきたエンジニアであれば2、3日もあればアプリケーションの開発ができるよ

    Androidの概要と開発環境の構築 ~速習! Androidアプリケーション開発(1)~
  • 別におぼえたくないのに…Javaの方から勝手に脳に入り込んできて、気がつけばJavaを習得してしまうゲーム「Robocode」 - techiela

    HelloWorldやっても面白くねーんだよ!! 皆さんこんにちは。 Google App Engine (GAE)でJavaがサポートされ、 PythonはスルーしたけどJavaならやりたい!でもJava未経験! GAE/Jに手を出してみたけど、結局hello, world!のサンプルアプリを公開したまま 放置した状態になっていませんか? 僕はそうです! Java使えたら楽しいだろうなー Java覚えて仕事の案件こなしたいなー Java使えたらオブジェクト指向がもっとわかるだろうなー リア充へのあこがれ と、常々思っていつつも、Javaの最初の面倒臭さの前にいつもやる気喪失するんですよね。 HelloWorldひとつやるのにpublic static void main()書くなんて面倒臭すぎです コンパイルなんて面倒でやってられません eclipseの使い方憶えるのが面倒だし ecli

    別におぼえたくないのに…Javaの方から勝手に脳に入り込んできて、気がつけばJavaを習得してしまうゲーム「Robocode」 - techiela
    deg84
    deg84 2009/11/29
  • JavaのGCについてメモ - public static void main

    ガーベッジコレクション(以下GC)やメモリについて、あやふやのままにしていたところが多かったので、調べてみたことをメモしておきます。 メモリについて プログラムの使用するメモリは、レジスタ、スタック、ヒープなど用途によって分けられますが、高級言語になるにつれてこれらは隠蔽されています。 Javaの場合はスタックとヒープ領域の二つに分けられます。 スタック スタックはメソッド起動ごとにフレームを出し入れする線形のデータ構造です。このフレームの中にローカル変数や引数などのデータを持っています。 メソッドが終了するとフレームは破棄されるので、寿命が短いことが特徴です。 スタックはスレッドごとに割り当てられます。 ヒープ インスタンスなどを保持する領域です。GCによって、メモリの管理がなされます。 JVMで一つ割り当てられ、全てのスレッドから共有されます。 クラス構造などの静的なデータも保持されて

    JavaのGCについてメモ - public static void main
    deg84
    deg84 2009/10/07
  • 速報:グーグルが新言語「Noop」を公開。JavaVMで動作

    グーグルが新プログラミング言語「Noop」を公開しました。Noopは新旧のプログラミング言語からいいとこ取りをした、JavaVMで動作するプログラミング言語と説明されています。 Noopは、サン・マイクロシステムズで開催中の「JVM Language Summit」で、グーグルの2人のエンジニア、Alex Eagle氏とJérémie Lenfant-Engelmann氏によって発表されました。 すでにJVM Language Summitでの発表資料がPDFとして公開されており、その資料には、Noopのミッションが次のように説明されています。 Noop's mission Help teams develop software that is easier to understand and maintain. Noopのミッション 分かりやすくメンテナンスしやすいソフトウェアのチーム開

    速報:グーグルが新言語「Noop」を公開。JavaVMで動作
    deg84
    deg84 2009/09/18
    覚える言語がまた増える・・・
  • JUnitとEclipseを使って学ぶ、“テスト”の常識

    JUnitとEclipseを使って学ぶ、“テスト”の常識:Webアプリの常識をJSPとStrutsで身につける(10)(1/4 ページ) 連載は、JSP/サーブレット+StrutsのWebアプリケーション開発を通じて、Java言語以外(PHPASP.NETRuby on Railsなど)の開発にも通用するWebアプリケーション全般の広い知識・常識を身に付けるための連載です いまさら聞けない、“テスト”の考え方やポイント 今回は、「テストの常識」と題し、Webアプリのテスト方法を説明したうえで、実際にJUnitを使用してWebアプリのテストを行ってみましょう。 そもそも、テストとは何のために行うのでしょうか? ただ何となくテスト項目を作成して実施するのでは、作成したWebアプリの品質が低かったり、開発コストが高くなったりと後々、後悔することになります。まず「テストをなぜ行うのか」「何を

    JUnitとEclipseを使って学ぶ、“テスト”の常識
  • Webアプリの問題点を「見える化」する7つ道具 (1/3) - @IT

    今回の概要 システムが応答しない、パフォーマンスが劣化したなどのトラブルが発生したときに、原因がなかなか掴めず、あたふたすることはないだろうか? 稿では、Java EEトラブルシューティングの現場で役立つ7つ道具を紹介する ある日、突然電話が鳴る 用件は、「システムが不定期に停止する。よく分からないけど、どうやらJava EE部分がおかしい」とのこと。このような事態が発生したとき、やみくもに原因を調べ、いつまでたっても問題が解決できず、原因の一片も発見できないことが多々ある。 トラブルが発生した場合、ツールが充実していない昔は、開発者の経験と勘に頼るところが非常に大きかった。Webシステムが普及するいま、昔とは比べ物にならないほど、システムの数が増え、開発者数が増える一方、システム障害を切り分けられる職人的なエンジニアの人数はシステム数に比例して増えているわけではない。そのため、すべての

    Webアプリの問題点を「見える化」する7つ道具 (1/3) - @IT
  • 【ハウツー】memcached client for java - Javaでmemcachedを使おう (1) データをメモリ上に保持するキャッシュサーバ | エンタープライズ | マイコミジャーナル

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

  • Webアプリケーションフレームワークの定番

    Spring Framework(以下Spring)は、Rod Johnson氏が書籍『Expert One-on-One J2EE Design and Development』(邦題『実践 J2EEシステムデザイン』)で発表したコードを基にして開発されているアプリケーションフレームワークである(http://www.springframework.org/)。 Spring はSeasar2(http://www.seasar.org/)やPicoContainer(http://www.picocontainer.org/)と同様に軽量コンテナに分類され、核となるDI(Dependency Injection/依存性注入)コンテナの機能のほかにAOP(Aspect Oriented Programming)やMVCフレームワーク、JDBCを使いやすくするJDBC抽象フレームワーク、ト

  • 人気のAPI/フレームワークを作るための39カ条

    ある仕様を利用するための網羅性の高いライブラリを用意したいとき 再利用性が高い(と思われる)プログラムをライブラリ化したいとき Webシステムを外部から利用してもらうために一部分を公開したい場合 多人数で開発する事柄で共通化させておきたい部分をまとめたい場合 ほかの言語で作られたアプリケーションをある言語で利用したいときの橋渡し用 ちなみに、JSP/Servletの世界でよく使われているStruts Frameworkは開発者のCraig McClanahan氏が休暇中に思い付いて開発したものだそうです。オレゴン州のビーチで、ラップトップに向かい、3日間の休暇中ずっとコーディングしていたそうです。 一緒に行った奥さんは機嫌が悪かったようですけど。 ここでは、作成したAPIが自分だけではなく、多くの人に使ってもらえるよう、便利に使えるポイント、広く普及するためのポイントをとらえていきましょう

    人気のAPI/フレームワークを作るための39カ条