javaに関するrotate_monkeyのブックマーク (12)

  • デザインパターン: Value Object

    デザインパターン: Value Object Created at Sun, Feb 22, 2015 Value Object(値オブジェクト)は, メンバとメソッドを持ちクラスとしての特徴を持つが, immutableであり, identityキー(RDSでいうところのautoincremental id)を持たないオブジェクトのことです. 異なるオブジェクト同士であっても値が等しければ等しいとみなされます. immutableなので, primitive(int, floatなど)な値と同等に扱うことが出来ます. immutableであるメリット immutableであるメリットとしては 状態を持たないので, 呼び出し順序を考慮しなくて良い 値が書き換わらないため, thread safeである プログラムの途中でオブジェクトの特徴が変わることがないため, プログラムをreadabl

  • 様々な言語のフィボナッチ関数

  • "ふつうのJavaコーディング"を話しました - 日々常々

    2017/5/20にあったJJUG CCC 2017 Springで登壇させていただきました。 8回目の参加です。 毎回パワーアップしているなーと言うのは前回のブログでも書きましたが、今回は目に見えて参加人数が増えたんだなーと体感しました。 入れないセッションもありましたし、懇親会も超満員でした。運営の皆様に当に感謝です。 今後も楽しみにしています。 話したもの ごくふつうの話、のつもり。ふつうって一体なんだとか思わなくはないですが、ただの枕詞なので意味はないです。 結局のところ九段に集約されるんですが、強い意思を持つには色々必要で、まあそんな感じです。 「coming soon」となっている61スライド目 先日(6/24)発売のWEB+DB PRESS Vol.99 で書いてます。 WEB+DB PRESS Vol.99 作者: ?橋健一,谷口禎英,井大登,山崎勝平,大和田純,内村元

    "ふつうのJavaコーディング"を話しました - 日々常々
  • [Java] getName(), getSimpleName(), getCanonicalName()の違い - Qiita

    Class使うときにすぐ忘れるので備忘のため。 getName() この Class オブジェクトが表すエンティティー (クラス、インタフェース、配列クラス、プリミティブ型、または void) の名前を、String として返します。 getSimpleName() ソースコード内で指定されたとおり、基となるクラスの単純名を返します。 getCanonicalName() 『Java 言語仕様』の定義に従って、基となるクラスの正規名を返します。 わからん... コード書いてみた。 package com.mikuappend.sample; public class ClassNameSample { public static void main(String[] args) { System.out.println("Outer Class"); System.out.printl

    [Java] getName(), getSimpleName(), getCanonicalName()の違い - Qiita
  • JavaでJSONのパース/シリアライズ - Gson

    そもそもGoogle社内で開発・利用していたものを、一般に公開したとのこと。 google-gson - A Java library to convert JSON to Java objects and vice-versa - Google Project Hosting から現在の最新版である google-gson-1.7.1-release.zip をダウンロードし、コンパイル&実行に必要な gson-1.7.1.jar を抽出しておく。 Gsonクラスをインスタンス化して、インスタンスメソッドである fromJson(), toJson() でそれぞれパース、シリアライズを行う。 JSONオブジェクトのキーがJavaの予約語と一致してしまう場合、つまり {"try":1, "class":2} のような場合、そのままではパースができないためアノテーション @Serialize

  • 脱ビギナー!Androidのnullな話 - クックパッド開発者ブログ

    新規広告開発部の松です。 クックパッドiOS/Androidアプリの広告の開発に携わっています。 Androidアプリ開発の際、皆さんはnullをどのように扱っていますか?また、nullチェックを行うのであれば、どのような基準で行っていますか?私自身まだまだAndroid開発歴が浅いため、特に何か基準がある訳でもなく至る所でif (foo != null)といったnullチェックを行おうとしていました。 これに対し、先日の社内コードレビューでとてもためになるアドバイスをもらいました。私のようなAndroid初心者にとってnullに対する考え方の基礎を作ってくれるレビューだったので、稿で共有したいと思います。 また、AndroidJava開発に慣れた方にとっては「今更そんな話か」といった内容かと思いますが、クックパッドでのレビューの一例としてご覧いただければ幸いです。 やりがちなnul

    脱ビギナー!Androidのnullな話 - クックパッド開発者ブログ
  • Android: NonNullアノテーション

    Android Studio 0.5.5から@NonNullアノテーションがサポートされた. 今回はメソッドの引数に@NonNullアノテーションをつけるケースについて書いた. @NonNull @NonNullアノテーションはフィールドやメソッドの引数, メソッドのReturn値にNullを許容しないことを表明するアノテーションである. このアノテーションが便利な点は, @NonNullアノテーションにNullを代入したり, 戻り値のNullチェックをしたりする場合に, IDEが@NonNullの制約をCode Inspectionで示してくれるところだ. ただし, これはIDE付属のCode Inspection設定で報告レベルを調整可能でもあるし, @NonNullの値にNullを設定したからといってシンタックスエラーにはならない. @NonNullはドキュメンテーションや支援機能で

  • スレッドプログラミング比較(Hishidama's Programming language "thread")

    VBScript [2007-04-06] VB.NET [2006-04-15/2006-07-24] C言語(gcc, WIN32) [2005-01-16/2006-10-18] Visual C++(MFC) [2005-01-16/2006-08-23] Java [2005-01-16/2008-05-19] C# [2006-03-04/2006-07-24] 処理を並行に実行したい場合、1つの処理を1つのスレッド(と呼ばれる単位)に処理させるようにし、1プロセス内で複数のスレッドを並行に(同時に)実行させる。 という機構が最近のコンピューターでは用意されている。 これをマルチスレッドと呼ぶ。(対義語はシングルスレッド)[2008-06-20] →スレッド作成方法 マルチスレッドプログラミング マルチスレッド(複数スレッド)で並列に処理させる場合、同期や排他に気をつける必要が

  • サルでもわかる 逆引きデザインパターン 第1章 はじめてのデザインパターン すぐわかるオブジェクト指向

    継承 すでに定義されたクラスの機能を引き継いで、新しいクラスを定義することを継承と言います。 Java言語ではサブクラスでスーパークラスを「extends」することで継承を実現します。 継承をうまく利用することで、サブクラス間で共通の部分をスーパークラスに引き上げることができます(図1)。 第3章で解説するテンプレートメソッドパターンは、継承の特徴をうまく利用した典型的なパターンです。 ポリモフィズム ポリモフィズムは「多態性」と呼ばれます。 …しかし、多態性という言葉ではまったく意味がわかりません。 少なくとも筆者はそうでした。ポリモフィズムを一言で説明するのはたいへん難しいです。 しかし、多くのデザインパターンではポリモフィズムが多用されていますので、デザインパターンの理解のためにもポリモフィズムは避けては通れません。 Javaでポリモフィズムを実現する方法としては、インタフェースを使

  • サルでもわかる 逆引きデザインパターン 第1章 はじめてのデザインパターン はじめに:

    第1章 はじめてのデザインパターン はじめに デザインパターンとは 特集の構成 すぐわかるオブジェクト指向 すぐわかるUML おわりに 第2章 逆引きカタログ ロジック編 Singleton (シングルトン) Factory/Factory Method (ファクトリ/ファクトリメソッド) Strategy (ストラテジ) Composite (コンポジット) Visiter (ビジタ) 第3章 逆引きカタログ J2EE編 Template Method (テンプレートメソッド) Facade (ファサード) ViewHelper (ビューヘルパ) DAO (Data Access Object) 第4章 逆引きカタログ その他 ユーティリティクラス 実行時例外を標準的に使う Nullオブジェクト 第5章 デザインパターン適用の勘所 はじめに アプリケーションの仕様 リファクタリング前のサ

  • static修飾子 | Javaコード入門

    静的メンバーを定義する – static修飾子 クラスのメンバーにstatic修飾子を付与すると、クラスをインスタンス化しなくてもアクセスできるようになります。具体的には「クラス名.メンバー名」の形式でアクセスできます。このようなメンバーのことを静的メンバー、またはそれぞれのメンバーに応じて静的フィールド、静的メソッドと呼びます。 たとえば以下は、静的メンバーとしてhogeフィールド、foobarメソッドを定義し、呼び出しています。 ModStatic.java package com.example.mynavi.modifier; public class ModStatic { static String hoge = "静的フィールド"; static void foobar() { System.out.println("静的メソッド"); } public static voi

  • いぬごやねっと

    いぬごやねっと
  • 1