タグ

javaとJavaに関するntaooのブックマーク (91)

  • 検査例外再考 - Qiita

    検査例外はJavaで導入された例外に対する興味深い機構です。Javaで導入された当初、検査例外は多くの人々に素晴らしい解決策だと思われました。しかし、最近のメジャーなJVM言語で検査例外をサポートする言語はありません。JVM言語でなくとも、メジャー言語で検査例外をサポートするプログラミング言語は2014年現在1つとして存在しません*1。 何故検査例外は普及しなかったのでしょうか。結論から言えば、Javaの検査例外を用いた例外設計があまりにも難しく、ほとんどの組織にとって設計コストがペイ出来なかったためだと思われます。Javaの検査例外は例外というレイヤーで各々の処理を結びます。この時、別々の抽象度をある単一の例外で結んでしまうと、問題が発生します。つまり、抽象度の異なる処理同士を結びつけるたびに、その差異を吸収する独自例外表現が必要になります。この設計判断は不可能ではないものの、かなり難し

    検査例外再考 - Qiita
    ntaoo
    ntaoo 2015/05/17
  • 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
  • Date and Time APIを理解する為には、ISO 8601に踏み込みましょう!

    HASUNUMA Kenji (Deprecated) @khasunuma_old Date and Time APIを説明するにISO 8601にまで踏み込むのは蛇足だという方は非常に多く、過去にJava界隈の重鎮から叩かれたことがあります。しかし、過去のセッションやブログを見る限り、ISO 8601には触れずに解説したものは、ほぼ例外なく爆死しています。 2015-05-09 05:11:10 HASUNUMA Kenji (Deprecated) @khasunuma_old Date and Time APIがISO 8601ベースになったのは、先行したJoda-Timeが同様にISO 8601ベースにしてうまくまとまったから。Stephenは暦が無数にあることを承知の上で、ISO 8601という国際規格を「人間向け」の基準と定めたのです。 2015-05-09 05:13:45

    Date and Time APIを理解する為には、ISO 8601に踏み込みましょう!
    ntaoo
    ntaoo 2015/05/09
  • JavaのString生成方法がボトルネックになっていた話 - WAF Tech Blog | クラウド型 WAFサービス Scutum

    はじめに 先日、私たちが開発しているクラウド型WAFサービス、Scutum(スキュータム)において、予想していなかった箇所の修正によってサーバの負荷が大幅に減るということがありました。原因はこのエントリのタイトルにもあるように、Stringクラスのインスタンスを生成する際の方法にありました。 Stringクラスのコンストラクタとcharset Stringクラスにはいくつかのコンストラクタが用意されています。我々が使っていたのはString(byte[] bytes, String charsetName)です。2つめの引数で、"MS932"や"UTF-8"のような文字集合(以下charset)を明示的に指定するものです。 ScutumのようなWAF(Web Application Firewall)は通常のウェブアプリケーションとは異なり、起動している間にさまざまなcharsetを扱うこ

    JavaのString生成方法がボトルネックになっていた話 - WAF Tech Blog | クラウド型 WAFサービス Scutum
    ntaoo
    ntaoo 2015/05/07
  • Optionalの取り扱いかた - 日々常々

    JavaSE8で追加されたjava.util.Optionalにはnullとの戦いに終止符を打ってもらいたいと思っているんですが、思ってるだけだと何も起こらないので、使い方とか思ったこととかを一通り書いておきます。 Optionalのファクトリメソッド Optionalのインスタンスメソッド 値を取得するもの 値を使用するもの Optionalのまま扱うもの まとめ なお、一通りと言いつつOptionalIntとかはスルーしています。機会と書くことがあればそのうち書くかもしれません。 Optionalについては諸事情(遅筆とか理解不足とか分量とか)によりJavaエンジニア養成読では軽い紹介にとどまっておりましたので、補足としてお読みいただけると幸いです。あと、この辺も参考にどうぞ。 OptionalのJavadoc 一通り触って適当にコメント書いたコード(GitHub/sandbox)

    Optionalの取り扱いかた - 日々常々
    ntaoo
    ntaoo 2015/05/05
  • Java SEバージョンアップでのトラブルの話が面白かった - きしだのHatena

    Java Day Tokyo 2015で、NECJava SEバージョンアップでのトラブルの話が面白かった。 Java EEアプリケーションサーバの開発現場で見たJava SEの実際 資料はこちらで公開されてるので、資料に書かれてることはそちら参照という感じで、どんな話だったか書いてみます。 Java Day Tokyo 2015 アプリケーションサーバーを提供する中でJava SEをバージョンアップしたときに出て来たさまざまなトラブルの話と、Java SE 8から導入されたMetaspaceの話が主でした。 Java EEは機能が標準化されているので、アプリケーションサーバーはカスタマーサポートで差別化をはかるしかない、顧客から見ると、Java SEやOSまで全て含めてアプリケーションサーバーなので、全部対応していく、という話をされていました。 Javaにもそれなりにバグはあって、アプ

    Java SEバージョンアップでのトラブルの話が面白かった - きしだのHatena
    ntaoo
    ntaoo 2015/04/28
  • Java漬けになってきたが、それでも僕は書いてない - 無駄かもしれない足掻き

    4月8日にJava Day Tokyo,11日にJJUG CCC 2015 SpringとJavaの大きなイベントが続けてあって、どちらも朝から懇親会まで参加してきた。 Java Day Tokyo Pepperとかミニカーとか車とか、ありとあらゆるものがJavaで動いていた。 Java9は来年リリースするらしい。 ハンズオンではじめてラムダ式とStreamAPIの書き方がわかった。 JJUG会長の鈴木さんにDukeのもにもにをいただいた(家宝) みんなでJavaの20周年を祝ってケーキをべた JJUG CCC 2015 Spring Javaコーヒーを入れたりミニカー?を動かしたり3Dプリンタを制御したりしてた GroovyでExcel操作が簡単にできることを知った nullを制御するための考え方を知った 払えるならお金を出しておいたほうがいいことも知った 飛び入りLTは時間が短くな

    Java漬けになってきたが、それでも僕は書いてない - 無駄かもしれない足掻き
    ntaoo
    ntaoo 2015/04/12
  • Javaにおけるnull。これまでとこれから

    このブラウザ バージョンのサポートは終了しました。サポートされているブラウザにアップグレードしてください。

    Javaにおけるnull。これまでとこれから
    ntaoo
    ntaoo 2015/04/12
  • Google App Engine Tips

    ntaoo
    ntaoo 2015/02/23
  • Getting Started with Java Development on Docker

    This week Anna, Stephan, Timo and myself were at W-Jax a big conference in Munich on enterprise technologies and especially Java. The interest in Docker and Giant Swarm was astonishing. One question that came up quite often was: How do I get started with Java development on Docker? Personally, I’m a friend of small examples - leveraging a minimal framework with a couple of files and off you go. Un

    Getting Started with Java Development on Docker
  • 2015年のJavaによるWeb開発 - Qiita

    最近Javaしてますか? 昔はServletとJSPでやったな・・・Seasar2には感動したっけ、そんな思い出が浮かんだとしたらあなたのJavaはJ2EE、JavaEE的には5.0ぐらいで止まっているといわなければなりません。 ※Seasar2は2016/9/26にサポートが停止になります。OSSであるためforkされメンテナンスが続く可能性はありますが、一つの時代の区切りになると思います。 あれからJavaも進化を重ね、最新版のJavaEE7.0では他言語のフレームワークの生産性にも引けを取りません。 まだJavaやってるの(苦笑)の時代が長すぎたのか、2013年のリリースにもかかわらずJavaEE7.0についての記事は充実しているとは言えない状況です。ただ、その仕組みは素晴らしいものがあるのでこれを機に久々にJavaでもやってみるかなと思ってもらえれば幸いです。 ※2017/9/21

    2015年のJavaによるWeb開発 - Qiita
    ntaoo
    ntaoo 2015/02/21
  • 脱ビギナー!Androidのnullな話 - クックパッド開発者ブログ

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

    脱ビギナー!Androidのnullな話 - クックパッド開発者ブログ
  • JavaのJDK/JRE/Server JREの使い分け - ろば電子が詰まつてゐる

    先日、OracleのWebページからJDKとJREをダウンロードしようとしたら、「Server JRE」というのが用意されていることに気がついた。 このServer JREとは、いったい何じゃらほい? というのが今回のテーマ。なお基的にLinuxサーバ環境で考えます(Windows, Solarisは無視)。 JDKとJRE はじめに、複雑怪奇なJavaパッケージについて少し解説しておく。「Javaをインストール」という場合には、開発キットであるJDKとランタイムであるJRE、どちらをインストールするかが問題になる。しかしこの日記を読んでいるような人ならばJava開発者であろうから、JDKを入れてしまえばほぼ間違いなく問題は解決する。 なぜなら、JDKはJREを内包しているので、JDKをインストールすれば自動的にJREも入るからである。というわけで開発者なら、何も考えずにJDKを入れてし

    JavaのJDK/JRE/Server JREの使い分け - ろば電子が詰まつてゐる
    ntaoo
    ntaoo 2015/02/17
  • javaのロガーが多すぎて訳が解らないので整理してみました - 文系プログラマによるTIPSブログ

    最初は誰しもがファッ!?となるんですよねロガーって。 いずれtree-tipsで公開しようと思っている、solrのプロジェクトを今作っています。mavenでjarを管理している訳ですが・・ なんだこのロガーの数は!! commons-logging、log4j、slf4j-api、jcl-over-slf4j、logback-classic・・・・、こいつら一体何が違うんだ!どう使い分けるんだ!そもそも必要なのか!?となりました。 昔はcommons-logging+log4jというのがトレンドだった訳ですが、今はslf4j+logbackがトレンドになり、jdkも1.4から1.7になり、これらトレンドが推移する過程で、いろいろなjarが旧式に依存してしまい、旧式依存を解決するためにアダプタが登場し始め、mavenでjarを収集すると大抵両方入ってしまい、カオスになっているのです。 特にs

    javaのロガーが多すぎて訳が解らないので整理してみました - 文系プログラマによるTIPSブログ
    ntaoo
    ntaoo 2015/02/16
  • MacでのJAVA_HOME設定 - Qiita

    2021年5月7日追記 個別にJDKをインストールするのを止めてSDKMAN!を使いましょう。 rbenvやpyenvのように複数のJDKをバージョン別に管理できますし、JDK以外のgradleなどのJVM言語開発用ツールも同様に管理できます。 以下は古い内容ですが、2021年5月13日現在の最新のmacOS Big Surでも利用可能な方法ですので一応残しておきます。ですが個人的にはmacOSのバージョンに依存しないSDKMAN!の使用を推奨します。 [Deprecated] 注意事項 記事に書いてある内容はOracleJDK,OpenJDK,AdoptOpenJDKで動作を確認したもので、他のJDKについては不明です。 [Deprecated] 忙しい人向け export JAVA_HOME=`/usr/libexec/java_home -v 10` #java10が使いたいとき

    MacでのJAVA_HOME設定 - Qiita
    ntaoo
    ntaoo 2015/02/12
    “export JAVA_HOME=`/usr/libexec/java_home`”
  • Parked at Loopia

    This domain has been purchased and parked by a customer of Loopia. Use LoopiaWHOIS to view the domain holder's public information. Are you the owner of the domain and want to get started? Login to Loopia Customer zone and actualize your plan. Register domains at Loopia Protect your company name, brands and ideas as domains at one of the largest domain providers in Scandinavia. Search available dom

    ntaoo
    ntaoo 2015/02/10
  • 恐怖の JVM 大量メモリ消費!メモリリークの謎を追え!! - Cybozu Inside Out | サイボウズエンジニアのブログ

    こんにちは、ミドルウェア開発チームの青木(@a_o_k_i_n_g)です。将来の夢は川口浩探検隊に入ることです。 先日、弊社のアプリケーションサーバーで大量にメモリを消費するという現象に遭遇しました。アクセス頻度の低いサーバーがメモリを大量消費するという謎深いものでした。 発生当初の状況はこんな感じです。 アプリケーションサーバーでは Jetty が稼働 現象が発生した JVM は 5GB 程度のメモリを消費しており、明らかに通常ではない量のメモリを消費している 複数台のサーバーで発生していたが、全てで発生したわけではない。 また、発生したサーバーはいずれもアクセス頻度が少ないサーバーだった。 ヒープ、パーマネント、スタック ひとまず、JVM でトラブルが発生した時は何はともあれヒープダンプとスレッドダンプを見るに限ります。各種情報の取得をインフラ部隊へ依頼し、得られたヒープを解析すると、

    恐怖の JVM 大量メモリ消費!メモリリークの謎を追え!! - Cybozu Inside Out | サイボウズエンジニアのブログ
    ntaoo
    ntaoo 2015/02/03
  • MacにJava(JDK)をインストール - Qiita

    2012年頃に買ったMacBook Air。 Android Studioをインストールしようと思ったら、Javaがインストールされていない。 そこでJDKをインストールしたわけだが意外に面倒、というか複雑だったのでメモ。 OpenJDKについては調べてもいない。 現状の確認 Javaのバージョン /Applications/Utilities/Java Preferences.app を探したけど、Mac OSX10.8以降では存在しないらしい。 OSをアップデートした人は残ってるかも。 なので、コンソールからjava -versionで確認。 「インストールしますか?」と聞かれたら、まだインストールしない。 Android StudioなどJava製のアプリを起動してもAppStoreが「インストールしますか?」と聞いてくる。 そこでインストールしたとしても、何回でも聞いてくるのでイン

    MacにJava(JDK)をインストール - Qiita
    ntaoo
    ntaoo 2014/11/20
    “/usr/libexec/java_home -V”
  • JJUG CCC 2014 fall Javaが見るニュータイプの夢

    今までの型の欠点 ● 基型 – さまざまなアーキテクチャにあわせれない ●参照型 – オブジェクト ● 参照とヘッダがオーバーヘッド ● メモリが散乱する – 配列 ● 多次元配列がない(現在は1次元配列の多重化) ● 大きい配列が定義できない(32億要素まで)

    JJUG CCC 2014 fall Javaが見るニュータイプの夢
    ntaoo
    ntaoo 2014/11/15
  • Mac に brew で Oracle Java のバージョンを指定してインストールする方法 - Qiita

    Help us understand the problem. What is going on with this article?

    Mac に brew で Oracle Java のバージョンを指定してインストールする方法 - Qiita
    ntaoo
    ntaoo 2014/10/30