タグ

mslGtのブックマーク (1,347)

  • チェック例外がJavaにあってC#にない理由 - かとじゅんの技術日誌

    例外の再考 - じゅんいち☆かとうの技術日誌 に引き続き、チェック例外がJavaにあってC#*1になぜがないか考察してみようと思います。 また、いろいろググっているとよい記事がありました。 なぜ C# の言語仕様に検査例外がないのか?という記事。 "Why doesn't C# have exception specifications?" http://msdn.microsoft.com/en-us/vcsharp/aa336812.aspx 基原文読んでくださいね。私の英語力は当てにならないのでw ここで言及しているのは以下の項目。順におっかけてみよう。 Versioning Productivity and code quality Impracticality of having class author differentiate between "checked" and

    チェック例外がJavaにあってC#にない理由 - かとじゅんの技術日誌
    mslGt
    mslGt 2018/04/02
  • try-with-resources 文

    try-with-resources 文は、1 つ以上のリソースを宣言する try 文です。リソースは、プログラムでの使用が終わったら閉じられなければいけないオブジェクトです。try-with-resources 文は、文の終わりで各リソースが確実に閉じられるようにします。java.io.Closeable を実装しているすべてのオブジェクトも含め、java.lang.AutoCloseable インタフェースを実装しているオブジェクトはリソースとして使用できます。 次の例は、ファイルから最初の行を読み取ります。ファイルからデータを読み取るために BufferedReader のインスタンスを使用します。BufferedReader は、プログラムでの使用が終わったら閉じられなければいけないリソースです。 static String readFirstLineFromFile(String

    mslGt
    mslGt 2018/04/01
  • Oracle Blogs

    mslGt
    mslGt 2018/04/01
  • OracleとGoogleのJava著作権侵犯裁判の現状を知る(2018年版) - orangeitems’s diary

    控訴審でOracleGoogleに勝利 Oracleが、Googleに対してここ8年間に渡ってJavaをめぐり約1兆円以上の損害賠償を求めている裁判が行われているのをご存じでしょうか。かの有名なAndroidは一部、Java APIが利用されているのですが、その中で著作権侵害があったとの訴えです。 米国時間で2018/3/27にOracleGoogleに勝利したというニュースが舞い込みました。 jp.techcrunch.com 火曜日(米国時間3/27)に連邦控訴裁がこの訴訟に新しい命を吹き込み、GoogleOracleJava APIsを使ってモバイルオペレーティングシステムAndroidを作ったことは著作権法の侵犯にあたる、と裁定した。 とはいえ、経緯を知らない人にとっては何のことやらわからない記事だと思いますので、短時間で理解できるようにまとめてみたいと思います。 賠償金額

    OracleとGoogleのJava著作権侵犯裁判の現状を知る(2018年版) - orangeitems’s diary
  • Local Variable Type Inference: Style Guidelines

    Introduction Java SE 10 introduced type inference for local variables. Previously, all local variable declarations required an explicit (manifest) type on the left-hand side. With type inference, the explicit type can be replaced by the reserved type name var for local variable declarations that have initializers. The type of the variable is inferred from the type of the initializer. There is a ce

  • JEP では語れない Java SE 10

    今日リリースされる Java SE 10 の注目機能といえば var の導入ですね。 var の導入などの機能は、OpenJDK の JEP (JDK Enhancement Proposals) で管理されています。たとえば、var の導入は JEP 286 です。 Java SE 10 では 12 の JEP が機能として導入されます。 ところが、JEP になっていない変更といのが、けっこうあるのです。そこで、このエントリーでは、JEP になっていない機能をまとめてみました。 JEP になっていないぐらいなので、かなり細かいです。 廃止になった API Java SE 9 で、@Deprecated アノテーションに forRemoval が追加されました。この値が true なものは、ほんとに削除されることになっています。 Java SE 10 では Java SE 9 で forR

    mslGt
    mslGt 2018/03/22
  • [雑記] 型推論の是非(C# によるプログラミング入門)

    概要 Ver. 3.0 C# 3.0 では、var キーワードを用いて、暗黙的に型付けされたローカル変数を定義できるようになりました(型推論(type inference))。 型推論は便利な機能ではあるんですが、“いいことずくめ”なものではなく、少々副作用もあって、 その利用形態をめぐって軽い論争が起きたりもしています。 具体的にいうと、var の利用ポリシーとして、 以下のようなものが考えらていて、 どれがいいのかでもめています。 匿名型利用時など、どうしても必要なときだけ使う ↑に加え、右辺が new SomeClass() のようなときだけ var を使う int, string などの組み込み型に対しては使わない 使えるところでは全部使う “いいことずくめ”なんだったら「使えるところでは全部使う」でいいんですが、 最初に言ったように、少々副作用を伴うので、利用を制限した方がいいの

    [雑記] 型推論の是非(C# によるプログラミング入門)
    mslGt
    mslGt 2018/03/20
  • Java 10新機能まとめ - Qiita

    Java 10が出ますね。Java 9なんてなかった! しかしながら、どんな機能があるかよくわからないので、まとめてみます。 ここに並んでいるJEPを簡単に紹介する感じで。 http://openjdk.java.net/projects/jdk/10/ APIの追加など、JEP以外の変更はこちらにまとめました。 Java10のJEP以外の変更まとめ - Qiita すべての変更点はこちらにまとまってます。 109 New Features In JDK 10 - Azul Systems, Inc. OpenJDKのダウンロードはこちら JDK 10 GA Release Oracle JDKのダウンロードはこちら Java SE Development Kit 10- - Downloads 286: Local-Variable Type Inference おそらく、コードを書く上

    Java 10新機能まとめ - Qiita
    mslGt
    mslGt 2018/03/18
  • サービス終了のお知らせ

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

    mslGt
    mslGt 2018/03/17
  • Why String is immutable in Java? – Program Creek

    mslGt
    mslGt 2018/03/16
  • 「Javaにおけるnull。これまでとこれから」という発表をしてきた | さにあらず

    JJUG CCC 2015 Spring(4 月 11 日開催) で発表をしてきました。 一コマ目であり、エントランスから一番近い入り易い場所だったせいもあるとは思いますが立ち見が出る程の盛況ぶりでした。発表を聞いて下さった皆様、当にありがとうございます。 発表資料はこちらです。 Past & Future of null in Java発表者がどういう風に考えてコンテンツを作り、どういう準備をしているのか、というのは余り共有されていないように思います このエントリでは僕がどの様に事前準備を行い、当日はどんな風に考えながら発表していたのか記録しておきます。 事前準備#内容の決め方#まず、50 分では前提条件の多くなる話はできませんので、凡そ言語仕様かライブラリの話をするのが妥当でしょうとアタリを付けます。 恐らくビギナー向けを標榜しつつも、設計方法論などメタモデルについて話をするのが良い

    「Javaにおけるnull。これまでとこれから」という発表をしてきた | さにあらず
  • 「あるエンジニアがプログラムを紡いでいく様を見てみる」ライブコーディング・リプレイ - 日々常々

    あるエンジニアがプログラムを紡いでいく様を見てみるでしたライブコーディングで言ったことや言わなかったことを書いてみます。 意識してるのは「コードをどまんなかに」です。 speakerdeck.com ……あ、このスライドのブログ書き忘れてた。 スライド中の「えらぶ」はだいたいIDEの機能を指します。なのでライブコーディング中に使用したIDEの機能も挙げようと思います。基的にデフォルトのつもりだけど、vimとの兼ね合いで変更してるのもあるので、そこはごめんなさい。あとMacです。今回はメソッド抽出とかクラス間移動とかダイナミックなのがなくて地味だけど、便利な子たちなので使ってあげてください。 リプレイ 今日の公開コーディングはスゴい新鮮だった🎵 コミット後のソースには、どこに悩んだのか、どこにこだわったのかは残らないのですね。 実際のコーディングを見させて頂く事で、気づかされる事が多かっ

    「あるエンジニアがプログラムを紡いでいく様を見てみる」ライブコーディング・リプレイ - 日々常々
  • Unity開発で使える設計の話+Zenjectの紹介

    4. おしながき • 設計とは – 設計とは何か、設計の何がよいのか – モデリングとクラス設計 • 覚えておくべき基礎知識 – クラス図の読み方 – SOLID原則 – デザインパターン • Zenjectの紹介 – 依存性注入とは何か • まとめ

    Unity開発で使える設計の話+Zenjectの紹介
    mslGt
    mslGt 2018/03/10
  • なぜ誰もこう書いてくれないDI(Dependency Injection) - いつだって優先順位の問題

    書きました。 speakerdeck.com 前回のDockerの時と同じように、DIもググれば解説サイトなんて腐るほど出てきますので、今更感もあります。 ですが、これまたDockerと同じように、肝をついたような解説がなかなか見つからないものです。 これいるなーと思いついてズバズバと書いたものなので、コードレベルの細かい解説とかありません。 途中できしださんの記事のリンクも出てきますが、これもハードル高いと思ったら、読み飛ばしても大丈夫です。 d.hatena.ne.jp 解説サイトを漁る前のハードル下げというか、「印象を把握する」というレベルの認識で読んでもらえればと思います。 ということでお茶濁し記事でした。

    なぜ誰もこう書いてくれないDI(Dependency Injection) - いつだって優先順位の問題
  • Efficient data transfer through zero copy

    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.

    Efficient data transfer through zero copy
    mslGt
    mslGt 2018/03/10
  • Java総称型メモ(Hishidama's Java Generics Memo)

    メソッドの総称型 メソッドのみに総称型を適用した定義を行うことも出来る。[2007-06-12] 戻り値の型の直前に「<仮型引数, 仮型引数…>」を置くだけ。後はクラスの場合と同様。 public static <T> T notNull(T arg1, T arg2) { T ret; if (arg1 != null) { ret = arg1; } else { ret = arg2; } return ret; } このメソッドを呼び出す側は、クラスの場合とは異なり、明示的に型引数を指定する必要は無い。 指定した引数の値に応じて、自動的に型が判断される。 String s = notNull("abc", "def"); //型引数はString Long l = notNull(new Long(1), new Long(2)); //型引数はLong int i = notNu

    mslGt
    mslGt 2018/03/07
  • Javaジェネリクス再入門 - プログラマーの脳みそ

    ジェネリクスでは、「型」を変数にした「型変数」というものを取り扱う。型変数で何が嬉しいかというと、メジャーな例ではコレクションAPIが挙げられる。java.util.Listとかjava.util.Mapとかのデータを格納するタイプのユーティリティクラスのことだ。 2004年にJavaのバージョンが5.0となるまでは、Javaにはジェネリクスの機能はなかった。なので、Listにデータを格納し、取得する場合は List list = new ArrayList(); list.add("hello!"); String str = (String) list.get(0); といったソースコードになる。 add()の引数はObject型で宣言されており、どんな参照型でもadd()することができた。 get()の戻り値もObject型で宣言されておりキャストが必要だった。このキャストはプログラ

    Javaジェネリクス再入門 - プログラマーの脳みそ
    mslGt
    mslGt 2018/03/07
  • 3分で理解するG1ガベージコレクション - Qiita

    -XX:G1HeapRegionSize=Nフラグを使い自分でサイズを指定することも可能。0はデフォルト値。 Nは2のべき乗である必要があり、それ以外の値が指定された場合は最も近い2のべき乗値へ切り下げられる。 ほとんどの場合、デフォルト値でもOKだが次のようなケースではチューニングを求められる。 例えばヒープの変動幅が大きい場合(-Xms4G -Xmx16G)、デフォルトではリージョンサイズは1MBとなり、ヒープが拡大さるとリージョン個数が16,000個となる。G1GCはリージョン個数が2,048程度を前提に設計されているためGC効率が悪くなる。このようなケースでは上記オプションの指定によりリージョン個数が2,048個前後になるようサイズ調整する。 G1GCのアルゴリズム G1では主に4つの処理が行われる。 young領域へのGC eden空間がいっぱいになるとyoung領域へのGCが発

    3分で理解するG1ガベージコレクション - Qiita
    mslGt
    mslGt 2018/03/05
  • RESTful Hypermedia API 概要編 | DevelopersIO

    モバイルアプリサービス部の五十嵐です。 最近『ハイパーメディアAPI』という言葉を知って、興味が湧いたので調べてみました。これから何回かに分けて、ハイパーメディアAPIとは何か、Ruby on Railsでのサーバ側の実装方法、クライアント側の実装方法などを紹介していきたいと思います。 1回目の記事では、ハイパーメディアAPIの概要説明として、用語の説明や登場の背景、フォーマットなどを紹介していきます。特に注意がない限りAPIはWeb APIを指します。なお、用語の定義というのは往々にして議論の対象になりやすいですが、ここでで説明するのは厳密な定義ではなく広義の定義と捉えてください。それでも私の認識に誤りがある場合は、そっとご指摘いただけると幸いです。 用語の説明 RESTful APIとは まずはRESTful APIについて簡単におさらいをします。RESTは分散された情報を扱うための

    RESTful Hypermedia API 概要編 | DevelopersIO
  • Kotlin のスコープ関数早見表 - Qiita

    言葉の説明 ラムダ式 ここでの「ラムダ式」とは、スコープ関数の引数に渡す関数のこと "hoge".let {...} の {...} の部分 this 列 ラムダ式の中で this が指すもの it 列 ラムダ式に渡される引数 戻り値列 スコープ関数の戻り値が何になるか レシーバ スコープ関数のレシーバ "hoge".let {...} の場合は "hoge" がレシーバ ラムダ式の戻り値 ラムダ式が返した値 "hoge".let {"fuga"} の場合は "fuga" のこと 第一引数の値 (with) with("hoge") {...} の "hoge" のこと test("let") { "hoge".let { println("this=$this, it=$it") "return value" } } /* 出力結果 =====let===== this=Scope_fu

    Kotlin のスコープ関数早見表 - Qiita
    mslGt
    mslGt 2018/02/28