はじめに 本記事は Kotlin Advent Calendar 2019 12日目の記事です。 KotlinはJavaと比較してモダンと言われ続けてきていると思います。 しかしJavaのリリースサイクルが半年に1回となり、今までよりも良い言語になりつつあり、将来的な保守性を考えたときにJavaの方がいいのでは?という意見もあり、言語選定の時にどちらを選択すればいいのかと悩むことがあると思います。 そこで、最新のJavaの動向とKotlinを比較して、どちらがよりモダンかを比較したいというのが今回の内容です。 比較する対象はKotlinの最新バージョンとJavaの12以降の機能になります。 Javaについては、バージョン13が2019/9/18にリリースされましたが、今回は開発中のJDK14やそれ以降に入りそうな機能もいくつか比較していければと思います。 JDK11以前の機能については、他
プログラミング言語のKotlinを開発するJetBrainsは、KotlinでAndroidアプリ、Webアプリ、Desktopアプリを統一的に記述できるフレームワークとなる「Compose Multiplatform」がアルファ版に到達したことを発表しました。 Compose Multiplatformは、Android用のUIフレームワークである「Jetpack Compose」をベースに、Webアプリ用の「Jetpack Compose for Web」、Windows/Mac/Linuxのデスクトップアプリケーション用の「Jetpack Compose for Desktop」の3つのフレームワークを統合するものです。 ベースとなるJetpack Composeが今月バージョン1.0となったのを契機に、Compose Multiplatformがアルファ版として登場することになりま
原文(投稿日:2020/11/23)へのリンク OracleはJavaプログラミング言語とバーチャルマシンのバージョン 15を先頃リリースした。 新しいOpenJDKリリースのリズムでは、これは作業がすでにバージョン 16にシフトしていることを意味し、これは2021年3月にリリースされる予定だ。 このリリースの対象となる、いくつかの新機能がすでに発表されている。これらはいくつかのカテゴリに細分される。OpenJDKの開発方法に関する手順のアップグレードのいくつかから始める: * MercurialからGitへの移行 (JEP 357) * GitHubへの移行 (JEP 369) * C++14言語機能の有効化 (JEP 347) いくつかの新しいAPIとツールがある - これらはまだインキュベーション形式だ: * ベクターAPI (Incubator) (JEP 338) * 外部リンカ
JDKの新しいリリース・モデ および提供ライセンスについて オラクルは2017年9月、JDKの提供サイクルとライセンス方式に関して、新たなリリース・モデルを発表しました。 これらはJDK 9より一部が適用され、2018年9月に公開されたJDK 11で完全移行しました。新リリース・モデルはJDKの過去のリリース・モデルの課題を解決したものであり、ユーザーにより多くのメリットをもたらします。本記事では、新たな提供サイクルとライセンス方式の概要、およびオラクルによるJDKの有償サポートについて説明します。 本記事で説明する新リリース・モデルのポイント 初めに、本記事で説明するJDKの新リリース・モデルに対応したオラクルのバイナリ・リリースの主なポイントを列挙します。 ●年6回の定期リリース・サイクル 新機能が追加される6カ月に1回(毎年3月と9月)のフィーチャー・リリースに加え、脆弱性対策などを
はじめに スクリプトファイルの命名 Kotlin と Groovy の言語上の考慮事項 Gradle init によるプロジェクト生成 プラグインの適用 プラグインの設定 タスクの構成 タスクの作成 依存の指定 よくある設定 はじめに Gradle 5.0 よりGradle Kotlin DSL が提供され、groovy によるビルドスクリプトを Kotlin で記載できるようになりました。 Kotlin でビルドスクリプトを書くことで、IDEによるサジェストやコードジャンプなどの恩恵を十分に受けることができますし、タイプセーフでありリファクタリングなども容易となるので、これから Groovy のビルドスクリプトを書くのであれば Gradle Kotlin DSL を使うべきです。 ここでは、Groovy DSL と Kotlin DSL の違いと Kotlin DSL でビルドスクリプト
JJUG CCC 2019 fall g3のセッション資料です。 「ちょっと凝ったことをしようとすると大量のXMLを書かなきゃいけない」「プラグインを並べてもうまく動いてくれない」など、Mavenは誤解され敬遠され、Gradleなどの他のビルドツールにシェアを奪われてきました。 が、依然としてMavenはJavaのデファクトスタンダードなビルドツールに位置づけられており、マスターする価値は十分にあります。そして良く学んでみると、そもそもXMLで過度なカスタマイズしようというのが誤った使い方だったのに気づきます。そこへ至るにも、タスクランナーの延長線上にある他のビルドツールと異なり、Maven独特なライフサイクルとプラグインの関係性もきちんと理解しておかなければなりません。
JavaBeansって言葉を目にして、ふと検索してみたらあまりに酷かったので書いておこうかと。対象は「JavaBeansってなんだろ?」と思ってしまった初学者さん。でもそんな人って私のブログ読むんだろうか…… 今後は「このエントリ参照」にするつもりで書いてみる。 文字列連結と+演算子について整理しておく みたいな感じ。 ShortAnswer JavaBeansを学ぶ必要はありません。JavaBeansと説明されているものの多くは、JavaBeansの名前を借りた独自の物体です。 長い説明 「あまりに酷い」と「要らない」だけだと流石にアレなので、仕様を斜め読みしながら説明していきます。あ、EJBには触れません。まぜるなきけん。 仕様について JavaBeans仕様としてげったーせったーがーとか、こんすとらくたがーだとか、しりあらいざぶるがーだとか。よく見聞きするのだけど、仕様って読んだんだ
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? はじめに 内容はタイトルの通りなのですが、アンチパターンなコードを書いた人をこき下ろす意図は一切ありません。コードを憎んで人を憎まずという言葉もありますしね。1 そのようなネガティブな動機ではなく、アンチパターンからできるだけ教訓を汲み取って前に進もうというポジティブな動機で筆を執っています。 全体的に古い話が多いので、最近はこのようなコードや状況が減っていたらいいな、と願っているところです。 環境 主にJava 6 内容 Struts1を拡張したオレオレフレームワークの使用 ご存知の方も多いでしょうけど、Struts1はもう何年も前に
関連キーワード Java | アプリケーション開発 | プログラミング プログラミング言語および開発・実行環境「Java」には、変数やメソッド(データに対する)、定数などの命名に関する慣例がある。Javaの基本的な命名規則を解説した前編「Javaの『変数』『メソッド』『定数』名の“ひんしゅくを買わない”付け方」に続く後編は、データの実体がある場所(メモリアドレス)を保持する参照型変数と、パッケージ(拡張機能)の一般的な命名規則を説明する。 併せて読みたいお薦め記事 Javaについて知る 「Java」が「Windows」でも「macOS」でも動く“歴史的理由”と“技術的理由” 「Java」はなぜ人気言語になったのか? 成功の歴史を振り返る 「Java」を“偉大な言語”にした3つの画期的要素 さまざまな命名規則 その変数は「パスカルケース」「キャメルケース」「スネークケース」「ケバブケース」の
渡辺です。 現在開発しているシステムで帳票出力を実装したいなと思いまして、Javaの帳票系ライブラリを調べてみました。ここ5-6年はエンプラ系のシステムからは比較的に遠い場所にいたのですが、フリーで使えるライブラリとなるとPOIでExcel帳票にするか、JasperReportsを使うかの2択であることは変わっていないようです。有償のツールを見ると、帳票自体の機能よりもデータ分析などに価値付けがシフトしているようですね。 現在担当しているシステムは有償のライブラリを使うほど帳票が重要なシステムではありません。JasperReportsは7-8年ほど前に業務で使ったことがあり、現在もメンテナンスされているようだったので、JasperReportsを試してみました。 JasperReportsとは? JasperReportsは、Jaspersoft社が開発している帳票用のライブラリです。正確
ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog はじめに こんにちは、コマース福岡開発部で金融サービスのバックエンドを担当しているチョ ジョンミンと申します。 「Yahoo! JAPAN Tech Advent Calendar 2018」に寄稿させていただく機会をいただきましたので、前から興味のあったGraphQLのAPIを実装してみました。本記事では、GraphQLの概要とAPIの作り方を紹介します。 ターゲット 本記事は、次の読者を想定して書かれています。 GraphQLに興味はあるが、作成した経験がない方 Spring BootでGraphQLのAPIを作成してみたい方 目次 利用している技術 GraphQL概要 GraphQLのメリットとデメリット GraphQLのA
Google、脆弱性検出ツール「OSS-Fuzz」のJavaVM対応を発表。Java/Kotlin/Scalaなどの脆弱性を検出可能に Googleは、脆弱性検出ツールとしてオープンソースで公開している「OSS-Fuzz」をJavaVM言語にも対応させたことを明らかにしました。 OSS-FuzzはGoogleが2016年にオープンソースとして公開しました。 参考:Google、脆弱性検出のためのファジング(Fuzzing)を機械的に実行する「OSS-Fuzz」、ベータ公開 OSS-Fuzzは、ファジング(Fuzzing)と呼ばれる、「検査対象のソフトウェアに『ファズ(英名:fuzz)』と呼ばれる問題を引き起こしそうなデータを大量に送り込み、その応答や挙動を監視することで脆弱性を検出する検査手法」を実行してくれるツールです。 今回、ドイツのCode Intelligence社のファジングツー
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く