2017-10-01から1ヶ月間の記事一覧

getClass.getCanonicalNameはNullになることもある

@ trait FooFilter { val filterName: String } defined trait FooFilter @ val a = new FooFilter{ override val filterName = this.getClass.getCanonicalName } a: AnyRef with FooFilter = ammonite.$sess.cmd1$$anon$1@3d904e9c @ a.filterName res2: S…

「Scala High Performance Programming」のメモ

ソースコード github.com HDR Histogram(30P) hdrhistogram.org 一定のデータサイズでヒストグラムを表現できるデータ型?あとで調べる Java Flight Recorderについて(33P) docs.oracle.com 普段はvisualvmを使っているけど、別のことができたっけ・・・ Saf…

logbackに重複してログがでる

基本ぽいな。 Logback – Duplicate log messages java - How to avoid double logging with logback? - Stack Overflow logger要素でadditivityをfalseにする。 <logger name="data-logger" level="info" additivity="false"></logger>

Druidのクイックスタート

クイックスタート。Druidのバージョンは0.10.1。 http://druid.io/docs/0.10.1/tutorials/quickstart.html Quickstartで注意点 Java8を使う メモリは8G以上必要 ホスト名が解決できないといけない(/etc/hostsに追加した) 8090ポート 8081ポート Supersetと…

DruidとSupersetについて調べる

プロジェクトで使いたい!的な機運が高まっているのでセットアップしてみることにする。 ちょっと動かしてみる程度ではなく、プロダクションサービスのデータ分析ツールとして導入に耐えるか、を検証するのがゴール。アーキテクチャを再現可能に構築できて、…

Amazon LinuxでJava8を使う

AWS

yak shavingが止まらない。 github.com Druid使おうと思ったらJava8でないと動かないので入れる。 www.server-world.info インストールはこれだけ。 sudo yum -y install java-1.8.0-openjdk java-1.8.0-openjdk-devel alternativesコマンドで1.8を適用する…

EitherでLeftとRightそれぞれの場合に関数を適用する

基本ぽいけど考え込んでしまった。 stackoverflow.com Eitherな値でチェーンしているときに、LeftのときにもRightのときにも関数を適用したいという要件があった。 普通に考えれば次のようにすればいい。 scala> val x: Either[Int, Int] = Right(3) x: Eith…

http4sのデフォルトプールの数

いくつだろうと探していたらみつけた。 github.com CPUのコア+1だ。

コンテナの内部からpodやdeploymentの名前にアクセスする

kubernetes.io ここにある通りでできる。 pod名の取得を試してみた。 こんな感じで追加 ᐅ kubectl edit deploy foo-deployment deployment "foo-deployment" edited - name: MY_POD_NAME valueFrom: fieldRef: fieldPath: metadata.name 本来元のyamlを直し…

Kubernetesのcurrent-contextをzshで表示する

複数のGKEクラスタを切り替えて使っていると(特に開発・ステージング・本番など)、いま使っているcontextを混同してしまいがちで、ステージング環境で開発向けのコマンドを打ってしまったりとかしたのでzshのプロンプトに環境をわかりやすく出すようにした…

Kubectlにcontextを追加する

CUIでやろうとしたが方法が見つからず。ウェブコンソールでURLを表示してそれを叩くだけだった。

SpannerがSessionを使い果たしてブロックした

コンテナ内で動くスケジューラが一定時間で動かなくなるバグを追っていた。最初はスケジューラが止まってしまうのかと予想していたが、ブロックしてずっと待っていただけだった。 スレッドダンプをとったらわかった。 "scala-execution-context-global-1802"…

Scala High Performance Programming を借りた

www.amazon.co.jp たまたま取り組んでいる途中のscalaアプリケーションのチューニングをやっていてググったときにこの本の一部がGoogle Booksでヒットしたので借りてみた。 ざっと読んだ感じ、いまの自分の課題感にマッチしてる。 * Chapter1 パフォーマンス…

scala 2.12.4リリース

Scala 2.12.4 is now available! | The Scala Programming Language github.com Our benchmarks show a further 5–10% reduction in compile times since 2.12.3. これは期待ですね

ReplicationController -> Deployment + Replicaset

ちょっと古い記事みてるとReplicationControllerというものを探そうとしててなくて困った。 kubernetes.io NOTE: A Deployment that configures a ReplicaSet is now the recommended way to set up replication. ReplicationControllerはつかわずにdeployme…

fluentdのidフィールド

fluentdの設定、まだ良くわからない&覚えていないものが多い。 qiita.com idフィールド(または@id)はこの値をplugin_idフィールドで使う ここにも記載がある docs.fluentd.org @id: Specify plugin id. in_monitor_agent uses this value for plugin_id fie…