みなさん、今日もパブリックスタティックヴォイドメインしてますか? ジャバと言えばパブリックスタティックヴォイドメインですよね。 最近はIDEでmain[tab]と入力すれば補完してくれるとはいえ、コードを読むときには目に入ってきたりしますね。 そんなパブリックスタティックヴォイドメインの呪文から解放される日が近づいています。 TL; DR 9月リリースのJava 21の試用機能として void main() { System.out.println("Hello"); } をhello.javaで保存したら、java hello.javaで実行できるようになります。 (Java 21では--enable-preview --source 21が必要)Javaではプログラムを開始するときにpublicなclassなどにStringの配列を受け取るpublicでs

ちょっとJavaのインストールについて調べてみました2023年版。Javaにはディストリビューションがたくさんあるので、目につくインストーラーをWindowsで全部ためしてみました。 初心者が勉強するためにJavaをインストールするというときにどれを使うのが手軽か確認するというのが主な目的です。Oracle JDK Temurin by AdoptiumAmazon Corretto Azul Zulu Liberica JDKMicrosoftBuild of OpenJDK SapMachine OpenJDK SDKMAN! winget OpenJ9 / Semeru Runtime Red HatBuild of OpenJDKGraalVM Scoop いろいろあるので、結論を先に書いておくと次のようになります。 いまPATHの設定が必要なJDKインストーラはない

SI企業の強み・弱みを分析し、SIビジネスの先行きについてまとめた書籍『SI企業の進む道 業界歴40年のSEが現役世代に託すバトン』。同書から抜粋し、「誰も指摘しなかったSI企業の課題」を連載で指摘する。今回は、SIerがユーザー企業の要望に応えられない根源的な理由を探る。(技術プロダクツユニットクロスメディア編集部) 既存ITシステムの問題をユーザー企業以上に理解しているのはSIerである。ところが、その問題をユーザー企業に説明し、対策をとろうとはしない。ではなぜ、SIerのIT技術者たちは口を閉ざしているのだろうか。 その答えはこうだ。問題を説明した後に「では、どうすればいい?」と問われても答えられないからである。つまり、既存ITシステムの変革をどのように行えばいいのか分からないのだ。 情報処理推進機構(IPA)が平成29年に出したレポート「システム再構築を成功に導くユーザガイド」には

2022年3月31日、Spring Frameworkに致命的な脆弱性が確認され、修正版が公開されました。ここでは関連する情報をまとめます。 1.何が起きたの? JDK9以上で実行されるSpringMVC、SpringWebFluxでリモートコード実行が可能な脆弱性(CVE-2022-22965)が確認された。脆弱性の通称にSpring4shellまたはSpringShellが用いられている。 Spring FrameworkはJavaで採用される主流なフレームワークの1つのため、Javaで実行されるWebアプリケーションで利用している可能性がある。2022年3月31日時点で脆弱性のExploitコードが出回っており、関連するインターネット上の活動が既に報告されている。 2.脆弱性を悪用されると何が起きるの? 脆弱性を悪用された場合、リモートから任意コード実行が行われることで、機密情報の
Java向けログ出力ライブラリ「ApacheLog4j」(Log4j)で12月10日に判明した脆弱性を巡り、中国の行政機関である中国工業情報化部はこのほど、提携関係にあるアリクラウド(阿里雲)が脆弱性情報を発見後すぐに報告しなかったとして6カ月間の提携停止処分とした。中国の報道機関・21世紀経済報道が23日報じた。 問題となっているLog4jの脆弱性は、アリクラウドが発見したとされている。中国工業情報化部・ネットワーク安全管理局は、同社がこの脆弱性を米Apache Software Foundation(ASF)に報告した一方で、同局にはすぐに報告しなかったとしている。同局は別の情報セキュリティ機関からこの脆弱性の報告を受け、ASFに修正を促したという。中国は「ネットワーク安全法」の第25条で「ネットワーク事業者は脆弱性など情報セキュリティ上のリスクが発生した場合、緊急対応を直ちに開始

