タグ

javaに関するholyppのブックマーク (71)

  • 「linux触るから俄然vimだな、emacsなんて使ってるやついない。」えー? - カレーなる辛口Javaな加齢日記

    「28歳プログラマーだけど質問ある?」 http://blog.livedoor.jp/itsoku/archives/40874055.html emacs派?vim派? linux触るから俄然vimだな、emacsなんて使ってるやついない あれ?Linus氏はEmacsユーザーだと思ったが. Emacsを使っている有名人リスト「Famous Emacs Users」 Linus Torvalds – the creator of Linux and Git http://www.softantenna.com/wp/etc/emacs-famous-user-list/ そっかー.LinuxだとEmacsを使ってるヒトいないんだー(棒) UNIX系OSのデファクトスタンダードだよね,Emacsは. Yukihiro Matsumoto – the creator of Ruby さすが

    「linux触るから俄然vimだな、emacsなんて使ってるやついない。」えー? - カレーなる辛口Javaな加齢日記
    holypp
    holypp 2014/09/17
    元記事、ホントひどかった。
  • Eclipseをvimっぽく使うVrapperプラグインを入れた - 南極の図書館

    「イージーモードが許されるのは小学生までだよねー。」という有名なネタがある。 それはゲームの話なわけだが、仮にゲームはそうだとして、現実は、 「イージーモードに入れるのは工夫をした人間だけだよね。」というのが正しいと思っている。 何かをやりとげなければならない。その志が高いほど、何も考えずにぶつかっていけば難易度が高くなっていく。 ゲームでいえばハードモードとかルナティックとかいうものになる。 私は最近、膨大な量のコードを読んでいて、もともと作業量が限界に近かった。 ジリ貧になっていたところ、今週から更に忙しくなり、これはもう絶対無理という感じに。 その一番大きな原因はEclipseの習熟度の低さというか、思うような移動ができないことだ。 「もうちょっとVimみたいに動いてみろよ!」 そんなことも言いたくなる。 ああ、そうだ。 考えてみたら「もうちょっとVimみたいに動いてみろよ!」と思う

    Eclipseをvimっぽく使うVrapperプラグインを入れた - 南極の図書館
    holypp
    holypp 2011/11/17
    「イージーモードの入り方を探さないなんて、小学生までだよね。」
  • 「リファクタリング」の完全読破。その8、7章後半 - 南極の図書館

    前回に引き続き、7章の後半。 8月に読み終わる予定が、もう10月も中旬に。 委譲の隠蔽(P157) カプセル化は、唯一のとは言わないまでも、オブジェクト指向技術の鍵である。 class Client... //before _manager = john.getDepartment().getManager(); //after _manager = john.getManager(); } class Person{ Department _department; public void setDepartment(Department arg){ _department = arg; } //before public Department getDepartment(){ return _department; } //after 委譲メソッドを作り、getDepartment()は

    「リファクタリング」の完全読破。その8、7章後半 - 南極の図書館
    holypp
    holypp 2011/10/09
    8回目、ブログとしては愚直に書いてる感じ。自分のブログを職場で読み直す機会も増えてきて、自分としては満足してる。私が一目置くプログラマは誰もがこの本の重要さを語るし、マスターしておきたいな
  • 「リファクタリング」の完全読破。その7、7章前半 - 南極の図書館

    7章は2回に分けて。今回は前半部分について。 第7章 オブジェクト間での特性の移動 オブジェクトの設計において根幹をなすのは責任をどこに配置するか。 しかし、ファウラーでも「責任を初めから正しいところに配置することができません。」と言う。 後からでも、リファクタリングを使って適切に配置していけば良い、ということだ。 それに、システムは変化していくということを忘れてはいけない。 P146 ある週では正しく適正であった設計判断も、次の週にはそうでなくなります。それが問題なのではなく、それについてなにもしないことが問題なのです。 このような状況を受け入れなければならない。 受け入れた上で、下記のような方法で解消していく。 メソッドの移動(P142) メソッドが、定義しているクラスよりも他のオブジェクトを参照することが多い場合に検討する。 移動することでクラスが単純になり、責任の集合をすっきりした

    「リファクタリング」の完全読破。その7、7章前半 - 南極の図書館
    holypp
    holypp 2011/09/27
    久しぶりに、牛歩ですが。「実際にはクラスは成長していくので、大きすぎて理解出来なくなったクラスは切り離す必要がある」は意識していきたい。
  • 「リファクタリング」の完全読破。その6、第6章後半。 - 南極の図書館

    前回は「第6章 メソッドの構成」から『総論と「メソッドの抽出(P110) 」「説明用変数の導入(P124)」』について書いたので、今回は残りの項目を。 大きなものは「メソッドオブジェクトによるメソッドの置き換え」くらいで、あとは項目名のとおりという印象。 (※下記のコード片は、書の例を元に短縮等を行ったもの。) 第6章 メソッドの構成 「メソッドのインライン化(P117)」 不要な間接化、つまり委譲のみ行っているようにみえたら行う。単純な場合にのみ行い、複雑な場合は避ける。 return (moreThanFive()) ? 10 : 0; boolean moreThanFive(){ return _preAmount > 5; } ↓ return (_preAmount >5) ? 10 : 0; 「一時変数のインライン化(P119)」「問い合わせによる一時変数の置き換え(P12

    「リファクタリング」の完全読破。その6、第6章後半。 - 南極の図書館
    holypp
    holypp 2011/09/06
    「メソッドオブジェクトによるメソッドの置き換え(Method Objectパターン)」を使いこなせるようになりたい。リファクタリングは経験とバランス感覚だと思うので、精進しないと
  • 「リファクタリング」の完全読破。その5 - 南極の図書館

    今回からカタログに入る。第6章は内容が多いので2回にわけて。 今回は、総論と「メソッドの抽出(P110) 」「説明用変数の導入(P124)」をしっかりと。 第6章 メソッドの構成 総論 下記の通り重要な章。いくつかの項目を除けばクラス階層の変更が不要なので、やりやすいという面もある。 (経験上、クラスを作ったり消したりすると面倒になる職場が多い。悲しいことに。) P109 メソッドを、適切にパッケージ化されたコードとして構成することが、書のリファクタリングの大部分です。 問題を起こすのは、ほとんどの場合、長すぎるメソッドなのです。 メソッドを分解すると、その動作がより深く理解できます。そして、そのアルゴリズムがもっとわかりやすくできることに気づくかもしれません。 さて、いったいどこまでメソッドを小さくするといいのだろうか。 私はここに書いてある通りと考える。 P110 メソッド名とメソッ

    「リファクタリング」の完全読破。その5 - 南極の図書館
    holypp
    holypp 2011/09/04
    メソッド名とメソッド本体の間の意味的な距離が重要。今回書いたリファクタリングは、頭の硬い上司(やそれに準じる体制)がいてもできるのではないかと思う。
  • Heroku、クラウドでJavaのサポート開始。J2EEには背を向ける

    クラウドでRuby on Rails、Node.js、Clojureをサポートするなど、先進的な言語対応を進めてきたHerokuが、Javaのサポートを発表、パブリックベータの提供を開始しました。 JavaアプリケーションサーバとしてJettyを採用。J2EEの方式には依存せず、Spring RooフレームワークやORマッピングにHibarnateなどが使えると説明されています。 Herokuは、J2EEのモデルはパッケージソフトウェアの時代のものであってSoftware-as-a-Serviceには合わない。その失敗をクラウドのイノベーションで立て直すのだと、次のようにブログに書いています。 In recent years, J2EE vendors have attempted to fix the problems (including a re-branding from J2EE

    Heroku、クラウドでJavaのサポート開始。J2EEには背を向ける
    holypp
    holypp 2011/08/30
    今のJ2EEはいいと思うんだけど。
  • Iteratorより基本forループでArrayListのget()を使ったほうがいいなんて話はもはや百害あって一利なしです。 - 矢野勉のはてな日記

    Java yoshioriさんがいいこと書いてるのを発見しました。私も大賛成。今までArrayListが返ってきていたから getでfor文を書いていたとき。 フレームワークをバージョンアップして もしもそこがLinkedListになっていたら それだけでかなりのパフォーマンスの低下になる。 (Iteratorの誤差など遙か彼方へ吹き飛ぶほどに) そのリストを使っているfor文を全部調べ上げて すべて書式を変更するのはかなりの作業になるだろう。 だから、JavaではIteratorを使うべきだ。 関連記事はこのあたりかな。 http://d.hatena.ne.jp/BlacksmithMirai/20061017/1161081012LinkedListに関する不適切な説明J2SE 5.0虎の穴 拡張 for 文 Iteratorと基forループとの話は、櫻庭さんまで上記虎の穴のリンク

    holypp
    holypp 2011/08/28
    get+forとIteratorの話。4年前か、これ。
  • 「リファクタリング」の完全読破。その4 - 南極の図書館

    今回は第4章と第5章。この次から、いよいよカタログに入る。 第4章 テストの構築 多分ここが、古いということで一番割をってる箇所。 JUnitの説明などは、今は他のを読んだ良いと思う。 所々出てくる、今読んでも色褪せないなと思う部分だけ引用する。 (古い古いと書いているが、未だにJUnitすら使っていないシステム開発現場はあるし、むしろ経験上そっちの方が多い。) P89 リファクタリングに限らず、よいテストを書くとプログラミングが加速するようです。 P90 テストを完全に自動化して、その結果もテストにチェックさせること。 P94 テストを頻繁に実行せよ。コンパイル時にはテストを局所化して、1日に最低1度はすべてのテストを実行せよ。 P97 バグレポートを受け取ったら、まずそのバグを明らかにするための単体テストを書け。 P98 不完全なテストでも、書いて実行するほうが、実行できない完全な

    「リファクタリング」の完全読破。その4 - 南極の図書館
    holypp
    holypp 2011/08/23
    最新のJUnitをしっかり使ってるという話はあまり聞かない>リファクタリングもTDDも、思想と技術は確実に身になってるんだけど、職場では強制されないし、逆に強制できないというのが少しもどかしい
  • 「リファクタリング」の完全読破。その3 - 南極の図書館

    帰省などで間があきましたが、今回は第3章。8月中の読破を目標に。 第3章「コードの不吉な匂い」 テーマは、いつリファクタリングを始めていつ終えるか。 (P76) ここではリファクタリングの必要を示す不吉な兆候について説明していきます。 インスタンス変数はいくつ以上になれば多過ぎであり、メソッドは何行以上で長過ぎるかなどの感覚は、自ら養っていかねばなりません。 他に「経験で磨かれた人間の直感には、メトリックスをいくら集めてもかなわない」とも書かれており、経験の重要さが強調されている。 各項目はそれぞれ半ページから2ページで文量は少ないが、引用されている手法を確認しながら読むとかなり時間がかかる。 エントリは後から見直せるように、見出しと簡単な説明を書いていく。 重複したコード 同一クラス内の複数メソッドに同じ式がある場合。 完全に同じでなく似通っている場合は、共通に使える部分とそうでない部

    「リファクタリング」の完全読破。その3 - 南極の図書館
    holypp
    holypp 2011/08/21
    全体的に、訳が良いと思う>不適切な関係:仲の良すぎるクラスは、いにしえの恋人たちのように、遠くに離してあげねばなりません。
  • Ustream.tv: ユーザー java-jp: Java EE 6, Recorded on 2011/08/10. コンピュータ

    IKEA KLAPPE Chair Review... 合計視聴数: 2,663 長さ: 10:06 この冬買うべきスマホはこれだ! 合計視聴数: 1,518 長さ: 26:38 いとうまい子さんがパソコンを始めたきっかけのお話 合計視聴数: 878 長さ: 49:31 Microsoft showcases new... 合計視聴数: 875 長さ: 01:30 iPad10台で初心者セミナー開催 合計視聴数: 810 長さ: 101:59 iPhoneで撮影してパノラマ画像を作成できるアプリの... 合計視聴数: 577 長さ: 31:17 test 合計視聴数: 368 長さ: 163:55 ペットボトルでギネス挑戦中 合計視聴数: 343 長さ: 01:21 idk my bff jill 合計視聴数: 313 長さ: 04:02

    holypp
    holypp 2011/08/12
    見てる。
  • 「リファクタリング」の完全読破。その2 - 南極の図書館

    ソフトウェアシステムはほぼ間違いなく、汚く滅茶苦茶になってしまうことに気づいたからです。 最初はプログラマの心のなかでけがれのない水晶のように輝いていた設計が、時間が経つことで劣化し、悪くなった肉のように腐敗していきます。 1年前に構築した、こぢんまりした出来の良いシステムが、翌年には関数や変数が絡まり合ったひどい泥沼に変わります。 いったい何が起きているのでしょう。 「レガシーコード改善ガイド」まえがき 大きなシステムに携わったことがあるなら、痛いほど気持ちがわかると思う。 私はこの問題を、プログラマのレベルが低いプロジェクトにのみ起こる現象だと思っていたが、どうやらそうではないらしい。 そんな簡単な問題では無かった。 第2章 リファクタリングの原則 ここではリファクタリングの定義にはじまり、行う理由、いつ行うべきか、などが示される。 中でも、私はこの文が気に入っている。これは冒頭の問題

    「リファクタリング」の完全読破。その2 - 南極の図書館
    holypp
    holypp 2011/08/08
    第2章がやっぱりキモかなと思う>いささか問題発言的なアドバイスをしておきましょう。マネージャにはだまってリファクタリングするのです。これはマネージャたちに対する反乱でしょうか。私はそうは思いません
  • 「リファクタリング」の完全読破。その1 - 南極の図書館

    ファウラーの言わずと知れた名著だけど、私は15章構成のうちカタログ部分(第5章〜第12章)を今まで読んでいなかった。 理由としては、やはり古いこと、そんなに難しい内容では無いこと、リファクタリングの思想という意味では理解していたこと。 ホントに古いなので、もういいかなと思っていたんだけど、少し読み直したらやっぱり一度は全部書くべきだった。 リファクタリングの思想と同じくらい、カタログにある各種技術は重要だった。 それに「おすすめのは?」と聞かれたときに、とりあえずこれを挙げることは多くて、そのくせ完読してないのは質が悪いというのもある。 ということで、今回は「はじめに」と「第1章」 はじめに ここでは書の説明と、リファクタリングについての話が少し。 ・リファクタリングはリスクが高いのでやみくもに行ってはいけないこと。 ・手順を守り、体系的に行うこと。 ・具体的には「1度に1ステップず

    「リファクタリング」の完全読破。その1 - 南極の図書館
    holypp
    holypp 2011/08/07
    今更感もあるんだけど>ホントに古い本なので、もういいかなと思っていたんだけど、少し読み直したらやっぱり一度は全部書くべきだった。リファクタリングの思想と同じくらい、カタログにある各種技術は重要だった
  • 自己流オブジェクト指向プログラミング&Javaお奨め本2007年版 - カレーなる辛口Javaな転職日記

    http://d.hatena.ne.jp/JavaBlack/20050909/p1の改訂.*1基的に改訂版への差し替えと一部の新刊の追加程度になっている. お奨めのJava&オブジェクト指向プログラミング関連の書籍/参考文献リスト.初心者向け入門書や参考書から上級者向けの専門書まで,オブジェクト指向だとかJava言語とかの初心者〜中級者が学習をすすめる上での参考にすることを想定して作っている. 初心者向け勉強の手引き:http://d.hatena.ne.jp/JavaBlack/20070825/p1 オブジェクト指向プログラミング とりあえず初心者なら「オブジェクト指向プログラミング入門」「オブジェクト指向における再利用のためのデザインパターン」と,あと「リファクタリング―プログラムの体質改善テクニック (Object Technology Series)」くらいかな.ただしリフ

    自己流オブジェクト指向プログラミング&Javaお奨め本2007年版 - カレーなる辛口Javaな転職日記
  • EJBコンテナが分散コンポーネントモデルから軽量なDIコンテナに変化してきた歴史を振り返る - 達人プログラマーを目指して

    十年一昔といいますが、文字通り一昔前の書籍ではJ2EEのEJBコンポーネントはプロセスが分散化されたリモート呼び出しにより処理を行う分散コンポーネントとして説明されています。そして、残念ながら現状Java EE関連の日語の書籍はこうした古い時代に書かれたものがほとんどとなっています。それゆえ、 開発効率がきわめて悪い 実行性能が悪い*1 仕様がきわめて複雑で理解が大変 といった悪いイメージが定着してしまっているのではないかと思います。しかしながら、最新バージョンのJava EE6では、Spring、Guice、SeamなどのOSSの軽量コンテナのアイデアを取り込むことにより、以前とは比較にならないくらい開発効率が改善されているという事実があります。 ここでは、Hello WorldのEJBの書き方を以前の古いバージョンから順次振り返りながら比較してみることで、EJBのプログラミングモデル

    EJBコンテナが分散コンポーネントモデルから軽量なDIコンテナに変化してきた歴史を振り返る - 達人プログラマーを目指して
    holypp
    holypp 2011/07/12
  • wise9 › JavaとJavaScriptの20年戦争

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

    holypp
    holypp 2011/07/12
    プログラマは読んだほうがいいかな。簡単にまとまった歴史。詳細ではなく、ざっくり。
  • 一歩先行く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選 - 設計と実装の狭間で。
    holypp
    holypp 2011/06/10
    java.langとjava.utilは確かに。
  • Spring MVCでフラッシュスコープの機能を簡単に実装する方法 - 達人プログラマーを目指して

    JSF2.0やSeamなど、新しいフレームワークではフラッシュスコープという機能を利用することができます。これはもともとRuby on Railsで有名になった処理方式だと考えられますが、フラッシュにデータを登録しておくと一回のHTTPリダイレクトの最中のみデータが保持され、次回以降のリクエスト時までに自動的に削除されます。従来こうした仕掛けをHTTPセッションを使ってアプリロジック中で毎回個別に実現するのは結構面倒で、またデータが正しくクリアされずに残存するなどのバグも簡単に発生しがちでした。 以前はあまり知られていませんでしたが、2重送信の問題を回避するために、最近はPRG(Post/Redirect/Get)パターンというのがよく知られるようになっています。*1このパターンでは、POSTリクエストで画面遷移する場合は、間にリダイレクトとGETをはさむことでURLバーのアドレス表示と実

    Spring MVCでフラッシュスコープの機能を簡単に実装する方法 - 達人プログラマーを目指して
  • https://ryoasai.hatenadiary.org/entry/20110329/1301414299

    holypp
    holypp 2011/03/31
    Java5の総称型の話>コンパイル時の静的な型は違っていても、実行時の型はすべて消去型に等しくなります
  • ジェームズ・ゴスリング氏、グーグルへ

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

    ジェームズ・ゴスリング氏、グーグルへ
    holypp
    holypp 2011/03/29
    グーグルから見たら、ホントに「喉から手が出るほど」欲しかったんじゃないかな。これはOracleがイチャモンつけてもおかしくないレベル