並び順

ブックマーク数

期間指定

  • から
  • まで

321 - 360 件 / 435件

新着順 人気順

javaの検索結果321 - 360 件 / 435件

  • Javaのネイティブバイナリ生成可能なGraalVMの全機能が無料に、最適化コンパイラやG1ガベージコレクションを含む。本番環境でも利用可能

    Javaのネイティブバイナリ生成可能なGraalVMの全機能が無料に、最適化コンパイラやG1ガベージコレクションを含む。本番環境でも利用可能 オラクルは、同社がJavaディストリビューションとして提供しているGraalVMの新ライセンス「GraalVM Free Terms and Conditions」(GFTC)を発表し、あわせてこれまで有償版のGraalVMに含まれていた全ての機能を含む新ディストリビューション「Oracle GraalVM」の提供を開始しました。 GFTCでは、これまで有償版のGraalVMで提供してきた最適化コンパイラやG1ガベージコレクションなどを含むすべての機能が無料で利用可能となり、本番環境での利用も許諾されます。 Introducing a new distribution — Oracle @GraalVM! Use all the greatest G

      Javaのネイティブバイナリ生成可能なGraalVMの全機能が無料に、最適化コンパイラやG1ガベージコレクションを含む。本番環境でも利用可能
    • Concurrency in modern programming languages: Rust vs Go vs Java vs Node.js vs Deno vs .NET 6

      This is part of my "Concurrency in Modern Programming Languages" series Concurrency in modern programming languages: IntroductionConcurrency in modern programming languages: RustConcurrency in modern programming languages: GolangConcurrency in modern programming languages: JavaScript on NodeJSConcurrency in modern programming languages: TypeScript on DenoConcurrency in modern programming languages

        Concurrency in modern programming languages: Rust vs Go vs Java vs Node.js vs Deno vs .NET 6
      • Java 注目の機能:Sealed クラス

        クラスまたはインタフェースはsealedと宣言されている場合があります。これは特定のクラスやインタフェースの集合だけがそれを直接拡張できることを意味します。 sealed interface Shape permits Circle, Rectangle { ... } これは Shape と呼ばれる Sealed インタフェースを宣言します。permits リストは、Circle と Rectangle だけが Shape を実装できることを意味しています。(場合によっては、コンパイラが permits 句を推論できるかもしれません)。 Shape を拡張しようとする他のクラスやインタフェースは、コンパイルエラーを受けます(または、Shape をスーパータイプとして宣言しているラベル外のクラスファイルを生成しようとした場合は、実行時エラーとなります)。 私たちは、final クラスを介し

          Java 注目の機能:Sealed クラス
        • Rが好きすぎてRでJVMを実装したnoteエンジニアに話を聞いてみた|note株式会社

          そんなあるときに、めもりーさんという方がPHPでJVMを実装しているツイートを見つけました。「これはおもしろいな」と思うと同時に「PHPでできるならRでもできるだろう」という思いがこみ上げてきて開発することにしました。 ー そんなに簡単にやってみようと思ったんですね(笑) もともとコンパイラやインタプリタは作ったことがあったので、仮想マシンも作れるかなって(笑) 私が作ったjvmrrはFizz BuzzくらいのJavaコードは実行することができるのですが、めもりーさんの資料のおかげで開発するためのハードルが低く済みました。 ー そもそもなぜRで「変なもの」を開発するようになったのでしょうか? Rって言語仕様が変わっていて本当におもしろいんですよ。それをもっとみんなに知ってほしくて言語仕様を活かしたものを作って公開するようになりました。Rってデータサイエンティストや研究者しか使わないイメージ

            Rが好きすぎてRでJVMを実装したnoteエンジニアに話を聞いてみた|note株式会社
          • decimal型があるからCOBOLもう要らんやろ、という件について(あるいは十進演算の話) - Qiita

            この記事はFUJITSU Advent Calendar 2021の17日目です。 みんな大好きCOBOLの強みに十進演算があります。しかし、最近の言語には十進演算のための型(.NETのdecimalやJavaのjava.math.BigDecimalやその他)があるので、COBOL要らないんじゃない?みたいな話を聞いたりするわけです。それについて、COBOL処理系に関わっている身として思うところを述べたいと思います。「まあ、decimalやBigDecimalとかでできるっちゃできるんだけど…」の「だけど…」の部分を説明してみたい。 内容はざっと以下の通り。 二進浮動小数点で金計算をすると何がまずいかのおさらい。 十進浮動小数点の説明。 decimalやBigDecimalとCOBOL十進型の違い(BCDの説明)。 で? きっかけは、今年9月にとある記事のおかげでCOBOLがtwitte

              decimal型があるからCOBOLもう要らんやろ、という件について(あるいは十進演算の話) - Qiita
            • タイムゾーン呪いの書 (実装編)

              「タイムゾーン呪いの書」は、もともと 2018年に Qiita に投稿した記事でしたが、大幅な改訂を 2021年におこない、同時にこちらの Zenn に引っ越してきました。この改訂で記事全体が長大になったので、「知識編」・「実装編」・「Java 編」と記事を分けることにしました。 この「実装編」は、導入にあたる「知識編」の続きとなる第二部です。おもに Software Design 誌の 2018年 12月号に寄稿した内容をベースにしていますが、修正した内容もかなりあります。本記事全体を通して「知識編」を読んでいることを前提にしているので、ご注意ください。旧 Qiita 版にあった Java 特有の内容は、第三部にあたる「Java 編」にあります。 はじめに 先の「知識編」では、この時刻とタイムゾーンという厄介な概念について一般的な知識を紹介してきました。さて、ではこの知識を具体的に実装に

                タイムゾーン呪いの書 (実装編)
              • Java力をあげるための指針 - きしだのHatena

                また「プロになるJava」の宣伝か、と思われるので、今回は「プロになるJava」の宣伝は自粛します。 Java力をあげるためには最適な「プロになるJava」がオススメなんですが、そうするとこのエントリもこのあたりで終わってしまうので、今回は自重します。 ということで、よく「Java力をあげるにはどうしたらいいか」という質問をみかけます。どうしましょうね、という話。 ここで、「Java力をあげたい」と言ってるときの大半はプログラミング力をあげたいという話です。 もちろん「プロになるJava」もプログラミング力をあげるのにとても役に立つのですが、今回は「プロになるJava」以外で攻めてみましょう。 そうすると実のところJavaにこだわる必要がなくて、そして最近はPythonで無償のテキストがたくさん手に入るので、そういうのを見るといいんではないかと思います。 たとえば「Think Python

                  Java力をあげるための指針 - きしだのHatena
                • UMLを少しでも かわいく したかったのでAWSで解決した - Qiita

                  注:UML初心者に向けた記事です 最終的にこんな感じに… 注: AWS提供の画像を利用しますがAWSのサービスは使用しません。さらにAWSのアイコンプロジェクトが更新止まっており、Azureなども参照しています。 環境設定とねらい Visual Studio Code だけでUMLを練習する環境を作ります。Mac, Windows, Linuxで動きます。 用意するもの Visual Studio Code PlantUML 拡張 Java(ふつうは入ってます) GraphViz(msiインストーラあり) 上記の手順についてわからない人はVisual Studio Code で UML を描こう!が完璧なので、まずは設定を済ませてきてください。 まずは書いてみよう Visual Studio Codeで新規ファイルを作って、まずは myfirst.pu というテキストファイルで保存します。

                    UMLを少しでも かわいく したかったのでAWSで解決した - Qiita
                  • 「Text4Shell」の影響が「Docker」にも拡大 ~悪用が容易な任意コード実行の脆弱性/人気の文字列処理ライブラリ「Apache Commons Text」に欠陥

                      「Text4Shell」の影響が「Docker」にも拡大 ~悪用が容易な任意コード実行の脆弱性/人気の文字列処理ライブラリ「Apache Commons Text」に欠陥
                    • Spring Modulith でモジュラモノリスなアプリの構造を検証してみた - Taste of Tech Topics

                      アクロクエスト アドベントカレンダー 12月9日 の記事です。 普段は Java, Python でバックエンドの開発をしている大塚優斗です😃 最近は Spring フレームワークのメジャーアップデートなどで盛り上がっていますね! 10月にこんな記事を見かけて、Spring Modulith がとても気になっていたので、手元で試したことを書いていきます✍️ Spring Modulith とは Spring Modulith でできること 0. Spring Modulith でのパッケージの扱いについて 1. モジュール構造の検証 循環参照の検知 別モジュールへのアクセス違反の検知 2. モジュールに閉じた結合テスト 単一のアプリケーションモジュールで結合テストができること Bootstrap モードによって、結合テスト時に他モジュールの Bean 生成ができること 3. イベントによ

                        Spring Modulith でモジュラモノリスなアプリの構造を検証してみた - Taste of Tech Topics
                      • 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イメージの利用を更新するためのアドバイス - 赤帽エンジニアブログ
                        • なぜGoogleはKotlinが広まり始めたのにまた別のFlutter (Dart) を広めてるんですか?今からAndroidやるにはReactNative等含め、どの手法が良いと思いますか?

                          回答 (5件中の1件目) Flutterの公開(2017年5月12日)は、GoogleによるKotlinのAdroid開発言語への採用(2017年5月17日)より僅かに前です。Dartの公開(2011年11月)は、Kotlinの公開(2011年7月)より僅かに後ですが、Androidの開発言語へのKotlin採用よりもずっと前のことです。より重要なことは、Kotlinと異なり、FlutterもDartもGoogle謹製であり、Googleによって広めるために生まれてきたことです。従って、Googleが今になってまた別のものを広めている、という認識は的を得ていないと思います。 ここで、F...

                            なぜGoogleはKotlinが広まり始めたのにまた別のFlutter (Dart) を広めてるんですか?今からAndroidやるにはReactNative等含め、どの手法が良いと思いますか?
                          • 注意:macOS 14.4 で JetBrains IDE がクラッシュする問題 | Post Blog

                            更新履歴 2024/4/24 18:10 JetBrains IDE 2024.1 で IDE がクラッシュする問題が別途報告されています。問題および回避策は JBR-6817 です。 2024/3/26 13:00 Apple 社より本問題(Java アプリがクラッシュする問題)に対する macOS の修正 mac OS 14.4.1 がリリースされています。 2024/3/22 22:24 本問題に対するワークアラウンドを含む 2023.3.6 がリリースされましたので回避策に追記しました。 2024/3/18 1:03 macOS 14.4 はセキュリティアップデートを含むため(一般には)適用が推奨されること、および IDE クラッシュの発生頻度は JVM のバージョンや VM オプション、利用形態等の環境により異なることが考えられるため macOS 14.4 インストール済み環境に

                              注意:macOS 14.4 で JetBrains IDE がクラッシュする問題 | Post Blog
                            • AWSアカウントを「Log4Shell」で乗っ取る方法が報告される

                              JavaのLog4jライブラリに存在していたリモートコード実行を可能にする脆弱性「CVE-2021-44228(Log4Shell)」を突いてAWSアカウントを乗っ取る方法をセキュリティ企業のGigasheetが公開しました。 AWS Account Takeover via Log4Shell https://www.gigasheet.co/post/aws-account-takeover-via-log4shell Log4Shellは2021年12月にJavaのログ出力ライブラリ「Apache Log4j」に発見されたゼロデイ脆弱性です。Apache Log4jが広く利用されているだけでなく、Log4Shellを突く攻撃も難度が高くないことから、過去に類を見ないほどのレベルで各方面に深刻な影響を与えるとされており、セキュリティ関連組織や報道機関が2021年12月10日に公開された

                                AWSアカウントを「Log4Shell」で乗っ取る方法が報告される
                              • Kotlin入門|初心者が知るべき勉強のポイントとJavaからの移行メリット - FLEXY(フレキシー)

                                ヤフー株式会社でAndroidエンジニアをしている片淵雄介(@Buchi_orz)と申します。フロントエンド、iOS、Androidなど様々なプラットフォームを経験し、現在はYahoo!ニュースのAndroidアプリを担当しています。今回はこれからKotlinを始めようとする読者に、Kotlinの魅力と最初に知っておきべきポイントを解説します。 フロントエンド、iOS、Androidと様々なプラットフォームを経験してKotlinにたどり着く 私はウェブ制作会社でのフロントエンドエンジニアからキャリアをスタートしました。以降、iOS、Androidなど様々なプラットフォームのプロダクトに携わり、2016年にヤフー株式会社にAndroidエンジニアとして参画。2019年よりYahoo!ニュースのAndroidアプリを担当しています。iOSアプリの開発とAndroid開発を比較すると、Andro

                                  Kotlin入門|初心者が知るべき勉強のポイントとJavaからの移行メリット - FLEXY(フレキシー)
                                • Red Hatが「Quarkus」の商用サポートを開始。JavaコードをコンパイルしてLinuxバイナリを生成、省メモリ高速起動でコンテナ環境に最適

                                  Red Hatが「Quarkus」の商用サポートを開始。JavaコードをコンパイルしてLinuxバイナリを生成、省メモリ高速起動でコンテナ環境に最適 Red Hatは、Kubernetesなどのコンテナ環境に最適化されたJavaアプリケーション開発と実行のためのフレームワーク「Quarkus」の商用サポート開始を発表しました。 #Quarkus, a #Kubernetes-native #Java runtime, now fully supported by @RedHat. https://t.co/EFzJS5wxDW pic.twitter.com/6gwo5Sq15x — Red Hat Developer (@rhdevelopers) May 28, 2020 Quarkusの最大の特徴は、GraalVMのコンパイラを用いてJavaコードからLinuxのネイティブバイナリを

                                    Red Hatが「Quarkus」の商用サポートを開始。JavaコードをコンパイルしてLinuxバイナリを生成、省メモリ高速起動でコンテナ環境に最適
                                  • Java いまふたたびのJDBC

                                    この記事は Java Advent Calendar 2018 の 9 日目のエントリーです。 流行をとらえた話題が多いなか、10~15年前感のあるコンテンツです。化石です。 しかし化石とはいえ、よく使う技術ではあります。 ということで、何気なく使ってたけど改めて勉強し直しました。 検証バージョンjava 1.8.0_181JDBCドライバ postgresql 42.2.5PostgreSQL 10.5 自前ビルド検証環境Java動作環境 Windows 10 Pro ver.1803CPU 4コア(Hyper-Vと共用)RAM 16GB(うち、Hyper-Vへ8GB割り当て)Intel Core i5-4690 CPU 3.50GHzSSDPostgreSQL動作環境 Hyper-V 仮想インスタンスCentOS Linux release 7.1.1503 (Core)CPU 4コア

                                      Java いまふたたびのJDBC
                                    • LINEヤフー Tech Blog コード品質向上のテクニック: 第 1 回

                                      こんにちは。コミュニケーションアプリ「LINE」のモバイルクライアントを開発している石川です。 私達は、高い開発生産性を維持するために、コード品質と開発文化の改善に注力しています。 そのために様々な取り組みを行っているのですが、その 1 つとして Review Committee の活動があります。 Review Committee では、マージ済みのコードを再度レビューし、レビューアとオーサーにフィードバックしたり、レビューで集めた知見を Weekly Report と称して毎週共有したりしています。 この Weekly Report で共有される話題は、Android や iOS といったプラットフォームや、Kotlin や Swift 言語固有の注意点も含まれるのですが、多くの場合はプログラミング一般に適用できるものになるように配慮しています。(ただし、説明のために使うコードは Ko

                                        LINEヤフー Tech Blog コード品質向上のテクニック: 第 1 回
                                      • AndroidアプリのKotlin化をやり切るための腕力 - ドワンゴ教育サービス開発者ブログ

                                        この記事は、ドワンゴ Advent Calendar 2020の4日目の記事です。 N予備校Androidチームでは、およそ2年かけて、Javaで書かれたコードのほとんどをKotlinに書き換えました。この記事では、コードをKotlinに書き換える上で必要だったことをまとめていきます。 Kotlin化に技術はそこまで必要ではない そもそもKotlin化をすることにそこまでの技術力は必要ないです。JavaとKotlinの互換性が高いので、Kotlin化によってコードが壊れることは少ないですし、以下のように文法にも大きな変化はないので、読めないコードが生まれることもありません。 Javaで作成したFragment public class SimpleFragment extends Fragment { @Override public View onCreateView(LayoutInf

                                          AndroidアプリのKotlin化をやり切るための腕力 - ドワンゴ教育サービス開発者ブログ
                                        • プログラミング言語「Rust」が「C」「C++」の後継になるこれだけの根拠

                                          関連キーワード Amazon Web Services | Microsoft(マイクロソフト) | アプリケーション開発 | プログラミング クラウドベンダー大手のAmazon Web Services(以下、AWS)が、プログラミング言語「Rust」のスポンサーになった。Rustは2015年に初の安定版が公開されて以来、「C++」の有力な代替として台頭している。「高性能で安定したアプリケーションを開発できる」「プログラマーの生産性を高められる」と評判だ。Google、Microsoft、Mozilla、Yelp、Dropbox、Cloudflare、AWSといった企業がシステム開発言語としてRustを採用している。 併せて読みたいお薦め記事 新たなプログラミング言語習得の壁 プログラミング学習で誰もがきっとつまずく「2つの障害」とは? 「プログラミング学習」が楽にならない“納得の理由”

                                            プログラミング言語「Rust」が「C」「C++」の後継になるこれだけの根拠
                                          • Javaの新機能を軽く / Breaf introduction of Java 14

                                            2020/5/22に開催されたJJUGイベントでの登壇資料です。

                                              Javaの新機能を軽く / Breaf introduction of Java 14
                                            • セキュアなトークンの作り方 - astamuse Lab

                                              開発部のにゃんです。主にバックエンドを弄っております。 Webアプリケーションではセキュリティ対策のためにランダムな文字列を使用する場面が多々あります。例えば CSRF対策のトークン OAuthやOpenID Connectで使用するnonce, state, code_verifier メールの到達確認用URLのトークン パスワードをhashする際に使用するsalt セッションID これらの値は単に衝突しなければOKというものではありません。十分なセキュリティ強度を確保するためには推測不可能なランダム値を使う必要があります。 以下は推測不可能なランダム値ではありません。セキュリティが求められる場面では使ってはいけません。 Math.randomなどの疑似乱数 日付やユーザ情報のハッシュ ではどのような値が適切なのでしょうか? /dev/randomと/dev/urandom Linuxに

                                                セキュアなトークンの作り方 - astamuse Lab
                                              • なぜAndroidエンジニアは少ないのか - Qiita

                                                はじめに まずはこちらのツイートをご覧ください (駆け出しエンジニアのみなさん、モバイル開発は結構穴場ですよ… 今のところはかなり需要ありますし、供給が足りてないのでかなり狙い目ですよ… とくにAndroidエンジニアは人足りてないので、狙い目ですよ… Kotlin楽しいですよ… みなさん、Android始めませんか?) — どすこい@Android Engineer (@dosukoi_android) October 12, 2020 普段通り思ったことを呟いた結果、なぜか見事にプチバズりしました。 これにはかなり賛否両論あって、自分的にもかなり学びになったので自分の意見とみなさんの意見をまとめていきたいと思います。 Androidユーザーが少ない 個人的にはこれが一番大きいと思います。 しかし調べてみると、iOSとAndroidの割合は6:4くらいなのです。(このAndroidにFi

                                                  なぜAndroidエンジニアは少ないのか - Qiita
                                                • JavaのDockerイメージ何選ぶ? | フューチャー技術ブログ

                                                  Javaアドベントカレンダーにエントリーした記事になります。 Javaのイメージを作る上で、どのDockerイメージをベースに選べばいいのか、というのを軽く調べ始めたら、選択肢がたくさんでてきたので、ちょっと突っ込んで調べてみました。 以前、仕事でPythonコンテナをデプロイする人向けのDockerfile (1): オールマイティ編で書いたOS名とかは今回は紹介しませんので、busterとかalpineとかwindowsservercoreってなによ?というお話はそちらの記事を参照してください。一点アップデートがあるのは、Debian 11がリリースされて、イメージとしてbullseyeというのが追加された点ですね。あとはfocal=Ubuntu 20.04LTSというのを覚えてもらえれば。 JDK周りのニュースOracle JDKが無償配布をやめて、無償利用としてはOpenJDKを、

                                                    JavaのDockerイメージ何選ぶ? | フューチャー技術ブログ
                                                  • GitHub Actions のアクションのつくりかた(JavaScript 編) - 生産性向上ブログ

                                                    help.github.com この記事では、新しくなった GitHub Actions における、JavaScript アクション作成方法について解説します。 www.kaizenprogrammer.com GitHub Actions とはなんぞやという人は、先にこちらの過去記事をどうぞ。 目次 アクションについて アクションの保存場所 アクションのバージョニング 簡単な例 (Hello, World) メタデータ JavaScript アクションの使用する Node.js バージョン toolkit node_modules の管理 README.md 公式テンプレート 少し実践的な例 その他 GitHub 公式のアクション サードパーティーのアクション まとめ アクションについて 前回の記事で新しくなった GitHub Actions の使い方について簡単に解説しました。この記事

                                                      GitHub Actions のアクションのつくりかた(JavaScript 編) - 生産性向上ブログ
                                                    • PythonでPDFファイルのテーブルデータを読み取る - Qiita

                                                      PDFデータ 世の中の人はPDFが大好きなようで、嫌い嫌いと言っていても扱わざるを得ません。しかし、それに何時間もかけるのはちょっと・・・と思うのが人の常です。PDFの表データをしかないというケースもありますが、そのような際に便利なtabula-pyという超便利なライブラリがあったのでメモしておきます。 https://github.com/chezou/tabula-py tabulaにかんして tabulaはPDFの表を抽出するためのJavaのライブラリです。tabula-pyはそのラッパとなっております。そのため、利用するためにはJavaのインストールが必要です。 Javaをインストールした後、下のようにするとPythonのライブラリが利用できます。

                                                        PythonでPDFファイルのテーブルデータを読み取る - Qiita
                                                      • Serverless時代のJavaについて

                                                        1. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Serverless時代の Javaについて AWS Presents, Battle against Massive Load using Your Super Sonic Lambda Function! 1 @_kensh Kensuke Shimokawa Amazon Web Services Japan 2. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Who? 2 •Name • 下川 賢介 • Kensuke Shimokawa •Company • Amazon Web Services Japan •Role • S

                                                          Serverless時代のJavaについて
                                                        • 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 - プログラマーの脳みそ
                                                          • 目次 · 入門: JDK Flight Recoder

                                                            目次はじめに1章 JDK Flight Recoderとは?1.1 JDK Flight Recorder 1.2 Javaにおけるパフォーマンス分析と障害診断 1.3 JFRの歴史 - JRockitからOpenJDKまで 1.4 JFRの動作環境とJMCのインストール 2章 JDK Flight Recorderのアーキテクチャ2.1 JFRのアーキテクチャ概要 2.2 JFRとオーバーヘッド 3章 JDK Flight Recorderの記録3.1 JDK Flight Recorderの記録 4章 JDK Mission Controlによる障害分析4.1 JFR/JMCで分析可能なメトリクス 4.2 Weblogic(WLDF)とJFR 4.3 ECIDと分散トレース 4.x ユースケース 4.x.1 ユースケース1 - バッチのボトルネック分析 4.x.2 ユースケース2 -

                                                            • 分散トレーシングの技術選定・OSS 貢献, Stackdriver Trace での性能可視化・改善 / Distributed Tracing case study

                                                              パフォーマンスに苦労している並列処理システムを改善するために Stackdriver Traceを導入して動作の可視化を行った結果、 ボトルネックの存在が判明してパフォーマンスを改善できた事例について紹介します。 この事例でStackdriver Traceを選定した過程や OpenTelemetry へコントリビュートした経緯についても共有します。 また、新規開発のGraphQLサーバへ導入して REST APIサーバと通信をまたいだ可視化を行った事例についても紹介します。

                                                                分散トレーシングの技術選定・OSS 貢献, Stackdriver Trace での性能可視化・改善 / Distributed Tracing case study
                                                              • 「コメントを全く書かない」プロジェクトに1年従事して思ったこと - Qiita

                                                                初めに 私はSESでエンジニアをしています。そのためいろいろな現場に参画して開発をすることが仕事なのですが、コメントを全く書かないどころかドキュメントもあんまりないという思想のチームに1年従事したときに感じた事を書いた記事です。 開発にはJava,Pythonを利用しているので、これらの言語でサンプルを記載しています。 良かったこと まずは良かったことです。大きく分けては 自身のコーディングスキルの向上 文章力の向上 の2点です。 自身のコーディングスキルの向上 コメントがまったくない。という状態でコードを書いていく場合には、変数名、メソッド名等の命名が非常に重要です。もはや命名さえちゃんとできればコーディング自体はそんなに大変でないといってもいいかもしれません。 SIerの案件ではコメントは多く書けという思想が多いです。そのため、これまでのコードは以下のような感じでした。

                                                                  「コメントを全く書かない」プロジェクトに1年従事して思ったこと - Qiita
                                                                • 米国家安全保障局、CやC++からメモリー安全性の高いJavaなどへの移行を推奨

                                                                  印刷する メールで送る テキスト HTML 電子書籍 PDF ダウンロード テキスト 電子書籍 PDF クリップした記事をMyページから読むことができます 米国家安全保障局(NSA)は米国時間11月10日、ソフトウェアのメモリー安全性強化に向けたガイダンスを公開した。同機関はその中で開発者らに対して、ハッカーらによるリモートコード実行(RCE)をはじめとするさまざまな攻撃からコードを保護するために、C#やGo、Java、Ruby、Swift、Rustといったメモリー安全性の高い言語に移行するよう推奨している。 これらの言語の中では、Javaが企業向けアプリや「Android」アプリの開発で最も幅広く使用されている一方、Swiftは「iOS」アプリの開発環境に取り込まれている点もあって人気プログラミング言語の上位に入っている。また、RustはシステムプログラミングにおいてCやC++の代替とし

                                                                    米国家安全保障局、CやC++からメモリー安全性の高いJavaなどへの移行を推奨
                                                                  • Smalltalkが失敗した理由

                                                                    Room 101より。 Bits of History, Words of Advice 「貴重なものがあるのに、私に喜びを与えてくれるような優雅さがあるのに、なぜ君ら間抜けは劣った言語の乗り物を使うんだ? どうして、そんなに盲目で愚かなんだ?」その議論には絶対に勝てないし、挑戦しない方がいい。 - アラン・パリス, 1978 1970年代後半、Xerox Parcの研究者たちは現代のコンピューティングを発明しました。もちろん、他の場所にもありましたが、Parcは非常に不釣り合いな(不相応な)貢献をしました。 その大部分は、Smalltalkというプログラミング言語をベースとして行われました。40年前、Smalltalkの動的更新とリフレクション機能は、今日の主流言語の中では最も高度なものでした。この言語は、これらの機能を活用して、多くの点で現在、その用語の下で成り済ましている日食、ブラッ

                                                                    • Java 17の新機能でドメインモデリングの表現力を高めてみる - BIGLOBE Style | BIGLOBEの「はたらく人」と「トガッた技術」

                                                                      基盤本部(開発部門)の木下です。Java 17 の新機能を使って、ドメイン駆動設計(Domain Driven Design: DDD)のモデリングの表現力を高める例をご紹介します。 皆さんは「事前条件が OK ならデータベースを更新する」というロジックを、クリーンアーキテクチャのどのレイヤーに実装していますか? 事前条件はドメイン知識なのでドメインサービスに実装したいところですが、リポジトリーを操作するアプリケーションサービスの中に書かれることも多いのではないでしょうか。 クリーンアーキテクチャー。https://style.biglobe.co.jp/entry/2020/02/13/150709 より引用 この記事では、ドメインサービスとアプリケーションサービスをきれいに分離するために、Java 17 で正式導入された interface の sealed と permits を活用

                                                                        Java 17の新機能でドメインモデリングの表現力を高めてみる - BIGLOBE Style | BIGLOBEの「はたらく人」と「トガッた技術」
                                                                      • OAuth2.0からOAuth2.1へ よりよい銀行システムを届けるためにLINEが参考にした技術

                                                                        LINE株式会社の開発拠点の一つである「京都開発室」が、オンラインのエンジニア採用説明会を開催。銀行事業のサーバーサイド開発について、Robert Mitchell氏、野田誠人氏が話をしました。 LINEの銀行サービスとは Robert Mitchell氏(以下、Mitchell):サーバーサイドチームのMitchell Robertと申します。本日、野田さんと一緒に、LINEの銀行サービスの開発について発表したいと思います。よろしくお願いします。 今日の内容ですが、以下の通りになります。まずはLINEの銀行サービスとはなにかついて、軽く説明したいと思います。その後、システムアーキテクチャと開発フローについて話したいと思います。最後は、認証と認可で、これは私たちが担当している部分です。これに関連するスペックや、セキュリティの仕組み、フローについて話したいと思います。 じゃあ、LINEの銀行

                                                                          OAuth2.0からOAuth2.1へ よりよい銀行システムを届けるためにLINEが参考にした技術
                                                                        • コンテナ時代における最新のJava&JVM監視 - #chiroito ’s blog

                                                                          私は、OpenJDKのCommitter業や仕事でミドルウェアのSolution Architectとして活動している関係上、最近はコンテナ上でJavaアプリケーションを動かすことが非常に多いです。 KubernetesでJavaアプリを監視する場合には、Elasticsearch+KibanaやPrometheus+GrafanaなどでログやMBeanを監視する方法が一般的に行われています。 Java 11では有償JDKに含まれていた機能がOpenJDKへ寄贈され、JDK Flight Recorder (JFR)として生まれ変わりました。JFRはJVMの内部の情報やその上で動くJavaアプリケーションの様々な情報をほとんど負荷無く記録し、ファイルとして取得できます。このファイルをJDK Mission Controlなどのツールを使って確認し、これまでより詳細に分析できます。 これまで

                                                                            コンテナ時代における最新のJava&JVM監視 - #chiroito ’s blog
                                                                          • Java 20新機能まとめ - Qiita

                                                                            Java 20が2023/3/21にリリースされました。 https://mail.openjdk.org/pipermail/jdk-dev/2023-March/007517.html The Arrival of Java 20! 今回、正式導入された大きな機能はありません。プレビューとしても新しいものはScoped Valueひとつだけです。次回Java 21がLTSなので、ウォーミングアップなバージョンという感じですね。 詳細はこちら JDK 20 Release Notes Java SE 20 Platform JSR 395 OpenJDK JDK 20 GA Release APIドキュメントはこちら Overview (Java SE 20 & JDK 20) 追加されたAPIまとめはこちら https://docs.oracle.com/en/java/javase/

                                                                              Java 20新機能まとめ - Qiita
                                                                            • x=x+1がわからないのは逐次実行がわかっていないからで、記号を変えても解決にならない - きしだのHatena

                                                                              x = x + 1がわからないという話が流行ってました。 で、「=ではなく:=を使えば」とか「イミュータブルにすれば」とかいう話が出たりしてますが、問題をあとまわしにしてるように見えます。 結局のところ、逐次実行がわかっていないことが表面化している場合がほとんどではないかと。 https://speakerdeck.com/kishida/lets-code-a-process?slide=8 プログラム以外の文章は、基本的にひとつの状態を示していて状態が遷移するということがありません。 推理小説なども、最終的な状態が徐々に開示されるだけともいえます。途中から読むと犯人が変わるということはないですね。もちろんそのように途中から読むと犯人が変わるような叙述トリックは可能ですが、通常はそうではないからトリックになるわけで。 つまり、x = x + 1という式は、x + 1という演算を行ってから

                                                                                x=x+1がわからないのは逐次実行がわかっていないからで、記号を変えても解決にならない - きしだのHatena
                                                                              • Java, MySQLをKotlin, PostgreSQLに移行した - k0kubun's blog

                                                                                7年前にGitHub Rankingというサービスを作り、APIを叩きすぎてGitHubからの風当たりが強くなって*1からはデータの更新を止めていたが、KubernetesやGraphQLの時みたいに技術を試す砂場用に惰性で動かし続けていた。 Issueの機能要望対応が段々面倒になってきて、サーバー代節約のために潰すかと考えていたのだけど、毎日1000PVくらいあるので試しにGoogle Adsenseを設置してみたところ1日平均 $1 くらいは入ってて黒字になりそうだったので、ちょっとメンテしやすくしてデータの更新再開するかー、ということで今回いろいろ綺麗にした。 DB: MySQL → PostgreSQL なぜPostgreSQLにしたのか 個人的には多くの用途ではMySQLとPostgreSQLどっちでもいいと思っているんだけど、今所属してるチームがメンテしてるサービスのDBの多く

                                                                                  Java, MySQLをKotlin, PostgreSQLに移行した - k0kubun's blog
                                                                                • フェアユースは認められたが、Googleは対価を支払うべき - Java API訴訟に寄せて - arclamp

                                                                                  ようやく裁判の結果が出ました。結果としてフェアユースが認められたのはよかったのですが、Googleが勝訴したということは素直に喜べないので、その理由を書いておきます。 関連ニュースは、こういったところから。 約1兆円の賠償金を巡るGoogleとOracleの10年にわたる訴訟が決着、「APIのコピー」は結局違法なのか? - GIGAZINE Google、オラクルの著作権侵害せず 米最高裁判決: 日本経済新聞 グーグル、米最高裁でオラクルに勝訴--「Android」Javaコード訴訟で - CNET Japan 経緯 では、経緯について時系列に沿って整理していきます。推定可能な事実に基づきますが、一部、妄想も含まれています。 2005年 Google(広告収入増やすには無償で改変自由なスマホOSが重要になるはず。普及させるなら開発者の多いJavaベースだよな。でも、クラスライブラリ改変しな

                                                                                    フェアユースは認められたが、Googleは対価を支払うべき - Java API訴訟に寄せて - arclamp