タグ

javaに関するasakawajunyaのブックマーク (48)

  • 一歩先行く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選 - 設計と実装の狭間で。
  • 普通の業務系PGには意外と知られていないJavaとJavaScriptの相違点10選 - 達人プログラマーを目指して

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

    普通の業務系PGには意外と知られていないJavaとJavaScriptの相違点10選 - 達人プログラマーを目指して
  • Amazon.co.jp: Javaルールブック ~読みやすく効率的なコードの原則: 大谷晋平 (著), 米林正明 (著), 片山暁雄 (著), 横田健彦 (著), 電通国際情報サービス (監修): 本

    Amazon.co.jp: Javaルールブック ~読みやすく効率的なコードの原則: 大谷晋平 (著), 米林正明 (著), 片山暁雄 (著), 横田健彦 (著), 電通国際情報サービス (監修): 本
  • ジェームズ・ゴスリング氏、グーグルへ

    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. 人

    ジェームズ・ゴスリング氏、グーグルへ
    asakawajunya
    asakawajunya 2011/03/29
    あとはJavaがGoogleに移れば安泰な気はするが。少なくともOracleよりは先が明るそう。
  • 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オープンソースソフトウェアのサンプルコードや使い方を通じて、さまざまな“常識”を学習する以下の連載の記事に、基礎知識のカテゴリごとに分けてリンクしていま

  • Javaプログラマであるかを見分ける10の質問 - やさしいデスマーチ

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

    Javaプログラマであるかを見分ける10の質問 - やさしいデスマーチ
  • マルチコア時代に備えて本気でメモリモデルを理解しておこう - リオーダー & finalフィールド 編 - - かとじゅんの技術日誌

    長い文章になってしまったので、概要だけ先に書きます。 以下のJavaプログラムは、常に上から下に順番に命令が実行されると思いますか?つまり、aに1が格納された後に、bに2が格納されると思いますか? 実は場合によってはこの実行順序が入れ替わる場合があります。これはJavaの言語仕様として定義されていることです。これを考慮しないと信頼性のある並行処理は実装できません。 気になる人は以下を読んでみてください。 a = 1; b = 2; すでにインターネットは社会インフラ化しています。ソーシャルネットワークで多くの人とコミュケーションやコラボレーションできる時代で、個人が情報を作り消費することは当たり前になってきています。そして、インターネット上のコンテンツは増加の一途を辿っています。「情報爆発」なんて言葉も耳慣れた言葉になりましたが、その問題解決のためにMapReduceなどの分散処理技術に注

    マルチコア時代に備えて本気でメモリモデルを理解しておこう - リオーダー & finalフィールド 編 - - かとじゅんの技術日誌
  • 業務系の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とその対策 - 達人プログラマーを目指して
    asakawajunya
    asakawajunya 2011/02/26
    Jakarta Commons系のライブラリは標準で入れて欲しいとか結構本気で思ってたりする。
  • Javaパフォーマンス計測 JITとの闘い - プログラマーの脳みそ

    前回の文字列操作編では適当に文字列操作のパフォーマンスを測定しようとしたらGC様とJITコンパイラ様に阻まれた、という話だった。モヒカン族*1が「てめえの計測はなっちゃいねー!ひゃっはー!」と殴りかかったらケンシロウみたいなのが出てきて「あべしっ」となった、ぐらいのつまらない話だったが、反省してこれらと向かい合ってみたい。 JITコンパイラについての情報 JITコンパイラ(Just In Time compiler)とはインタープリタ方式のプログラム言語のランタイムが実行時に必要に応じて部分的にネイティブコード(CPUが直接実行できるマシン語)に変換することで高速化するというコンパイラである。もともとはもっと狭義のニュアンスだったが、今ではJITコンパイルとHotSpot動的コンパイルを併せて広義にJITコンパイル、それを実施する実態をJITコンパイラと呼んでいる感じだ。*2 ただ、やみく

    Javaパフォーマンス計測 JITとの闘い - プログラマーの脳みそ
  • Javaパフォーマンス計測 文字列操作編 - プログラマーの脳みそ

    前回でパフォーマンス計測に用いるタイマーについての理解を深めたので、やっとパフォーマンスの計測を始めることができる。 今回のテーマはJavaの文字列連結だ。タイムリーだね。 文字列連結についての基礎知識 Javaの文字列連結についての言語仕様まわりは Stringの連結はそう簡単なものではない - じゅんいち☆かとうの技術日誌 が詳しい。しかし、パフォーマンス計測がなっちゃない。パフォーマンスの計測はそう簡単なものではない。 currentTimeMillis()で計測しておいて plusTime:14780, concatTime:7053, sbuilderTime:7, sbufferTime:13 とか、その7とか13の有効数字はいくつだっての*1。 そんなわけで、計測方法を工夫してみよう。二重ループとし、内側を1000回、それを500回繰り返す。ループが1回まわる間に1回ずつSy

    Javaパフォーマンス計測 文字列操作編 - プログラマーの脳みそ
  • 【18-C-2】オラクル統合後の Java の今後について

    Java EE 7 multi factor authentiaction with Microsoft Azure ADYoshio Terada

    【18-C-2】オラクル統合後の Java の今後について
    asakawajunya
    asakawajunya 2011/02/19
    前半はOracleは今後もJavaに投資するという説明。後半はJavaSE7やJavaEE6の説明。JavaSE7になると、これまでJavaで書いてて面倒だと思っていた部分の一部がスッキリするようになる。
  • JNIより簡単にJavaとC/C++をつなぐ「JNA」とは(1/4)-@IT

    インターネットの普及に加えて、リッチクライアント/RIAの発展とともに、アプリケーションの形態は、C/S(クライアント/サーバ)システムから、Webアプリケーションシステムにシフトしています。一般の情報発信システムだけではなく、企業の基幹情報システムまで、盛んにWebアプリケーションで構築するようになりました。 この変化の主役であるといわれる、Java技術は、Webアプリケーションシステムの発展とともに、ネットワークの親和性や、プラットフォーム適用の多様性で、広く受け入れられて、Webアプリケーションシステム開発の基盤技術になっています。 これまでのC/Sシステムでは、サーバロジックはC/C++で実装されるケースが一般的でした。C/SシステムからWebアプリケーションシステムにシフトする際に、Java技術を導入することを決めた場合、Java技術で、すべて新規開発するのは1つの選択肢ですが、

  • LL言語が後退局面に差し掛かっている件

    LLやばくねー 2年ぐらい前からやばくねー2003年から2009年にかけてPerlを筆頭にPHP,Ruby,Javascript,PythonなどのLL言語はこの世を謳歌していたが、どうやら去年頃からその成長に陰りが見え始めたように感じている。 webアプリケーションを構成する要素の一つとしてLLを見れば、まあ、よくやっている方だし、そちらの分野では今後も相当長く現役を続けるだろう。 しかし今はまさに超大規模データをほぼリアルタイムで解析して加工しなおされたデータにこそ富を生み出すポテンシャルを秘める時代だ。Hadoopが何かさっぱりわかっていないエンジニア連中はKENT時代のPerler程度の価値しかない。 テラが当たり前のように乱れ飛ぶ現場でLLが出来る事など無いに等しい。 IDEの進化がLLの優位性をかき消したeclipseやnetbeansなどIDEは地味なのであまり報道されないけ

    LL言語が後退局面に差し掛かっている件
    asakawajunya
    asakawajunya 2011/02/11
    Javaはバランスにすぐれた良い言語だとは思う。ある程度カッチリ作る場合には、非常に良い。最近は、標準入出力で何かしたい場合はスクリプト、ある程度カッチリ作りたいとかスレッド使いたい場合はJavaになってる。
  • Androidの本当にあった怖い話

    Creando microservicios con java micro profile y tomee - CUNORI 2020César Hernández

    Androidの本当にあった怖い話
  • Google App Engine - Google Code

    スタート ガイド App Engine アカウントにログインします。 App Engine SDK をダウンロードします。 スタート ガイドを参照します。 アプリケーション ギャラリーのサンプル アプリケーションをご覧ください。

  • Groovy+JNA - uehaj's blog

    JNA(Java Native Access)というものがあります(https://jna.dev.java.net/)。これはJavaから動的にDLL中の関数を呼び出すものです。「動的に」ということの意味は、しち面倒くさくバグも作り出しやすい、悪名高きJNI(Java Native Interface)を使わずに、そもそもCコンパイラなどを一切使わずに、DLL(Unix環境ではso)に含まれる関数を呼び出すことができるということです。jnaの配布物(jna.jar)にはさまざまなOS用のディスパッチャが含まれているので、プラットフォーム独立かのように錯覚するぐらいです*1。 ということで、動的つながり(強引)ということで、Groovyから呼んで見ます。 jna.jarをCLASSPATHに通せば*2たとえば、Pure Javaだけではできない「カレントディレクトリを移動する」という操作を

    Groovy+JNA - uehaj's blog
    asakawajunya
    asakawajunya 2011/01/10
    JNI(Java Native Interface)を使わずに、OSネイティブのライブラリを呼び出す。
  • Easy Going Groovy(Groovyを気軽に使いこなそう)

    [CB16] (P)FACE :アップルのコアへ、そしてルート権限へのエクスプロイト by Moony Li & Jack TangCODE BLUE

    Easy Going Groovy(Groovyを気軽に使いこなそう)
  • 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

    asakawajunya
    asakawajunya 2011/01/07
    あくまでネタかな。いろいろ突っ込み所満載だし。とりあえず、ドキュメントに変に詳細なロジック書くのはどうかと思う。
  • 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

  • Mavenでビルドする際の10のTips - cynipeと読む

    1. 環境別の設定はプロファイルで 環境毎に切り替えたいっていう設定ファイルは大抵のプロジェクトにはあると思います。DB接続先設定だったり、ロギング設定、場合によってはweb.xmlの初期化パラメータとか。最近流行り?のAppEngineだとデプロイ先の設定、開発時のcronの設定とか。こういった環境毎の設定を都度都度書き換えてなんてことをやってたらバージョン管理上うまくない*1ですし、Hudson、その他自動化スクリプトからデプロイを行ったりする際に色々とうまくないです。なので、こういった設定はプロファイルを使ってサクっと切り替えられるようにしてます。 詳しいプロファイルの使い方*2についてはそのうち別エントリで書く*3!...と思います。基的なことはTECHSCOREさんのここを参照すればかなり分かるはずです。自分はここで覚えました。ただMaven3からはprofiles.xmlの使

    Mavenでビルドする際の10のTips - cynipeと読む