読者です 読者をやめる 読者になる 読者になる

Code Day's Night

ichikawayのブログ

pandasでデータを間引く(リサンプリング)

大量の時系列データをプロットする場合、プロット数が多くなりすぎてグラフが綺麗にでないことがある。 その場合は、データを間引くわけだが、単純にfor文で回して一定期間を処理するのも良いが、pandasを使えば1発でできる。

この間引くという機能はresampleというメソッドを使えば可能。

pandas.DataFrame.resample — pandas 0.19.2 documentation

df_orig = pd.read_csv(file, names=['date','val'],parse_dates=['date'],infer_datetime_format=True,index_col='date')  #CSVからデータをロード

df = df_orig.resample("D").max()   #1日単位の最大値を取得
df = df_orig.resample("H").sum()   #1時間単位の合計値を取得
df = df_orig.resample("10T").mean()   #10分単位の平均値を取得

pyenvで入れたpython3をcronなどから利用する方法

pyenvを使ってインストールしたpython3をcronなどから利用する場合、他のユーザからも実行できるように、まずは.pyenvを/usr/local/pyenvなどに置く。

git clone https://github.com/yyuu/pyenv.git /usr/local/pyenv

vi ~/.bashrc
export PYENV_ROOT="/usr/local/pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"

source ~/.bashrc

pyenv install 3.6.0
pyenv global 3.6.0

pyenv global 3.6.0としておけば、/usr/local/pyenv/shims/pythonが3.6のバージョンになる。 あとは他のユーザがこの /usr/local/pyenv/shims/python を使えばok。 pipでインストールされたmatplotlibやpandasもpython3.6のものとなる。

MacやLinuxにpyenvを入れてお手軽にpython3環境を構築

MacやLinuxにpyenv入れて、python3とmatplotlibなどをインストールする場合
.pyenvの場所は自由に指定できるので、/usr/local/pyenvなどでもok。

git clone https://github.com/yyuu/pyenv.git ~/.pyenv

vi ~/.bashrc
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"

source ~/.bashrc

pyenv install -l でインストール可能なバージョンがリストアップされるので、必要なバージョンをインストール。
このユーザで使うpythonのバージョンを指定。

pyenv install 3.6.0
pyenv global 3.6.0

pipはインストール済みのため、matplotlibなどをインストール

pip -V
pip install matplotlib numpy pandas
pip list

Macだとpython3でそのままmatplotlibを動かすとframeworkエラーが出るので下記で対応

qiita.com

vi ~/.matplotlib/matplotlibrc
backend : TkAgg

AWS Linuxでpython2.7に切り替えてmatplotlibをインストール

メモ

AWS Linuxでは、python2.6が利用されているため、それを2.7に切り替える。 python2.6のpipでは古すぎてmatplotlibがインストールできないため。

alternatives --display python
alternatives --set python /usr/bin/python2.7
python -V

pipをインストールし、matplotlibをインストールする

yum install python27-devel python27-pip
easy_install pip
pip install --upgrade pip

pip install matplotlib numpy

最後に、グラフを描画してhoge.pngに保存するスクリプトを動かして、実際にmatplotlibが動くか確認。

import matplotlib.pyplot as plt
fig = plt.figure()
ax = fig.add_subplot(1,1,1)

x = [0,1,2,3,4,5]
y = [10,20,30,40,50,60]

ax.plot(x,y)
plt.savefig('./hoge.png')

サイトの日英翻訳は?自分が評価できない納品物の悩み

VAddy Adventカレンダー6日目の記事です。 

VAddyの海外展開

VAddyは海外にも売れるサービスだと思ってます。海外のブログ記事では、「DevOpsにセキュリティテストを!」という記事をよく見かけるため、需要は国内の何倍もあると思います。

セキュリティテストの需要は国内外関係ないですし、現地語じゃないと普及しないような特殊なサービスでもないため、私たちも最初から海外も含めて売るつもりで作っています。

英語の壁

VAddyの製品紹介ページ、マニュアル、サービスの管理画面は全て英語/日本語の両対応です。国内ユーザも多いため日本語のサポートはしっかりやりますし、画面を設計していく上でもまず日本語で考えて後から英語の文言を差し込んでいます。

