としたにあんの左脳

備忘録です.

LVMに入れたディスクを抜く

60GBのSSDを3枚ぶっこんで180GBのLVMを作った。 最近、その中の1枚が調子悪くて、LVM全体がRead-Only FileSystemになるようになった。 /dev/sdbが調子わるいみたいなので、抜くことにしたが、一苦労だったのでメモ。 [root@openstack-03 ~]# pvdisplay ---…

Ubuntu14.04でQRコード読み込む

UbuntuでQRコードを読みたい。 zbar-tools というパッケージをインストールする $ sudo apt-get install zbar-tools zbarimgというコマンドが追加される。 $ zbarimg qrcode.jpg QR-Code:QRCode on Ubuntu scanned 1 barcode symbols from 1 images in 0 sec…

ld: library not found for -ltbb

ビルドしてたらtbbのエラー出てきた。 ld: library not found for -ltbb 隣の人に聞いたら上手くいった。 $ brew install tbb $ export LIBRARY_PATH=/usr/local/lib:$LIBRARY_PATH

C++でglobっぽいの

参考:c++ - Can I use a mask to iterate files in a directory with Boost? - Stack Overflow boost使う #include <boost/filesystem.hpp> #include <boost/regex.hpp> #include <boost/foreach.hpp> void re_glob(boost::filesystem::path& target_path, std::string& re, std::vector< std::string >& results) { con</boost/foreach.hpp></boost/regex.hpp></boost/filesystem.hpp>…

hipchat-cliの使い方

hipchat/hipchat-cli · GitHub コマンドが終了したらHipchatで通知飛ばしたい時とかに便利 インストール wget https://raw.githubusercontent.com/hipchat/hipchat-cli/master/hipchat_room_message chmod +x hipchat_room_message mv hipchat_room_message …

隠されたgccの歴史

138億年前 ビッグバンの超高温度・超高密度の状態の中でgccが生まれる 40億年前 地球で原始生命が生まれたころ,宇宙のどこかの生命体によりgccが発見される 27億年前 gccを材料とした初めての宇宙船が建造される 2億5000万年前 地球に来ていた宇宙船が現在…

Ansible 勉強会 #1 にいってきた

Ansible勉強会に行って来たので,感想とかをつらつらと. connpassで参加登録した時は補欠100番目とかでしたが,イベント開始の2時間前とかに繰り上がりの連絡がきて急いで行ってきました! 急なお願いにもかかわらず早退をさせてくれた会社に感謝です. と…

Ubuntu12.04のulimitの上限を上げる.

Ubuntu 12.04(他のLinux系OSも同じだと思う)でこんなプログラムを動かすと. IOError: [Errno 24] Too many open files: xxx っていうエラーがでる. 以下のコマンドで確認できるファイルオープン数の上限が1024になっているせいでファイルオープンできなくて…

eth1のIPアドレスをワンライナーで取得する.

ifconfig | grep eth1 -A 2 | grep 'inet addr' | awk '{print $2}' | awk -F: '{print $2}'

UbuntuでNASをマウントする方法(smb)

$ sudo mkdir /mnt/smbfs $ sudo apt-get install smbfs $ sudo mount -t smbfs -o username=[user_name] -o password=[password] //192.168.x.x/[folder] /mnt/smbfs/

夜間バッチでzabbixのトリガーを発動させない方法

zabbixを使って監視をしている. 最近,夜間に走らせているDBのバックアップスクリプトのせいで, PROBLEM: Disk I/O is overloaded on XXX のアラートメールが来まくる. 良くない. Template OS Linuxのデフォルトでは直近5分間のiowaitが20%を超えるとト…

motoはソケットを使うライブラリと併用できない問題

motoを使ってテストをしてた時,テスト中にテストが進まなくなる現象が起きた. テストを見てみると,pymongoを使ってmongodbを叩いているプログラムのテストだった.(もちろんそのメソッドでbotoを使っていた) そのテストはmockを使わずに,実際のmongodbイ…

pythonでbotoを使ったプログラムのテストをする

