2012-01-01から1年間の記事一覧
いまCentOSとUbuntuを両方とも対象にした原稿を書いているところです。ランダムなパスワードを生成するという手順の説明で、ちょっと困ってしまいました。CentOS 6.3ではパッケージexpectをインストールするとmkpasswdというコマンドが使えるようになり、Ubu…
RSpec + Spork で Rails アプリケーションのテストを実行する際、モデルクラスを書き換えてもテスト結果が変わらないことがあります。config/environents/test.rb の config.cache_classes の値を true から false に変えれば、この症状はとりあえず治まりま…
double あるメソッドを持ったオブジェクトを作る。doubleは「代役」の意。 user = double("user", name: "Taro") user.name #=> "Taro"第1引数の "user" はRSpecが失敗を報告するのに使うラベルに過ぎない(省略可)。 mock および stub というエイリアスが…
setlocale(3)のman pageによれば、環境変数LC_ALLはLC_MESSAGESよりも優先されるはずなのですが、私の CentOS 6.3 では export LC_ALL=ja_JP.UTF-8 export LC_MESSAGES=en_US.UTF-8のように環境変数をセットしても、日本語でマニュアルが表示される。ただし…
CentOS 6.3 で sudo yum update した直後に、export LC_ALL=en_US.UGF-8 という何でもないコマンドで次のような警告が出るようになりました。 -bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8): そのようなファイルやディレクトリは…
Ubuntu Server 12.04 で次のような警告が出てパッケージのインストールがうまく行かない場合があります。 perl: warning: Setting locale failed. perl: warning: Please check that your locale settings: LANGUAGE = "en_US:en", LC_ALL = (unset), LC_CTY…
example.com でアクセスされた場合と m.example.com でアクセスされた場合で、異なるルーティングを適用したい場合、 scope constraints: { subdomain: '' } do resource :session end scope constraints: { subdomain: 'm' }, module: 'mobile' do resource…
ここに約8.2GBのファイルexample.sqlがあります。これを圧縮したいとします。私のPCでは、bzip2で圧縮すると884秒(15分弱)、gzipでは347秒(6分弱)かかりました。他方、lzopで lzop example.sqlとしたら、120秒(2分)で終わりました。速! lzop -d example.sql…
いま、MySQLのデータベースにusersというテーブルがあって、bdayというカラム名をbirthdayに変更しつつ、新たにdeletedというBoolean型のカラムを追加したいとします。Railsのマイグレーションを使えば簡単です。 class AlterUsers ActiveRecord::Migration …
Cent OS 6.2のDovecot 2.0.9でPOP3サーバを構築中のこと。最後の段階になってDovecotがメールボックスを読み取れないという問題に遭遇しました。/var/log/maillog には次のようなエラーが出ています。 Error: chdir(/var/vmail/kuroda@example.com//) failed…
ufwはファイアウォールの管理ツールで、Ubuntuで標準的に使われています。ufw allow 80/tcp のような簡単なコマンドでポートを開け閉めできます。 CentOS用のパッケージは用意されていませんが、ソースからインストールすれば使えます。 % sudo yum install …
Ubuntu 11.10でFirefox/Thunderbird 13.0.1を使っています。しばらく前から、右クリックでコンテキストメニューが表示されなくなって困っていました。今日、多分これで直るだろうという処方箋を見つけたので紹介します。 Firefoxで[編集]-[設定]メニュー…
SVGでドーナツのような穴の空いた図形を塗りつぶす方法が分からずに悩んでいましたが、昨夜答えを見つけてスッキリ。ドーナツの縁を円や楕円ではなくパスで時計回りに描き、穴を反時計回りのパスとして描いて、塗りつぶせばいいのでした。[参考資料] http://…
class LongTask def perform system("/opt/bin/ruby /home/kuroda/foo.rb") end endというクラス LongTask が定義されていて、これを Delayed::Job.enqueue LongTask.new()のようにして DelayedJob で実行するとします。Rails は /usr/local/bin/ruby (Ruby …
あるLinuxマシンでPostfix Adminを運用しているとします。また、同じマシンでRailsアプリケーションも動いています。パスは /var/rails/example/current とします。ここで、reg@example.jp にメールが届いたら UserMailer.receive に渡す、という処理を行い…
以下のようなシナリオを想定してください。A氏が最初のコミットをして、中央リポジトリにpush: % echo 'ABC' > test.txt % git add test.txt % git commit -m '1st commit' % git pushB氏が2番目のコミットをして、中央リポジトリにpush: % git fetch % git …
いつも忘れてしまうのでメモします。K を秘密鍵のファイル名、C をCSRのファイル名とすると、 openssl genrsa -out K 2048 openssl req -new -sha256 -key K -out CでOK。「2048」は鍵の長さ。最近は2048ビットが普通です。ただし、上記はパスフレーズを設定…
私はMicrosoftのボタンが5個付いているマウスを使っていますが、左の第二ボタンは間違えて押しやすいので無効化してみました。以下、一般ユーザーで実行してください。まず、マウスのidを調べます。 $ xinput listリストの中から該当する項目を探し、id=9 の…
ubuntu 11.10 (クラシック表示) でプリンタのデフォルト設定(色とか)を変更したい場合、「システム設定」→「プリンタ」からではできません。ターミナルでsystem-config-printer &と入力すると現れる「印刷」ウィンドウから行ってください。
CentOS 6.2で遭遇した現象。公開鍵を ~/.ssh/authorized_keys に書き込んだし、~/.ssh のパーミッションを 700 にしてあるし、authorized_keys のパーミッションも 600 だから、絶対に大丈夫だと思うのだけれど、公開鍵方式でリモートマシンにSSH接続できな…