/home/by-natures/dev*

データ界隈で働くエンジニアとしての技術的なメモと、たまに普通の日記。

ヒープダンプやプロファイルを見るのに jvisualvm が便利

以前の記事で JMX へ接続するためのクライアントとして、jconsole を紹介しました: dev.bynatures.net この後作業していて、jvisualvm というコマンドでもヒープダンプを見ることができると知り、そちらの方が便利だったので紹介します。 詳しい紹介記事 ww…

MemoryAnalyzer で巨大なヒープダンプファイルを扱う

ヒープダンプを扱った際のメモです。 メモリを多く使うアプリケーションが OOM エラーで落ちる際に、ヒープダンプを出力すると後々に調査が可能だと知りました。アプリケーション起動時に XX:+HeapDumpOnOutOfMemoryError オプションを設定するか、JMX 経由…

NVD3 で multiBarChart を扱う場合、データには数値型を渡す

Java での開発は少しずつ慣れているのですが、JavaScript は入る現場ごとに使うフレームワークが変わる印象があります。4年前ほどにジョインしたプロジェクトでは ExtJS, 同時期に走っていた別のプロジェクトでは AngularJS を使っていて、チーム間の技術的…

JMX を jconsole/SpringBoot で使う

JMX を業務で触れたため、改めて調べたのでメモ。 とりあえず SpringBoot で動かす JMX に接続するためのクライアントに jconsole というツールがあります。Stackoverflow で "What is the best or most commonly used JMX Console" という質問を見ても jcon…

Jackson パッケージは fasterxml が新しい

少し前に、Jackson パッケージを使おうとしてハマったことがありました。 Jackson には com.fasterxml.jackson グループのモノと org.codehaus.jackson のモノがあります。Jackson は 2.0.0 以降からネーミングスペースが前者の com.fasterxml.jackson に移…

HiveServer2 のメモリ使用量はパーティション数が関係する

まだ詳しく調べられていないのですがメモ代わりに。 先日 HiveServer2 を利用する機会があり、負荷がどのぐらい掛かるかを確認していました。Cloudera の説明によると、同時コネクション数にも依存しますが数GB〜数十GBのヒープ領域が必要だとあります: Con…

YARN の DRF スケジューリングについて

会社で Hadoop The Definitive Guide(いわゆる象本)の第4版を読んでいるのですが、その中の YARN の章で、ジョブスケジューリングのアルゴリズムである Dominant Resource Fairness (DRF) の説明があります。 YARN で複数のリソース(CPU, メモリなど)を…

PermGen 領域に OOM エラー

OOM エラーに出くわしたのですが、よく発生する Heap 領域のものとは違うエラーが発生しました: java.lang.OutOfMemoryError: PermGen space Hive 関係のアプリケーションで発生していて、temporary function を大量に利用する処理を入れたばかりだったので…

アカデメイア ソフトウェア勉強会 #1 を実施しました

前職の方や異業種交流会で知り合った方と機械学習勉強会を運営していたのですが、今回はソフトウェア開発に特化させた勉強会を実施しました。 というのも、機械学習勉強会の参加者で「プログラミング自体を教えて欲しい」という方が多くいて、それならソフト…

機械学習勉強会 #10 (TensorFlow)

実施から時間が経ってしまったのですが、#9 に引き続き、先日 Google 社よりオープンソース化された TensorFlow という機械学習ライブラリを使った勉強会を2016年4月に実施しました。Google+ コミュニティや、前回の TensorFlow の勉強会の内容についてはこ…

機械学習勉強会 #9 (TensorFlow)

先日、約1年越しの機械学習勉強会を実施しました。今回のお題は、先日 Google 社よりオープンソース化された TensorFlow という機械学習ライブラリを実際に使ってみよう!というものです。 Google+ コミュニティや、前回の実施についてはこのブログの 第1回,…

サーバ側からクッキーの有効期限は取得できない

Stackoverflow を眺めていたら、こんな Question がありました: How to get cookie's expire time Flask - How to get a cookie expiration time? PHP / Python(つまりサーバ側)からクッキーの Expiration time を取得したい、というものです。 結論とし…

Google の機械学習ライブラリ TensorFlow メモ

2016年に知り合いの方が TensorFlow の勉強会を開くということで、運営のサポートをすることになりました。設営だけでなく、Python などの言語的なサポートも行うことになったため、この年末年始に勉強しています。 TensorFlow(Google の公式ページ) とは …

機械学習勉強会 #6 セミナー参加者募集中!(11/22(Sat))

私も運営メンバーに加わっている「機械学習勉強会」の第6回ですが、セミナー参加者を募集しています! 「機械学習勉強会」は、機械学習について学ぶきっかけをつくってもらうことが目的の勉強会です。また、社外の人とコミュニケーションを図ることで、みな…

memo: MapR 4.0.1

