2012-01-01から1年間の記事一覧

chef-solo 実行時エラー

DEBUG: Re-raising exception: LoadError - template[/etc/nginx/nginx.conf] (nginx::default line 39) had an error: LoadError: cannot load such file -- moneta/basic_file moneta-0.7.0 を使用していることが原因だった。 gem install moneta -v '~> 0…

start-stop-daemon をcentosで使用する

cd /usr/local/src/ wget http://debian.linux-m32r.org/dists/lenny/main/source/dpkg_1.14.25.tar.gz tar -xf dpkg_1.14.25.tar.gz cd dpkg-1.14.25 ./configure cd /usr/local/src/dpkg-1.14.25/libcompat make cd /usr/local/src/dpkg-1.14.25/utils mak…

ActiveRecord で Trigger を使用する

hair_trigger というgem があったがエラーが出て機能しなかった。execute メソッドで直接SQLを実行することになる。migrate 実行順が影響するので、migration ファイルを別に作成 $ ./script/rails g migration trigger_photos たとえば以下のようにsqlを流…

carrierwave で処理後の画像サイズを取得する

image を セットしたとき、同時にカラムにサイズを保存する処理 class PhotoImageLargeUploader < CarrierWave::Uploader::Base include CarrierWave::RMagick ... process resize_to_fit: [100, 100] process convert: 'jpeg' process :hoge def hoge # rma…

red5 起動時のエラー

[main] ERROR o.a.jasper.EmbeddedServletOptions - The scratchDir you specified: /usr/share/red5/work/red5Engine/ 0.0.0.0/live is unusable. 今まで起動していたが、上記のようなエラーで起動しても正しく動かないときの対処法このディレクトリを削除…

Ubuntu をTime Machine のバックアップ先にする

Ubuntu 10.04.3 LTS OS X 10.8.2AFPというプロトコルに対応する必要が有るため、SMBではバックアップに使用できない。 Netatalk をインストール 依存ライブラリをインストール aptitude update aptitude install libssl-dev libgcrypt11-dev libpam0g-dev li…

メモリ上のストリームクラスを使用する

c++

ファイルに対して読み書きする場合は、fstream を使用しますが、 #include <fstream> int main (int argc, char** argv) { std::fstream fs ("test.txt", std::ios::in | std::ios::out); char bin[255] = {0}; fs.read (bin, 255); } メモリに対して読み書きしたい場</fstream>…

ruby で html アンエスケープ

install $ vim Gemfile 追加 gem "htmlentities" $ bundle install 使い方 puts HTMLEntities.new.decode "&#9834;"

ネットワーク速度を計測

install $ aptitude install iperf サーバー側起動 $ ポートを開ける $ ufw allow 5001 起動 $ iperf -s クライアント実行 $ iperf -c <host></host>

red5 をインストール

java yum install java red5 展開 $ cd /opt $ wget http://wiki.red5.org/downloads/0_9/red5-0.9.1.tar.gz $ tar zxvf red5-0.9.1.tar.gz 起動 $ ./red5.sh > log/console.log 2>&1 & 停止 $ ./red5-shutdown.sh 初期設定では、以下でページを確認でき、ス…

ruby on rails 管理ページ生成

Active Admin を使う場合。 install の順番を間違えると、エラーが出る gem に追加 $ vim Gemfile gem 'activeadmin' $ bundle install インストール $ rails g active_admin:install モデル作成 $ rake db:migrate RAILS_ENV=development --trace 管理でき…

rails + unicorn + nginx

