タグ

javaとprogrammingに関するsadahのブックマーク (31)

  • マルチコア時代に備えて本気でメモリモデルを理解しておこう - リオーダー & finalフィールド 編 - - かとじゅんの技術日誌

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

    マルチコア時代に備えて本気でメモリモデルを理解しておこう - リオーダー & finalフィールド 編 - - かとじゅんの技術日誌
  • ReadWriteWebのプログラミング言語別「無料の電子書籍、チュートリアル○選」紹介記事がすごい - YAMDAS現更新履歴

    少し前から ReadWriteWeb でプログラミング言語毎に無料の e-book、チュートリアル紹介記事が定期的にあるなと思っていたのだが、ちょっと気になって調べたら、エントリ数10を越える堂々たるシリーズになっていた。 http://www.readwriteweb.com/hack/2010/12/6-free-javascript-e-books.php http://www.readwriteweb.com/hack/2011/03/python-is-an-increasingly-popu.php http://www.readwriteweb.com/hack/2011/04/10-free-e-books-on-ruby-for-be.php http://www.readwriteweb.com/hack/2011/04/5-free-b-books-and-tuto

    ReadWriteWebのプログラミング言語別「無料の電子書籍、チュートリアル○選」紹介記事がすごい - YAMDAS現更新履歴
  • いまさらですが、職業Javaプログラマーなら理解しておいてほしい「継承」の意味について - 達人プログラマーを目指して

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

    いまさらですが、職業Javaプログラマーなら理解しておいてほしい「継承」の意味について - 達人プログラマーを目指して
  • ゆとりなJavaプログラマが読むといいかもしれないオープンソースソフトウェア - wyukawa's diary

    Java出来ますって言ってるのにOpenJDKのコードをチェックアウトした事も無いようならモグリである可能性は高い。 一歩先行くJavaプログラマが読むべきオープンソースソフトウェア10選 - 設計と実装の狭間で。 OpenJDKのコードをチェックアウトした事も無いモグリです。こんにちは。 ま、それはともかくw 上記はいいエントリだし参考になります。ただまあモヒカンなのは事実だと思うのでゆとり路線でどういうオープンソースソフトウェアを読むと良いかもしれないって言うのを書いてみたいと思います。かもしれないって書いてるのがすでにゆとりですね。サーセンw JUnit すでに語り尽くされているとは思いますが、これは外せない。 僕自身は下記のJUnit3.8.2を読解する記事を読んでからJUnit3.8.2を読んでみましたね。 Java World (ジャバ・ワールド) 2005年 9月号 出版社/

    ゆとりなJavaプログラマが読むといいかもしれないオープンソースソフトウェア - wyukawa's diary
  • 一歩先行く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選 - 設計と実装の狭間で。
  • オブジェクト指向のソースを読むのが難しい理由 - 都元ダイスケ IT-PRESS

    ダラダラ書かない予定だよ。ざっくり行くよ。あと、分かってる人には当たり前な事だと思うよ。 あるクラスについて知りたかったら、まずその基底クラスを知れ 例えば、Integerクラスについて知りたいと思ったら、Integer.java だけを読んでいてはダメだ。確かに「Integerに特化した責務・構造・操作」は読み取れるかもしれないが、数値としての基的な責務・構造・操作はNumberに書かれている。それを読まずして、Integerが保つ数値という一面を知ることはできない。Integer.javaには「Integer - Number」*1の情報しか書いてないのだよ。差分プログラミング。 さらに、忘れちゃいけない。Object.javaを読め。全ての道は暗黙的にObjectにつながっている。Objectを知らずしてJavaのクラスを知る事は絶対にできない。Objectなんて、みんな「知った気

    オブジェクト指向のソースを読むのが難しい理由 - 都元ダイスケ IT-PRESS
  • wise9 › JavaとJavaScriptの20年戦争

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

  • いまさら聞けない「Javadoc」と「アノテーション」入門

    いまさら聞けない「Javadoc」と「アノテーション」入門:【改訂版】Eclipseではじめるプログラミング(22)(1/4 ページ) これからプログラミングを学習したい方、Javaは難しそうでとっつきづらいという方のためのJavaプログラミング超入門連載です。最新のEclipseとJava 6を使い大幅に情報量を増やした、連載「Eclipseではじめるプログラミング」の改訂版となります 注釈とコメントで開発しやすくしよう 開発者がソースコードにコメントを自由に記述すると、統一性がなくなり、同じ内容をさまざまな表現で書いてしまいます。これを防ぎ、重要な情報について統一的な表現で記述したいときは、「アノテーション(annotation、注釈)」を使うことを検討してみましょう。 Javaではアノテーションをプログラムのソースコードへプログラムのメタデータとして記述できます。また、プログラムにア

    いまさら聞けない「Javadoc」と「アノテーション」入門
  • 月のオリジン - bkブログ

    スクリプト言語の挙動について、コマンドラインから試すには次のように実行します。 % perl -le 'print((localtime)[4])' 0 % echo "print ((new Date).getMonth())" | js 0 % ruby -e 'p Time.now.month' 1 % ruby -rdate -e 'p Date.today.month' 1 % perl -MDateTime -le 'print DateTime->now->month' 1 % perl -MTime::Piece -le 'print Time::Piece->new->mon' 1 % python -c 'import time; print time.localtime()[1]' 1 % python -c 'import datetime; print datet

  • プログラミング言語人気TOP10の簡易解説

    0-1. 前書き この世にはたくさんのプログラミング言語が存在します。Wikiepdiaのプログラミング言語一覧を見ると、実に200個以上というわけの分からない数の言語が並んでいたりします。 【参考URL】プログラミング言語一覧 - Wikipedia http://ja.wikipedia.org/wiki/%E3%83%97%E3%83%AD%E3%82%B0%... 200の中にはほとんど使われてない言語も混じってるので、実際に仕事でざくざく使われている言語は20とか30とかそういうオーダーなのですが、それでも1人の人間が把握するにはちょっと多過ぎる数です。 記事では、そうした有り余るプログラミング言語の海の中で「どれを勉強したらいいの?」とか「どれを採用するのが適切?」という悩みをお持ちの方が「よし、この言語に決めた!」と自信を持って決断できるように背中を押すことを目的として書か

  • インターフェースとダックタイピングについてちょっと考えてみる - 宇宙行きたい

    こんにちは!! ヨシオリです!! Java Advent Calendar -ja 2010 : ATND の 29 日目になります!! え? クリスマスで終りじゃないの?? まぁ,いいじゃないですか,適当にダラダラ続けてもw ちなみに ATND の URL のイベント ID 的なのが 11000 なのですごいですね!! というわけで,個人的には Java の中でも 1,2 を争うくらい好きなインターフェースについて書きます!! まずは WEB+DB PRESS Vol.60 をヨムノデス WEB+DB PRESS Vol.60 作者: まつもとゆきひろ,西尾泰和,山田憲晋,城戸忠之,増井俊之,羽生章洋,uupaa,ミック,塙与志夫,原悠,奥一穂,はまちや2,大沢和宏,吾郷協,浜階生,中島拓,中島聡,矢野りん,角田直行,能登信晴,田村哲也,吉村譲,結城亜砂子,角谷信太郎,石橋秀仁,WEB

    インターフェースとダックタイピングについてちょっと考えてみる - 宇宙行きたい
  • nullという値は本当に必要か考えよう - かとじゅんの技術日誌

    今回は、nullの扱いは気をつけようねというお話。特にこれからの人に読んでもらいたい。 nullは変数を初期化する時などに、当たり前のように登場します。Javaではnullがないなんて考えられないわけです。(C#でも同様) しかし、nullの考案者のTony Hoareは「10億ドル単位の過ち」と発言しています。 null参照の考案は10億ドル単位の過ち?(スラッシュドット・ジャパン) - エキサイトニュース nullには、それだけの魔性があって使い方を考える必要があります。nullは”値が存在しない”という状態を表現する時に使われることが多いのですが、そのnullに対する注意が十分に払えずにトラブってしまうことが多いのです。Scalaではその"値が存在しない"という状態をOption型のNoneで表現することでnullを回避する手段が提供されています。JavaではScalaのようにはでき

    nullという値は本当に必要か考えよう - かとじゅんの技術日誌
  • Eclipseデバッガ徹底解説 - Yamashiro0217の日記

    Java Advent Calendar -ja 2010 : ATND 11日目。昨日は、id:daisuke-m でした。 完全に Eclipse のこと書けとふられてる感じがしたので Eclipse について書く。 Eclipse の何について書こうかと考えたんだけど、先日、社会人になってからプログラム書き始めた弊社の若い子が、「デバッガ」の存在を知らなかったのでデバッガの基的な使い方などについて書く。 PHPというちょっとしたWebページをさらっと書くには素晴らしい言語だけしか知らないみたいだから、あんまりデバッガ使う文化が無かった模様です。 var_dumpデバッグェ…。 今回は初心者向け記事なので、基Java使い倒してる皆様は読まなくてよろしいが、Break Point Properties の Condition とかDrop To FrameとかExpressionの機

    Eclipseデバッガ徹底解説 - Yamashiro0217の日記
  • あなたの知らない、4つのマニアックなJava文法

    あなたの知らない、4つのマニアックなJava文法:【改訂版】Eclipseではじめるプログラミング(17)(1/3 ページ) これからプログラミングを学習したい方、Javaは難しそうでとっつきづらいという方のためのJavaプログラミング超入門連載です。最新のEclipse 3.4とJava 6を使い大幅に情報量を増やした、連載「Eclipseではじめるプログラミング」の改訂版となります 知ってました? Javaでも、あんなことやこんなことが… 前回の「“ネスト”した型で始める軽量Javaプログラミング!?」では、通常のJavaプログラミングよりもライトウェイト(軽量)なプログラミングをするために、「ネストした型/クラスとは何か」について基的な説明をしました。 ネストした型をきちんと利用できるようになるには、「staticのネストしたクラス」「内部クラス(インナークラス)」「エンクロージン

    あなたの知らない、4つのマニアックなJava文法
  • Java回顧録 〜独白: 僕は全ての事をJavaから学んだ〜 - 風と宇宙とプログラム

    先日Javaのコードを3年振りくらいで書いてみたら、無性にJavaについて振り返ってみたくなった。Javaの誕生当時をリアルタイムで経験した僕にとってJavaは感慨深いものであり、多くのことをJavaから学び、僕を成長させてくれた原点でもある。 僕とJavaとの関わりはJavaがまだOakと呼ばれていた頃から始まる。1994年の暮れの頃だったと思う。Oakで書かれたWebブラウザはWebRunnerと呼ばれていて、両者はほとんど一体だった。会社の上長からこれを使って携帯情報端末機器を開発することになったから、秘密裏に調査しておくようにと突然指示された。後になって知ったことだが、Oakは家電などの組込み系を想定して開発されたもので、当時Sunは日の多くのメーカに呼びかけてOak を普及させようとしていたようだ。 その頃のインターネット事情というのは、Mozilla(Netscape)が登場

    Java回顧録 〜独白: 僕は全ての事をJavaから学んだ〜 - 風と宇宙とプログラム
    sadah
    sadah 2010/12/14
    いい話。
  • 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

  • Java の理論と実践: Java 7で登場するフォーク/ジョインのフレームワークを使って細粒度並列処理の活用方法を学ぶ

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    Java の理論と実践: Java 7で登場するフォーク/ジョインのフレームワークを使って細粒度並列処理の活用方法を学ぶ
  • 「Java SE 6完全攻略」Garbage First GC

    Javaがヒープの管理にGCを使用しているのは、読者の皆さんもご存じの通りです。GCの手法にはいろいろありますが、HotSpot VMが採用しているのが世代別GCです。今回は、世代別GCの概要と問題点を解説したうえで、これを解決するために導入されたGarbage First GCについて説明します。 世代別GCの概要と問題点 世代別GCは若いインスタンスと時間を経たインスタンスを別々の領域に配置し、管理する手法です。これは寿命の短いインスタンスほど多いという性質をベースにしています。 若いインスタンスが配置される領域をヤング領域、時間を経たインスタンスを配置する領域をオールド領域とよび、それぞれの領域で異なるGCの手法を使用します。つまり、ヤングとオールドという世代の異なる領域を、それぞれ異なるGCで管理するのが世代別GCというわけです。 ヤング領域には高速ですが漏れのあるGCを用います。

    「Java SE 6完全攻略」Garbage First GC
  • 訛りのない Java 言語を話す ― Java に転向したプログラマーのためのナチュラルな Java 表現

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    訛りのない Java 言語を話す ― Java に転向したプログラマーのためのナチュラルな Java 表現
  • Javaバイトコードの読み方 - プログラマーの脳みそ

    Javaのデバッグをしていて、ステップ実行中にステップインを繰り返したらソースコードのないところに行き当たったことがあるだろう。あるいはEclipseでF3キーでクラスやメソッド・フィールドの宣言元を辿っていってソースコードのないところに行き当たったことがあるだろう。 Eclipseの場合、"Class File Editor"というものが開く。そこにはJavaのバイトコードのニーモニックがズラズラと並んでいて、「これは読めないや、ワケが分からない」と投げ出してしまったりしていないだろうか。 怖がることはない。ちょっとコツを掴めばすぐに読めるようになる。 Class File Editorの開き方 自前のJavaクラスの場合、ビルドして出来上がったclassファイルを開く必要がある。"Package Explorer"だとclassファイルは隠されていて見えないのでWindow -> Sh

    Javaバイトコードの読み方 - プログラマーの脳みそ
    sadah
    sadah 2010/02/09
    バイトコードは読み物、カレーは飲み物。