英語の壁は高いというのも感じていて、意味が通じる英語の文章であれば自分たちでも書けるのですが、製品ページやブログ記事などはより自然な英語にしないと読んでもらえないため、英語に関しては基本的に外部に委託しています。

いくつか翻訳サービスを使って分かった自分の無力さ

良い翻訳者を探すために、まずは複数の翻訳サービスの会社を使って、私が書いた下記のブログ記事をそれぞれの会社に翻訳してもらいました。

VAddyが目指す世界と使命 - VAddyブログ - 継続的セキュリティテストへの道 -

それなりに費用がかかりましたが、翻訳者によって品質は結構違うことがわかりました。その中でも自分たちが良いと思った翻訳記事があったので、ここに決めようかと考えていました。

念のため、翻訳された英語記事を知り合いのオーストラリア人エンジニアの人に見てもらいました。結果として、"意味は通じるけれども、大人が書いている文章には見えない"という評価を受けました。

ショックでした・・・

それなりに英語を勉強してきて、これなら大丈夫そうと選んだ記事が、英語ネイティブユーザには不自然だというのです。自分たちがこれから発注していくものを、自分たちが正しく評価できないという現実を突きつけられました。

辿りついた信頼できる人

翻訳のクラウドソーシングはたくさんありますが、毎回違う人が翻訳するのは怖いので信頼のおける人を探すことにしました。結果的に海外の翻訳者マッチングサービスで良さそうな人を見つけてその人にアプローチしました。アメリカ出身で現在は名古屋在住の方です。

先ほどと同じブログ記事を翻訳してもらい、同じオーストラリア人エンジニアにもう一度チェックしてもらいました。結果はOK。その記事がこれです。

Vaddy's vision and mission statement - The Automated Vulnerability Scanner for DevOps

そこからずっとこの方に翻訳をお願いしています。同じ方にずっと翻訳をお願いしているため、VAddyについての考え方や操作は深く知ってもらえて、結果的にVAddyに関する機能の質問は最近はなくなりました。

最近では、私が書いた日本語の文章にはない情報や表現を入れてもらうこともあり、原文よりも120%ぐらい良い英語文章になっていますw

さいごに

自分たちが評価の軸を持っていないもの、正しい評価ができないものは注意が必要ですね。英語以外のケースでもこのようなことが起こらないかチェックしておきたいものです。

 

今日は私が好きなクラフトビール銘柄の紹介を。4年前ぐらいに初めて飲んだオランダのデモーレンという会社が作っている、Vuur&Vlam(ブアー&ブラム)というIPAが最高に美味しかったです。私の中で1位ですね。ボトルビールは日本で買えるのでお試しください。

ラベルもすごくオシャレで、他の銘柄もデモーレンの風味があって特徴が強く、おっとこれ以上は長くなりそうなのでこれぐらいにしておきますね。いつかオランダにある醸造所を訪ねてみたいです。

 

 

VAddyの歴史を振り返る

VAddy Adventカレンダー5日目の記事です。

最近ではコンビニでクラフトビールが買えるようになってきて良いですね。福岡だとまだ少ないですが、東京ではナチュラルローソンのビールの品揃えがすごくて、BrewDogのPunk IPAが普通に置いてあってビックリしました。

今日は、VAddyが今まで何をしてきたのか簡単に振り返ってみたいと思います。

VAddyの歴史

2014年

2013年の年末ぐらいからVAddyのアイディアを議論し始め、2014年の2月頃にVAddyという名前が天から舞い降りてきてきましたw

何をするのか、何をしないのか、どう動いたらユーザに嬉しいのか、など4月ぐらいまでずっと議論し、6月には動くものができました。今考えると、裏の検査エンジンも含めて開発しているので2ヶ月でできたのは非常にスピーディーですね。

6月末に開催されたPHPカンファレンス関西のLTで初めてVAddyの構想を発表し、8月にはベータ版をリリースして利用者を募りました。

2015年

2015年4月に英語版をリリースしました。日本語で作っていたものを全て翻訳して、ドキュメントも用意してスタートしました。

ここから正式版(有料プラン)を議論し、10月にリリースしました。課金やプランの自動ダウングレードなどのバッチ処理が時差によって日付が変わるため、実行時間などを気にするようになりました。

VAddyミートアップを東京と福岡で開催しました。VAddyのセミナーに近い形でVAddyを知ってもらい、デモをみて使えそうか感じてもらうことが目的でした。