nginx の設定 以下は自分で作成する必要のあるファイル(ubuntuの場合この位置) $ vim /etc/nginx/sites-available/hoge upstream application-unicorn { # Unicornのソケットを指定: server unix:/tmp/unicorn_tagrid.sock fail_timeout=0; } server { ・・…

rails をインストール

rvm ruby マネージャ https://rvm.io/rvm/install/ (参考サイト) バージョンマネージャを使ってインストールする。 $ curl -L get.rvm.io | bash -s stable $ source /etc/profile.d/rvm.sh $ echo source /etc/profile.d/rvm.sh >> ~/.bashrc 必要なライブ…

ubuntu ユーザーを追加

ユーザーを追加 adduser <username> sshログイン時、証明書の必須を無くす vim /etc/ssh/sshd_config #PasswordAuthentication no sudo が利用出来るようにする visudo <username> ALL=(ALL) ALL sudo パスワードを不要にする場合 <username> ALL=(ALL) NOPASSWD: ALL /etc/init.d/ssh relo</username></username></username>…

ubuntu install uninstall

apt-get install apt-get install <pkg> 確認 apt-cache search <pkg> uninstall apt-get --purge remove <pkg> uninstall apt-get remove <pkg> 設定ファイルは消さない dpkg install dpkg -i <pkg>.deb 確認 dpkg -l uninstall dpkg -r <pkg> aptitude install aptitude install <pkg> 確認 ap</pkg></pkg></pkg></pkg></pkg></pkg></pkg>…

node.js をインストール

http://nodejs.org/パッケージマネージャーも公開されているため、 とても簡単に最新バージョンがインストール出来る。 centos $ wget http://nodejs.tchol.org/repocfg/el/nodejs-stable-release.noarch.rpm $ yum localinstall --nogpgcheck nodejs-stable…

Redis を install

install aptitude install redis-server 設定 vim /etc/redis/redis.conf 許可するなら追加 bind 127.0.0.1 bind 192.168.0.10 この方法でinstall したredisでは、publish、subscribe がうまくいかなかった。 ソースからインストールする。 wget http://redi…

node.js で twitter streaming api を利用する

今日現在、streaming API を利用しようと思っていくつか試してみたが、どれもこれもエラーでまともに動かない。node は v0.8.2node-twitter twitter-nodeこちらを使えば良い。 npm install twitter npm install ntwitter

自動起動を編集

自動起動を簡単に変更する install aptitude install rcconf rcconf

paco で make install したプログラムを管理する

make install などの、ファイル生成されたログを保存し、パッケージ管理する事が出来るようになる install aptitude install paco 使い方 現在のディレクトリを管理名としてインストール ./configure make paco -D make install 管理名を指定してインストー…

iptables を ufw で行う

iptablesはサーバーに対するアクセス制限を行うソフトだが、 ubuntuの場合は、ラッパーを用いる。 起動 以後自動起動する ufw enable デフォルトで無効に設定 ufw default DENY ルール追加 $ ufw allow proto tcp from 192.168.1.0/24 to any port 22 $ ufw …

MeCab

install sudo apt-get install mecab sudo apt-get install mecab-ipadic 辞書文字コード変更 /usr/lib/mecab/mecab-dict-index -d /usr/share/mecab/dic/ipadic -o /var/lib/mecab/dic/ipadic -f euc-jp -t utf-8 -p /usr/lib/mecab/mecab-dict-index -d /u…

RAIDの構築

それぞれのHDDをフォーマット 台数分繰り返す gdisk /dev/sdb 新規作成 RAID1 1台は抜けで作成する場合 mdadm --create /dev/md1 --level=1 --raid-devices=2 missing /dev/sdb1 RAID6 mdadm --create /dev/md1 --level=6 --raid-devices=5 /dev/sd[b-f]1 RA…

facebookでの、ogpの扱い

いいねの対象に指定されているページ内に、og:urlがあった場合、facebookのクローラーはそのURLへリダイレクトを行う。 その先にも指定されていた場合、リダイレクトを繰り返した結果、最後のページに書かれたogpの情報を読み取る。 <meta property="og:title" content="タイトル" /> <meta property="og:type" content="website" /> <meta property="og:url" content="http://redirect" /> </meta></meta></meta>

const

c++ c

変更できない定数 const int a = 0; 変更できない定数 int const a = 0; 値を変更できない const int* a = 0; a = NULL; 値を変更できない int const* a = 0; a = NULL; 好き放題 *1 *2 int* a = NULL; 参照先を変更できない。const は 常に左側に係る int *…

パーティションを作成

gdisk fdiskと機能は同じだが、2TBを越えるディスクの場合はこちら。 起動 # gdisk /dev/sdb 作成 n 開始セクタを2048にすることで、作成後の警告が表示されないように出来る。 削除 d fdisk 起動 # fdisk /dev/sdb 作成 n 削除 d

VNC を install

install # aptotude install vnc4server windowシステム変更 # vi /home/****/.vnc/xstartup xsetroot -solid grey vncconfig -iconic & x-terminal-emulator -geometry 80×24+10+10 -ls -title "$VNCDESKTOP Desktop" & # 以下を追加 gnome-session 起動 # …

例外の基本クラス

c++

しょっちゅう自分で投げるクラスは赤くした。 発生タイミングについては、仕様的な記述を見たことがないので、かなり個人的な解釈が含まれている。std::exception#include<exception>std::bad_alloc#include<new>new演算子によるメモリ確保に失敗したときstd::bad_cast#inclu</new></exception>…

template constructer

c++

class Hoge { // x template <typename T> Hoge (); // x template <int val> Hoge (); // o template <typename T> Hoge (T t); // o template <typename T> void func (); }; Hoge hoge; Hoge() コンストラクタはテンプレート引数を指定する方法がないので この書き方は不可能。 Hoge(T t) コンストラク</typename></typename></int></typename>…

Redis pub/sub

RedisはmemcacheやTokyoCabinetなどと同じ、KVSの一つ。 さらに、Pub/Sub型の通信をサポートしている。事前にSubscriberとして接続していると、Publisherからデータが送られてきたとき、接続していたSubscriberすべてにデータが送信される。Gearmanの場合は…