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マシンから見えない仮想マシンが存在する状態でした。
そこで、下記のような手順でubuntu仮想マシンの名前が重複しないように修正を行いました。
sudo vi /etc/hostname
→${new_hostname}に書き換える
(または sudo hostname ${new_hostname} )
sudo vi /etc/hosts
→127.0.0.1 の行に${new_hostname}を追記する
→127.0.1.1 の行を${new_hostname}に書き換える
(初期値が ホスト名.ローカルドメイン名 になっている場合はホスト名部分の${new_hostname}への書き換え+${new_hostname}を追記)
再起動
※注意点
hostnameの文字数は15文字以下にすること(NetBIOS名の制限長=15文字)
今回はついでにworkgroupも合わせておきました。
sudo vi /etc/samba/smb.conf
→workgroupで検索し、値を自分の使っているworkgroup名で書き換える
文字列を含まない行を選択する正規表現
^(?!.*hogehoge).*$
否定先読みを利用
ubuntu12.04にvsftpdを入れる
- anonymous_enable=NO
- local_enable=YES
- write_enable=YES
- ascii_upload_enable=YES
- ascii_download_enable=YES
- userlist_enable=YES (追加行)
- userlist_deny=NO (追加行)
- userlist_file=/etc/vsftpd/user_list (追加行)
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.tar.bz2
sudo ln -s /usr/local/share/phantomjs-1.9.0-linux-x86_64/bin/phantomjs /usr/local/share/phantomjs
sudo ln -s /usr/local/share/phantomjs-1.9.0-linux-x86_64/bin/phantomjs /usr/local/bin/phantomjs
sudo ln -s /usr/local/share/phantomjs-1.9.0-linux-x86_64/bin/phantomjs /usr/bin/phantomjs
phantomjs --version
でバージョンが表示されたらインストール完了です。
Gemfileに追記します。
gem 'poltergeist'
rubyコード例です。
require 'capybara/poltergeist'
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を使えるようになります。
下記がコード例です。
require 'capybara'
require 'capybara-webkit'
require 'capybara/dsl'
require 'capybara/rspec'
WEB_DRIVER = :webkit
#WEB_DRIVER = :selenium
Capybara.default_driver = WEB_DRIVER
Capybara.default_wait_time = 2
include Capybara::DSL
include Capybara::RSpecMatchers
visit("http://example.com")
page.save_screenshot(#{FILE_PATH}, :full => true)
#明示的にNokogiriを使いたい場合
Nokogiri.parse(page.driver.html).xpath("//div[@class='hoge']")