はじめに 2021年12月に発見されたLog4jのCVE-2021-44228は、稀に見るレベル、まさに超弩級の脆弱性となっています。今回、私はTwitterを主な足がかりとして情報収集を行いましたが、(英語・日本語どちらにおいても)かなりWAFそのものが話題になっていることに驚きました。ある人は「WAFが早速対応してくれたから安心だ!」と叫び、別の人は「WAFを回避できる難読化の方法が見つかった。WAFは役に立たない!」と主張する。さらにはGitHubに「WAFを回避できるペイロード(攻撃文字列)一覧」がアップロードされ、それについて「Scutumではこのパターンも止まりますか?」と問い合わせが来るなど、かなりWAFでの防御とその回避方法について注目が集まりました。 実はWAFにおいては、「回避(EvasionあるいはBypass)」との戦いは永遠のテーマです。これは今回Log4jの件で
2021年12月10日、Javaベースのログ出力ライブラリ「ApacheLog4j」の2.x系バージョン(以降はLog4j2と記載)で確認された深刻な脆弱性を修正したバージョンが公開されました。セキュリティ関係組織では過去話題になったHeartbleedやShellshockと同レベルの脆弱性とも評価しています。ここでは関連する情報をまとめます。 1.何が起きたの?Javaベースのログ出力ライブラリLog4j2で深刻な脆弱性(CVE-2021-44228)を修正したバージョンが公開された。その後も修正が不完全であったことなどを理由に2件の脆弱性が修正された。 広く利用されているライブラリであるため影響を受ける対象が多く存在するとみられ、攻撃が容易であることから2014年のHeartbleed、Shellshock以来の危険性があるとみる向きもあり、The Apache Software

log4jとはJava用のloggingライブラリだ。loggingライブラリというのはログとして記録すべき文字列を受け取り、それをどこかに出力するものだ。文字列の中身を通常のloggingライブラリは気にしない。log4jが通常のloggingライブラリと違うのは、文字列の中身を見て、一部の文字列を変数とみなして置換することだ。これはlog4jのドキュメントではlookupと呼ばれている。Log4j –Log4j 2 Lookups 例えばプログラムを実行中のJava runtimeのバージョンをログに含めたい場合は、"Java Runtime: ${java:runtime}"などとすると、"Java Runtgime:Java(TM) SE Runtime Environment (build 1.7.0_67-b01) fromOracle Corporation"などの
Webセキュリティ製品などを手掛ける米LunaSecの報告によると、Minecraftの他、ゲームプラットフォームのSteamやAppleの「iCloud」もこの脆弱性を持つことが分かっており、影響は広範囲に及ぶと考えられるという。 この脆弱性の影響があるのは、Log4jのバージョン2.0から2.14.1までと当初みられていたが、Log4jのGitHub上の議論では、1.x系も同様の脆弱性を抱えていることが報告されている。対策には、修正済みのバージョンである2.15.0-rc2へのアップデートが推奨されている。セキュリティニュースサイト「Cyber Kendra」によれば、この脆弱性に対して付与されるCVE番号は「CVE-2021-44228」という。 脆弱性の報告を受け、Twitter上ではITエンジニアたちが続々反応。「やばすぎる」「思っていたよりずっとひどいバグだった」「なぜこんな

オラクルは、同社が提供している企業向けのJavaディストリビューションであるOracle JDKのライセンスを変更し、無料で本番環境などでの利用を可能にしました。 同社が9月14日付で公開したブログ「Introducing the FreeJava License 」で、次のように説明しています(関連するプレスリリース「Oracle ReleasesJava 17」)。Oracle JDKを無料で提供し、四半期ごとのセキュリティアップデートも提供する。 新ライセンス「Oracle No-Fee Terms and Conditions (NFTC)」は、商用利用や本番環境での利用を含むすべてのユーザーに対して無料での利用を許可する。Oracle JDK 17から、この無料のリリースとアップデートの提供を開始する。これは次の長期サポート(LTS:Long Term Support)が

マイクロソフトが無償でJavaの長期サポートを提供へ、「MicrosoftBuild of OpenJDK」をリリース マイクロソフトは同社独自のOpenJDKディストリビューションとなる「MicrosoftBuild of OpenJDK」のプレビューリリースを発表しました。 Say hello toMicrosoftBuild of #OpenJDK! New Long-Term Support distribution of @OpenJDK for your @Java workloads, in the #Cloud and everywhere else! Visit https://t.co/VPM63V5M2H to learn more. pic.twitter.com/8MBIFu1PF5 —Java atMicrosoft (@JavaAtMicrosof