2016年

海外カンファレンスや国内カンファレンスでスポンサーブースを出しました。ブースでの反応は上々なのですが、実際のサインアップ数は・・・という感じで難しいですね。

今年はVAddyユーザミートアップと名前を変えて、実際のVAddy利用ユーザの方に講演して頂きました。

VAddyユーザーミートアップ Vol.1を開催しました 

VAddyユーザーミートアップ Vol.2を開催しました 

VAddyユーザーミートアップ Vol.3を開催しました 

VAddyユーザーミートアップ Vol.4を開催しました 

ミートアップやサポートで頂いた意見をもとに機能を実装していきました。大きな機能のリリースではなかったのですが、使い勝手がよくなったと思います。頂いたフィードバックのお礼に実装で返すというマインドでした。

さいごに

ベータ版からまだ2年ですが、ユーザ数も増えてきました。まだ国内ユーザ数の方が多いですが、もうすぐ海外ユーザの数がそれを上回る見込みです。

2017年もよろしくお願いします!(大晦日の記事みたいな終わり方だ・・)

VAddyを運営するビットフォレストという会社

VAddy Adventカレンダー4日目の記事です。

私が最初にクラフトビールに出会ったのはたぶん2008年ごろ、アメリカにあるセーフウェイというスーパーに行った時でした。ビールの陳列棚の大きさもさることながら、多種多様なビールが置いてあり、ほとんどは小さなクラフトビール工場が作った6packと呼ばれる6本セットの瓶ビールでした。よく分からないながらもペールエールを中心に何度か飲みましたが、短期滞在で毎回6本セットを買うのは消費する側には厳しいもので。。この話を書いているうちに今日が終わりそうなのでこのへんにしておきますね。

 今日はVAddyを開発運営している株式会社ビットフォレストについて書いてみます。

株式会社ビットフォレスト

VAddyを開発運営しているのは、株式会社ビットフォレストです。

www.bitforest.jp

創業は2002年ですので、インターネット関係の会社としては古いほうですね。

創業当初はWebシステムの受託開発が中心でしたが、平行して運営していたセキュリティ事業が軌道に乗り、最近ではほとんどがセキュリティ事業となりました。受託開発から自社サービスの会社へと変わっていきました。

CTOの佐藤(金床)は開発もセキュリティも詳しいエンジニアで、オープンソースでWeb Application Firewall(WAF)やDoormanというProxyソフトなどを公開していました。書籍はこれが有名です。

ウェブアプリケーションセキュリティ

ウェブアプリケーションセキュリティ

 

Scutum

 彼が作っていたWAFをベースにクラウド型Web Application Firewallをサービスとして展開させたのが Scutum です。

WAF スキュータム(Scutum) - クラウド型Webアプリケーションファイアウォール

 

開発運営はビットフォレスト、契約、販売、サポートは株式会社セキュアスカイテクノロジーが行っています。 

2009年にScutumがリリースされた当時は、まだアプライアンスのWAFが主流で製品も保守費も高いものがほとんどでした。そこに手軽に導入できるクラウド型WAFを低価格で提供し、顧客に受け入れられ、2016年現在は1800サイトに導入されています。

選ばれてシェアNo.1!| クラウド型WAFサービス Scutum【スキュータム】

2010年からの国内SaaS型WAFシェアNo.1をキープしています。

VAddy

Scutumは通信をリアルタイムに解析して攻撃を遮断するサービスです。それとは別に、根本的な脆弱性(バグ)を発見して解決してもらうのがVAddyで、2014年にベータ版をリリースして、2015年に正式版をリリースしました。

Scutumで日々攻撃を監視し、防いでいるノウハウを使って、VAddyでもCTO金床が脆弱性検査するエンジンを自前で開発しています。

Scutumはサービスの特性上、国内展開が中心となっています。
VAddyは広く海外にも売れるものであると考え、VAddyは海外展開も積極的に行っています。

さいごに

特に何が言いたいか、書いててわからなくなってきましたw
最近、ビットフォレストのオフィスが新宿から大手町に移転しました。大手町にクラフトビアマーケットという良い感じのビールが飲める店があるので、興味がある方は一緒にいきましょう!

www.craftbeermarket.jp