並び順

ブックマーク数

期間指定

  • から
  • まで

281 - 320 件 / 449件

新着順 人気順

javaの検索結果281 - 320 件 / 449件

  • それでもRuby、Python、JavaScript(あるいはJava)を使う方々へ.md · GitHub

    それでもRuby、Python、JavaScript(あるいはJava)を使う方々へ.md 前置き この記事は静的型付け言語が理解されないことに業を煮やし……いや、ブチギレてしたためたものです。そのため多少過激な表現を伴います 性質上どうしても特定の人々に攻撃的な内容になります リーナスの下品な発言の引用は非現実的です。わたしが5人くらいいれば現実的なのですが…… Pythonの機械学習分野は例外です。ですがここもいずれ静的型付け言語に取って代わられるべきであると考えています(そもそもFFIが得意と言うだけでPython使われてるだけだし) 「型」の概念が石器時代で止まっている方へ まずはこちらをお読みください。 私と型システムとポエム - The curse of λ https://myuon.github.io/posts/type-system-poem/ 特に「よくある誤解」のこ

      それでもRuby、Python、JavaScript(あるいはJava)を使う方々へ.md · GitHub
    • メモリの使い方の理解はプログラマのたしなみ…??😰 - Qiita

      はじめに プログラミング学習を始めて1年経過しました。しかし、今までオブジェクト指向の概念から目を背けてきた結果、現在エンジニアとして苦労しているので、書籍「オブジェクト指向でなぜつくるのか」にて学習中です。 その中で、以下のような章がありました。 「メモリの仕組みの理解はプログラマのたしなみ」 これを見て、自分は今までそんなこと意識していなかったのと強く感じたので、今回はこの書籍で書かれていた、一般的なプログラムの動作環境としての最低限の知識を整理しました。 プログラムが動く仕組みを理解する上で重要な概念 コンパイラ方式とインタプリタ方式 プログラムの基本的な実行方式は大きく分けて2つあります。 コンパイラ方式 コンパイラって何? コンパイラは、プログラム全体を読み込んで、それをコンピュータが理解できる形(機械語)に一度に変換するプログラムです。 どういう時に使うの? コンパイラは、プロ

        メモリの使い方の理解はプログラマのたしなみ…??😰 - Qiita
      • Java 18正式リリース。デフォルトのCharsetが「UTF-8」に、シンプルWebサーバ搭載など新機能

        Java 18正式リリース。デフォルトのCharsetが「UTF-8」に、シンプルWebサーバ搭載など新機能 Javaの新バージョン「Java 18」が正式にリリースされました。 Java 18 is now available! #Java18 #JDK18 #openjdk Download now: https://t.co/hTJU1ZzAWQ Release notes: https://t.co/Xdkj5TObNP API Javadoc: https://t.co/izFBPlYkd9 Features: https://t.co/3z0l5sXyDX pic.twitter.com/Ct1BvYmDYs — Java (@java) March 22, 2022 Javaは6カ月ごとに「フィーチャーリリース」と呼ばれるバージョンアップが行われ、そのなかの1つのバージョンが

          Java 18正式リリース。デフォルトのCharsetが「UTF-8」に、シンプルWebサーバ搭載など新機能
        • AWSのデータストアやフォーマットに依存しない問い合わせが可能に。オープンソースとして公開されたSQL互換クエリ言語「PartiQL」を触ってみた | DevelopersIO

          AWSのデータストアやフォーマットに依存しない問い合わせが可能に。オープンソースとして公開されたSQL互換クエリ言語「PartiQL」を触ってみた 先日、SQL互換の新しい問い合わせ言語およびそのリファレンス実装となる「PartiQL」がオープンソースとして公開されました。 Announcing PartiQL, one query language for your relational and non-relational data: https://t.co/ykrFrrOFEO pic.twitter.com/VN2FLJkvqN — AWS Open Source (@AWSOpen) August 1, 2019 PartiQLの概要及び技術的な仕組みの詳細解説は下記エントリ群を参照頂くとして、 公式サイトにてPartiQLのチュートリアルが公開・展開されていますので、当エント

            AWSのデータストアやフォーマットに依存しない問い合わせが可能に。オープンソースとして公開されたSQL互換クエリ言語「PartiQL」を触ってみた | DevelopersIO
          • 朝飯前に学べる!便利なPythonのヒント100選【前編】 - Qiita

            Photo by Jexo on Unsplash はじめに Pythonは、主にそのシンプルさと習得のしやすさから、最近では非常に人気があります。 データサイエンスや機械学習、ウェブ開発、スクリプト記述、自動化など、幅広い分野で利用することができます。 この記事はかなり長いので、すぐ始めましょう。 1. forループのelse条件 今までにPythonのあらゆるコードを見てきたとしても、次のfor-elseは見逃している可能性があります。私も数週間前に初めて見ました。 これはリストを繰り返すfor-elseメソッドで、リストを反復処理しているにもかかわらずelse条件もあるという、非常に珍しいものです。これは、JavaやRuby、JavaScriptなどの他のプログラミング言語では見られません。 実際にどのようなものか、例を見てみましょう。例えば、リストに奇数がないか調べているとします。

              朝飯前に学べる!便利なPythonのヒント100選【前編】 - Qiita
            • 時系列でみる!4年の歳月をかけてPlay Frameworkで「大規模リプレイス」した話【Backlog Play 化プロジェクト】

              ヌーラボの松浦です。私がSREのエンジニアリングマネージャーとしてプロジェクトのサポートに携わっているプロジェクト管理ツールのBacklogは、2019年7月にJavaからScala / Play Frameworkに完全移行をしました。 このPlay化プロジェクトは、10年がかりで改良され仕様が明文化されていなかったBacklogを、JavaからScala / Play Frameworkに移行するという壮大なプロジェクトでした。 約4年にわたる「Backlog Playプロジェクト」(以下、Play化プロジェクト) で体験した“紆余曲折”を記録に残し、後のプロジェクトにつなげるために、今回から7回に渡って、技術的な挑戦やプロジェクト管理の視点など、当時のチームメンバーが独自の目線でPlay化プロジェクトを振り返った記事を連載します。 連載第1回目の本記事では、序章としてPlay化プロジ

                時系列でみる!4年の歳月をかけてPlay Frameworkで「大規模リプレイス」した話【Backlog Play 化プロジェクト】
              • JenkinsがJava 8の対応を終了し、Java 11が必須に。Java 17の対応も開始

                Jenkins開発チームは、6月28日リリースのJenkins 2.357および9月にリリース予定のJenkins LTS版からはJenkinsの実行環境としてJava 11が必須になることを、ブログ「Jenkins requires Java 11」で明らかにしました。 これまでJenkinsはJava 8もしくはJava 11を実行環境としていましたが、Java 8の対応がなくなることになります。 Jenkins 2.357 released today as the first Jenkins version to require Java 11. @bcrow shares the history of Java support in Jenkins and the benefits of the update. https://t.co/FPTNBTG3jK pic.twitte

                  JenkinsがJava 8の対応を終了し、Java 11が必須に。Java 17の対応も開始
                • 「Spring Native」ベータ版公開、GraalVMによりSpring FramworkのJava/Kotlinアプリをネイティブイメージにコンパイル。JavaVMに依存せず瞬時に起動可能

                  「Spring Native」ベータ版公開、GraalVMによりSpring FramworkのJava/Kotlinアプリをネイティブイメージにコンパイル。JavaVMに依存せず瞬時に起動可能 Spring Frameworkの開発チームとGraalVMの開発チームは、GraalVMを用いてSpring Frameworkのアプリケーションをネイティブイメージにコンパイルする「Spring Native」がベータ版として公開されたことを発表しました。 Announcing Spring Native Beta! Read the blog post https://t.co/5klXV6kSVB and check out the video for more details. #spring #native #graalvm https://t.co/83pI3vNYEr — Spri

                    「Spring Native」ベータ版公開、GraalVMによりSpring FramworkのJava/Kotlinアプリをネイティブイメージにコンパイル。JavaVMに依存せず瞬時に起動可能
                  • 米国では既に標準化の流れ、日本企業も対応を迫られる「SBOM」とは

                    DX(デジタルトランスフォーメーション)やIoT(Internet of Things)の進展により、ますますその存在感が増しているオープンソースソフトウェア(OSS)。ソフトウェアの高機能化、大規模化によるサプライチェーンの複雑化を背景に、SBOM(Software Bill of Materials)によるOSSサプライチェーンマネジメントに注目が集まっています。米国では既に必須化・標準化の動きが始まっており、日本企業も対応を迫られるようになってきました。本記事では、あらためてSBOMとは何か、そして日本におけるSBOM活用の普及促進にはどういった課題があるかについて、詳しく解説します。 SBOMとはいったい、どのようなものなのか Software Bill of Materials(SBOM、「エスボム」と読みます))とは、ソフトウェアを構成するOSSや商用ソフトウェアなどのライブラ

                      米国では既に標準化の流れ、日本企業も対応を迫られる「SBOM」とは
                    • オブジェクト指向プログラミングの現在・過去・未来

                      1995年まで:イノベータとアーリーアダプターの時代; 1995-2005 : オブジェクト指向ブームと混乱の始まり; 2005-2015 : さらなる混乱と収束の兆し; 2015- ; 現在の状況とこれからの20年Read less

                        オブジェクト指向プログラミングの現在・過去・未来
                      • TechCrunch | Startup and Technology News

                        Maad, a B2B e-commerce startup based in Senegal, has secured $3.2 million debt-equity funding to bolster its growth in the western Africa country and to explore fresh opportunities in the…

                          TechCrunch | Startup and Technology News
                        • 令和時代に「Spring入門」「Spring徹底入門」を読むとき気をつけるべきN個のこと - Qiita

                          この記事について 事ある度に書いたり言ったりしている通り、2020年を迎えようとしている現在でも、信頼できるSpring関連書籍は下記の2冊しかありません。 Spring徹底入門 改訂新版Spring入門 2冊(以下「書籍」)とも超良書なのですが、どちらもリリースされたのが2016年で、対応しているSpringのバージョンが4.2と古くなっています。 2019年末時点での最新版はSpring 5.2です。この記事では、上記書籍を令和の今読む際、特に気をつけるべき点をいくつか紹介していきます。 4.x->5.xの差分すべてについては、GitHubのWikiを確認してください。 JDKは8以上を使うべし Spring 5.0以降から、JDKのベースラインが8になりました(Spring 4はJDK 6ベース)。今からSpringを使おうと言う人が、JDK 6とか7を使おうとはしないと思いますが・

                            令和時代に「Spring入門」「Spring徹底入門」を読むとき気をつけるべきN個のこと - Qiita
                          • ちっちゃなScalaコンテナを作つコツ(6 MiBだぞ) - Lambdaカクテル

                            おなじみの画像 JavaやScalaといったJVM言語のDockerイメージは、JVMを同梱しなければならない都合で肥大化しがちである。特に何もしなくても、例えば一般的なamazoncorretto:21のイメージサイズは217.7 MBもある。 hub.docker.com これにさらにビルド済みのJARファイルが載ってくるので、結構大きくなってしまうのだ。 そこで、Scalaのコンテナイメージのサイズをなんとか小さくできないかと、考えた。すると、JVMを使ったまま70 MiBくらいに縮めることができた。 github.com コンテナイメージのサイズを小さくするために、何をしたかを書いていく。ちなみに題材としたアプリケーションはちょっとしたHello, Worldをするだけのもので、ライブラリはCatsに依存させた。 JVM使う編 マルチステージビルドを行う Alpineなどの軽量ラン

                              ちっちゃなScalaコンテナを作つコツ(6 MiBだぞ) - Lambdaカクテル
                            • オラクル、Java開発を効率化するVSCode用拡張機能「Oracle Java Platform Extension for Visual Studio Code」を公開

                              オラクル、Java開発を効率化するVSCode用拡張機能「Oracle Java Platform Extension for Visual Studio Code」を公開 New Oracle open source project released! Oracle Java Platform extension brings full featured @Java development (edit-compile-debug & test cycle) for Maven and Gradle projects to VS Code. Get started: https://t.co/knjeFPRY1Q Learn more: https://t.co/77SIeky3cE#OracleOSS pic.twitter.com/whXIKFsBHV — Oracle Open So

                                オラクル、Java開発を効率化するVSCode用拡張機能「Oracle Java Platform Extension for Visual Studio Code」を公開
                              • GitHub - DeNA/PacketProxy: A local proxy written in Java

                                Full-featured local proxy tool Save all captured packets (i.e., requests and responses) and show them in the history tab Filter/Search packets in the history tab (e.g. requests==/api/v1/users to show only requests whose path contains /api/v1/users ) Modify the contents of intercepted packets before forwarding them to the destination Resend (or replay) captured packets with or without manually modi

                                  GitHub - DeNA/PacketProxy: A local proxy written in Java
                                • 「ソースないけどバグ直して」をランタイムで可能にするJavaバイトコードプログラミング - Qiita

                                  はじめに この記事はシスコ同志によるAdvent Calendarの25日目として投稿しています。 幸いタイトルのような無茶振りには遭ったことはありませんが、シスコではJavaバイトコードを操作する技術を使った監視製品を開発しているので、その技術について本記事でサンプルを交えて紹介します。 この記事を読んで出来ること おわかりでしょうか?HelloWorldはAliceに対して挨拶するプログラムだったのに、-javaagent:agent.jarというオプションを付けて実行すると、Malloryに挨拶するプログラムに変わってしまいました。 このカラクリはJVMが読み込んだJavaバイトコードを実行時に書きかえ、変数の値をAliceからMalloryに変えています。HelloWorldのソースコードも、コンパイル後の.classファイルも変えていないにも関わらず、実行時に処理を変更できてしま

                                    「ソースないけどバグ直して」をランタイムで可能にするJavaバイトコードプログラミング - Qiita
                                  • KotlinでAndroid/Web/DesktopアプリのUI開発を統一するフレームワーク「Compose Multiplatform」がアルファ版に

                                    プログラミング言語の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がアルファ版として登場することになりま

                                      KotlinでAndroid/Web/DesktopアプリのUI開発を統一するフレームワーク「Compose Multiplatform」がアルファ版に
                                    • 40代で新しいキャリアを選択したエンジニアが語る、プログラミングの世界に起きている面白い変化とは - Findy Engineer Lab

                                      一昔前まで囁かれていた「エンジニア35年定年説」。 しかし近年では、技術に特化した専門職・ICなど、マネジメント職以外の選択肢も少しずつ増えています。エンジニアとしては、今後のキャリアをどのように考えるべきなのでしょうか。 ファインディでは「40代でキャリアチェンジした2人の本音は?混沌な時代を生き抜くエンジニアのキャリア戦略を考える」と題したイベントを開催。 ミドル世代で新たなキャリアを選択したメリカリ牧さんと、LINE Fukuokaきしださんをお招きし、お話を伺いました。 お二人は「マーケットトレンドの変化は今後起こりにくくなる」と前提しつつ、自分が納得する道を選ぶべきだと語られました。 パネリスト 牧 大輔さん/@lestrrat 株式会社メルカリ jwxや peco の開発責任者。Go/Perl/Cプログラマ、講演、執筆、動画プロデュースなどを生業としている。過去には技術カンファ

                                        40代で新しいキャリアを選択したエンジニアが語る、プログラミングの世界に起きている面白い変化とは - Findy Engineer Lab
                                      • 「Log4j」2.17.0にもリモートコード実行の脆弱性 修正バージョン公開

                                        任意のリモートコードが実行可能になってしまうゼロデイ脆弱性が問題になったJava向けロギングライブラリ「Apache Log4j」に、また脆弱性が見つかった。提供元の米The Apache Software Foundation(ASF)は、脆弱性を修正したバージョンへのアップデートを呼び掛けている。 新たな脆弱性(CVE-2021-44832)は、攻撃者がログ設定ファイルを変更できる権限を持った場合にリモートコードの実行が可能になるというもの。影響範囲はバージョン2.0-alpha7から2.17.0までの2系(ただし特定のセキュリティ修正バージョンを除く)。 CVSS(共通脆弱性評価システム)スコアは6.6で深刻度は「Moderate」。当初のゼロデイ脆弱性(CVSS10.0で「致命的」)より影響レベルは低いが、直前に見つかっていたDoS(サービス拒否)攻撃の脆弱性よりは高く見積もられて

                                          「Log4j」2.17.0にもリモートコード実行の脆弱性 修正バージョン公開
                                        • 技術者440人が「学びたくない」言語ランキング、不名誉な首位はあの言語

                                          ITエンジニアは今後どんなプログラミング言語を学びたいと思っているのだろうか。またもう学ぶ必要はないと感じているプログラミング言語は何か。これを探るため、日経 xTECHでは「プログラミング言語実態調査」のアンケートをWebサイト上で実施した。調査では今後スキルを磨きたいプログラミング言語を複数回答で聞いた。 スキルを磨きたい言語の第1位は「Python」だった。回答者440人中321人がPythonを選んだ。実に7割を超える回答者がPythonを学びたいという状況だ。AIブームの到来で有望視するITエンジニアが多いとみられる。 第2位は「JavaScript」(221人)だ。半数以上の回答者がJavaScriptのスキルを磨きたいと答えている。同じくWeb技術である「HTML/CSS」(156人)も第3位に入った。こうしたWeb技術を用いたシステム開発が現場で増えているのだろう。 第4位

                                            技術者440人が「学びたくない」言語ランキング、不名誉な首位はあの言語
                                          • クラウドネイティブ時代のコンテナ環境におけるJavaアプリケーションのメトリクス・ログ・トレースモニタリング

                                            Java Developers Summit (2023-02-28)

                                              クラウドネイティブ時代のコンテナ環境におけるJavaアプリケーションのメトリクス・ログ・トレースモニタリング
                                            • Cookieを永続化して、どこまでも個人を追跡するEvercookie - Qiita

                                              Evercookieは、ブラウザに究極的に永続的なCookieを生成するJavaScript APIです。 その目的は、標準的なCookie、Flash Cookieなどを削除した後でもクライアントを識別し続けることです。 これは、可能なかぎり多くのストレージにCookieデータを保存することで達成します。 いずれかのストレージからCookieが削除されたとしても、ひとつでも残っている限り、Evercookieは残ったデータからCookieデータを復旧します。 Flash LSO、SilverlightもしくはJavaが有効な場合、Evercookieはブラウザを超えて同じクライアント上の別のブラウザにCookieを伝播することすら可能です。 本リポジトリは、Samy Kamkarおよび多くのコントリビュータによって作られています。 Browser Storage Mechanisms E

                                                Cookieを永続化して、どこまでも個人を追跡するEvercookie - Qiita
                                              • インターフェースと型クラスの違いを考える

                                                この記事では、JavaライクなインターフェースとHaskellライクな型クラスを比較します。どちらも、複数の異なる型を統一的に扱うための仕組みです。 インターフェース インターフェースはご存知の方も多いと思いますが、コード例を載せておきます。 // インターフェースの定義 interface Greetable { String greet(); } // 実装の例1 class Hello implements Greetable { String message; Hello(String m) { this.message = m; } public String greet() { return "Hello " + message + "!"; } } // 実装の例2 class Goodbye implements Greetable { public String gree

                                                  インターフェースと型クラスの違いを考える
                                                • Visual Studio CodeのJava環境が強化。Call Hierarchyで呼び出し元を次々にドリルダウン、変数が特定の値になると自動停止するデバッガ新機能など

                                                  Visual Studio CodeのJava環境が強化。Call Hierarchyで呼び出し元を次々にドリルダウン、変数が特定の値になると自動停止するデバッガ新機能など マイクロソフトが開発している無償のコードエディタ「Visual Studio Code」におけるJava開発環境の機能強化が発表されました。 Happy New Year and welcome back to our first update of #Java on VS @code in 2020! “Call Hierarchy” and compact folder view will help Java developers a lot. Debugger and Test Runner updates along with performance improvements are also worth ch

                                                    Visual Studio CodeのJava環境が強化。Call Hierarchyで呼び出し元を次々にドリルダウン、変数が特定の値になると自動停止するデバッガ新機能など
                                                  • 新規事業開発での技術選定の意思と意図 (バックエンド編) - Sansan Tech Blog

                                                    こんにちは、新規事業開発室に所属するソフトウェアエンジニアの加藤です。私は関西支店でBill Oneという新規サービスの開発に携わっています。 弊社にはSansanのカタチという企業理念があり、働く人々が体現すべきValuesの1つに「意思と意図をもって判断する」があります。ソフトウェアエンジニアとして、意志と意図をもって利用する技術を選定することは当然かもしれませんが、細部までそれを徹底するのは難しいこともあります。本稿では、私たちが使用している技術やライブラリを振り返って、どんな意志と意図があるかを確認していきたいと思います。 などと硬めのことを書きましたが、他所のチームでは普通に使われているライブラリを意外と知らなかったりするので、似たような記事を読みたいなと思って、技術選定を公開してみる次第です。まずはバックエンド編です。 前提 私たちのチームで開発しているBill Oneは今年の

                                                      新規事業開発での技術選定の意思と意図 (バックエンド編) - Sansan Tech Blog
                                                    • 『手を動かして考えればよくわかる 高効率言語 Rust 書きかた・作りかた』を読みました - Don't Repeat Yourself

                                                      先日発売になった『手を動かして考えればよくわかる 高効率言語 Rust 書きかた・作りかた』を、一通り目を通していました。感想を記しておきます。なお感想は、例のごとく全体に軽く目を通して、いくつかサンプルプログラムを写経してみた程度の上でのものです。あらかじめご了承ください。 手を動かして考えればよくわかる 高効率言語 Rust 書きかた・作りかた 作者:クジラ飛行机ソシムAmazon Python から Rust に入門するという切り口 最近はRustの本が多く出版され始めており、読むよりも買うほうがだんだん多くなってきてしまっています。とくに単なる言語の入門にとどまらず、さまざまな切り口から解説する本が増え始めているように思います。本書もそのひとつで、Python から Rust に入門しようという非常に特異な切り口の一冊です。 Python から Rust という切り口は、多少なりと

                                                        『手を動かして考えればよくわかる 高効率言語 Rust 書きかた・作りかた』を読みました - Don't Repeat Yourself
                                                      • AdoptOpenJDKプロジェクトがEclipse Foundationへの合流を発表。合流後の新プロジェクト名は「Eclipse Adoptium」に

                                                        AdoptOpenJDKプロジェクトがEclipse Foundationへの合流を発表。合流後の新プロジェクト名は「Eclipse Adoptium」に 無償のOpenJDKディストリビューションを提供している団体「AdoptOpenJDK」プロジェクトは、Eclipse Foundationに合流することを発表しました。 We have some very exciting news to share with you today... AdoptOpenJDK is joining the @EclipseFdn https://t.co/bjYEOtW4vR #AdoptOpenJDK #announcement #EclipseFoundation #OpenJDK #Java — AdoptOpenJDK (@adoptopenjdk) June 19, 2020 AdoptO

                                                          AdoptOpenJDKプロジェクトがEclipse Foundationへの合流を発表。合流後の新プロジェクト名は「Eclipse Adoptium」に
                                                        • PerlでJVMをつくろう - Mobile Factory Tech Blog

                                                          要約 JVMは任意の言語で作ることができるので、Perlで書いてみました github.com このようにクラスファイルを読み取り、それを実行することができます 今回は読者がJVMを書き始められるようにクラスファイルの読み取り方に焦点をおいて解説します(あまりPerlの話はしません) 目次 自己紹介 JVMの基本 クラスファイルの解説 オペコードの実行 まとめ 自己紹介 駅メモにて主にバックエンドを担当しているid:toricorです。 仕事ではサーバがPerl実装なので、Perlでいろいろな機能を実装したりパフォーマンスチューニングをしたりしています。 JVMをつくろう 残念ながら今のところ仕事ではほぼJVMと縁がないので、まずは基本を確認します JVMとは Java Virtual Machine(Java仮想マシン)の略です Java仮想マシン - Wikipedia JVMはJav

                                                            PerlでJVMをつくろう - Mobile Factory Tech Blog
                                                          • 「Java 21」正式リリース。仮想スレッドが正式版に、入門者向けに「void main」と簡潔な記述、世代的ZGCなど新機能

                                                            「Java 21」正式リリース。仮想スレッドが正式版に、入門者向けに「void main」と簡潔な記述、世代的ZGCなど新機能 オラクルはJavaの最新バージョン「Java 21」正式版を今日リリースします。 Java 21は長期でセキュリティパッチやバグフィクスなどが提供されるLTS(Long Term Support:長期サポート)版です。企業向けのシステム開発などで安定したJavaのバージョンをある程度長期間使いたい場合には、このJava 21は有力な候補となるでしょう。 日本時間22時からJava 21のローンチイベントも開催予定です。「with a few surprise reveals」(いくつかサプライズ発表があるよ)というのが少し気になります。今年は昨年復活したJavaOneがないので、その代わりに何かあるのでしょうか。 We're just 1 day away fro

                                                              「Java 21」正式リリース。仮想スレッドが正式版に、入門者向けに「void main」と簡潔な記述、世代的ZGCなど新機能
                                                            • 本物のウェブアクセスログを使用した、機械学習による異常検知(全データ/ソースコード公開)

                                                              おまたせしました この度、ついにこの記事を完成させることができました。これは私が数年前からずっと書きたいと思っていた、ウェブのアクセスログに対する、機械学習を使った異常検知の実例です。私は事あるごとに(※1)「情報セキュリティ分野でもデータサイエンスの技術は非常に重要だ」と繰り返していますが、この記事の内容はまさにその1つの証となると思います。この記事で示される内容を見れば、「うわ、機械学習、マジでヤバイい(語彙力)んだな...」となるでしょう。以下に心当たりのあるセキュリティエンジニアはぜひ読んで、そして実践してみてください。 機械学習に興味はあるものの、どこから手を付ければよいのかイメージがわかない 本当にAIやデータサイエンス、機械学習がセキュリティの分野で役に立つのか、確信がもてない データサイエンスや機械学習は難しそうだと思っている ログ解析において、grepや単純な統計処理より

                                                                本物のウェブアクセスログを使用した、機械学習による異常検知(全データ/ソースコード公開)
                                                              • 「Java8からJava11」で何が起きたのか、どう環境構築すればいいのか - Qiita

                                                                この記事の目的 「Javaの環境構築」で絶対にハマったり、錯綜する情報にいつも惑わされる人に向けた記事です。 2017年以降のJavaは、移り変わりが激しい世界になりました。このことを認識し、「軸となる考え方」や「重要な動向」を把握できるように、調べた情報をまとめました。 「5年ぶりに(Java|JVM言語)触るんだけど環境周りが全然わからん」とか、「CorrettoとかAdoptOpenJDKとか、みんな何を言っているんだ」という人(つまりちょっと前の筆者)が、「今後に渡って2度とハマらないための基礎知識を得られること」を目的にしています。以下の3本立てです: ざっくりとした歴史 2020年におけるローカル開発環境構築 情報源と参考URL APIや言語仕様の変更点には触れません(他の良い記事があります)。 I. ざっくりとした歴史 2017年9月、OracleはJavaのリリース・モデル

                                                                  「Java8からJava11」で何が起きたのか、どう環境構築すればいいのか - Qiita
                                                                • -verbose:class オプションを使ってLog4j利用の有無、Log4jを利用しているクラスを調査する | yusuke.blog

                                                                  • (プログラマのための)いまさら聞けない標準規格の話 第2回 文字コード実践編 | オブジェクトの広場

                                                                    プログラマがシステム開発において共通で必要となる、技術と業務の狭間の共通知識を解説します。連載第2回は文字コードの実践編です。 0. 前回の復習と今回の概要 システム開発で必要となる標準規格の話、前回 は文字コードの概要について説明しました。ざっくりまとめるとこんな内容でした。 「符号化文字集合」で文字集合と符号位置を定義し、「符号化方式」でバイト表現に変換していること。 日本では、しばらく文字集合 JIS X 0208 を、ISO-2022-JP、EUC-JP、Shift_JIS の符号化方式で利用してきたこと。 近年は、世界中の文字が扱える Unicode が主流となっており、UTF-8、UTF-16 などの符号化方式があること。 常用漢字、人名用漢字に限っても、字体を正確に扱おうとすると、JIS X 0208 の範囲では不十分であり、JIS X 0213、Unicode、サロゲートペ

                                                                      (プログラマのための)いまさら聞けない標準規格の話 第2回 文字コード実践編 | オブジェクトの広場
                                                                    • Java の enum を使いこなせるあなたに sealed interface

                                                                      はじめに Java の enum は大変便利で非常多くのシーンで活用されています。例えば区分を表すようなオブジェクトを表現したい際にもよく使われていますね。 Java 14 で正式機能となった switch式にて網羅性検査が行えるようになり、それまで以前ではどうしても抽象メソッド等を活用する必要があった処理についても、switch式を利用する事で簡潔に表現することができるようになりました。 また、Java 17 で正式機能となった sealed classes/interfaces と Java 21 で正式機能になった Record Patterns によって、これまで必要だった区分値のような enum を必ずしも定義しなくて良い場合も出てきました。 この記事では、今まで enum を使っていたコードがこれらの機能によってどのように変わるのかを紹介し、盲目的に enum を定義するのでは

                                                                        Java の enum を使いこなせるあなたに sealed interface
                                                                      • Swagger ではない OpenAPI Specification 3.0 による API サーバー開発

                                                                        JJUG CCC 2019 Fall の発表資料になります。 OpenAPI Generator を使って小規模な Web API サーバーを開発したときの経験やノウハウをまとめたものです。 https://ccc2019fall.java-users.jp/ https://jjug-cfp.cfapps.io/submissions/92e3117f-d911-4674-b97b-581813cfa0dcRead less

                                                                          Swagger ではない OpenAPI Specification 3.0 による API サーバー開発
                                                                        • JDK 21 の開発者向けの新機能 - 赤帽エンジニアブログ

                                                                          Red Hat のソリューションアーキテクトの瀬戸です。 この記事はRed Hat Developerのブログ記事、What's new for developers in JDK 21 | Red Hat Developer を、許可をうけて翻訳したものです。 Java開発者にとってエキサイティングな情報として、今年 9 月 19 日に JDK 21 がリリースされました。 このリリースには、仮想スレッド(Virtual Thread)、レコードパターン(Record Patterns)、順序付コレクション(Sequenced Collections)など、Javaのエコシステムに利益をもたらす多くの新機能が含まれています。JDK 21 のプレビューには、文字列テンプレート(String Templates)、スコープ付値(Scoped Values)、構造化並列処理(Structure

                                                                            JDK 21 の開発者向けの新機能 - 赤帽エンジニアブログ
                                                                          • Open Source Insights

                                                                            • Rustでの 抽象化 3パターンについて

                                                                              ※この記事は全然入門記事ではないです。Javaなどのオブジェクト指向言語とRustをある程度理解している前提での記事です。あと、メモ程度に雑に書いています。 今回は抽象化がテーマです。オブジェクト指向の多態相当のことをRustでどうのように解決すればいいのでしょうか。個々の実装型の都合によらず、呼び出し側は統一的なインターフェイスで操作するケースはRustでもあるはずです。 オブジェクト指向言語の設計に慣れていると、Rustで設計するときにどうしたらいいかわからないことがあります。なぜならRustには継承がないからです…。まぁJavaと比べるとだいぶ違うので頭を切り替える必要があります。今回はそういう感じの記事です。 では、早速デザインパターンを題材にして考えてみましょう。 抽象化について 簡単なコマンドパターンから考えます。 ここでは単純に渡した文字列を標準出力するコマンドを考えます。以

                                                                                Rustでの 抽象化 3パターンについて
                                                                              • めっちゃ需要あるのにAndroidエンジニアが足りてないらしいから魅力とか紹介する回(配信用カンペ) - Qiita

                                                                                自己紹介 バーチャル幼女プログラマーのきりみんちゃんです フリーランスのAndroidアプリ開発エンジニアをやってます YouTubeチャンネル(音量注意):https://www.youtube.com/channel/UCqN87Ye4TNLB04EFhxJ0L5w 今日のおはなし Androidエンジニアが足りてないらしいよ!! 需要はめっちゃあって観測範囲だとわりとどこの会社もAndroidエンジニア探してる印象 特に足りてないのはわりと勉強会とかブログとかで積極的にアウトプットしたりするような意欲の高いタイプの人 当分はかなり需要が供給を上回る感じなので転職有利だと思うし、やる気があれば新人でも育ててもらえるかもしれない 今だとお給料も高めだと思う 原因考察 開発されるアプリの規模や要求される品質は上がり続けてて需要は増えている ぶっちゃけあんまり若い層が育っていないような 勉強

                                                                                  めっちゃ需要あるのにAndroidエンジニアが足りてないらしいから魅力とか紹介する回(配信用カンペ) - Qiita
                                                                                • SpringBoot/Quarkus/Micronautの性能を検証してみた ~その1 起動編~ - Taste of Tech Topics

                                                                                  こんにちは。@phonypianistです。 本投稿はアクロクエスト アドベントカレンダー 12月21日 の記事です。 最近、Quarkusアプリを本番適用しました。 QuarkusはJavaアプリを作るための軽量なフレームワークで起動が速いって聞くけど、実際どれくらい速いんだろう?と気になったので、Spring Bootや、類似OSSのMicronautと比べてみました。 背景 JavaのフレームワークといえばSpringBootが主流ですが、起動が遅かったり、必要なメモリが多かったりしています。 これは、アプリ起動時にリフレクションを用いてDI(Dependency Injection)を行っているのが要因の1つです。 マイクロサービス、コンテナネイティブなアプリケーションは、負荷の状況に応じて、シームレスにスケールアウトできる必要があります。 アプリケーションの起動速度が遅かったり、

                                                                                    SpringBoot/Quarkus/Micronautの性能を検証してみた ~その1 起動編~ - Taste of Tech Topics