MapR セミナーのメモを備忘録代わりに残します。間違ってたらご指摘ください。 Drill も MapR-DB(より使いやすいHBase) も MapR なら利用可能ということで、Drill が AWS で利用可能になるのでしょうか…。そう思うと非常に期待が高まります。S3 になんでもか…

AWS OpsWorks を使ってみて分かった善し悪し

OpsWorks は AWS の1サービスで、Chef を使ったプロビジョニングを楽に行ってくれるサービスです。今のプロジェクトでは、自前の Ansible から OpsWorks へ移行しているため、社内で OpsWorks について紹介しました。 スライドの中では、実際に使ってみた所…

機械学習勉強会 #4, #5

機械学習勉強会の第4回, 第5回を実施しましたので、その様子をお伝えします。 第5回は、第6回に控えるチームごとの中間発表のための準備時間としたため、もくもく会としました。セミナーパートが無かったのでやや参加人数は少なかったですが、お菓子やジュー…

アドテック東京2014年 に参加しました

アドテック東京 に参加してきました。思えば就職してから毎年参加しているイベントなので、これでもう3回目の参加。なんだか感慨深い…。毎度のビジターパスでの参加ですが、キーノートは聞けますし、各企業ブースでゲリラ的にいろんな話をしているので、会場…

機械学習勉強会 #3

機械学習勉強会の第3回を実施しましたので、その様子をお伝えします。 第1回, 第2回 の様子もぜひご覧ください。 この勉強会は、「機械学習について学ぶきっかけをつくってもらう」ことが目的です。新しいことを学ぶモチベーションを維持するための仕組みと…

学ぶことの面白さとチーム開発について

ここ3ヶ月ほど、NHK ラジオ講座と TED Talk で英語のリスニングをしていて、定点観測しているわけでもないのでスキルが向上しているかは分かりませんが、そのおかげかいろいろな書籍を読むことも増えて、知的好奇心をかなり満たせている昨今です。 Live as i…

Flask の例外処理について考えてみる

Flask(フラスク)第2段です。 Flask の例外処理の方法について調べたところ、様々な例外処理の方法があることが分かりました。実装においては、好みのものや、アプリケーションにあったものを選択する必要がありますので、調べたことを簡単にご紹介します。…

Flask を使って Basic 認証付きの REST API クラスを作る

Flask(フラスク)は、「プログラミング言語Python用の、軽量なウェブアプリケーションフレームワークである。」 (Wikipedia) ということで、簡単に使うことができる Python のウェブアプリケーションフレームワークです。 インターネット上にもサンプルがた…

機械学習勉強会 #2

機械学習勉強会の第2回を実施しましたので、その様子をお伝えします。 第1回の様子はこちらをどうぞ。 この勉強会は、「機械学習について学ぶきっかけをつくってもらう」ことが目的です。新しいことを学ぶモチベーションを維持するための仕組みとして、月に1…

備忘録:MySQL への CSV データのロード

プログラムでロードすることはあっても、SQL から直接ロードすることがあまりないので、備忘録です。SET 構文が柔軟で便利です。 データベースは MySQL テーブルは既に作成済みの場合を想定 テーブルのカラム順と、CSV のカラム順は異なる Boolean, Date 型…

GoogleAppEngine: Datastore からのエクスポート方法

GAE は基本的にはプログラムから API を叩く必要があり、管理画面からボタンを押せばデータのエクスポートができる訳ではありません。いろいろと設定も必要だったので、メモしておきます。 以前の記事 GoogleAppEngine ことはじめ も合わせてどうぞ。 参考情…

機械学習勉強会 #1

ついに始動しました、機械学習勉強会! 「触ってみたい」「勉強したい」技術っていろいろありますよね。Hadoop や Spark なんかの分散技術も「やってみたいけど、結局実務で使わなきゃ覚えないし」なんて声もよく聞きます。 私にとって、その中の一つに「機…

「Hadoop 徹底入門 第2版」第2部まとめ(Hive での開発)

「Hadoop 徹底入門 第2版」を有志で読み進めているので、そのメモを貼ります。 今回は第2部 13章、Hive での開発方法と Tips です。 [toc]

「Hadoop 徹底入門 第2版」第2部まとめ(Java での開発)

「Hadoop 徹底入門 第2版」を有志で読み進めているので、そのメモを貼ります。 今回は第2部、8章〜10章、Java での開発方法と Tips です。 [toc]

「Hadoop 徹底入門 第2版」第1部まとめ(開発手段・クラスタ構成)

「Hadoop 徹底入門 第2版」を有志で読み進めているので、そのメモを貼ります。 今回は第1部、6章〜7章、Hadoop を動かす様々な方法とクラスタ構成の話です。 [toc]

「Hadoop 徹底入門 第2版」第1部まとめ(HDFS・MapReduce)

「Hadoop 徹底入門 第2版」を有志で読み進めているので、そのメモを貼ります。 今回は第1部、4章〜5章、コア技術である HDFS, MapReduce の説明です。 [toc]