タグ

javaとProgrammingに関するigaiga07のブックマーク (31)

  • オブジェクト指向と20年戦ってわかったこと - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? この記事の内容 オブジェクト指向と10年戦ってわかったこと Twitterやはてブコメントを見たら、「わかりやすかった」というコメントもあったのですが、どちらかというとネガティブ方面なコメントが多く目につきました。マサカリという用語で忌憚なく意見を言う風潮については別にいいんですが、「わかりにくい」「間違っている」「古い」みたいなコメントは何も生み出さないし、みんなでニコニコポエムを投稿しあうやさしいインターネッツになったらいいなって思ったので、僕もオブジェクト指向について投稿しようと思います。 何原則? 3原則じゃなくて4では?みたい

    オブジェクト指向と20年戦ってわかったこと - Qiita
  • あっと驚かせるJavaプログラミング(をやめよう) - Qiita

    はじめに 驚き最小の原則(法則)という言葉があります。 Wikipediaの記事を引用すると http://ja.wikipedia.org/wiki/%E9%A9%9A%E3%81%8D%E6%9C%80%E5%B0%8F%E3%81%AE%E5%8E%9F%E5%89%87 ユーザインタフェースやプログラミング言語の設計および人間工学において、インタフェースの2つの要素が互いに矛盾あるいは不明瞭だったときに、その動作としては人間のユーザやプログラマが最も自然に思える(驚きが少ない)ものを選択すべきだとする考え方である。 要するに、使うときに「おやっ?」という驚きが少ないほうが良いプログラムであるといえます[1]。 [1]: どっちが驚きが少ないか迷う場面もかなり多いですが・・・ この記事では敢えて驚きの多いプログラムの書き方を紹介します。驚きの多いプログラムを読むとどんな気分になるか、

    あっと驚かせるJavaプログラミング(をやめよう) - Qiita
    igaiga07
    igaiga07 2017/06/15
    あるある(現在進行形)
  • 泥沼プロジェクト振り返り

    はじめに ちょっと前まで結構激しく泥沼化したプロジェクトにいた。 その頃はプロジェクトも僕も相当疲弊していて、何も考える時間がなかった。 ある程度、月日が経って今なら もう少し客観的にあの頃のことが考えられるかなと思い書いてみることにする。 振り返りをし、自分としてもプロジェクトとしてもどうあるべきであったかとか そういう立派なことが考えられればいいのだが。 とかく、Slide Shareとか世の中は成功事例は多く発信される。 けど、失敗事例のほうが共通して当てはまったりする。 前提 ・古典的なウォータフォール ・古典的なStruts1系ベース内製フレームワーク ・Java SE 6 ・QAとかいない ・デザイナーとかいない ・フロントエンドエンジニアとかいない アンチパターン 当時のプロジェクトを振り返って、明らかにこれは駄目だっただろというところ。 ◆プロジェクト全体 ・決定者がいない

    泥沼プロジェクト振り返り
    igaiga07
    igaiga07 2015/04/20
    恐ろしいまでの既視感ある
  • [PDF] ゴールドマン・サックスの Javaへの取り組み

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    [PDF] ゴールドマン・サックスの Javaへの取り組み
  • 社内Java8勉強会 ラムダ式とストリームAPI

    先週Java8がリリースされましたが、さっそく社内での開発でも使うことになりそうです。 というわけで、Java8の目玉機能であるラムダ式とストリームAPIについて、社内勉強会を開催しました。 普段の社内勉強会よりも参加者数が多くて、みんなの関心の高さが伺えますね。

  • 大刷新リリース Java 8の新機能

    2014年3月18日(米国時間)、ラムダを筆頭に数多くの新機能が含まれるJava 8がいよいよリリースされる。 ここ数年、JavaOracleのSun買収による混乱、当初Java 7で実装されるはずだった多くの機能の先送り、さらにはJava 8のリリースの遅延など様々な要因によって強い停滞感があり、それが関数型言語の機能を取り入れたScalaなどJavaの代替となるJVM言語の台頭にも繋がった。 そうしたJavaプログラマの溜まりに溜まったモヤモヤを払拭するアップデートとして期待されているのが今回のJava 8だ。前述の通りラムダの導入による新たな構文からStream APIやTime APIといったライブラリの追加まで、非常に多くの新機能を含んでいる。 稿ではそのJava 8の主要な新機能についてサンプルコードを交えて紹介していく。Java 8の新機能を押さえるための参考になれば幸い

    大刷新リリース Java 8の新機能
  • Java Optional Objects - DZone

    In this post I present several examples of the new Optional objects in Java 8 and I make comparisons with similar approaches in other programming languages, particularly the functional programming language SML and  the JVM-based programming language Ceylon, this latter currently under development by Red Hat. I think it is important to highlight that the introduction of optional objects has been a

    Java Optional Objects - DZone
    igaiga07
    igaiga07 2013/04/18
    お、Java8でOptionくるんだ
  • [Java] 内部的にunicodeだから日本語つかえるけど・・・いくら英語苦手だからって・・・-ウンコード・マニア

    [Java] 内部的にunicodeだから日語つかえるけど・・・いくら英語苦手だからって・・・ 投稿者からのアピールポイント これを書いた先輩に「英語で書きましょうよ!」と言ったら、「頭が固い」と一蹴された。そういうことじゃない。 ちなみに先輩はこれをコードアシストの無いただのテキストエディタで、日本語入力を巧みにon/offしてコーディングしているから、ある意味すごい。 class 会員 { private int 会員番号; private String 名前; public int get会員番号 () { return this.会員番号; } public String get名前() { return this.名前; } public void 入会する() { .... } public boolean 会員状態をチェックする() { .... } .... } 使い方ヒ

    igaiga07
    igaiga07 2012/08/15
    使えるところでは使う派
  • もし新人女子Javaプログラマが『Groovyイン・アクション』を読んだら 〜第1章〜 - MyBetaBook

    4月、それは新社会人にとって新たな幕開けの季節だ。もかにとってもそれはそうだった。七海 萌香(ななみ もか)、はソフトハウスとしては中堅どころのジェイガ株式会社へとプログラマ志望で入社した新入社員の一人だった。 新人教育でビジネスマナーやら簡単な手続きを済ませた後は、早速プログラミング講習が待っていた。言語はJavaだった。もかはこれまで簡単なホームページをHTMLCSS、それからWeb1.0時代のJavaScriptで書いたことがあるくらいだったので、これが格的なプログラミング言語との出会いだった。 今年の新人は男性が8名、女性が2名であった。もう一人の新人女子社員は一ノ瀬 小夏(いちのせ こなつ)という名前の女の子だった。こなつは情報系専門学校を卒業しており、当初はゲーム開発に憧れて情報系に進んだらしいのだが、現実の厳しさなどを目の当たりにし、それから色々あってジェイガに入ることに

  • 「Java 7」とはどんなリリースだったのか、チーフアーキテクトが解説。JavaOne 2011

    サンフランシスコで先週、10月4日から開催された「JaveOne 2011」。基調講演で最初の話題として語られたのは、7月に登場したばかりのJavaの最新バージョン「Java 7」についてでした。 Java 7とはどんなリリースなのか、基調講演の模様を紹介します。 「プランB」としてリリースされたJava 7 オラクル Java Platformチーフアーキテクト Mark Reinhold氏。 1年前、Java SE 7をどうすべきか、みなさんに質問をした。そのときには主に5つの大きな新機能候補と、そのほかに細かい新機能候補があった。しかもその時点ですでにJava 6から6年が経過していた。 この新機能候補のうち、いくつかは開発に時間がかかりそうなものがあり、それらをJava SE 7から分離してJava SE 8の新機能とした計画を「プランB」とした。これならJava SE 7が当初よ

    「Java 7」とはどんなリリースだったのか、チーフアーキテクトが解説。JavaOne 2011
  • 【祝】: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 正式リリース
  • Java5の型システムを理解するにはリフレクションAPIを使ってみるのが最短の近道になる - 達人プログラマーを目指して

    Java5における総称型(generics)の導入に伴い、Javaの型システムは以前と比べて高機能になった反面、理解するためのハードルが高くなっています。もちろん、Javaの型についてきちんと理解するためには言語仕様を勉強すればよいのですが、手っ取り早く理解するための方法としてリフレクションAPIを使ってみるというのが有効です。リフレクションAPIの先祖はJava1.xのころから存在しており、フィールド、メソッド、クラスなどの情報を実行時に取得するためのものですが、総称型に合わせてJava5から新しいAPIが追加されています。ここではリフレクションAPIを使い、Java5の新しい型システムについてまとめてみたいと思います。 JDK1.4までの型はすべてClassクラスのインスタンスに一対一対応する JDK1.4までに存在していた型はパターンに分けると以下の3通りに分類できます。 基型(i

    Java5の型システムを理解するにはリフレクションAPIを使ってみるのが最短の近道になる - 達人プログラマーを目指して
  • L'eclat des jours(2011-02-20)

    _ Javaには良い点があるのか? Java当に良く使われているプログラミング言語だから、プログラミングを知らない人でもプログラムを記述できる。プログラミングを知っているというのは、この場合、ケースバイケースで記述することができるってことだ(というか、正直なところおれが知っているプログラミングはそのあたりまでで、ケースはわかってもプログラミングがわからなくて、まずいプログラミングをすることもたくさんある)。 そのため、プログラムとは言えないソースコードをたくさん目にする機会があってうんざりした。 どのくらいうんざりしたかと言うとコーディングの掟というケーススタディを上梓できたくらいだ。 コーディングの掟(最強作法) 現場でよく見る不可解なJavaコードを一掃せよ! (開発の現場セレクション)(arton) というわけでうんざりしているのはJavaで書かれた妙なコードであって、Java

  • 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の日記
  • IBM Developer

    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.

    IBM Developer
  • Java で Map を回す時は entrySet の方が早い(とりあえず HashMap の話) - 宇宙行きたい

    最近,SQL ばかり書いてて久しぶりに Java 書いたら 「Map ってどうやって回すんだっけ??」 という超初歩的な疑問がwwww 拡張 for 文で keySet 回せばいいかなぁと思ったら id:sett-4 に 「entrySet まわした方が早かった筈ですよ」 って言われた. 勝手な想像で,entrySet って Iterable#iterator() の Iterator#next() で return new Map.Entry(key,map.get(key)); 的な事してて逆に遅いんじゃね??って思ったので 調べてみた. とりあえずソース読んでみる そしたら public Set<Map.Entry<K,V>> entrySet() { return entrySet0(); } private Set<Map.Entry<K,V>> entrySet0() { Se

    Java で Map を回す時は entrySet の方が早い(とりあえず HashMap の話) - 宇宙行きたい
  • ジェネリクスの代入互換のカラクリ - プログラマーの脳みそ

    Javaジェネリクス再入門 - プログラマーの脳みそでは、「変数の型の宣言」の項で「ジェネリクスの<>の中は一般のJavaの型の代入互換性とは異なる。このことはよく覚えておかなくてはいけない。」と言ったものの、深入りはしなかった。 このあたりについて深入りしてみようじゃないか。 とりあえずサンプルコードはJavaで記述していくが、このあたりはジェネリクス指向の概念の部分だから、あまり言語に依ることはない。便宜的にJavaで書く、としておこう。 まず、型変数の境界について考えるために以下の継承関係のクラスを用意しておく。 public class A {} public class B extends A {} public class C extends B {} public class B2 extends A {} public class C2 extends B {} これは図で

    ジェネリクスの代入互換のカラクリ - プログラマーの脳みそ
  • JavaとRubyのブレンド- 新言語 Mirah

    Mirahは、静的に型づけされ、コンパイルされる言語ですが、スクリプトでも充分動きます。ほとんど「いくつかの型アノテーションをもったRuby」を書いて、それからスクリプトとして走らせるために"mirah" コマンドを使うか、 "mirahc"コマンドを使ってコンパイルし、JVMバイトコードかJavaのソースに変換します。両方のコマンド共、 "-e"フラグで、即コマンドラインからスクリプト実行ができます。 InfoQ: 一度、コードがJVMバイトコードにコンパイルされたら、ランタイムのどれだけが引きづられるのですか? (動的呼び出しのサポート以外、)言語フィーチャは、あなたが直接、自分で参照するクラス以外に、いかなるライブラリ依存性も、課しません。できるだけ長い間、言語特有のランタイムを避けるのが、言語の第一の設計目標です。そうすることを永久には、できないかもしれませんが、目指すのはいいこと

    JavaとRubyのブレンド- 新言語 Mirah
  • Amazon.co.jp: Javaフレームワーク開発入門: 木村聡: 本

    Amazon.co.jp: Javaフレームワーク開発入門: 木村聡: 本
  • Javaのラムダ式導入に関する最新提案の雑なまとめ - 矢野勉のはてな日記

    java7月頭に,Brian GoetzがJavaにおけるラムダ式導入に関する最新提案のドラフトを出しました。State of the Lambda 私はこの提案書と,提案書を元にした英語記事を読んだだけですが,Twitterで話していると,23日くらいにこの提案を元にしたソースがJavaのソースリポジトリにコミットされたらしい。ただし,中ではまだ議論続発してるらしい。ちなみに英語記事はラムダについての連続記事の4回目で,5回目ではWicketでラムダ式を使うとどうなるか,という考察が載っています。提案書のラムダ式とWicketの非整合部分についての考察で,Wicket好きの人は読んでみてもいいと思う。あと,空コンストラクタがないクラスについて提案書は明確なところ書いてないよね,みたいな指摘も。せっかくなんで,最新提案におけるラムダ式実装をまとめておきます。いままでのあらすじ最新提案書では