タグ

javaに関するendo_5501のブックマーク (57)

  • その例外、いつキャッチするの?

    はじめに 最近、若手のコードレビューをしていて例外の使い方を教える機会があったので、ブログの方にもまとめたいと思います。今回はバッチ編。オンラインだとまた少し違う観点があると思います。また、言語はJavaを前提していますが考え方は例外機構をもつ言語ならあまり変わりません。 TL;DR 例外は原則キャッチしない。バッチは速やかに殺せ 個別箇所でログを出さずに必要な業務情報はExceptionを入れ子にして乗せる 長いバッチのためにはスキップもやむなし 原則、例外はキャッチしない JavaにはErrorとExceptionが存在し、OutOfMemoryErrorとかプログラム上ではどうしようもないものがエラー、ファイルが存在しない(FileNotFoundException)とかプログラム側でハンドリングするもの、と教科書では習うと思います。なのでException系はキャッチするものと、と

    その例外、いつキャッチするの?
  • 「やばすぎる」 Javaライブラリ「Log4j」にゼロデイ脆弱性、任意のリモートコードを実行可能 iCloudやSteam、Minecraftなど広範囲のJava製品に影響か

    Webセキュリティ製品などを手掛ける米LunaSecの報告によると、Minecraftの他、ゲームプラットフォームのSteamAppleの「iCloud」もこの脆弱性を持つことが分かっており、影響は広範囲に及ぶと考えられるという。 この脆弱性の影響があるのは、Log4jのバージョン2.0から2.14.1までと当初みられていたが、Log4jGitHub上の議論では、1.x系も同様の脆弱性を抱えていることが報告されている。対策には、修正済みのバージョンである2.15.0-rc2へのアップデートが推奨されている。 セキュリティニュースサイト「Cyber Kendra」によれば、この脆弱性に対して付与されるCVE番号は「CVE-2021-44228」という。 脆弱性の報告を受け、Twitter上ではITエンジニアたちが続々反応。「やばすぎる」「思っていたよりずっとひどいバグだった」「なぜこんな

    「やばすぎる」 Javaライブラリ「Log4j」にゼロデイ脆弱性、任意のリモートコードを実行可能 iCloudやSteam、Minecraftなど広範囲のJava製品に影響か
    endo_5501
    endo_5501 2021/12/10
    Log4jで発生って嘘でしょ
  • 【10分で分かる】Java8からJava15まで - Qiita

    Java 8からJava 15までの道のりには、朗報がたくさんだ。 はじめに この記事ではJava 7以降に追加された素晴らしい新機能を紹介します。2020年秋にリリースされたJava 15まで、Javaのバージョン毎に大きな改善点を見ていきます。Javaは今や、ラムダ式、関数型プログラミング、varによる型推論、単純なコンストラクタによる不変コレクション、複数行文字列を、完全にサポートするようになりました。さらに、データクラス(record)やsealedクラスなど、新しくて面白い実験的な機能があります。そして、時間対効果の高いJava REPLについて説明します。 1. 関数型プログラミング (Java 8) Java 8は、関数型プログラミングとラムダ式を言語機能として追加しました。関数型プログラミングの2つのコアパラダイムは、不変の値と関数の重要性向上です。データは変換処理のパイプ

    【10分で分かる】Java8からJava15まで - Qiita
  • [速報]Java 13が登場。ZGCの改善やSwitch式の実現など新機能。 Oracle Code One 2019 - Publickey

    2017年9月に登場したJava 9以降、Javaは6カ月ごとに「フィーチャーリリース」と呼ばれるメジャーアップデートが行われています。Java 13は、今年3月に登場したJava 12に続くメジャーアップデートです。 Java 13のおもな新機能は、Application Class-Data Sharing機能を拡張した「Dynamic CDS Archives(JEP 350)」、ZGCガベージコレクタを改善し使われていないヒープメモリを返却する「ZGC: Uncommit Unused Memory(JEP 351)」、Project Loomの一部として既存のSocket APIを再実装した「Reimplement the Legacy Socket API(JEP 353)」、Switch式を可能にする「Switch Expressions(JEP 354)」(プレビュー)、J

    [速報]Java 13が登場。ZGCの改善やSwitch式の実現など新機能。 Oracle Code One 2019 - Publickey
  • Oracleが軽量JavaマイクロサービスフレームワークHelidonを公開

    Oracleは先頃、マイクロサービスベースのアプリケーション開発用にデザインされたJavaライブラリのコレクションであるProject Helidonを新たに公開して、Payara MicroやThorntail(改名前はWildFly Swarm)、OpenLiberty、TomEEなどのMicroProfileファミリに参加した。 かつてJ4C(Java for Cloud)という名称であったHelidonは、シンプルで高速に動作するように設計されており、 Helidon SEとHelidon MPという 2つのバージョンから構成される。 Helidon SEは、マイクロサービスを作成するための3つのコアAPIとして、マイクロサービスベースのアプリケーション構築に必要なWebサーバ、コンフィギュレーション、セキュリティを備え、アプリケーションサーバを必要としない。一方のHelidon

    Oracleが軽量JavaマイクロサービスフレームワークHelidonを公開
  • マルチプラットフォームで利用可能なOpenJDKのAmazon Correttoが発表されました! | DevelopersIO

    マルチプラットフォーム(ubuntu、RHEL、WindowsMacOS)対応のLTSがついたOpenJDK互換のJavaリリースのアナウンスです! しばらく前に、Amazon LinuxでのJavaのLTSが発表され大きな話題となりました。 Amazon LinuxでのJavaのLTS (Long-Term Support)提供について 「ほぇー、AWSもやりおるやんけ!!」と感慨にふけっていたら、それの100倍ぐらい衝撃的なニュースが、Javaの神様James Goslingのツイートで飛び込んできました。 Just announced #amazon #Corretto at #devoxx. It is our distribution of OpenJDK. https://t.co/09cuPEqnex — James Gosling (@errcraft) 2018年11月

    マルチプラットフォームで利用可能なOpenJDKのAmazon Correttoが発表されました! | DevelopersIO
  • Java11ではjavacせずにJavaファイルが実行できるようになる - きしだのHatena

    JDK11 ea18から、javacしないでもJavaファイルを実行できるようになりました。 あと、Windowsバイナリはzipファイルで提供されるようになっています。tarコマンドが提供されたとはいえ、エクスプローラーから解凍できるzipファイルになるのは ありがたい。 JDK 11 Early-Access Builds JEP330が取り込まれたことにより、ソースファイルがひとつのJavaプログラムは、javac不要でjavaコマンドで実行できるようになります。 JEP 330: Launch Single-File Source-Code Programs Windowsのコマンドプロンプトだと こんな感じ。 C:\Users\naoki\java>more Hello.java public class Main { public static void main(String

    Java11ではjavacせずにJavaファイルが実行できるようになる - きしだのHatena
    endo_5501
    endo_5501 2018/06/18
    へー
  • JavaVM「Eclipse OpenJ9」公開。IBMが「Java 9と同時にオープンソース化する」との約束を果たす

    IBMは、昨年9月にサンフランシスコで開催された「JavaOne 2016」で、同社が開発してきたJavaVMをJava 9の登場に合わせてオープンソース化すると発表していました。 OpenJ9はクラウドやマイクロサービスアーキテクチャに最適 OpenJ9の特徴は、高速な起動と、起動してから高速な実行速度に達するまでの時間が短いこと、メモリ消費量の小ささ、高いスループット性能など。これらはクラウドでの利用や、短時間で終了するような小さなサービスの集まりであるマイクロサービスアーキテクチャなどに適しているとされています。 Eclipse OpenJ9はソースコードのプロジェクトで、バイナリの配布は基的には行われていません。ただし「AdoptOpenJDK」のサイトでOpenJ9によるOpenJDKが入手できます(Eclipseによる解説)。 Eclipse OpenJ9はOMRがベース O

    JavaVM「Eclipse OpenJ9」公開。IBMが「Java 9と同時にオープンソース化する」との約束を果たす
  • Javaをモジュール化する「Project Jigsaw」、コミュニティ再投票でついに可決! ほぼ全会一致で賛成

    Javaをモジュール化する「Project Jigsaw」、コミュニティ再投票でついに可決! ほぼ全会一致で賛成 Javaをモジュール化して必要な部分だけを使えるようにすることで、Javaライブラリの複雑な依存関係の解消やJavaのスリムダウンを実現する「Project Jigsaw」は、9月に登場予定のJavaの新バージョン「Java 9」最大の目玉機能です。 そのProject Jigsawの仕様であるJSR 376(JPMS:Java Platform Module System)のコミュニティ再投票が6月26日に締め切られ、Red Hatが棄権した以外はすべて賛成票となり、ほぼ全会一致で可決されたことが明らかになりました。 Project Jigsawは、5月8日に締め切られた前回の投票では、賛成10、反対13と否決されていました。 その後、Project Jigsawの仕様を検討

    Javaをモジュール化する「Project Jigsaw」、コミュニティ再投票でついに可決! ほぼ全会一致で賛成
  • Javaはバブみ高いプログラム言語か

    よんてんごP @yontengoP 新人「思ったんですけど」ぼく「うん?」 新人「Javaって他の言語に比べて、型とか厳密だし、書き方とかも決まってることが多いじゃないですか。言ったら、口うるさいオカンみたいな」ぼく「まぁね」 新人「ってことはJavaってバブみ高くないですか?」 ぼく「おっコイツはやべぇぞ」 2016-02-12 13:58:31

    Javaはバブみ高いプログラム言語か
    endo_5501
    endo_5501 2016/02/13
    “「Javaって他の言語に比べて、型とか厳密だし、書き方とかも決まってることが多いじゃないですか。言ったら、口うるさいオカンみたいな」「ってことはJavaってバブみ高くないですか?」” !
  • 株式会社りーふねっと

    りーふねっとは「+感動」をテーマに世の中に無いものを創造し、人類、社会の喜びに貢献できますよう邁進いたします。 りーふねっとは世の中にライフツールとしての便利さや感動を提供し、人の生活を含めてライフスタイルを支えます。私たちりーふねっとは、必要とされるライフスタイルを創造し、世の中の人、企業に提供し、ネットワーク化することによってお客様や社会から支援され、なくてはならない企業となることを目指します。 企業情報 67コール 『67コール』は「0067」で始まる電話番号に、視聴者が自分の携帯から電話をかけてテレビ番組に参加するサービスです。 アンケート・人気投票・クイズなど様々な番組企画に対応できる機能を提供し、視聴者とのリアルタイムなコミュニケーションで番組を盛り上げます。 詳しくみる SMS FourS SMS FourS(旧FourS Message)はキャリアとの直接接続によりスピーデ

  • Baseunits Library - 都元ダイスケ IT-PRESS

    さて、Java Advent Calendar -ja 2010 : ATND 10日目。昨日は、id:yuroyoro でした。二日連続で真っ黒な魔術が紹介されたので、ここは真っ白で実用的な奴をひとつ。 最近Domain Driven Design(DDD)っていう設計手法が、自分の周辺一部で話題になっている。当然、賛否両論なんだけども*1、個人的には好きな考え方でして。ま、詳細は色々な方がブログに書いているので割愛します。興味あれば読んでみましょう。洋書*2だけどw Domain-Driven Design: Tackling Complexity in the Heart of Software 作者: Eric Evans出版社/メーカー: Addison-Wesley Professional発売日: 2003/08/22メディア: ハードカバー購入: 4人 クリック: 113

    Baseunits Library - 都元ダイスケ IT-PRESS
  • Java変態文法最速マスター - プログラマーの脳みそ

    Java基礎文法最速マスター - いろいろ解析日記をリスペクト。 Javaの変態文法・技法一覧です。Javaの基礎をある程度知っている人はこれを読めばJavaの変態をマスターしてJavaを書くことができるようになっています。簡易リファレンスとしても利用できると思いますので、これは足りないと思うものがあれば教えてください。 1.基礎 エンクロージング型内部classの作成 外部classのインスタンスに紐付くインスタンスを生成します。外部クラスのインスタンス - 内部クラスのインスタンス間に、クラス - インスタンスのような関係を持たせることができます。 public class Outer { public class Inner { } } というようなクラスを作った場合、 Outer o = new Outer(); Inner i = o.new Inner(); となります。new

    Java変態文法最速マスター - プログラマーの脳みそ
  • Eclipseからテキストエディタに戻れない10の理由 - プログラマーの脳みそ

    ソフトウェアはいろいろな作業の効率化に貢献してきた。プログラミングという作業も例外ではない。現代の高度なIDE(統合開発環境)はプログラマが単純でつまらない作業に時間を割かずに済むようにさまざまな機能を提供してくれる。 もうテキストエディタ+コマンドラインでのコンパイルなんて環境には戻れない。以下は自分が仕事でメインに使っているEclipseというIDEを使い続ける理由。 (追記)私は仕事では主にJavaの開発をやっている。C/C++/C#の開発では以下に挙げるメリットを享受できない部分があることを断っておく。 1. コードの自動補完 標準API+フレームワークのAPIで万単位のクラスが存在するので、暗記は無理。クラスに存在するメソッド名、フィールド名までの暗記はもっと無理。よく使う範囲なら暗記しているけど、typo -> コンパイルエラー -> 探して修正 の手間より、自動補完が断然効率

    Eclipseからテキストエディタに戻れない10の理由 - プログラマーの脳みそ
    endo_5501
    endo_5501 2008/12/20
    「機械化によって前提が変わる」
  • 科学計算用Javaライブラリ「JScience 4.0」登場 | エンタープライズ | マイコミジャーナル

    2007年6月4日(カナダ時間)、JScienceの最新版となる「JScience 4.0」が公開された。JScienceは科学技術計算を目的として開発された包括的Javaライブラリ。数学、物理学、社会学、生物学、天文学、経済学などの各種科学に関する計算ライブラリを単一のアーキテクチャに統合することで生まれる相乗効果を狙ったもの。プロダクトはThe BSD Licenseのもとオープンソースソフトウェアとして公開されている。 JScienceでは低レベル並列化やスタックアロケーション、実時間制御やパーシステントの目的で組み込み向け高速Javaライブラリ「Javolution」を採用している。科学技術計算に必要になるマルチコア/マルチプロセッサにおける高性能を実現するために低レベルでの並列化、実行速度をあげるためのガベージコレクションの実行回数低減などを実現するためにJavolutionが採

  • Groovy 1.0 - 度重なる延期を経て、ついに待望の正式リリース | エンタープライズ | マイコミジャーナル

    The Codehaus、the Groovy developer teamは2日(米国時間)、Groovyの最新版となるGroovy 1.0を公開した。GroovyはJava仮想マシンで動作するスクリプト言語。Javaとよく似た文法をもっており、シェルスクリプトからWebアプリケーションシステムの開発まで、幅広く対応している。規格自身は「JSR 241: The Groovy Programming Language」において標準化が進められている。 同アプリケーションはGroovy 1.0 JSR-2が公開された時点ではJSR-3以後に正式リリースの予定だったが、後にJSR-4が公開されるなど、スケジュールは当初よりもずれこんでいった。Groovy 1.0 JSR-6 公開時には2006年9月末に1.0のリリースが予定されていたが、さらに3カ月の遅延を経ての1.0リリースとなった。 G

  • 高木浩光@自宅の日記 - Java用「winnytp://」プロトコルハンドラを作ってみたら簡単にできた

    Java用「winnytp://」プロトコルハンドラを作ってみたら簡単にできた タイミングのよいことに、11日の日記の「Winny可視化のため、WebブラウザにWinnyプロトコルハンドラを」に対して、「高木版Winnyプロトコルハンドラは妙だ」という反応があった。 それを言うなら winnytp://a272e2d2e7a6844d97ab5fd9619be1d6 というURIで、ネットワークのどこかにある a272e2d2e7a6844d97ab5fd9619be1d6 というハッシュのファイルを指すのが自然なんじゃないかと。 高木版Winnyプロトコルハンドラは妙だ, blog.fuktommy.com, 2006年6月25日 べつにそれに限定される理由はない。両方があり得るというだけのことだ。 URL (Uniform Resource Locator) として、場所を指定して

  • Javaの道:配列(3.2次元配列)

    2次元配列も1次元配列と同様に配列の宣言、宣言した配列オブジェクトに対する生成という手順をとります。2次元配列は上位配列(1次元配列)と下位配列(1次元配列の中の配列)を同時に生成することもできますし、別々に生成することもできます。上位配列と下位配列を別々に生成する場合は各回配列のサイズが同じでない場合などに使用します。 【例1】上位配列と下位配列を同時に生成する場合。 int[][] int2Array = new int[10][5]; //int型の2次元配列int2Arrayを宣言・生成。 //上位配列のサイズは10、下位配列のサイズは5です。 String[][] string2Array = { {"Sunday", "Monday"}, {"Monday", "Tuesday"} }; //初期化子を指定して2次元配列を宣言・生成することもできます。 【例2】上位配列と下位配

    Javaの道:配列(3.2次元配列)
    endo_5501
    endo_5501 2006/03/10
    Javaの配列
  • Javaコーディング標準

    Copyright (c) 2000-2006 Eiwa System Management, Inc. Object Club Kenji Hiranabe 06/04/26 Java (C) Copyright 2000-2006 ( ) hiranabe@esm.co.jp 2000 11 22 2001 2 9 2 2001 2 10 3 2001 2 12 4 2001 2 14 5 2001 3 12 6 2001 3 24 7 2001 8 31 7 2001 10 31 8 2001 11 9 9 2002 11 5 10 2006 4 26 http://www.objectclub.jp/community/codingstandard/CodingStd.doc 1. AS-IS Copyright info@ObjectClub.jp hiranabe@esm.co

    endo_5501
    endo_5501 2006/02/14
    こりゃ便利
  • substance: Substance Java look and feel - main page

    Substance Java look & feel The goal of this project is to provide a configurable and customizable production-quality Java look and feel library for Swing applications. This project is licensed under Berkeley Software Distribution (BSD) License and requires Java 6.0+ to run.

    endo_5501
    endo_5501 2006/02/13
    Swing用LAF