[chef][rvm] chef-rvmを利用した設定のサンプル

chef-soloを利用して、rubyのrvmをインストールするときのサンプルです。 インストール後の環境の変化は インストール先は、/usr/local/rvm /etc/bash.bashrcにrvmの設定が追加される。 バージョン情報 chefのworkstationのrubyは2.0.0p247 chef (11.8.2) kn…

[HTML5][Storage] オフライン閲覧

HTML5のStorageとJQuery Mobileを用いてオフライン閲覧のサンプルを作りました。 jquery mobileはコンテンツがページ単位ですので、ページをHTML5のStorageで保存しています。 anchor要素をクリックした時、Storageにページがあれば、$.mobile.changePageを…

Titanium StudioのKitchen Sinkが動作しない場合の対処例

Titanium Studioを使ってサンプルアプリのKitchen SinkがAndroid Emulatorで動作しなかった場合、下記のようにすれば動作するかも?しれません。[手順] Android SDKのインストールディレクトリに移動 ./tools/androidを起動 メニューの[Tools], [Manager AVD…

Titanium MobileでDigest認証を使ってHTTP接続する

Titanium MobileでHTTPのDigest認証するためのコードのサンプルです。 簡単にコピペできるようにあえて、モジュール化もしていません。 ソース自身は、githubのhttpclient-digest.nodeを参照して、一部改変しました。 function sampleDigestAuth() { var xhr…

Could not find a storyboard named 'MainStoryBoard' in bundle NSBundleエラーが表示される時

iOS

何らかの原因で、Could not find a storyboard named 'MainStoryBoard' in bundle NSBundle がコンソールに表示されてiOSアプリが動作しない時の対処方法を書いておきます。XCode 4.3系で動作確認しました。 Show project Navigatorを開く。 MainStoryboard.…

velocityテンプレートでのバックスラッシュの扱い方

velocityを使っているとき、Windowsのコマンドバスを指定するテンプレートを作る場合、パスのデリミタのバックスラッシュの扱い方が面倒ですね。 #set( $backslash = '\' ) c:\$val <= 間違い。$がエスケープされてしまう c:$backslash$val <- 正解そもそも…

ステートパターンの実装例

ステートパターンでどのように実装すればいいのかを考えてみます。題材は、熱帯魚の水槽のヒータを制御することにしました。この題材を選んだ理由は、enterアクションやexitアクションがある、定期的に温度を計測する必要があるからです。今回のポイントは、…

google testのテスト結果からhtmlを生成

この記事では、google testで出力されるテスト結果のレポートをhtmlにするための方法について説明します。 C++やC言語のテストをするにはgoogle testの利用がデファクトとなっている状況かと思います。 テスト結果をhtml形式にすることで、テスト結果をより…

UIコンポーネントをブリンクするコードビハインド

WPF

WPFにおいて、テキストやボタンなどのUIコンポーネントをブリンクさせるサンプルです。例は、300ミリ秒間にOpacity値を1.0から0に変化させることを3回繰り返すものです。XAMLで記述するサンプルはネット上に色々あるのですが、ソースコードで記述した例が少…

[C#][WPF] ObservableCollectionを非同期で利用する際

WPFを利用する開発は、Model View ViewModelパターンで設計することが多いですよね。 その際、データバインディングは外せないので、必然的にObservableCollectionをよく用いると思います。けれども、ObservableCollectionってディスパッチャに対して安全で…

[java][c++] C++の共有ライブラリをJavaから呼び出す

C++を使って作成した共有ライブラリをJavaから簡単に利用する方法を紹介します。JNI(Java Native Interface)を使うよりはるかに簡単です。用意するものは、jnaerator: http://code.google.com/p/jnaerator/ です。 jnaeratorは、JNA(Java Native Access): ht…

HashMap vs memcached vs jdbc 性能比較

ConcurrentHashMapとmemcachedとjdbcの性能比較を行いました。memcachedのクライアントライブラリは、com.dangaとnet.spyの両方で実施しました。計測は、それぞれ100万件のデータを生成したり、読み取った時間です。単位はmsecです。 対象 Create Bulk Creat…

シンプルでカスタマイズ可能なWYSIWIGエディタの「wysihat」の使い方

ブラウザでWYSIWIGができるツールが無いか探していたところ、wysihatがシンプルでよさそうかなと思い、使ってみました。 インストールと環境構築 Fedora10でwysihat.jsの生成をおこないました。 必要なもの rakeやrubyコマンド gitコマンド wysihat.jsを生成…

rails 2.3.2 でmemcachedにセッション情報を保存するには

rails2.3.2でmemcachedにセッション情報を保存する方法が少し変わったのでメモを残します。 セッション関連の設定は、config/initializers/session_store.rbに記述します。 ActionController::Base.session = { :memcache_server => 'memcachedのサーバ名:11…

passengerをselinuxありで動作させるには

selinuxをEnforcingにしたFedora 10で、passenger(mod_rails for Apache)を動かす方法を記述します。動作確認した環境は次のとおりです。 OS:Fedora 10 Selinux: Enforcing passenger:2.1.2 全体の手順は以下のとおりです。 selinux関連の必要なパッケージ…

Timeout::Errorに注意

rubyのTimeout::Errorにはまってしまったので、記録しておきます。net/httpを使ってWebサーバに接続するデーモンプログラムを書いていました。例外はすべてキャッチするつもりでrescueを書いていました。 require 'net/http' begin Net::HTTP.start("www.foo…

postfix2.5.5がFedora8で起動しない

2008/11/6追記 selinuxのポリシーファイル(selinux-policy-3.0.8-121.fc8)がyumで更新された場合もrailsでメールできなくなった。Fedora8でyumの自動更新を使っていると2008/10/11にpostfixが2.4.5から2.5.5にバージョンアップされました。selinuxの設定をen…

sensorsの結果の履歴

本日のおうちサーバのセンサーからの情報を記録に残します。 % sensors it8712-isa-0228 Adapter: ISA adapter VCore 1: +1.46 V (min = +0.00 V, max = +4.08 V) VCore 2: +1.54 V (min = +0.00 V, max = +4.08 V) +3.3V: +3.18 V (min = +0.00 V, max = +4…

debian(etch)でRMagickを使うには、librmagick-ruby1.8が便利

debian etchでは、パッケージ化されたImageMagickライブラリをインストールした後、gemのrmagickのをインストールしようとするとうまくインストールできません。ですので、rmagickを使いたいなら、librmagick-ruby1.8を利用するのがお手軽な解決方法です。 $…

railsのプラグインのrestful_authenticationのサンプル

restful_authenticationのサンプルを作成したので、記録に残します。サンプルのsubversionリポジトリは以下においています。http://www.dreammind.net/svn2/repos/rails/restful_authentication_sample/0)resources - http://railscasts.com/episodes/67 - r…

railsへのアップグレードのときに修正したところ

古いバージョンのrailsのscaffoldで生成したviewのコードがうまく動作しなかった。1. link_toの引数が変更されていた。post=>trueではなく、:method=>:postが正解。 間違い <%= link_to 'Destroy', {:action=>'destroy', :id =>foo }, :confirm => 'sure?', …

Fedora 8 でrailsアプリからメールが送信できない

Fedora8にバージョンアップした後、railsアプリからメールが送信できないことがあり、対処した。なお、MTAは、postfixです。 1. 一度、selinuxをpermissiveモードにする。後ほど元に戻すこと。 $ setenforce 0 # 実際にrailsでメールを送信 .... 2. selinux…

WARPSTARのGlobal IPアドレスを取得するプログラム

NEC製のCATV/ADSLルータのWARPSTARのWAN側のIPアドレスを取得するプログラムを書きました。 どの機種にも使えるかどうかはわかりませんが、telnetのインタフェースを持っているものなら少し改造すれば使えると思います。HOSTとUSER_NAMEとPASSWORDをご自分の…

selenium利用時のフレーム分割の注意

seleniumでIEを利用しているとき、フレーム分割して別のドメインにアクセスするフレームがあると、別ドメインのフレームにはアクセスできません。IE6以上のセキュリティ対策のためです。しばらくアクセスできないかがんばったけどだめでした。http://msdn2.m…

typo(railsで作られたblogツール)をインストールしてみた。

1. typo自身のインストール gemが使えるから本当に便利だね。 % gem install typo 2. カレントディレクトリにapp,configなどのファイルをコピーする。 % typo install blogname 3. mysqlにDBを作成し、ユーザを作成し、db:migrateする。 % rake db:migrate

Windows Vistaが遅いと感じたら

まずは、パフォーマンス モニタのPerfmon.exeを実行してみましょう。僕のPCが遅くなっていた原因は、Windowsデスクトップサーチがインデックスを作成するためでした。一定時間経過するとスリープ状態になるようにノートPCを設定していたのですが、たくさんの…

RJS(Ruby Javascript Templates)で生のjavascriptを書くには

RJSで生のjavascriptを書くには、page javascript"とすればよいです。下記の例は、マウスのカーソルをdefaultに戻しています。foo.rjsファイル page.replace_html 'menu', @menu page.visual_effect :opacity, "menu", :duration=>1.0, :from=>'0.3', :to=>'…

railsのセッション管理でmemcachedを利用

1. memcachedのインストールと環境設定 % yum -y install memcached % /etc/init.d/memcached start % chkconfig memcached on #memcachedのデフォルトポート(11211)を開ける % vi /etc/init.d/iptables % /etc/init.d/iptables restart 2.memcache-clientの…

CPUの温度測定ツール lm_sensorsをFedora7に導入

1. yum -y install lm_sensors 2. /usr/sbin/sensors-detectコマンドを実行 To make the sensors modules behave correctly, add these lines to /etc/modprobe.conf: #----cut here---- # I2C module options alias char-major-89 i2c-dev #----cut here---…

WiresharkをWindows Vistaでインストール

Wireshark 0.99.6aをインストール OSは、Windows Vista 注意点として、WinPcapをインストールする際、 「Start WinPcap service "NPF" at startup」をチェックすること。それ以外はデフォルトのオプションでOK。