タグ

ブックマーク / kazuhira-r.hatenablog.com (12)

  • Eclipse MicroProfile Rest Clientを試す - CLOVER🍀

    これは、なにをしたくて書いたもの? Eclipse MicroProfileに含まれている、Rest Clientをちょっと見ておこうかなと。 今まで何回か別のテーマを扱っている時に使っているのですが、完全に雰囲気で使っていたのでこの機会に、と。 Eclipse MicroProfile Rest Client Eclipse MicroProfile Rest Clientは、Eclipse MicroProfileのプロジェクトのひとつです。 eclipse/microprofile-rest-client / MicroProfile Rest Client Eclipse MicroProfile 6.1にはRest Client 3.0が含まれています。 ドキュメントページはなく、GitHubリポジトリーと GitHub - eclipse/microprofile-rest-c

    Eclipse MicroProfile Rest Clientを試す - CLOVER🍀
  • systemdのユニット定義ファイルで指定する、EnvironmentFileについて - CLOVER🍀

    systemdのユニット定義ファイルには、EnvironmentFileという要素を記述することができます。 こんな感じに。 [Service] ... ... EnvironmentFile=/etc/default/foo これで対象のサービスが使う環境変数をファイルとして定義して、読み込ませることができます。 ファイルの中身は、「環境変数=値」のように書きます。 MY_ENV_VAR=xxx ... ところで、たまにファイルパスの先頭に「-」がついているものがあります。 [Service] ... ... EnvironmentFile=-/etc/default/bar これはなんでしょう? ちょっと調べてみました。 systemd.exec(5) - Linux manual page systemd.exec $ man 5 systemd.exec optionally pr

    systemdのユニット定義ファイルで指定する、EnvironmentFileについて - CLOVER🍀
  • Jacksonで、JSONをコンテナ型(ListやMapなど)のような型引数を持ったクラスにデシリアライズする - CLOVER🍀

    これは、なにをしたくて書いたもの? Jacksonを使ってJSONをデシリアライズする時に、ObjectMapper#readValueをよく使うわけですが。そういえば、自分で 書いている時にListやMapといったジェネリックな型にデシリアライズしたことがないな、と思い。 工夫が要りそうだなと思い、ちょっと調べてみることに。 デシリアライズ時に型情報を与える まずは、ObjectMapper#readValue(第2引数がClassクラスの方)のJavadocを見てみます。 readValue(JsonParser p, Class valueType) よくよく見ると、こんなことが書いてあります。 Note: this method should NOT be used if the result type is a container (Collection or Map. The

    Jacksonで、JSONをコンテナ型(ListやMapなど)のような型引数を持ったクラスにデシリアライズする - CLOVER🍀
  • ローカルキャッシュにCaffeineでも - CLOVER🍀

    この記事は、「Java Advent Calendar 2016 - Qiita」の4日目の記事となります。 昨日は、@susumuisさんの「Javaが僕にくれたもの | susumuis Info」でした。 明日は、@fukushiwさんのご担当となります。 ローカルキャッシュ、今ならなにを使うでしょう? Javaのキャッシュライブラリといえば、なにを使うでしょうか?OSSものを中心に考えると、次の2つあたりが浮かぶのではないかなぁと思います。 Ehcache ※2系が強いのかな? Google Guava なお、今回は分散キャッシュは考えないことにします。あくまで、ローカルキャッシュを対象に。 Ehcacheについては、すでにAPIが刷新された3系がリリースされており、現時点で3.1が利用できます。…あんまり名前を聞きませんけれど。 ここで、対象として挙げたいのが、今回紹介するCaf

    ローカルキャッシュにCaffeineでも - CLOVER🍀
  • UndertowからVert.xバックエンドになった、QuarkusのRESTEasyを試す - CLOVER🍀

    これは、なにをしたくて書いたもの? 最近Quarkusを触っていなかったのですが、少し前にRESTEasyのバックエンドがUndertowからVert.xに移ったという話を見たので、 1度見ておこうかなと。 Quarkus 0.24.0 released - Vert.x everywhere Quarkus 0.23.2 released - Back on track Quarkus 0.23.1 released - Paving the way to our new HTTP layer 0.24.0で完全に移行していて、0.23.1から移り始めていたんですね。2019年9月の話ですねぇ。 久しぶりに、ちょっと試してみましょう。 環境 今回の環境は、こちら。 $ java -version openjdk version "1.8.0_232" OpenJDK Runtime En

    UndertowからVert.xバックエンドになった、QuarkusのRESTEasyを試す - CLOVER🍀
    uokada
    uokada 2020/11/24
  • 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🍀
  • Clairで、Dockerイメージの脆弱性スキャンを試す - CLOVER🍀

    これは、なにをしたくて書いたもの? Dockerイメージの脆弱性スキャンを実行できるツールについて、ちょっと調べてみて Clairというものが良さそうだったので、まずはこちらを試してみようと GitHub - coreos/clair: Vulnerability Static Analysis for Containers Clairとは? CoreOS社が開発している、コンテナイメージの脆弱性スキャンツールです。 GitHub - coreos/clair: Vulnerability Static Analysis for Containers 以下のような、特徴を持ちます。 Clairに設定された一連のデータソースから、脆弱性に関するメタデータをデータベースに取り込む データソースは複数設定可能で、メタデータは定期的に更新される APIでスキャンを実行でき、またWebhookの機能

    Clairで、Dockerイメージの脆弱性スキャンを試す - CLOVER🍀
  • 実行中のJavaアプリケーションの拡張設定を確認/変更する - CLOVER🍀

    jinfoというJDKに付属しているコマンドラインツールを使用すると、Javaの起動オプションやシステムプロパティを確認できたり、「-XX」ではじまる一部の値については実行中に変更できるようです。 詳しい説明は以下に書いてありますが、jstackやjmapなどと同様、使用するには対象のJavaVMのPIDが必要です。 http://java.sun.com/javase/ja/6/docs/ja/technotes/tools/share/jinfo.html 例えば、以下のようなちょっとわざとらしいオプション指定でJavaアプリを起動します。 $ java -Xmx512M -XX:+UseParallelGC -XX:+UseParallelOldGC -XX:ParallelGCThreads=2 -XX:+PrintGCTimeStamps -XX:+PrintGC -XX:+Pr

    実行中のJavaアプリケーションの拡張設定を確認/変更する - CLOVER🍀
  • JavaでのHttpClientサンプル - CLOVER🍀

    少し前にJAX-RSのクライアントを触ったこともあり、久々にいくつか書いてみたくなりまして。 java.netからJAX-RSまで、いくつかHttpClientのサンプルプログラムを書いてみたいと思います。 サンプルとしては、 簡単なGET/POSTを行う HTTPステータスコードが200かどうか判定する レスポンスをコンソールに出力する です。パラメータのURLエンコーディングとかまでは書いてないので、そこは微妙かも。まあ、こんなのがありますよってことで。 なお、ビルド・実行にはMavenを使用しました。 java.net.URL Java標準ライブラリを使って書く方法になります。特にMaven依存関係などは不要です。 サンプルソース。 src/main/java/httpclient/example/JavaNetHttpClient.java package httpclient.e

    JavaでのHttpClientサンプル - CLOVER🍀
    uokada
    uokada 2017/06/30
    Poolingで合わせて読みたい http://qiita.com/sakito/items/6366015dbbc4a88d56fc
  • Netflix OSS/Eurekaで遊ぶ - CLOVER🍀

    前々からちょっと興味のあったNetflix OSS、ちょっとずつ触ってみようかなと思いまして。 名前はかなり見るので、自分が使うことになるかどうかはかなり不透明ではありますが、知識として知っておくのはよいのではないかなと。 Netflix OSS+Spring Cloudで概要を知るなら、こちらの資料がわかりやすいと思いました。 Spring Boot + Netflix Eureka Eureka で、まずはEurekaから試してみようかなと思います。 GitHub - Netflix/eureka: AWS Service registry for resilient mid-tier load balancing and failover. どういうものかというと、内部DNSの代わり…?サービスディスカバリというらしいです。 登場人物としては、Eureka ServerとEureka

    Netflix OSS/Eurekaで遊ぶ - CLOVER🍀
  • nginxのTCPロードバランシングを試す - CLOVER🍀

    先日、nginxのHTTPでのロードバランシングを試しました。 nginxのHTTPロードバランシングを試す - CLOVER 次は、もっと汎用的にTCPでのロードバランシングをしてみたいと思います。なお、今回はTCPのみで扱いますが、UDPでのロードバランシングも可能なようです。 ドキュメント 主要に利用するモジュール的には、 Module ngx_stream_core_module と Module ngx_stream_upstream_module の2つとなります。 また、こちらのドキュメントも参考にしました。 NGINX Docs | NGINX Load Balancing – TCP and UDP Load Balancer MySQLへの接続をロードバランシングしてみよう 今回のTCP接続の対象として、MySQLサーバーを持ち出してみます。 MySQLサーバーが、次の

    nginxのTCPロードバランシングを試す - CLOVER🍀
    uokada
    uokada 2016/11/07
    ちょうど同じようなことしてる。 自分はデカいデータ取る必要あるからDSRの設定にしたいと思っててそれかなと思ったけどそうでは無かった。
  • Apache SparkのSpark Standalone Modeを動かしてみる - CLOVER🍀

    前回SparkでHello World的なことをやりましたが、今回はSpark Standalone Modeを試してみることにします。 Spark Standalone Mode https://spark.apache.org/docs/latest/spark-standalone.html が、そもそもこれってSparkでとりうるDeployment Modeの一種らしく、クラスタについての用語を見ておく必要がありそうです。 Cluster Modeの用語を読む Cluster Mode Overview https://spark.apache.org/docs/latest/cluster-overview.html ここでのGlossaryという項目に着目すると、それぞれこんな感じ…? 用語 意味 Application ユーザーがビルドした、Spark上に載せられるもの。ク

    Apache SparkのSpark Standalone Modeを動かしてみる - CLOVER🍀
  • 1