pythonでS3を使ったプログラムを書く際に使用するライブラリとしてbotoが有名だと思う. 使い方は以下のサイトとかを参考にしたらいいと思う. [Python] botoを使ってS3にファイルを保存する boto でさくらのBASE Storageを弄る « 不定期な記録 botoのサンプ…

qpstudyに行ってきた

業務経験半年な右も左もわからないペーペーのインフラエンジニアなので qpstudy 2014.04 一般枠 〜俺の屍を超えて行け、でも踏まないで〜 on Zusaar に参加してきました! 勉強会って結構敷居高いイメージあるけど、すごく敷居が低い感があって行きやすかっ…

複数のdictを一つのdictにする方法 (python2系)

>>> a = {'a':1 } >>> b = {'b': {'bb':2, 'bbb':22}} >>> c = {'c': "33"} >>> d = dict(a.items() + b.items() + c.items()) >>> d {'a': 1, 'c': '33', 'b': {'bbb': 22, 'bb': 2}}

E [glusterfsd-mgmt.c:621:mgmt_getspec_cbk] 0-glusterfs: XDR decoding error

[glusterfsdを起動して,クライアント側でマウントしようとして,何かうまくいってないっぽい. /var/log/glusterfs/mnt-gfs.logをみてみる. ... E [glusterfsd-mgmt.c:621:mgmt_getspec_cbk] 0-glusterfs: XDR decoding error ... って書いてある. (ここ)…

ubuntuでserviceの起動時のon/offを変更する

sysv-rc-confを使う. $ sudo sysv-rc-conf ssh on $ sudo sysv-rc-conf jenkins off

jsonのnullをpythonでロードするとNoneになる

>>> import json >>> json_str = '{"bar": null}' >>> json.loads(json_str) {u'bar': None} >>>

Vagrantでクリーンなマシンを手に入れる

ChefのクックブックやAnsibleのPlaybookを作る時,ミドルウェアの検証を行いたい時など,クリーンなマシンが必要となることが多くあると思います. プライベートクラウドをもっているところならそれを使えばいいと思いますが,プライベートクラウド作るのは…

mongodbのObjectIdの生成規則

MongoDBのマイグレーションとかしてたら,MongoDBのObjectIdって本当にユニークだっけ?っていう疑問がわいた. 確かいろいろな要素を使って,ユニークになるようにできてたよなぁ...と思って,ちゃんと調べてみた. とりあえず公式のObjectIdの説明.Obj…

Ubuntu Firewall でudpを許可する

fluentdのforward input plugin を使用する際,受け取り側のホストでIP制限をしている場合,ポートを開放してあげる必要があります. fluentdのforward input plugin はイベントの転送をUDPで行います. 今日,fluentdの設定をしていて,うまくフォワードで…

さくらのクラウドで名前解決ができない時の解決法

さくらクラウドのインスタンスを立ち上げた直後にapt-getをしたらエラーになった. いろいろ調べると名前解決ができていないらしい. ここを参考に $ sudo dpkg-reconfigure resolvconf $ sudo reboot してみる.... まだ名前解決できない. /etc/network/in…

fatal error: unsupported/Eigen/MatrixFunctions: No such file or directory

OpenCV OpenCVをソースからビルドしていて,以下のエラーが出た. $ cmake .. $ make ... fatal error: unsupported/Eigen/MatrixFunctions: No such file or directory ... 原因はEigenをBitBucketから持ってきて,手動で/usr/local/includeにインストール…

mongoのISODateのtimezone問題に対処する

mongodbのISODateはtimezoneに対応してないらしい. いろいろ検証してみて,最後はAggregation Frameworkでどうにかしてみようと思う. 準備 以下のスクリプトを動かすとサンプルデータがmongodbに入る. データの形式は以下の通り. 日本時間で2013/01/01 0…

Fluentd Casual Talks #3いってきた

Fluentd Casual Talks #3にいってきたので感想を残しときます. @tagomoris さん スライド Norikraのfluentプラグインのお話. Norikraというのとfluentdを連携してSQLチックにフィルタリングしてゴニョゴニョできるらしい. 一定時間ごとにGroupしてcountし…

Flaskでltsv形式のログを出してみた.(リベンジ)

前回つくった,Flaskのltsvロガーがイケてなかったので,リベンジ. 今回は辞書を渡すようにしたので,使いやすくなったはず.

Flaskでltsv形式のログを出してみた.

前置き 最近,いろいろな問題に直面して,ログの重要性を実感しました.そのため,複数のサーバに分散したログを収集する試みを行っています. その際使用しているのがfluentdです. fluentdの説明は割愛しますが,以下の記事が参考になると思います. Fluen…

Boost.Logのエラー

Boost1.54でロガー機能が追加されたらしく,使ってみようとしたところ, Undefined symbols for architecture x86_64: "boost::log::v2s_mt_posix::record_view::public_data::destroy(boost::log::v2s_mt_posix::record_view::public_data const*)", refere…

fluentdでerror="argument out of range"というエラー

nginxからltsvでログはいてtd-agentでltsvで受けようとしたら, error="argument out of range” というエラーがでた. 2013-11-15 00:28:05 +0900 [warn]: "time:15/Nov/2013:00:28:05 +0900\thost:xxx.xxx.xxx.xxx\tforwardedfor:-\treq:GET /foo/bar HTTP/…

supervisordのstartsecs

supervisordのstartsecsって具体的に何なんだということで,以下の設定で設定でsupevisorを使ってプロセスを起動してみる.プロセスの起動時間をいじってみて,実験してみる. supervisor.d/demo.ini [program:demo] command=python /home/vagrant/test.py p…

vagrantでconfig.vm.network :private_networkがうまくいかない

vagrantを使っていまして,Vagrantfileの config.vm.network :private_network, ip: "192.168.33.10" の行を有効にしてあげるといい感じになるっぽいので,やろうとしました. うまくいきませんでした.ゲスト側で, $ ifconfig してみると,eth0とloしかな…

Ubuntu Server 12.04 LTS のISOファイルからVagrantのBoxを作る

以下のダウンロードページからからUbuntu Server 12.04 LTSをダウンロードしてくる. ubuntu server 12.04LTS 以下のサイトにしたがって,VirtualBoxの仮想環境へUbuntu Serverをインストールする. Virtual Boxへのインストール 以下のサイトにしたがって,…

nginxのerror_logはformat指定できない.

nginxとかsupervisorとかDBのログをfluentdで一括管理したいなぁとおもったので,とりあえず 参考 にしたがって,nginxのログをltsv形式にしてみようとしたわけです. 環境は ubuntu server 12.04 LTS nginx 1.4.3 怒られる nginx.confのログの部分をこんな…

dyld: Symbol not found: __cg_jpeg_resync_to_restart

ある日, $vagrant up しようとしたら,こんなエラーがでた. dyld: Symbol not found: __cg_jpeg_resync_to_restart Referenced from: /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libTIFF.dylib Expected in: /usr/local/lib/libJ…

submodule と subtree-merging

git

gitのsubmoduleとsubtree-mergingがどう違うか実験してみた. やりかたは,calcモジュールとcalcモジュールを使うcomplicated_calcっていうプロジェクトを作る. calcモジュールとcomplicated_calcプロジェクトは別のリポジトリで管理する. submoduleとsubt…

ufw default deny outgoing

Ubuntuのufwのお話. 基本的な使い方はufw の基本的な使い方 [Ubuntu]がいい感じだった. 本題 $ sudo ufw default deny outgoing を設定したら $ sudo apt-get update できなくなった!って話を聞いた. 自分の環境でやってみると, Temporary failure reso…

mixiのインターンにいってきた

9/2~9/30までmixiでインターンをしてきました. Dive into mixi すごく貴重な体験だったので,ブログに残しとこうと思います. ※いろいろと書いちゃいけないことも多そうなのでふんわりと. 今年のmixiのインターンは あなたの好きな仕事をミクシィで経験で…

YAPC::Asia Tokyo 2013 感想&メモ

YAPC::Asia Tokyo 2013 に行ってきたのでメモ&感想 本当はチケットの締め切り後で申し込めなかったのですが,今行っているインターン先のおかげで参加することができました.ありがとうございましたmm ざっくりと感想 YAPCすごい Acme大全買えばよかった.(…

PyCon APAC 2013 カンファレンスデイ1 感想 & メモ

自分の見たセションについての感想と残したメモを PyConAPAC 2013 YouTubeチャンネル 基調講演 スピーカー: georg brandl さん Python 3.2 と 3.3 のリリースマネージャー Sphinxの作者! 動画 内容: このプロジェクトについて. 中性子の実験に使うデバイス…

Jenkinsでperlモジュールの自動テストをできるようにする

Github+Jenkinsが多分出来るようになったので GithubとJenkinsの連携をしてみる - としたにあんの左脳GithubにPushして,Jenkinsが自動でテストしてくれるようにします. MacにPerl開発環境を準備 - としたにあんの左脳 ローカルはこれでやってますが,jenki…

MacにPerl開発環境を準備

MacにPerlの開発環境を構築してみた.参考:plenv + cpanm + carton でPerlの開発環境を構築する | Act as Professional - hiroki.jp 本家:plenv/README.md at master · tokuhirom/plenv · GitHub今どきの開発ではシステムを汚さないために,アプリごとにモジ…

GithubとJenkinsの連携をしてみる

参考エントリー:GitHubとJenkins連動 自動デプロイ 開発環境設定編 at ITエンジニアmegadreamsの開発日記Jenkinsのインストールは終わっています.なので,JenkinsとGithubの連携からはじめます. さくらVPSにJenkinをインストール - としたにあんの左脳ここ…

Jenkinsをアップデート

前回,Jenkinsををインストールしましたが, さくらVPSにJenkinをインストール - としたにあんの左脳 Jenkinsのアップデートをしていなかったのでアップデートをします. (apt-getのアップデートはしたつもりだったんですが...) ここを参考に jenkinsをア…

Jenkinsでログインできなくなった時の対処法

ひとりJenkins遊びのためにJenkinsをインストールして設定をしていました. さくらVPSにJenkinをインストール - としたにあんの左脳権限管理を行ったあとログイン画面に戻されました. ログインしようとしたら,パスワードが通りません.typoしたパスワード…

さくらVPSにJenkinをインストール

さくらVPSの初期設定 - としたにあんの左脳 さくらのVPSの設定を行ったので,Jenkinsのインストールをしたいと思います. インストール 参考エントリーにしたがってインストールを行います. 参考エントリー: madroom project: Ubuntu 12.04にJenkinsをインス…

さくらVPSの初期設定

さくらのVPSを借りました.Jenkinsサーバーを立てて,自動ビルドの練習したいなとおもったので. VPS(仮想専用サーバ)のさくらインターネット スペックは一番安いプランのやつです.さくらVPSにカスタムOSのUbuntu 10.04をインストール+セキュリティ設定な…

Zコマンド

とりあえず $brew install zでてくるログの中に For Bash or Zsh, put something like this in your $HOME/.bashrc or $HOME/.zshrc: . `brew --prefix`/etc/profile.d/z.shと書いてある. $ cat `brew --prefix`/etc/profile.d/z.sh >> ~/.zshrc $ . ~/.zsh…

CloneDiggerを使ってみた

先ほどCloneDiggerのインストールが無事完了したので. CloneDiggerのインストール[備忘録] - toshitanianのブログ 研究で作っているソースコード(これはモデルクローンを検出するプログラム)をCloneDiggerにかけてみる.モデルクローンを検出するプログラム…

CloneDiggerのインストール[備忘録]

エキスパートPythonプログラミングで役に立つツールとして紹介されていたPylintとCloneDigger.Pylintは導入済みだったので,CloneDiggerをMacBookにインストールをしてみた. エキスパートPythonプログラミングインストールにはeasy_installを使用する. $ …

さくらインターネットのレンタルサーバーでPythonバインディングを使ってphpのMeCab APIを作りたい.

はじめに 生のphpでmecab使って形態素解析をしたい. phpファイルを置くだけでAPIが作れるのは魅力的ですね. しかも,さくらインターネットレンタルサーバースタンダードプランにはデフォでMeCabが入ってるらしい. というのも,以前,Yahooの日本語形態素解…