Ubuntuにgrpcをnpm insstallした

grpcを使ってみたかったので、npm installできるところまでのメモ。 前提:Ubuntuの用意 $ vagrant box add ubuntu-14.04 https://cloud-images.ubuntu.com/vagrant/trusty/current/trusty-server-cloudimg-amd64-vagrant-disk1.box $ vagrant init ubuntu-1…

負荷テストの学び(4)

web

(1)~(3)では負荷試験について、負荷をかける方法を学びました。 今回は負荷をかけられたサーバの状態を知る方法についてです。 Ganglia GangliaはRRDtoolのフロントエンドだと思えばいいみたいです。 監視したいサーバ内で、gmondのようなGangliaのプロセス…

負荷テストの学び(3)

web

今回は、jmeterからMySQLに負荷をかけてみます。 準備 jmeterがあるフォルダのlib以下に、mysql-connector-java-5.1.29-bin.jar を配置します。 このjarファイルはOracleのページからダウンロードできます。次に、テスト計画を作成します。 JDBC RequestとJD…

負荷テストの学び(2)

web

実際に Apache JMeter を利用して負荷テスト(性能テスト)をやってみました。 JMeterの設定をする コマンドラインからjmeterを起動します。 上の画像のようにスレッドグループを作りました。 とりあえず、自分が作ったサイトのトップページとその後遷移する…

passengerと組み合わせてnginxを使う

web

passengerからnginxを使うのは簡単です。passengerをインストールしていれば、passenger-install-nginx-moduleが一緒にインストールされているので、これを実行します。いくつか1問1答形式で答えていくと、勝手にコンパイルしてnginxをインストールしてく…

MySQLのmaster/slave環境を作る

web

