並び順

ブックマーク数

期間指定

  • から
  • まで

41 - 80 件 / 145件

新着順 人気順

jvmの検索結果41 - 80 件 / 145件

  • Javaの起動時間といかに戦うか / How to fight against Java warmup time

    2019/11/23に開催されたJJUG CCC 2019 Fallでの登壇資料です

      Javaの起動時間といかに戦うか / How to fight against Java warmup time
    • Spring Boot アプリケーションにおけるメトリクスの取り方の基本

      LINE株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。 LINEヤフー Tech Blog LINE の Business Platform 開発担当フェローの Matsuno です。 今回は Spring Boot でアプリケーションを開発した場合のメトリクスの勘所についてご紹介しようと思います。 我々のチームでは Kotlin + Spring Boot での開発がデファクトスタンダードとなっているのですが、正直まだまだこのテクニカルスタックで開発しているエンジニアは日本では少ないのです。そこで、実際の運用の雰囲気を感じていただければと思いまして今回の記事を書くことにしました。 メトリクス取得の基本 我々のチームではメトリクスの格納先として Prometheus を利用しています。 Prometheus で格納し

        Spring Boot アプリケーションにおけるメトリクスの取り方の基本
      • トレンドから考えるフリーランスJavaエンジニアの生存戦略 | Offers Magazine

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

          トレンドから考えるフリーランスJavaエンジニアの生存戦略 | Offers Magazine
        • Java16新機能-言語とAPIを中心に- / Java 16 new features - about lang and API -

          2021/3/16に開催されたJJUG night seminarでの登壇資料です https://jjug.doorkeeper.jp/events/119184

            Java16新機能-言語とAPIを中心に- / Java 16 new features - about lang and API -
          • Java 言語仕様・JVM仕様のバージョンごとの差分を見れるページを作りました。 - Qiita

            世界 30 億の Java エンジニア向けに、Java 言語仕様・JVM仕様のバージョンごとの差分を見れるページを作りました。 The Java Language Specification diffs The Java Virtual Machine Specification diffs ぜひご利用ください! なにこれ? Java の各バージョンごとの言語仕様・JVM仕様はこちらのページで公開されています。 Java Language and Virtual Machine Specifications ただ、バージョンごとの変更点がありませんでした1。 そこで、各ページからテキストを抜き出して2、GitHub 上で差分が見れるようにしました。 更新について 細かい誤字脱字の変更とかを除いた差分が作れるとより良いのですが、そうすると今後の更新に手間がかかってしまいまそうでした。 それよ

              Java 言語仕様・JVM仕様のバージョンごとの差分を見れるページを作りました。 - Qiita
            • ヤフーのJava開発を支えるJavaサポートチーム

              ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは。Yahoo!広告エンジニアの高見と申します。 2021年10月より「第11代黒帯〜プログラミング言語(Java)〜」 に就任しました。 この記事では、「ヤフーにおけるJava開発」と、私が従事している「Javaサポートチームの活動」について、紹介します。 (※黒帯制度とは:各領域において突出した専門性を持つ社員を黒帯として任命し、社内外における活動を会社として支援する制度) 1.ヤフーにおけるJava環境 2017年10月頃から全社でシステムのモダナイゼーションが推進されています。 この取り組みで、主要開発言語がPHPから、JavaとNode.jsに変更となりました。 Javaは、主にサーバーサイドアプリケーションで使

                ヤフーのJava開発を支えるJavaサポートチーム
              • 知って使えるJVMの概要とヒープダンプ取得から解析まで

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

                  知って使えるJVMの概要とヒープダンプ取得から解析まで
                • 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導入を検討したい人に向けた情報をまとめてみた
                  • Using Native Memory by JVM | DevelopersIO

                    はじめに こんにちは。事業開発部のこむろ@さっぽろです。 最近、諸事情から所属部署でどこにでも顔を出す人として活動しています。 今回はJVMのメモリ周りについて初めて調べました。 背景 Javaアプリケーションを利用している場合、最近ではContainerを利用してアプリケーションを起動しているところも多いかと思います。わたしの所属する事業開発部では、ECSを利用して複数のJavaアプリケーション(Spring Boot)をContainerで稼働させています。 Containerで稼働させるため一つのホストのリソースをすべて割り当てられるわけではありません。Containerには利用できるリソースにハードリミットが設けられているため、リソースの配分には少々気を使う必要があります。 今まであまり意識してチューニング等していなかったのですが(富豪的にメモリを割り当てたりしてて深く考えていなか

                      Using Native Memory by JVM | DevelopersIO
                    • Java SEの動向 2022夏版

                      仮想スレッド/ネイティブイメージ/CRaC/ノンブロッキングにも対応! msで起動しオンプレからサーバレスまで幅広く利用できる 軽量OSSフレームワークQuarkus

                        Java SEの動向 2022夏版
                      • Apache Log4j2 Remote Code Execution (RCE) Vulnerability - CVE-2021-44228 - ESA-2021-31

                        Subject: Apache Log4j2 Vulnerability - CVE-2021-44228, CVE-2021-45046, CVE-2021-45105, CVE-2021-44832 - ESA-2021-31 ​​Note - We will update this announcement with new details as they emerge from our analysis. Please check back periodically. Update Log Dec 16, 2021 - 04:20 UTC - Update Summary: ECK 1.9 released which automatically adds the JVM option to impacted Elasticsearch clusters managed by EC

                          Apache Log4j2 Remote Code Execution (RCE) Vulnerability - CVE-2021-44228 - ESA-2021-31
                        • JVMの比較を目的とする新しいパフォーマンスベンチマーク”Renaissance”

                          フルスタック開発者のためのBallerina: バックエンドAPI開発ガイド この記事では、REST API開発のためのプログラミング言語"Ballerina"の直感的な構文について解説します。さらに、認証や承認、OpenAPIツール、可観測性、SQL/NoSQLクライアントライブラリなど、重要な言語機能についても論じます。記事を読み終えれば、Ballerinaが次のバックエンドAPI開発の有力な候補である理由がよく理解できるでしょう。

                            JVMの比較を目的とする新しいパフォーマンスベンチマーク”Renaissance”
                          • PHP で JVM を実装して、 HelloWorld を出力してみる

                            - PHPerKaigi 2020 - English Title: Implement JVM with PHP and try to output Hello World

                              PHP で JVM を実装して、 HelloWorld を出力してみる
                            • Spring Bootアプリケーションのネイティブイメージが簡単に作れるSpring Nativeの紹介 | フューチャー技術ブログ

                              はじめにこんにちは、2021年新卒入社の本田です。私はJavaもSpring Bootもほとんど何も知らないのですが、業務でSpring Bootを使いそうなので、「Spring勉強しなきゃ😇」という気持ちがあります。 Spring Bootアプリケーションのネイティブイメージが簡単に作れるSpring Nativeについて調べてみたので、それを紹介します。 Spring Nativeとは?Spring NativeとはSpring Bootアプリケーションをほとんど変更することなく、ネイティブイメージを生成することを目指したプロジェクトです。ネイティブイメージの実行はJVM(Java仮想マシン)による実行と比べて、起動時間が早い、ピークパフォーマンスに達するのが早い、メモリの使用量が小さい等の利点を持っています。 Spring Nativeでは、Spring Bootアプリケーションの

                                Spring Bootアプリケーションのネイティブイメージが簡単に作れるSpring Nativeの紹介 | フューチャー技術ブログ
                              • Don't Put Fat Jars in Docker Images

                                Philipp Hauer's Blog Engineering Management, Java Ecosystem, Kotlin, Sociology of Software Development Posted on Oct 14, 2019. Updated on Jun 12, 2022 Putting a fat jar into a Docker container is a waste of storage, bandwidth and time. Fortunately, we can leverage Docker’s image layering and registry caching to create incremental builds and very small artifacts. For instance, we could reduce the e

                                  Don't Put Fat Jars in Docker Images
                                • Java 17:OpenJDKのコンテナ対応における新機能 - 赤帽エンジニアブログ

                                  Red Hat で Java Platform Advocate として OpenJDK を担当している伊藤ちひろ(@chiroito)です。 この記事は、Red Hat Developerのブログ記事、Java 17: What’s new in OpenJDK's container awareness | Red Hat Developer の翻訳記事です。 OpenJDKは、以前からLinuxコンテナ(DockerやPodman、またKubernetesのようなコンテナオーケストレーションフレームワークなど)を意識してきました。コンテナ対応とは、OpenJDKがコンテナ内で動作していることを検出することを意味します。この記事では、コンテナ対応がなぜ有用なのか、OpenJDKのその領域で最近何が変わったのか、そして、開発者がJVMの設定決定方法について理解を深めるために利用できる診断

                                    Java 17:OpenJDKのコンテナ対応における新機能 - 赤帽エンジニアブログ
                                  • ZOZOFIT 認証フローにおけるJVM言語実装のLambda関数のパフォーマンス改善 - ZOZO TECH BLOG

                                    はじめに こんにちは。計測プラットフォーム開発本部バックエンドチームの岡山です。普段はZOZOMATやZOZOGLASSなどの計測技術に関わるシステムの開発、運用に携わっています。去年の夏にZOZOFITというサービスを北米向けにローンチし、そのシステムも同様に開発、運用に携わっています。 本記事では、ZOZOFITの認証フローで実行されるScala実装のAWS Lambda関数が抱えていたパフォーマンス課題と、その課題の解決に至るまでの取り組みについてご紹介します。 目次 はじめに 目次 ZOZOFITとは ZOZOFITが利用する認証サービス カスタム認証フローとは パフォーマンスに関する課題 カスタム認証フローにおけるボトルネックの特定 Lambda関数のボトルネック調査 Lambda関数のメモリ設定最適化 パフォーマンス改善結果 終わりに ZOZOFITとは ZOZOFITは202

                                      ZOZOFIT 認証フローにおけるJVM言語実装のLambda関数のパフォーマンス改善 - ZOZO TECH BLOG
                                    • JVM勉強会(開発編)を開催しました - 株式会社ヘンリー エンジニアブログ

                                      こんにちは、SREの戸田です。本日はJVM勉強会(運用編)に続けて開催したJVM勉強会(開発編)の一部を公開します。 図1 勉強会はやっぱりGoogle Meetでオンライン開催しました システムプロパティ システムプロパティは環境変数のように、プログラムの挙動を変えるために利用することが多いです。例えばOpenJDKそのものでも Integer.valueOf() で値をどの程度キャッシュするか*1を設定するためにシステムプロパティを使っています。 他にも user.language あたりはよく知られていますし、標準で提供されるシステムプロパティも多数あります。しかし製品コードから直接参照することは基本ないと思っていて、 File.pathSeparator などの提供されたAPIを使うことが望ましいでしょう。またシステムプロパティは動的に変更することも可能ですが、システムプロパティを

                                        JVM勉強会(開発編)を開催しました - 株式会社ヘンリー エンジニアブログ
                                      • JVM勉強会(運用編)を開催しました - 株式会社ヘンリー エンジニアブログ

                                        こんにちは、SREの戸田です。本日は社内で開催したJVM勉強会(運用編)の一部を公開します。 JVM、使っていますか?弊社ではサーバサイドKotlinが活躍しているので、もちろん日常的にJVMが稼働しています。このためサービス運用の一貫で必要になる知識や関連ツールなどをSREないしプロダクトチームに共有することを目的として、この勉強会を開催しました。 図1 勉強会はGoogle Meetでオンライン開催しました パフォーマンス・チューニング サービスを開発していると、この処理をもっと高速化したい!ランニングコストを抑えてユーザ体験の向上に投資したい!というというシーンには多く遭遇しますよね。こうしたユーザが増えてサービスに負荷がかかるようになったことで生じた課題に対して迅速に打ち手が取れることは、とても重要です。 しかし焦ってはいけません。「このコードはめっちゃループしてるし遅そう!」「あ

                                          JVM勉強会(運用編)を開催しました - 株式会社ヘンリー エンジニアブログ
                                        • なんとなく使わないGradle

                                          はじめに 最近スパイスカレーを食べるのはもちろん、作るのにもハマっている小林(@mako-makok)です。 近所のお気に入りのお店の閉店が決まってしまい、悲しみに暮れていますが頑張ってアドカレの記事を書きました。 この記事は株式会社ログラスProductチームの2022年12/18(日)の記事です。 株式会社ログラス Product チーム のカレンダー | Advent Calendar 2022 - Qiita なぜ今更Gradleかというと、最近社内で構築しているSheetlinというライブラリがあります。 ニッチな話になりますが、Sheetlin のインターフェース設計に関する話をKotlin Fest Reject Conference 2022でしてきたので、よろしければこちらもご覧ください。 そんなSheetlinですが、ビルドツールはGradleを利用しています。 私も雰

                                            なんとなく使わないGradle
                                          • Googleがアプリ起動を30%高速化させる「Androidランタイム」のアップデートを発表、Android 12以降なら古いスマホも高速化

                                            Googleが2023年8月21日に、Android Runtime(ART)のアップデートによりアプリの起動時間や実行速度を大きく向上させられるようにすると発表しました。ARTがOSとは独立して更新できるようになったことで、古いAndroidがインストールされているスマートフォンでもアプリのパフォーマンスが改善することが期待できます。 Android Developers Blog: Latest ARTwork on hundreds of millions of devices https://android-developers.googleblog.com/2023/08/latest-artwork-on-hundreds-of-millions-of-devices.html ARTは、Android OS上でアプリを実行する上で中核的な役割を担っているプログラム実行環境で、

                                              Googleがアプリ起動を30%高速化させる「Androidランタイム」のアップデートを発表、Android 12以降なら古いスマホも高速化
                                            • オンライン広告入札システムとZGC ( JJUG CCC 2021 Spring )

                                              200,000 Req/sec をさばく広告入札システムを支えるパフォーマンスチューニング術 #jjug_ccc #ccc_g6Hironobu Isoda

                                                オンライン広告入札システムとZGC ( JJUG CCC 2021 Spring )
                                              • Apache Log4j のためのホットパッチ | Amazon Web Services

                                                Amazon Web Services ブログ Apache Log4j のためのホットパッチ ※この投稿は、2021年12月12日に公開された Hotpatch for Apache Log4j翻訳したものです。 CVE-2021-44228 により、広く使用されているオープンソースのロギングプラットフォームである Apache Log4j の脆弱性にパッチを適用、もしくは脆弱性の緩和のために忙しい週末を過ごされた方も多いかと思います。 影響を受けるアプリケーションを実行しているお客様は、この脆弱性に対処するために、Log4j をバージョン 2.15 にアップグレードすることをお勧めします。しかし、これは必ずしも迅速に実行できるとは限らないため、Corretto チームのメンバーは、脆弱な log4j デプロイメントをホットパッチするためのツールの構築に取り組みました。このツールは、Lo

                                                  Apache Log4j のためのホットパッチ | Amazon Web Services
                                                • JVM in Linux containers, surviving the isolation | BellSoft Java

                                                  Alpaquita Cloud Native PlatformThe Cloud-native platform that provides the convenient way to create performant and secure Cloud solutions for your applications. Pricing We offer competitive and flexible pricing for large-scale development projects, and long-term support roadmaps. When failing to optimize cloud costs, companies can overspend up to 70% Read our report to learn more

                                                    JVM in Linux containers, surviving the isolation | BellSoft Java
                                                  • なぜ Go では何百万もの Goroutine を作れるのに Java は数千のスレッドしか作れないのか?

                                                    なぜ Go では何百万もの Goroutine を作れるのに Java は数千のスレッドしか作れないのか? (この記事は Why you can have millions of Goroutines but only thousands of Java Threads の翻訳です) 経験のあるエンジニアならば JVM 言語で次のようなエラーを見たことがあるでしょう。 [error] (run-main-0) java.lang.OutOfMemoryError: unable to create native thread: [error] java.lang.OutOfMemoryError: unable to create native thread: [error] at java.base/java.lang.Thread.start0(Native Method) [erro

                                                      なぜ Go では何百万もの Goroutine を作れるのに Java は数千のスレッドしか作れないのか?
                                                    • Kubernetes で運用する JVM アプリケーションの OutOfMemoryError に備える - Uzabase for Engineers

                                                      こんにちは。SPEEDA 開発チームの old_horizon です。 JVM アプリケーションの運用について回るのが、OutOfMemoryError (以下 OOM) への対処です。 しかし実際に発生した際に、適切なオペレーションを行うのは意外と難しいのではないでしょうか。 特に本番環境では、まず再起動して復旧を急ぐことも多いかと思います。しかし、ただそれを繰り返すばかりでは原因がいつまでも特定できません。 今回は Kubernetes で運用する JVM アプリケーションに対して、ダウンタイムを抑えつつ調査に役立つ情報を自動的に収集する仕組みを構築してみたいと思います。 環境構築 OOM 発生時に、自動的にヒープダンプを取得しコンテナを再起動する java コマンドのオプション指定 補足 ヒープダンプ出力先のボリュームをマウント readinessProbe によるヘルスチェック レ

                                                        Kubernetes で運用する JVM アプリケーションの OutOfMemoryError に備える - Uzabase for Engineers
                                                      • 検査例外再考 - Qiita

                                                        検査例外はJavaで導入された例外に対する興味深い機構です。Javaで導入された当初、検査例外は多くの人々に素晴らしい解決策だと思われました。しかし、最近のメジャーなJVM言語で検査例外をサポートする言語はありません。JVM言語でなくとも、メジャー言語で検査例外をサポートするプログラミング言語は2014年現在1つとして存在しません*1。 何故検査例外は普及しなかったのでしょうか。結論から言えば、Javaの検査例外を用いた例外設計があまりにも難しく、ほとんどの組織にとって設計コストがペイ出来なかったためだと思われます。Javaの検査例外は例外というレイヤーで各々の処理を結びます。この時、別々の抽象度をある単一の例外で結んでしまうと、問題が発生します。つまり、抽象度の異なる処理同士を結びつけるたびに、その差異を吸収する独自例外表現が必要になります。この設計判断は不可能ではないものの、かなり難し

                                                          検査例外再考 - Qiita
                                                        • The changes of JVM Specifications - JVM仕様の変更点 - #chiroito ’s blog

                                                          Java 8 以降の Java 仮想マシンの仕様のうち、各バージョンの差分を洗い出しました。the が that になったり、item が entry になる変更で、文の意味が変らない変更は除いています。 I listed the differences between each version of the Java Virtual Machine specification for Java 8 and later. I excluded changes that do not change the meaning of the statement, such as the changing of "the" to "that" or the changing of "item" to "entry". 元の情報はこちらです。 The original information is h

                                                            The changes of JVM Specifications - JVM仕様の変更点 - #chiroito ’s blog
                                                          • JavaScript で JVM (Java Virtual Machine) を実装する (Hello World 出力編) - Qiita

                                                            背景 先日、Builderscon tokyo 2019 で PHP で JVM を実装して Hello World を出力するまで という内容で登壇しました。 PHP で JVM を実装して Hello World を出力するまで プロポーザル 仕組み上、 PHP 以外の言語でももちろん実装できるというお話をさせていただいて、じゃぁ本当にできるのか?ということで JavaScript でも実装してみました。一発ネタです。 PHPerKaigi 2019 では PHP でクラスファイルの読み方についてというトークをしています。 PHP で JVM に入門する 実装していく 実装は至ってシンプルで中間コードのクラスファイル (例: Test.class) を FileReader で読み込んで 1 文字ずつ処理をしていくだけです。 PHP に標準で備わってる StreamWrapper や

                                                              JavaScript で JVM (Java Virtual Machine) を実装する (Hello World 出力編) - Qiita
                                                            • ContainerJFR入門: コンテナのためのJDK Flight Recorder - 赤帽エンジニアブログ

                                                              Red Hat で Solution Architect として OpenJDK を担当している伊藤ちひろ(@chiroito)です。 この記事は、Red Hat Developerのブログ記事、Introduction to ContainerJFR: JDK Flight Recorder for containers - Red Hat Developer の翻訳記事です。 OpenJDKは長い間、実世界のアプリケーションやワークロードのトップに君臨してきました。これは、パフォーマンス、互換性、信頼性、そして観察可能性を一体化して選ばれています。長年にわたり、JDK Flight Recorder (JFR) と JDK Mission Control (JMC) は、OpenJDKの成功に貢献してきました。しかし最近まで、どちらも商用機能であり、特定のユーザやワークロードでしか利用

                                                                ContainerJFR入門: コンテナのためのJDK Flight Recorder - 赤帽エンジニアブログ
                                                              • Cloud Runで動くJVMの監視にログベースの指標が便利 - 株式会社ヘンリー エンジニアブログ

                                                                株式会社ヘンリーでSREをやっているTODA(@Kengo_TODA)です。弊社ではGoogle Cloud Platform(GCP)を活用してサービスを構築しており、またサーバサイドにはKotlinを利用しています。Cloud Runで動くJVMサービスの監視にログベースの指標が便利だったので紹介します。 何をもってJVMで駆動するサービスを「メモリが足りていない」と判断するか Cloud Runのメモリ監視で最も利用しやすいのは、Cloud Monitoringでメモリ利用率などを見ることでしょう。次に示す図のように、サービスごとのデータを取ってグラフ化できます。 図1 メモリ利用率をプロットしてみた ではこのグラフから何がわかるのでしょうか?例えば下側に紫色で示されたCloud Runサービスはメモリにずいぶんと余裕がありそうです。常時この状態であれば、メモリ割当量を減らしても良さ

                                                                  Cloud Runで動くJVMの監視にログベースの指標が便利 - 株式会社ヘンリー エンジニアブログ
                                                                • I have written a JVM in Rust

                                                                  Published Wednesday, Jul 12, 2023 - 2181 words, 11 minutes Lately I’ve been spending quite a bit of time learning Rust, and as any sane person would do, after writing a few 100 lines programs I’ve decided to take on something a little bit more ambitious: I have written a Java Virtual Machine in Rust. 🎉 With a lot of originality, I have called it rjvm. The code is available on GitHub. I want to st

                                                                  • GraalVM 19.0、待望のGAをリリース

                                                                    フルスタック開発者のためのBallerina: バックエンドAPI開発ガイド この記事では、REST API開発のためのプログラミング言語"Ballerina"の直感的な構文について解説します。さらに、認証や承認、OpenAPIツール、可観測性、SQL/NoSQLクライアントライブラリなど、重要な言語機能についても論じます。記事を読み終えれば、Ballerinaが次のバックエンドAPI開発の有力な候補である理由がよく理解できるでしょう。

                                                                      GraalVM 19.0、待望のGAをリリース
                                                                    • JVM Language Summit 2019(JVMLS) day 1 - きしだのHatena

                                                                      JVMLSに来ています。 JVM Language Summit — July 29–31, 2019 JVMLSはJava VM Language Summitの略で、JVMで動く言語に関するイベントだったのですけど、JVM言語の話はJavaも含めて減っていて、JVMの話がメインになっています。 場所はサンタクララのOracleキャンパスで、元はSunだったところ。 これは去年の写真ですが、普段は社員しか入れないところにSunの看板が、しかも初期のロゴのものです。 技術的な内容につっこんでいくとキリがないので、気になる人は動画を見てもらって、セッションの雰囲気のメモを。 Clojure Futures まず最初はClojureの話 IFnというクラスを中心にいろんな実装の話をしていたのですが、最初なんでiPhoneの話をしてるんだろう?って思ってしまいました。 そんなかで、constan

                                                                        JVM Language Summit 2019(JVMLS) day 1 - きしだのHatena
                                                                      • JVM (Java Virtual Machine) on Emacs - Thanks Driven Life

                                                                        メリークリスマス!本記事は Emacs Advent Calendar 2019 の25日目の記事です。 まずはこちらをご覧ください。 java コマンドと同様、Emacs でも "Hello, World!" を出力していますね。 HelloWorld.java を書き換えてコンパイルしたあとも、java コマンドの結果と同じ文字列を出力しています。 これはどういうことかというと、 純度 100% Emacs Lisp で .class ファイルを解析・実行しています。 つまり Emacs が JVM となった瞬間です。おめでとうございます 🎉 当然ながら JVM 全てをカバーできているわけではなく、基本的な部分だけを実装してあります。 今後も開発は続くかもしれないし、続かないかもしれません。 本記事の概要 開発に至った経緯 開発のおはなし 1. .class ファイルの解析 1-1.

                                                                          JVM (Java Virtual Machine) on Emacs - Thanks Driven Life
                                                                        • GraalVM 20.0: TomcatがWindowsのネイティブイメージとして実行可能に

                                                                          Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。この本では、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

                                                                            GraalVM 20.0: TomcatがWindowsのネイティブイメージとして実行可能に
                                                                          • 退屈なことはGroovyにやらせよう | Recruit Tech Blog

                                                                            はじめに エンジニアの @eiryu と申します。 突然ですが、皆さんは Groovy というプログラミング言語はご存じでしょうか?JVM言語の1つであり、Javaの豊富なライブラリが使え、動的言語でもあるためちょっとしたスクリプトやツールを作るには便利です。 この記事では、実際に私が業務で作ったGroovyスクリプトについて紹介していきたいと思います。 環境情報 この記事の内容は以下の環境にて確認しています。 $ groovy -v Groovy Version: 2.5.0 JVM: 1.8.0_181 Vendor: Azul Systems, Inc. OS: Mac OS X $ awslogs --version awslogs 0.10.0 業務で実際に使った例 awslogsを使ってCloudWatch Logsから並列でログを取得する @GrabConfig(system

                                                                              退屈なことはGroovyにやらせよう | Recruit Tech Blog
                                                                            • JVM Language Summit 2019(JVMLS) day 2 - きしだのHatena

                                                                              JVMLSに来ています。2日目。 JVM Language Summit — July 29–31, 2019 初日はこちら JVM Language Summit 2019(JVMLS) day 1 - きしだのHatena 今日はほぼ1日を通してコンパイラの話でした。 ちなみに、普通はJavaの文脈でコンパイラというとJavaソースコードをJavaバイトコードに変換するツールを指すと思いますが、このイベントではJavaバイトコードをネイティブコードに変換する仕組みを指します。 軽いまとめにしようと思ったけど、今日のWorkshopは結構おもしろかったのだけど資料も動画もなく、記憶だけが頼りなので、いまのうちにちゃんと書いておきます。 JIT and AOT in the JVM JITとAOTの話。 このセッションはすごく面白かったので、ひとつ動画を見るならこれをおすすめします。 朝ご

                                                                                JVM Language Summit 2019(JVMLS) day 2 - きしだのHatena
                                                                              • Announcing CheerpJ 3.0: A JVM replacement in HTML5 and WebAssembly to run Java applications (and applets) on modern browsers

                                                                                Back to blog Announcing CheerpJ 3.0 A JVM replacement in HTML5 and WebAssembly to run Java applications (and applets) on modern browsers TLDR: for the past year, we have been working on a new architecture for CheerpJ: our implementation of the JVM in HTML5/WebAssembly, designed to run Java applications on the browser. CheerpJ 3.0 will be released in the late summer of 2023, and will be easier to u

                                                                                  Announcing CheerpJ 3.0: A JVM replacement in HTML5 and WebAssembly to run Java applications (and applets) on modern browsers
                                                                                • JVM系言語のSQLマッパーについてPostgreSQLの型への対応状況を比較検証 - orangain flavor

                                                                                  KotlinでWebアプリケーションを作るにあたり、SQLを直接記述できるタイプのO/Rマッパー(本稿ではSQLマッパーと呼びます)を探し求めました。 SQLマッパーに求める機能 SQLマッパーに求める機能はBindとMapです。この記事ではBindとMapを次のように定義します。 Bind SQLに埋め込んだプレースホルダー(名前付きが望ましい)に対応するパラメーター群を渡す機能。 例: SELECT ... WHERE price BETWEEN :minPrice AND :maxPrice のようなSQLに、minPriceとmaxPriceプロパティを持つオブジェクトを渡す。 Map 実行結果として得られた行をオブジェクトにマッピングする機能。 例: SELECT id, name, price FROM ... のようなSQLの実行結果を、id, name, price のプロ

                                                                                    JVM系言語のSQLマッパーについてPostgreSQLの型への対応状況を比較検証 - orangain flavor