[速報]10年にわたる著作権訴訟でGoogleがオラクルに勝訴、米連邦最高裁判所で判決。Java SEのコードのコピーはフェアユースの範囲 オラクルがGoogleに対して、Android OSがJavaの著作権を侵害しているとして訴えていた裁判で、米連邦最高裁判所はGoogleが著作権侵害をしていないとの判断を示し、Googleが勝訴しました。 以下は米連邦最高裁判所の動向を伝えているSCOTUSblogのツイートです。BREAKING: In major copyright battle betweentech giants, SCOTUS sides w/Google overOracle, finding thatGoogle didnt commit copyright infringement whenit reusedlines of code inits An
![[速報]10年にわたる著作権訴訟でGoogleがオラクルに勝訴、米連邦最高裁判所で判決。Java SEのコードのコピーはフェアユースの範囲](/image.pl?url=https%3a%2f%2fcdn-ak-scissors.b.st-hatena.com%2fimage%2fsquare%2fd01a862a14e6b9cdde4f339c8d386479e502811d%2fheight%3d288%3bversion%3d1%3bwidth%3d512%2fhttps%253A%252F%252Fwww.publickey1.jp%252F2021%252ForaclegoogleSCOUST01.gif&f=jpg&w=240)
LINE株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフーTechBlog こんにちは。私は、Service EngineeringチームでSRE(Service Reliability Engineer)の業務を担当しているYongChan Kwonです。チーム名や業務名から分かると思いますが、一つの業務を担当するよりは、サービスのライフサイクルにおいてインフラ、開発、サービス技術の間で発生しうる死角を補う役割を担っています。 2018年、オラクルのライセンス体系が変更され、2019年1月以降は無料でOracle JDKを使用できなくなりました。そこで、LINE内部ではOpenJDKへの移行に向けて必要事項や検討項目を事前にまとめるため、TF(task force)を立ち上げました。また、その作業内

Javaフレームワーク「Quarkus」登場。Javaコードからネイティブバイナリを生成し瞬時にJavaアプリが起動、コンテナへの最適化を実現。Red Hatがリリース Red HatはQuarkusの目的を、Kubernetesやサーバレス環境においてJavaを先進的なプラットフォームにすることだと説明しています。下記はQuarkusを発表したブログの記事から引用。 Thegoal ofQuarkus is to makeJava a leading platform inKubernetes and serverless environments while offering developers a unifiedreactive and imperativeprogramming model to optimally address a wider range of d

2019年1月、OracleJava SE 8の公式アップデート(無償サポート)が終了した。Oracle社のJavaサポート方針変更に関する発表(*1)は2017年9月に遡るが、官公庁や企業の基幹系業務システムをはじめ、世の中の多くの情報システムがOracleJavaを使って開発されているため、強い衝撃を受けたことを思い出す。身近なところではTwitterのサイトもJavaで開発されている。筆者らが開発に携わっているWebシステムもOracleJava SE 8を使っていたため、無償サポート終了への対応をおこなった。本稿では、筆者らが採用した対応方法を紹介したいと思う。既に対応を終えた方にとっては今さらの情報であり、また、筆者らと同様に対応を検討した多くの開発者にとっては既知の情報であるが、これから対応を検討される方の参考となれば幸いである。本題に入る前にJavaの魅力について触
Javaはなぜ変わらなくてはならなかったのか。JavaOne改め「Oracle CodeOne」の基調講演で語られた理由。Oracle CodeOne 2018 米オラクルがOracle OpenWorld 2018と同時開催していたイベント「Oracle CodeOne 2018」は、昨年までJavaOneとして開催されていたイベントです。今年から「CodeOne」と名称が変わりました。 このイベントがJavaデベロッパーにとって最大のイベントであることに変わりはありません。初日の基調講演は「 The Future ofJava Is Today」としてJavaの最新動向と今後が紹介されました。その内容をダイジェストで紹介しましょう。Javaが迎えた変化の理由とはJavaと言えばこの人。米オラクルJava Platform Groupチーフアーキテクト Mark Reinhold氏

Javaアプリケーションを自動的にDockerイメージにビルドしてくれる「Jib」、Googleがオープンソースで公開Googleは、Javaアプリケーションを自動的にDockerコンテナ化するツール「Jib」をオープンソースで公開しました。JavaのビルドツールであるMavenもしくはGradleのプラグインとしてJibをインストールすることで、Docker環境の構築やDockerfileなどを記述することなく、ビルドプロセスのなかで構成を読み取り、Dockerコンテナのイメージを生成、Dockerコンテナのレジストリへの登録まで自動的に行ってくれます。 これまでJavaアプリケーションをDockerコンテナ化するには、JavaアプリケーションをビルドしたうえでDocker環境を用意してDockerfileを記述し、そこでDockerイメージを生成するといった手順が必要でした。 Ji

JDK11 ea18から、javacしないでもJavaファイルを実行できるようになりました。 あと、Windowsバイナリはzipファイルで提供されるようになっています。tarコマンドが提供されたとはいえ、エクスプローラーから解凍できるzipファイルになるのは ありがたい。 JDK 11Early-AccessBuilds JEP330が取り込まれたことにより、ソースファイルがひとつのJavaプログラムは、javac不要でjavaコマンドで実行できるようになります。 JEP 330: Launch Single-File Source-Code ProgramsWindowsのコマンドプロンプトだと こんな感じ。 C:\Users\naoki\java>more Hello.java public class Main { public static void main(String
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く