並び順

ブックマーク数

期間指定

  • から
  • まで

41 - 80 件 / 474件

新着順 人気順

java8の検索結果41 - 80 件 / 474件

  • 「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にもリモートコード実行の脆弱性 修正バージョン公開
    • Linux perf Examples

      Recent posts: 24 Mar 2024 » Linux Crisis Tools 17 Mar 2024 » The Return of the Frame Pointers 10 Mar 2024 » eBPF Documentary 28 Apr 2023 » eBPF Observability Tools Are Not Security Tools 01 Mar 2023 » USENIX SREcon APAC 2022: Computing Performance: What's on the Horizon 17 Feb 2023 » USENIX SREcon APAC 2023: CFP 02 May 2022 » Brendan@Intel.com 15 Apr 2022 » Netflix End of Series 1 09 Apr 2022 » Te

      • 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
        • 本物のウェブアクセスログを使用した、機械学習による異常検知(全データ/ソースコード公開)

          おまたせしました この度、ついにこの記事を完成させることができました。これは私が数年前からずっと書きたいと思っていた、ウェブのアクセスログに対する、機械学習を使った異常検知の実例です。私は事あるごとに(※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
            • ソフトウェアエンジニアをしていて影響を受けた5冊(+α)

              他の方の記事ですが、読んでいておもしろかったです。記事に出ている本はClean ArchitectureとTDD、LeanとDevOpsの科学くらいしか読んだことなかったです。 また自分も書くことで、他の方も記事を書くようになり、ついでに他の方の記事を読んでみるなどしたいなと思ったので書いてみます。 私はソフトウェアエンジニアとしてのキャリアはまだ7年くらい[1]なので短い方ですが、約7年間の中で読んで印象に残ったものを紹介します。 計算機プログラムの構造と解釈 Scala関数型デザイン&プログラミング Effective Java Programming Rust 実践ドメイン駆動設計 なお、この記事ならびに本のリストは誰かの役に立つことは想定しておらず、単に自分が読んで影響を受けているなあと感じる本をまとめています。つまり自己満足です。 加えてこの手の記事を書く際には、一応筆者のプロフ

                ソフトウェアエンジニアをしていて影響を受けた5冊(+α)
              • Amazon DynamoDB での優先度付きキューの実装 | Amazon Web Services

                Amazon Web Services ブログ Amazon DynamoDB での優先度付きキューの実装  キューイングは、分散処理システムで計算コンポーネントを分離するために一般的に使用されるソリューションです。これは、サーバーレスおよびマイクロサービスアーキテクチャで使用する非同期通信システムの形式です。メッセージは処理のためにキューで待機し、1 人のコンシューマーが受信するとキューから出ます。このタイプのメッセージングパターンは、ポイントツーポイント通信と呼ばれます。 この記事では、他の大規模なキューイングシステムで行うように、Amazon DynamoDB テーブルのいずれかを、エンキュー (メッセージをキューに配置) とデキュー (メッセージを読み取り、キューから削除) が行えるキューに変換する方法について説明します。 DynamoDB は、任意の規模で 1 桁のミリ秒のパフ

                  Amazon DynamoDB での優先度付きキューの実装 | Amazon Web Services
                • Docker HubのOpenJDKイメージの利用を更新するためのアドバイス - 赤帽エンジニアブログ

                  Red Hat で Java Platform Advocate として OpenJDK を担当している伊藤ちひろ(@chiroito)です。 この記事は、Red Hat Developerのブログ記事、My advice for updating use of the Docker Hub OpenJDK image | Red Hat Developer の翻訳記事です。 コンテナ内のJava実行環境は、今後数カ月でアップデートを受けられなくなる可能性があります。そろそろ手を打つべきでしょう。この記事では、この問題を引き起こした原因である決定事項を説明し、解決策を提案します。 OpenJDK と Java SE のアップデート OpenJDKは、Java Platform, Standard Edition (Java SE)のオープンソース実装で、複数の企業やコントリビューターが共同

                    Docker HubのOpenJDKイメージの利用を更新するためのアドバイス - 赤帽エンジニアブログ
                  • AWS再入門2022 AWS Serverless Application Model (AWS SAM)編 | DevelopersIO

                    弊社コンサルティング部による『AWS 再入門ブログリレー 2022』の4日目のエントリでテーマはAWS Serverless Application Model (AWS SAM)です。 こんにちは、リサリサです。 当エントリは弊社コンサルティング部による『AWS 再入門ブログリレー 2022』の 4日目のエントリです。 このブログリレーの企画は、普段 AWS サービスについて最新のネタ・深い/細かいテーマを主に書き連ねてきたメンバーの手によって、 今一度初心に返って、基本的な部分を見つめ直してみよう、解説してみようというコンセプトが含まれています。 AWSをこれから学ぼう!という方にとっては文字通りの入門記事として、またすでにAWSを活用されている方にとってもAWSサービスの再発見や2022年のサービスアップデートのキャッチアップの場となればと考えておりますので、ぜひ最後までお付合い頂け

                      AWS再入門2022 AWS Serverless Application Model (AWS SAM)編 | DevelopersIO
                    • Rustのトレイトは「高カインド多相のない型クラス」である - なんか考えてることとか

                      Rustのトレイト(以降Rustトレイトとつなげて呼ぶことにする)は一体何なのか、様々な他言語の概念を通して調べていたが、やっと(「やはり」でもあるのだが)結論が出たので書いていこうと思う。 また、Rustトレイトはインターフェースなのか、MixInなのか、はたまたトレイトなのかということについて書き直したかったのでそれもついでに書く。 Rustのトレイトにおける否定 前置き Rustのトレイトはインターフェースではない RustのトレイトはJavaのインターフェースではない RustのトレイトはC#のインターフェースではない RustのトレイトはMixInではない Rustのトレイトはトレイトではない Rustのトレイトは「高カインド多相のない型クラス」だった 根拠1: 型クラスと用法が同じである 根拠2: 重複する関数があった際の挙動も同じ Rustのトレイトでは高カインド多相ができな

                        Rustのトレイトは「高カインド多相のない型クラス」である - なんか考えてることとか
                      • Project Valhalla 2023 - プログラマーの脳みそ

                        2023/03/30 にやったJava仕様勉強会の動画が公開されました。当日はJavaのマスコットDuke風の服で臨みました(どうでもいい裏情報) www.youtube.com セッション資料もアップロードしたので参考にしてください。 Project Valhalla 2023 中間報告 いずれも 2023年3月時点での情報です。JEPもドラフト版だったりするので、将来的に変更が入る可能性が高いことをお断りしておきます。本稿では勉強会のセッション内容に加えて、セッション時点で追従できていなかった変更点や、勉強会での指摘を踏まえてフォローアップした内容を含みます。 もしもValhalla世界でJava入門したら ここでは、Valhalla導入後のJava世界だと入門者視点でどのように変わるのかというアプローチをしています。まず、Javaのデータ型は大きくふたつに分類できて、Identity

                          Project Valhalla 2023 - プログラマーの脳みそ
                        • 角川ドワンゴ学園・次世代教務システムについて - ドワンゴ教育サービス開発者ブログ

                          本稿では、Javaと独自フレームワークで構築された現行の教務システムをTypeScriptとNext.jsで構築された次世代教務システムへと移行していく過程で取り組んでいることを紹介していきます。 はじめに こんにちは。N 高等学校 / S 高等学校の教務システム開発チームの邑本です。ドワンゴでは、N予備校のシステムだけでなくN高等学校とS高等学校の教務システムも開発しています。本稿では、今まであまり触れてこられなかったN高、S高の教務システムについてお話しようと思います。 現在、教務システムの開発チームでは、Javaで構築されている現行の教務システムからTypeScript/Next.jsベースの次世代教務システムへの移行を試みています。 現行の教務システムの機能は多岐に渡るため、 既存業務の見直しによる変更がある場合 新規で機能を開発する場合 に限って次世代教務システムで開発し、小さな

                            角川ドワンゴ学園・次世代教務システムについて - ドワンゴ教育サービス開発者ブログ
                          • Javaのバージョンの取り扱い(2023年6月) - 日々常々

                            ツイート したらそれなりに反応があったので、少し丁寧に書いておこうかなと。 水物な内容なので、自動でつく投稿日時以外にもタイトルに「2023年6月」を入れて強調しておきます。 しょーとあんさー よくわかんないならJava17にしておきましょう。 前提 ツイート。だよねーって思ったので、下に書いてたを持ち上げておきます。 LTSとかいう言葉が出てきますが、現在のJavaはメジャーバージョンがLTSと非LTSがあります。 OracleJavaSE を前提にしています。他のサポートも似たり寄ったりな感じと思っているけれど、自分たちが使ってるとこのサポートを確認してくださいまし。 また、本稿は「Javaのバージョン?何それ?」とか「色々あるけど最新使ってたらいいんだよね?」とかそういう方向けで、プロダクトのJavaバージョンを選定する方々向けではありません。そういうのに必要な知識には全然足りません

                              Javaのバージョンの取り扱い(2023年6月) - 日々常々
                            • GoFの次に覚えたいデザインパターン ~Specificationパターン~ - RAKUS Developers Blog | ラクス エンジニアブログ

                              ビジネスアプリケーションとビジネスルール 用語について パターン適用前 Specification パターン Hard Coded Specification Parameterized Specification Composite Specification 条件の再利用性が向上する テスト性が向上する ルールと条件を統一したインターフェースで扱える 動的にルールを構成できる まとめ 関連するデザインパターン Strategy パターン Composite パターン Interpreter パターン 参考文献 補足 ビジネスアプリケーションとビジネスルール 楽楽精算開発部の id:smdr3s です。主に Java を使ったサーバーサイドを担当しています。 弊社のサービスである楽楽精算は、その名のとおり経費精算のサービスです。主に企業にお勤めの方が、業務での移動時ににかかった交通費や業

                                GoFの次に覚えたいデザインパターン ~Specificationパターン~ - RAKUS Developers Blog | ラクス エンジニアブログ
                              • Gradle/Kotlinで開発する私的ベストプラクティス2022 - Kengo's blog

                                こちらのエントリーが素敵だなと思ったので、最近書いてるKotlinプロジェクトのベストプラクティスをまとめてみます。一部はJavaプロジェクトにおいても利用できるはずです。 zenn.dev 基本方針 参加障壁を下げる。OSSプロジェクトでもプロプライエタリ・ソフトウェアプロジェクトでも、新しい開発者が参加するコストを下げることには大きな意義がある。 環境差異を吸収する。javaにPATHが通ってさえいればOSに関係なくビルドが通るようにする。 プロジェクト固有ルールを作らない。Conventional CommitsやKeep a changelogなど、ひろく世に使われているルールを採用する。 Gradleを設定する Spotlessを使う コードのフォーマットはformatterに任せて人間は細かいことを考えない、というのが不特定多数が参加するソフトウェアプロジェクトのあるべき姿だと

                                  Gradle/Kotlinで開発する私的ベストプラクティス2022 - Kengo's blog
                                • VSCodeでC#開発環境整えちゃう(グッバイVisual Studio)

                                  こんにちは!今年の冬も暖房なしで頑張る佐藤です。 みなさん、C#(.Net)使ってますか?弊社では、主にバックエンド開発に使われていますが、Java8とかで開発してた時に感じた、いろいろな不満が解消されていて、いい言語だなあとひしひし感じています。 さて、C#の開発をする際にメジャーなエディターといえば、Visual Studio、Riderだと思います。 それらも、とても便利なエディターではあるのですが、IDEなのもあって多少スペックが必要+ライセンス契約をする必要がある=金銭のやりとりが発生する、等の理由のために、多少敷居の高さがあるんじゃないかな〜と個人的に感じています。 また、私自身が、他の言語の開発ではほぼVisual Studio Codeを使っているのもあって、VSCodeとVisual Studioを一緒に起動して開発するのもなんだかなあ… と感じていました。 そこで、11

                                    VSCodeでC#開発環境整えちゃう(グッバイVisual Studio)
                                  • Mirrativ の Android アプリで使っているライブラリを紹介する! - Mirrativ Tech Blog

                                    こんにちは、Androidエンジニアのもりぞーです。今回は Mirrativ の Android アプリで使っているライブラリをご紹介します。 こちらの記事のAndroid版になります! tech.mirrativ.stream ライブラリ一覧 Google開発ライブラリ 公式ライブラリでありAndroid開発のスタンダードになっているので、Googleが提供しているライブラリは必要に応じて積極的に使うようにしています。 Android Jetpack Mirrativでは現状以下のライブラリを使っています。 "androidx.appcompat:appcompat" "androidx.annotation:annotation" "androidx.browser:browser" "androidx.cardview:cardview" "androidx.constraintla

                                      Mirrativ の Android アプリで使っているライブラリを紹介する! - Mirrativ Tech Blog
                                    • いつScalaを使い、いつ使わないのか

                                      前置き 先日Twitterでこのような興味深いツイートを拝見しました。 なるほどと思ったので、自分が技術選定/アーキテクチャ設計において「どのような時にScalaを選択し、どのような時に選択しないのか」をあらためて言語化してみることにしました。 ちなみにこの記事タイトルは Scala福岡 2019 で講演させて頂いたものと同じタイトルですが、当時の資料は説明が無いと誤解を招く部分も多く非公開にしているため、その焼き直しも含めてこの記事を書いています。 また、ここで記載している内容は2022年8月現在の事情を元にした考えになります。言語の機能やとりまく状況などは日々変わっていくものであり、前提が変われば結論が変わることも当然にあります。あくまで現時点での意見の一つとして参考程度にして頂ければ幸いです。 また、この記事では主に言語機構や周辺ライブラリ・エコシステムといった側面からの判断を中心と

                                        いつScalaを使い、いつ使わないのか
                                      • OpenJDKで使えるパフォーマンス分析と障害診断ツール - Qiita

                                        Oracle JDKを含むOpenJDKディストリビューション(以下、JavaまたはJDK)にはJFRを筆頭にさまざまな分析ツール/仕組みがあります。 JDK7からJDK12にかけてトレンドが変わった部分もあるので、少しサマったメモを書きます。 メトリクス取得のための仕組み Javaにはパフォーマンスメトリクスを取得するための方法がいくつかあります。代表的なのは下記の3つでしょう。 JMX ログ JPLIS(javaagent) JMX Java Management Extensions(JMX)はJavaのリソース監視および管理のためのプロトコルです。簡単にいえばJava版のSNMPです。 JSR-174としてJava 1.5より取り込まれています。 Managed Bean(MBean)を利用してCPUやメモリの情報を取得したり、特定のイベント(例えば強制GC)とかを実行することも可

                                          OpenJDKで使えるパフォーマンス分析と障害診断ツール - Qiita
                                        • Scalaのメモリ使用量はJavaよりも多いか検証した - Lambdaカクテル

                                          こういう記事を読んだ。 transparent-to-radiation.blogspot.com なんかScalaのメモリ使用量が異常に多いなと思って、調べた。検証コードもアップした。 github.com 検証として、様々なJVM(OpenJDKとかCorettoとか)とそのバージョン(8, 11, 17)でJARを実行して考察した。JVMを用意するためにASDFを使った。また、ASDFから引っぱってこれないJVMのバージョン(OpenJDKの8など)は省略している。 JAVA_OPTSは-Xms100M -Xmx2Gである。 手元のマシン(Linux x86_64 Xeon W-10855M 2.80GHz 64GiB RAM)でのrun-matrix.shの実行結果は、以下の通り(各列は、JVM、計算件数、実行時間Sec、メモリ総使用量KiB)。 openjdk-11 openjd

                                            Scalaのメモリ使用量はJavaよりも多いか検証した - Lambdaカクテル
                                          • Java Runtime (De)compilerの紹介 - 赤帽エンジニアブログ

                                            こんにちは、Red Hat Middleware Technical Account Manager のイアンです。 お客様のサポートケースの対応では、現象を再現させるために稼働しているJavaアプリケーションのコードを修正/パッチする場合があります。そのときには、Bytemanをよく使っていますが、新しいツールを紹介したいと思います。 Java Runtime (De)compiler (以降JRDとして略)は弊社社員が作って提供しているJavaのデコンパイルと修正したコードをアプリケーションへ挿入するためのツールです1。最新バージョン 7.2 は Java 11 以降に対応していますが、古いバージョン 6 は Java 8 でも使えるように見えます(未検証ですが)。 簡単な例で使い方を説明いたします。 環境準備 この例では、以下の製品とソフトウェアを使用します。 OpenJDK 11

                                              Java Runtime (De)compilerの紹介 - 赤帽エンジニアブログ
                                            • Java 11のガベージ・コレクション・チューニングガイドを読む - CLOVER🍀

                                              Java 8以降になってAPIドキュメント以外をあまり見ていなかったのですが、いろんなドキュメントが見やすくなって いるんだなぁと。 JDK 11ドキュメント - ホーム で、こちらのドキュメントがちょっと気になりまして。 ガベージ・コレクションのチューニングの概要 Java 8の頃に比べると、だいぶ差が。 Java Platform, Standard Edition HotSpot Virtual Machineガベージ・コレクション・チューニング・ガイド, リリース8 どうしてこのあたりを見ているかというと、Java 9以降でデフォルトになったG1GCですがどれくらいのヒープサイズ以上が 目安なのか、どこかに書いてあったかなぁということで探してみたと。 書いてありました。 最大10GBまたはそれ以上のヒープ・サイズ(Javaヒープの50%超がライブ・データで占められている)。 ガベー

                                                Java 11のガベージ・コレクション・チューニングガイドを読む - CLOVER🍀
                                              • Java17対応版!Javaコーディング規約の紹介 | フューチャー技術ブログ

                                                フューチャーのGitHubリポジトリで公開しているJavaコーディング規約をJava17に対応させたのでその宣伝記事です。 Future Enterprise Coding Standards | Javaコーディング規約 Java17先日の2021年9月14日にJava17がリリースされました。 Java17は長期サポートされる(LTS)バージョンです。前回のLTSのJava11からすると、3年ぶりのLTS版のリリースとなります。 Java12からJava17の新機能前回のLTS版から追加されたみてJava17まででどんな機能が追加されたのかを簡単にまとめると以下です。(これら以外にもあります。) switch式とswitch新構文 テキストブロック レコード パターンマッチング シールクラス 次のページが大変参考になります。 Oracle Help Center | Java言語の変更

                                                  Java17対応版!Javaコーディング規約の紹介 | フューチャー技術ブログ
                                                • Javaのプロフェッショナルが教えるJava14とJava15の新機能

                                                  LINEが定期的に開催する技術者向けミートアップ「LINE Developer Meetup」。65回目は「Java」というテーマで、JavaのカンファレンスなどでJavaの新機能について紹介しているLINEの久保田祐史氏が、Java14やJava15で利用可能な新機能と変更点について紹介しました。関連資料はこちら。 Java14やJava15で利用可能な新機能と変更点 久保田祐史氏(以下、久保田):簡単に自己紹介から始めたいと思います。LINEでソフトウェアエンジニアとして働いている久保田祐史と言います。現在はKafkaのプラットフォームを提供しているチーム内で働いています。私はよくJJUG CCCという、国内のJavaのカンファレンスでGCやJVMのセッションの他に、専らJavaの新機能について紹介することが多いのですが、今日も同じようにJava14やJava15で利用可能な新機能と変

                                                    Javaのプロフェッショナルが教えるJava14とJava15の新機能
                                                  • タイムゾーン呪いの書 (Java 編)

                                                    「タイムゾーン呪いの書」は、もともと 2018年に Qiita に投稿した記事でしたが、大幅な改訂を 2021年におこない、同時にこちらの Zenn に引っ越してきました。この改訂で記事全体が長大になったので、「知識編」・「実装編」・「Java 編」と記事を分けることにしました。 この「Java 編」は、「知識編」と「実装編」に続く最終章です。本記事全体を通して、「知識編」「実装編」を読んでいることを前提にしているので、ご注意ください。 はじめに 「知識編」と「実装編」では、言語やソフトウェア特有の話にはあまり踏み込まずに、時刻とタイムゾーンについてなるべく一般論を書いてきました。そんな中でも Java の JSR 310: Date and Time API は何度も参照しています。 JSR 310 は時刻やタイムゾーンという概念をけっこう上手に一般化していて、一般論の検討にもいいモデル

                                                      タイムゾーン呪いの書 (Java 編)
                                                    • SAM+TerraformでLambdaの管理を楽にする | DevelopersIO

                                                      今回は基本はTerraformでインフラを構築しつつも、部分的にはSAMを使用してLambda+API Gatewayをデプロイしたいと思います。 Lambdaのアーカイブ化やS3へのアップロードをSAMにやってもらうことで、Terraform側でのタスクを軽減することができます。 今回の記事の元ネタは以下のスライドです。 IaCについていろいろな知見が得られると思うのでおすすめです。 SAMとは SAMはLambdaなどのサーバーレスアプリケーションの開発・デプロイを補助するツールでCloudFormationのような形式のファイルを用いてこれらを定義することができます。 Lambdaを開発・デプロイする場合について考えると、必要となる工程は煩雑です。開発ではローカルでの実行やランタイムの管理などをしたくなりますし、デプロイでは依存するパッケージの設置、Zipファイルへのアーカイブ化、ア

                                                        SAM+TerraformでLambdaの管理を楽にする | DevelopersIO
                                                      • Java 14とJava 15の新機能解説 (LINE Developer Meetup #65 原稿) - unnamed

                                                        Java 14とJava 15の新機能についてJJUG CCC 2020 Springで話す予定だった内容が中止になり、Java 15のリリースも近づいてきたので新たに資料を加筆修正して以下のLINE Developer Meetupで発表しました! line.connpass.com 本イベントでは話す予定ではない部分も(JJUG CCCで話す予定だったので)資料にはあり、オンラインでの発表だったということもあり原稿も準備していました。そこで折角ですので情報保障を兼ねて共有したいと思います。情報保障についてはこちらを見てみてください。 なお、今回はかなり特殊な事例であり、基本的には原稿が公開されるケースは少ないと考えています。LINE Developer Meetupでは他の分野でもスライドに書かれていない内容を聞くことができるので、ぜひイベントを聴講してみてください :) なお、スライ

                                                          Java 14とJava 15の新機能解説 (LINE Developer Meetup #65 原稿) - unnamed
                                                        • cve-2022-22965 Spring4Shell の影響調査 | DevelopersIO

                                                          はじめに こむろです。 Spring4Shell についてです。どうせお前ら調査してたんだろ?と思ったあなた、大正解です。 結論 非常に広範な影響がありましたが、現時点で、Spring Framework 本体への修正パッチがすでに適用されています。そのためこれに準じたアップデートを実施することで脆弱性を回避できます。 spring-boot-2-6-6 spring-boot-2-5-12 spring-framework-5.3.18 Tomcat 9.0.62 またこれらのアップデートができない場合、以下の対応を取ることもできます。 不要なパラメータのマッピングを行わないようにコードを追加する (Binding のブラックリストへ class.* 系を追加) Java8 へ一旦ダウングレードする Tomcat 9.0.62 へ Update することで設定値自体の書き換えをできないよ

                                                            cve-2022-22965 Spring4Shell の影響調査 | DevelopersIO
                                                          • Spring Framework RCE, Early Announcement

                                                            Updates [04-13] "Data Binding Rules Vulnerability CVE-2022-22968" follow-up blog post published, related to the "disallowedFields" from the Suggested Workarounds [04-08] Snyk announces an additional attack vector for Glassfish and Payara. See also related Payara, upcoming release announcement [04-04] Updated Am I Impacted with improved description for deployment requirements [04-01] Updated Am I I

                                                              Spring Framework RCE, Early Announcement
                                                            • 3年ぶりの長期サポート版となる「Java 17」正式版がリリース。M1 Macのサポート、Sealed Classの追加など

                                                              3年ぶりの長期サポート版となる「Java 17」正式版がリリース。M1 Macのサポート、Sealed Classの追加など Javaの新バージョン「Java 17」が正式にリリースされました。Java 17は、Java 11以来3年ぶりの長期サポート対象となるJavaのバージョンです。 Java 17 is now available! #Java17 #JDK17 #OpenJDK Download now: https://t.co/ui83Aehxoq Release notes: https://t.co/VKB0vfaPsP API Javadoc: https://t.co/VHs6UWdka8 Documentation: https://t.co/74Dk6r23Dt pic.twitter.com/NZvvxchXGT — Java (@java) September

                                                                3年ぶりの長期サポート版となる「Java 17」正式版がリリース。M1 Macのサポート、Sealed Classの追加など
                                                              • Chatwork のプロダクトフェーズと技術選定の流れ - Chatwork Creator's Note

                                                                こんにちは! Chatwork 株式会社のプロダクトマネージャー (PM)、宮下 (@ryugoo_) です。 2013 年にモバイルアプリエンジニアとして入社し、 2014 年に Android 専任になり、 2019 年からは PM に転向してそろそろ 2 年になろうとしています。 さて、今回はエンジニアから PM になった私から見た、 Chatwork の技術選定の流れの変化について話してみようと思います。 技術選定の歴史 2013 年 - PMF を目指すために 2014 〜 2016 年 - 技術的課題を解決するために 2017 〜 2020 年 - ユーザー影響を最小化するために これから - 攻めた技術選定を、ユーザーのために 2013 年 - PMF を目指すために 2013 年当時の Chatwork は PMF (Product Market Fit) を目指すフェーズ

                                                                  Chatwork のプロダクトフェーズと技術選定の流れ - Chatwork Creator's Note
                                                                • Javaの”やらかし”でC#と人気逆転か 激変プログラミング言語人気ランキング

                                                                  TIOBE Softwareが発表したプログラミング言語の人気ランキング「TIOBEインデックス」の2023月10月版では、JavaとC#のレーティングが1.2ポイントのわずかな差に縮まっている。 ソフトウェア品質の評価と追跡を手掛けるTIOBE Softwareは、2023年10月版の「TIOBEプログラミングコミュニティーインデックス」(通称「TIOBEインデックス」)を発表した。 TIOBEインデックスはプログラミング言語の人気度を示すランキングで、同社が毎月更新している。2023年10月のランキングでは「Python」が14.82%で首位を維持した。2位~5位は「C」(12.08%)、「C++」(10.67%)、「Java」(8.92%)、「C#」(7.71%)だった。 Python、C、C#は、それぞれ長期にわたって首位、2位、5位を占めている。C++は6月にJavaを抜いて3位

                                                                    Javaの”やらかし”でC#と人気逆転か 激変プログラミング言語人気ランキング
                                                                  • getとfindの使い分け - 日々常々

                                                                    メソッド名の getXXX と findXXX どっちがいいの?みたいな話になることがある。 この手の話ができるだけでもいい感じだと思います。名前が記号化していないってことなので。 世の中には名前に力を割くのが無駄な文脈もあって、そう言うのに晒されて続けると当然そこに力をかけなくなります。 その文脈では最適解だけど、私は名前が重要だと思っているし、その価値観を土台に他のものを積み上げていきたい。 ということで話を戻す。 「得る」と「探す」のようなものを意図して使い分けるとコードが読みやすくなります。 使い分け方によって読みやすさは変わりはするのですが、「意図して使い分けている」だけでも十分変わります。 その意図に共感できたり汲み取れたりすればさらに読みやすくなりますが、その前段階として意図の有無が重要だと思ってます。 私の基本的な使い分け getHoge(条件): Hoge findHog

                                                                      getとfindの使い分け - 日々常々
                                                                    • トレンドから考えるフリーランスJavaエンジニアの生存戦略 | Offers Magazine

                                                                      「Offersエージェント」では、業界で活躍するプロフェッショナルがあなたの転職を徹底サポート。CxO経験者を含む現役エンジニア・デザイナー・プロダクトマネージャーが在籍し、職種に特化した専門的なアドバイスをご提供・非公開求人の紹介も可能です。 →【かんたん30秒】無料登録で転職相談する 今の案件内容と獲得経路 Javaをメインにフリーランスエンジニアをしている、いろふ(@irof)です。システム開発の仕事は10年以上、フリーランスとして独立して4年目になります。 会社員をしていた頃は主に企業内で使われる基幹システムの開発に携わってきました。フリーランスとしてはシステム開発だけでなく、Javaに限らない技術支援やチームビルディングのサポートなどいろいろさせてもらっています。コミュニティ活動として関西Javaエンジニアの会などをやっています。 ▲JJUGでの直近の登壇資料 今回は、フリーラン

                                                                        トレンドから考えるフリーランスJavaエンジニアの生存戦略 | Offers Magazine
                                                                      • JavaのLog4jライブラリで「Log4Shell」に加えて新たな脆弱性「CVE-2021-45046」が発覚、アップデートで対応可能

                                                                        Javaのログ出力ライブラリであるLog4jで、任意のコードをリモート実行される深刻な脆弱(ぜいじゃく)性・CVE-2021-44228、通称「Log4Shell」が発見されました。Log4jを提供するApacheソフトウェア財団(ASF)は、さらに新たな脆弱性・CVE-2021-45046が発覚したと報告しており、Log4jをバージョン2.16.0以降にアップデートするように呼びかけています。 CVE - CVE-2021-45046 https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-45046 CVE-2021-45046- Red Hat Customer Portal https://access.redhat.com/security/cve/cve-2021-45046 Log4Shell Update: Secon

                                                                          JavaのLog4jライブラリで「Log4Shell」に加えて新たな脆弱性「CVE-2021-45046」が発覚、アップデートで対応可能
                                                                        • Java users on macOS 14 running on Apple silicon systems should consider delaying the macOS 14.4 update

                                                                          Java users on macOS 14 running on Apple silicon systems should consider delaying the macOS 14.4 update An issue introduced by macOS 14.4, which causes Java process to terminate unexpectedly, is affecting all Java versions from Java 8 to the early access builds of JDK 22. There is no workaround available, and since there is no easy way to revert a macOS update, affected users might be unable to ret

                                                                            Java users on macOS 14 running on Apple silicon systems should consider delaying the macOS 14.4 update
                                                                          • 知って使えるJVMの概要とヒープダンプ取得から解析まで

                                                                            本連載では、Javaプログラムの実行を担うJava仮想マシン(JVM)について、その情報を取得するさまざまなツールの利用を通じて理解を深めます。JVMやそのツールに関する知識はアプリケーションが正常に動作しているときではなく、障害など異常が起こった際に大いに活躍します。それだけでなく、Javaプログラムを動作させる仕組みを知ることはソフトウェアを開発するエンジニアの皆さんの知的な部分を刺激するとともに、シニアレベルのJavaエンジニアへと進む第一歩となります。連載第1回はJVMの概要を解説し、模擬的なトラブルシュート体験としてヒープダンプを取得して解析します。 はじめに 今後もアプリケーションをJavaで開発、運用していくことを前提にすると、そうした業務に携わる方は次のようなことを学び続けるでしょう。 Javaの半年ごとのバージョンアップに追随して新機能などを学ぶ アーキテクチャなどでの新

                                                                              知って使えるJVMの概要とヒープダンプ取得から解析まで
                                                                            • AWS SAM CLIを使ったLambdaのローカル実行と簡単デプロイ - BASEプロダクトチームブログ

                                                                              こんにちは。BASE BANK株式会社 Dev Division にて、 Software Developer をしている永野(@glassmonekey)です。 弊社ではAWS Lambdaを活用する機会が増えまして、 最近メジャーアップデートのあった「AWS SAM CLI」を使ってリリースフローの改善にチャレンジしてみました。 そこで、samコマンドで作成したサンプルプロジェクトをローカルで実行しデプロイする方法を紹介します。それに加えて、現状BASE BANKチームで行っている代表的な運用設定をご紹介します。 今回記事作成に際して、サンプルプログラムを用意しているのでもしよければ手元でご確認ください。 なお、今回LambdaにはGoを採用しました。検証に使用した環境は以下の通りです。 macOS: 10.15.x (Catalina) SAM CLI: version 1.2.0

                                                                                AWS SAM CLIを使ったLambdaのローカル実行と簡単デプロイ - BASEプロダクトチームブログ
                                                                              • 2019/05 Scala導入を検討したい人に向けた情報をまとめてみた

                                                                                scalakb20190523.md 2019/05 Scala導入を検討したい人に向けた情報をまとめてみた Scalaとは? The Scala Programming Language 開発元はLightbend 社 と EPFL(Odersky先生がいるスイスの大学) 2019/05 現在、最新バージョンは 2.12 Dottyと呼ばれる新しいScalaコンパイラが開発されている Scala3 2019/05 現在0.15.0-RC1 2系との互換性はなく、移行ツールが用意される いつ出るのかもまだよくわからないため、おそらくこちらがメインストリームになるのはまだ数年先であると言われているが・・・? 特徴 JVM言語 オブジェクト指向と関数型言語両方の特性を併せ持つ 個人的にScalaの好きなところ 環境構築が簡単 JDKとsbt(ビルドツール)さえあればいい Scalaのコンパイラ

                                                                                  2019/05 Scala導入を検討したい人に向けた情報をまとめてみた
                                                                                • GradleのマルチプロジェクトによるKotlin、Spring Bootでのオニオンアーキテクチャの実現 - タケハタのブログ

                                                                                  4月に発売した書籍「Kotlin サーバーサイドプログラミング実践開発」なのですが、この中で途中まで作っていてボツネタにした内容がありました。 gihyo.jp それが「Gradleのマルチプロジェクトでオニオンアーキテクチャを実現する」というものです。 第2部で作成していたbook-managerというアプリケーションは、もともとこれを使って作成していましたが、途中でやめて現在の形になりました。 github.com ボツネタにした理由としては、一回実践で導入してみていくつか微妙な点があったことと、紙面上の説明が複雑になるのでベーシックな内容としては外していいかなと思ったためです。 ただせっかく途中まで作っていたので、試して微妙と感じた点も含めて、今回紹介したいと思います。 サンプルとしてこのbook-managerの内容をマルチプロジェクト化したアプリケーションを使い、オニオンアーキテ

                                                                                    GradleのマルチプロジェクトによるKotlin、Spring Bootでのオニオンアーキテクチャの実現 - タケハタのブログ