baronyan's blog

linux,macでruby、railsでの開発をしていく中で知ったこと、備忘的なことなどを書いていきます。

gemのバージョン指定インストール

gem install hogegem -v 1.2たまにしか使わないと忘れてしまいますね。

coffee script で関数や変数をグローバルに使いまわしたい時には

宣言時に@を付ければ良いです。coffeeファイル内スコープでの定義 hoge = -> kansu_naiyou グローバルスコープでの定義 @hoge = -> kansu_naiyou

ubuntu12.04の共有ディレクトリにwindowsでファイルを置くと所有者とグループがnobodyになる問題の解決策

GUIでの共有設定を切る /etc/samba/smb.conf に共有設定を入れる [share] path = ~/share available = yes browsable = yes public = yes writable = yes force user = username #←ここが重要 force group = groupname #←ここが重要

ubuntu12.04でsamba共有をwindowsから見えるようにする

私が今作業しているネットワーク内には、ubuntuが載っている仮想マシンが複数あります。 インストール時に横着して全てhostname「ubuntu」でインストールしてしまっていたので名前が競合してしまい、windowsマシンから見えない仮想マシンが存在する状態でし…

文字列を含まない行を選択する正規表現

^(?!.*hogehoge).*$ 否定先読みを利用

ubuntu12.04にvsftpdを入れる

sudo apt-get install vsftpd sudo vi /etc/vsftpd.conf →下記のように編集 anonymous_enable=NO local_enable=YES write_enable=YES ascii_upload_enable=YES ascii_download_enable=YES userlist_enable=YES (追加行) userlist_deny=NO (追加行) userl…

ubuntu12.04(64bit)でpoltergeistを使う方法

前提条件:capybaraが使える状態(参考) まずphantomjsをインストールします。(参考ページ) cd /usr/local/share sudo wget https://phantomjs.googlecode.com/files/phantomjs-1.9.0-linux-x86_64.tar.bz2 sudo tar xjf phantomjs-1.9.0-linux-x86_64.ta…

webrickを使っていて遅いと感じた時の対処方法

~/.rvm/rubies/ruby-1.9.3-p448/lib/ruby/1.9.1/webrick/config.rb を編集し、名前解決できるようにします。 修正後 :DoNotReverseLookup => true 参考:http://blog.setunai.net/20121120/webrickrails%E3%81%8C%E9%81%85%E3%81%84/

postgresqlで文字列を置換してupdateする方法

update machines set ip = replace(ip, '192.168.0', '192.168.3') これでmachinesテーブルのipカラムの「192.168.0」が「192.168.3」に置き換わります。

ubuntu12.04でcapybaraを使う方法

QTをインストールします。 sudo apt-get install libqt4-dev libqtwebkit-dev Gemfileに下記を追記します。 gem 'capybara'gem 'capybara-webkit', "~> 1.0.0"gem 'selenium-webdriver' あとはbundle installすればcapybaraを使えるようになります。 下記が…

既存のリポジトリをgithubに追加する

Git

■github上での作業1.githubの自ページ右上の「Create a new repo」アイコンをクリックして、受け入れ先リポジトリを作成します。■ローカルのコンソールでの作業1.↓のコマンドでリモートブランチをgithubに向けます。git config remote.origin.url git@gi…

rails3.0.3でログにタイムスタンプを表示する方法

今私が運用中のアプリの中に、rails3.0.3ベースのものが2つあります。 railsのデフォルトのロガーはなんと日時を表示してくれず、 障害発生時に困ることがしばしばでした。 そこで、ログに日時が表示されるようにカスタマイズしてみました。 rails標準のログ…

rails3のAR(Arel)でIN句を使った条件をAND、ORで連結する方法

rails3のAR(Arel)でIN句を使った条件をAND、ORで連結する方法 AND、ORを使わずにIN句を使うには、下記のように第二引数で配列を指定すれば良いです。簡単ですね。scope :magazine, where("type_id in (?)", BookType.has_magazine_code.map{|ele| ele.id }…

sqliteでの文字列結合

'hoge' || 'fuga'

gsubの第二引数(置換後)にマッチ結果を指定する方法

通常 /regexp/ =~ str でマッチした結果は $1や$&等で取得可能です。 ところが、stringのgsub(置換メソッド)でマッチ結果を使う場合は 少しやり方が変わります。 str.gsub(/regexp/, '\1') これで第1マッチ結果を置換後の値として使用できます。 (通常は…

postgresqlの検索条件に正規表現を使う方法

= の代わりに ~ を使います。 例 where tel ~ '^\d+-\d+-\d+$' これで電話番号の後ろにキャプション等が付いていないレコードのみ抽出できます。

空白の削除

text.gsub(/[[:space:]]/, '') で全角半角(その他諸々)まとめて削除できます。 ([]は半角)

rvmでバージョンにaliasを付ける

例 rvm alias create hoge ruby-1.9.3-p392

gemのドキュメントをブラウザで見る方法

C:\ruby> gem server http://localhost:8808/で閲覧可能

macのgrepでor検索

mac

使用例 ps ax |grep "rails\|jobs"

sambaサーバへのログイン

1.アクセスできるディレクトリの確認。 smbclient -U ユーザ名 -L サーバ名 2.ログイン smbclient -U ユーザ名 //サーバ名/ディレクトリ 3.操作 ディレクトリの移動は"cd" カレントディレクトリの確認は"pwd" ファイル取得は"get"などなど。 参考ペー…

gemの最新版だけ残す

gemでのパッケージ管理は便利ですが、バージョンアップした時に過去バージョンが残るので、最新バージョンが使いたいのに過去バージョンが使われてるーっ と悩ましい時があります。 そんな時は次のようにしてさくっと過去バージョンを消すと楽になれます。 g…

Delayed Jobのlogファイルを分ける

簡単に非同期処理を実現できてとても便利なDelayed Jobsですが、 logファイルを分けた方が何かと便利になります。 以下のような手順でlogファイルを分けることができます。 config/initializers/delayed_job.rb を作成する 次の行を追記する Delayed::Worker…