1つのサーバーでmaster/slave環境を作ります。 ここではmyqsld_multiを利用します。 複数のmysqldをたてる まず、既に /var/lib/mysql のような場所で1つ動いていると仮定します(こいつがマスターになります 元の環境を汚したくないので、/usr/local/var/…

jenkinsのgit-plugin 2.0.2にバグあり

web

2014/02/20にgit-pluginの2.0.2が出ましたが、バグがあったようです。 2014/02/21にバグが修正された2.0.3がリリースされていますので、あれって思った人はアップデートしましょう!バグがあると、こんなエラーが起きます。 過去のビルドが見れない 以下のよ…

負荷テストの学び(1)

web

負荷テストをしたことがないので、何回かにわけて負荷テストについて勉強します。 負荷テストとは 以下、IT用語辞典から引用したものです。 負荷テストとは、システムが実際の業務に耐えられる処理能力を持っているかどうかを検証するためのテストのことであ…

ScalaNLPのchalk/topicsを眺めてみた

topicsには、LDA.scalaしかありません。 LDAとは 文書のトピックを決めるときに使われることがあります。 スマートニュースを想像してもらえばよくわかりますが、ニュースがスポーツだったり、テクノロジーだったりとトピックごとにわけられています。 LDAは…

ScalaNLPのchalk/text を眺めてみた

ScalaNLPのbreezeは以前紹介した通りですが、他のプロジェクトとしてchalkやnakがありました。 今回はchalkの中でもtext以下にあるプログラムがどんなことができるのか調べてみました。ディレクトリを見ると、analyze、segment、tokenize、transformがあった…

MeCabを使ってみた

以前、C++, PythonからMeCabを使ったことがありますが、JavaやScalaから使ったことがなかったので、使ってみました。 mecab-javaの利用 mecab本体のインストールは他の記事を参照してください。当初、Sbtの設定に一行だけ加えるだけで使えるようになるんじゃ…

Jubatusを使ってみた

前回、Scalaで機械学習などをサポートすることを目的としたScalaNLPを紹介しました。 しかし、ScalaにはJavaの資産を使えるというメリットがあるので、今回はJavaを利用して、PFIが開発しているリアルタイム解析基盤Jubatusを使ってみました。 Jubatusについ…

ScalaNLPのQuickStartをやってみた

ScalaNLPとは ScalaNLPには、BreezeとEpicという2つのプロジェクトがある。 Breezeは、Scalaで書かれた機械学習や数値計算のためのライブラリ Epicは、高パフォーマンスな統計的パーザー(Coming soon) Pythonにはnumpyやscipyという便利なライブラリがある…

さくらVPSにRedmine

web

チュートリアルに従っていけば基本問題なし. 一箇所だけエラーが出た.jsonをインストールするときに以下のエラーが出た. /usr/bin/ruby extconf.rb mkmf.rb can't find header files for ruby at /usr/lib/ruby/ruby.hこれはruby-develをインストールして…

さくらVPSとputtygen

web

さくらVPSで鍵認証するときにputtygenの結果をそのまま使うと「server refused our key」が出てしまい鍵認証できません.そんなときは ---- BEGIN SSH2 PUBLIC KEY ---- Comment: "rsa-key-20130405" AAAAB3Nzaagfhdhdfj RrEadgarhdfgjjfaga Y+dgadgfhhghdfj…

cdbを使ってみた

前回のエントリでインストールしたcdbを使ってみました. 今回はmcdbを利用した例を紹介します. cdbあれこれ 実は最初はcdb++で試行錯誤していたのですが,何か上手く扱えていないらしく,なぜかハッシュ化したデータベースをメモリにのせてしまっているよ…

Constant Database (cdb) のインストール

Constant Database (cdb)のインストールをしたときのメモ. cdbは高速処理のために作られたデータベースで,変更処理ができないようになっています.mcdbとcdb++をインストールしました. mcdb のインストール これはcdbの拡張版. cdbよりも高速かつ大規模…

UTF-8テキストの簡易日本語判定

UTF-8で保存されたテキストの日本語判定をする必要があったので,そのメモ. 参考にしたのは,文字コードUTF-8の多言語を含むテキストデータの中に日本語を含むかどうかを調べる方法を探しております。 考え方 文字ずつUTF-8→UCS-2(あるいは、UCS-4)への変換…

SVMで多項式カーネルを使うメリット

SVMで多項式カーネルを使うメリットを考えてみます. 非線形カーネルである これは当然といったところでしょう. 入力空間をある特徴空間で考えられます. 例えば,2次元平面では分離できなかった標本を3次元,4次元にマッピングすることでうまく分離でき…

awkでファイル内の数値の平均を出す

ファイルに数値が入っていたときにawkを使って平均を出す方法をメモ普通にpythonとか使って書けばいいのですが,コマンドラインだけで実行できるメリットがあります. 用意するファイル 1.341055 2.124602 2.032869 1.423714 2.488840 1.098920 2.377547 2.2…

Djangoで静的ファイルを置く

Djangoでcssやimageを使いたいけど,どう設置していいかわからないときのメモです. settings.pyなどの変更 Djangoのチュートリアルで使ったmysiteの構成を考えます.まずmysiteの下にstaticフォルダを作ります. mysite/ __init__.py manage.py settings.py…

Mosesを利用したWebサービスを作る

機械翻訳のデモをやりたいと思ったときに,さすがにローカルのマシンでMosesを動かすのは自殺行為です. そこで,どこかのサーバーに置いておいて,そこにアクセスしたくなるでしょう. そのときのメモです. daemon.plを使う 詳しくはTranslating Web pages…

翻訳モデルの線形補間

前回に引き続き,ドメイン適応させるときに翻訳モデルを線形補間したくなったときのメモです. tmcombine.pyを使う 今回は言語モデルのときとは異なり,単純にmoses.iniに2つ翻訳モデルを書けば出来るわけではないようです. そこで,tmcombine.pyを使いま…

言語モデルの線形補間のパラメータチューニング

機械翻訳をやるときにドメイン適応させるために複数の言語モデルを線形補間したくなることがあります. そのときの方法をメモしておきます. 線形補間の式 各々のドメインで学習した言語モデルをとしたときの式です. IRSTLMを使ったときのチューニング IRST…

C++で正規表現(boost::regex_replace)

C++

C++で正規表現を使いたいなって思った時のことです. std::regex_replace か boost::regex_replace か? 最初は,std::regex_replaceを使うつもりで意気揚々と乗り込んだのですが, std::regex_replaceがなんちゃらってエラーメッセージが出て使えませんでし…

liblinearでマルチラベル分類をやりたいが…

liblinearというSVM学習ライブラリを用いてマルチラベルをやろうとしたときの話です. 公式サイトにマルチラベルと書いてある!? LIBSVM Tools: Multi-label classificationのページにマルチラベル分類について書いてあります. このページの案内に従って,…

MeCabを使ってみる

C++

C++でMeCabを使ってみます. いろいろなファイルは全て揃ってること前提です. プログラム #include <iostream> #include <mecab.h> #include <string> int main(int argc, char **argv) { std::string input2 = "すもももももももものうち"; const char* input = input2.c_str(); MeCab</string></mecab.h></iostream>…

ハッシュでキーを複数の値にしたいときの対処法

C++

例えば,2つのintをハッシュのキーにしたいと思ったときの対処法です. boostの利用 今回は boost/unordered_map.hpp と boost::hash_combine を利用します. この hash_combine によって、ハッシュ値を計算します. hash_combine は与える値の順番によって…

gzファイルで保存したときの速度(読み込み編)

ファイルが大きくなると、どうしても圧縮して保存しなくてはいけません。 そんなときにpythonのgzipを使ったときにどれくらいの遅延がでるのか知りたくて調べてみました。 プログラム #-*- coding:utf-8 -*- import time import gzip def test_a(): """圧縮…

gzファイルで保存したときの速度(書き込み編)

ファイルが大きくなると、どうしても圧縮して保存しなくてはいけません。 そんなときにpythonのgzipを使ったときにどれくらいの遅延がでるのか知りたくて調べてみました。 プログラム #-*- coding:utf-8 -*- import time import gzip def test_a(): """圧縮…