タグ

ブックマーク / qiita.com/koduki (5)

  • 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
  • これだけは覚えたい、ユニットテストを書くための4つのデザイン - Qiita

    もうちょっと規約的なものを「JavaでのUT作成基準を整理してみた」にもまとめてみました。 はじめに 去年、ブログの方に「ふつうのユニットテストのための7つのルール」という記事を書いたのですが、思ったより反響がありました。 あの記事で書いたのはあくまで原理・原則で、それを実現するためにはいくつかのテクニックが必要です。 特に、ああいうルールを作って「ユニットテストを書く事」を厳守するようにしても、 適切なテクニックを知らなければメンテが困難だったり、品質に寄与しなかったり、実行性能が悪いゴミが量産される可能性があります。 じゃあ、どうすれば良いかというと「最初からユニットテストが書きやすいように元のコードを設計する」ということです。 そう。まず身に付けるべきは「テストコードの書き方」では無く「テスト対象コード」すなわち「プロダクトコードの書き方」なのです。 また、ここで言ってる「最初から」

    これだけは覚えたい、ユニットテストを書くための4つのデザイン - Qiita
    clavier
    clavier 2017/01/25
  • Goのfor文で関数のリストを作ろうとして嵌った話 - Qiita

    func main() { xs := []int{1, 2, 3} var cmds []func() for _, x := range xs { cmds = append(cmds, func() { fmt.Println(x) }) fmt.Println("append: " + strconv.Itoa(x)) for _, cmd := range cmds { fmt.Print("func eval: ") cmd() } fmt.Println() } }

    Goのfor文で関数のリストを作ろうとして嵌った話 - Qiita
  • Consulを使ってDockerの名前解決を簡単に実現する - Qiita

    Dockerでサービス群をまとめて立ち上げる時はIPは毎回変わっちゃうので、名前解決が重要になるわけですが、これが結構面倒。 元々、figを使ってたので、linksに書いてればその名前でhost名を書き換えてくれてたので重宝してたんですが、これ起動順も制御してるっぽいので、双方向通信にすると循環参照でエラーに成って起動しません>< なので、手軽にやる方法を色々調べてみたのですが、Consulを使うのが簡単そうなので、そちらを試してみました。 追記: CentOS7で動かす環境も作ってみたので、読むのメンドいから、取りあえず動かしたいって人はこっちをどうぞ。 Consulって何? まず、そもそもConsulって何? ってとこなのですが、 Service Discovery Health Check Key/Value Store を提供してくれるオーケストラレーションの一種です。私もまだしっ

    Consulを使ってDockerの名前解決を簡単に実現する - Qiita
  • Windows 8.1ではじめるイマドキの開発環境 - Qiita

    今までは、メインマシンにはLinuxMacを利用していました。 ただ、最近はVagrantとかが充実してきてLinuxで動くWeb系の開発をするからって、環境をUnix系にする必要もないかな、と思って変化を求めてWindows 8.1 環境をデスクトップにししてみました。 別に紙芝居ゲーム艦これのため変えたわけじゃないですよ? ええ、違うんです。 作業してて結構ハマったり、昔のWindowsの環境構築とは様変わりしてた部分もあるので、その辺をメモります。 はじまりはアカウントから プログラマがWindows 8.1を使うならばまずはじめに考慮することはログインアカウントです。 Windows 8からは認証アカウントをMicrosoftアカウントと連携させることが推奨されます。 利用しているアカウントがローマ字などASCIIだけなら問題はありませんが、私のようについうっかりと日語名にし

    Windows 8.1ではじめるイマドキの開発環境 - Qiita
  • 1