June 2010
1 post
現在Wordpress3.0をテスト中
なかなか良くなってます。3.0に対応したかっこいいthemeが見つかったのも大きい。複数サイトに最初から対応してたり、当分verUPはしないよ宣言も落ち着いて対応できます。 どんなプラギンがあるのかとか、多言語を複数サイトで対応した方がいいのか、プラギンがいいのかなどいろいろ調査中です。 プラギンの数多過ぎてデファクトスタンダード探すのに苦労してます。 多言語 問い合わせ ちょっとしたスライドショー
Jun 29th
May 2010
2 posts
リファクタリング:Rubyエディション
読書会行ってきた。 Amazon.co.jp: リファクタリング:Rubyエディション: Jay Fields, Shane Harvie, Martin Fowler, Kent Beck, 長尾 高弘: 本 読んだ本はこれ。第1章の終わりまで。このコードうごかねぇ、インデントおかしいという指摘相次ぐ。コード部分がコードじゃなくて文章になってる。リファクタリングもどこまでどうするかのいろんな人の話が聞けた。 その後の懇親会と言うかダベリングも興味深かった。rubyistには金の匂いのする奴が少なすぎるとか。
May 30th
May 1st
April 2010
2 posts
1 tag
rvmを使ってruby1.9.2を入れてみた
rails3.0betaを使うためにrvmをつかってruby1.9.2を入れてみました。rvmは便利なrubyのバージョンマネジャです。 普通に rvm install 1.9.2 って入れるとpreview版が入ってrails使えません。 rvm install 1.9.2-head が正解です。 が、それを使用とするとエラーが(Leopardでのテストです。)、、、ここ見て解決しました。過去のセキュリティーウプグレがcpanを壊してしまったのが原因なようです。rubyを入れるのにperlのcpan入れ直しというなかなか興味深いことが起きます。
Apr 4th
1 tag
rails3.0beta2が出たみたいなので変えてみたけど
前とは違ってインストールは gem install rails —prerelease だけで終わるようになってます。 rails plugin install git://github.com/odorcicd/authlogic.git -r rails3 rails plugin install git://github.com/intridea/subdomain-fu.git のプラギンを使ってbeta1でアプリを作ってたのですが、エラーが出ます。ここを見るとモジュールの位置をごっそり変えているようです。プラギンでこういうのに追随するのは非常にめんどくさいです。 おまけにオフィシャルのリリースを見ると Note that Ruby 1.8.7 p248 and p249 has marshaling bugs that crash both Rails...
Apr 3rd
March 2010
9 posts
1 tag
rails3.0betaでハマリ(find_byよりwhereがいいみたい)
controllerで @posts = Post.find_by_user_id(login.id)  # SELECT "posts".* FROM "posts" WHERE ("posts"."user_id" = 1) LIMIT 1 こう書いて、viewで @posts.each do |post| こう書いてたら、 undefined method `each' for と意味不明なエラー @posts = Post.where("user_id =?", login.id)  # SELECT "posts".* FROM "posts" WHERE (user_id =1) こう書き直すと直った。かなり時間が取られた。皆さん気をつけましょう。
Mar 29th
1 tag
rails3.0betaでActionMailerを試してみた
前回に引き続きActionMailerを試してみました。ソースはここ。 rails g mailer notifier でapp/mailers/notifier.rb と app/views/notifierができる。(modelsにできないのが新しい) こんな感じで書いておくと問題なくメールが送れる。 ヘッダーはこんな感じ。 Subject: Password Reset Instructions Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Content-Transfer-Encoding: 7bit 問題は:subjectに日本語を入れた場合、 /app/mailers/notifier.rb:8: invalid multibyte char (US-ASCII) ...
Mar 26th
1 tag
routes.rbでの注記
railsでのroute.rbでしてしまったタイポから気になったとこを少々。 resources :productsと書いた場合rake routesは GET /products(.:format) {:controller=>"products", :action=>"index"} products POST /products(.:format) {:controller=>"products", :action=>"create"} new_product GET /products/new(.:format) {:controller=>"products", :action=>"new"} GET ...
Mar 25th
2 tags
authlogicでログインログアウトを実装
前回に続き少しばかり進歩させました。ソースはここにおいてます。ここを参考にしました。 urlの設計はtumblrを意識してみました。 config/routes.rb :as => ‘login’ って書いておくと、login_pathが’/login’までの相対パスの、login_urlが絶対パスのurlが表示されます。 tumblrを意識しているのでloginはemailとpasswordでの実装です。この際、 app/models/user.rb と書く必要があります。 次回はforgot_passwordを実装したいです。パスワードのリマインダをメール送信します。TMailからMailに取って代わったようなので日本語も含めていろいろテストしてみたいです。
Mar 21st
2 tags
rails3.0betaでauthlogicを試してみました
せっかくなのでrails3の勉強もかねてauthlogicが使えるかどうか試してみました。今のところ大丈夫そうです。rails3がでるまでにログイン認証のつくり込みができればと考えています。 前回作成した環境で動かしています。Lucid alpha 3+ruby1.9.1+rails3.0betaです。3月21日時点、Lucid alpha 3インスコ後sudo aptitude updateとsudo aptitude upgradeをかますとvm上でも画面が表示されるようになってます。 ではスタート。 rails r3b_authtest rails plugin install git://github.com/binarylogic/authlogic.git あとは基本的に http://github.com/binarylogic/authlogic_example...
Mar 20th
Rose-Tinted: Upgrading to Rails 3 beta (part 2) →
This is the second part of a series of posts detailing my experiences while upgrading to Rails 3. The first part covered migrated configuration and framework files to play nicely with the new Rails 3 APIs. Now, we’ll look at booting the server, fixing dependency issues and walking through our…
Mar 20th
1 tag
とりあえずrails3をつかってみる
rails user これでuserプロジェクトができる。 rails c で前の script/console、 rails s で前の script/server Gemfileというのがある。これに必要なgemを書き込んでおくと、 sudo bundle install で 必要なgemがシステムにインストールされる。 bundle package で必要なgemが vendor/cache にインストールされる。 rails plugin install でプラギンのインスコ。
Mar 14th
1 tag
lucidにruby1.9.1とrails3.0betaをいれてみた
ubuntu 10.04 alpha3でやっとserver版がvmware上にインスコできるようになったので(画面はまだ表示されないけどopenssh-serverを入れとくとアクセスはできる)、ruby1.9.1とrails3.0betaを入れてみました。 まずは基本環境 sudo aptitude update sudo aptitude upgrade sudo aptitude install open-vm-tools 次にmysql、sqlite3、imagemagick、gitをインストール sudo aptitude install sqlite3 libsqlite3-dev mysql-server libmysqlclient16-dev sudo aptitude install libmagick9-dev sudo aptitude install...
Mar 8th
WatchWatch
Holographic Architectural Imaging by Zebra (via Core77) 建築模型は必要なくなるかもです。
Mar 1st
February 2010
2 posts
tumblrのsecondaryブログでできないこと
replyができない。 tomblooのamazonアフィーリンクができない。 twitterが出来るようになってた。
Feb 25th
1 note
1 tag
rails3.0betaインスコしてみました
当方leopardなものでrails3.0に必要なruby1.8.7をmacportsを使ってインスコしたのですが、portのupdateやcleanupやいろいろ手間かかりました。script/serverがscript/rails serverに変っていることに気がつくのに10分ほどかかってしまいました。久々に2chのrailsスレをみたら活況を呈してました。 railsはコピペベースから始めて動くこと優先で始めたので3.0を機にまじめに勉強してみたいと思います。 インストール方法はこちら。これを機にruby1.9も勉強するか悩み中。
Feb 6th
January 2010
6 posts
1 tag
せっかくなんでredmineをインスコ
前回、前々回に続いてredmineのインスコしてみます git clone git://github.com/edavis10/redmine.git mysql -u root -p create database redmine character set utf8; create user ‘redmine’@’localhost’ identified by ‘hogehoge’;  grant all privileges on redmine.* to ‘redmine’@’localhost’; exit cd redmine mv config/database.yml.example config/database.yml nano...
Jan 15th
rails使えるまでが非常に簡単になっている件について 続きの続き
sudo mkdir /opt/nginx/sites-enabled sudo mv /opt/nginx/conf/nginx.conf /opt/nginx/conf/nginx.conf.default sudo nano /opt/nginx/conf/nginx.conf user www-data; worker_processes 1; events { worker_connections 1024; } http { passenger_root /usr/local/lib/ruby/gems/1.8/gems/passenger-2.2.9; passenger_ruby /usr/local/bin/ruby; include mime.types; default_type ...
Jan 15th
rails使えるまでが非常に簡単になっている件について 続き
sudo aptitude install git-core git clone git://github.com/jnstq/rails-nginx-passenger-ubuntu.git sudo mv rails-nginx-passenger-ubuntu/nginx/nginx /etc/init.d/nginx sudo chown root:root /etc/init.d/nginx sudo /usr/sbin/update-rc.d -f nginx defaults sudo aptitude install libmagick9-dev sudo gem install rmagick sudo gem install mysql #すでにはいっているみたいだけどうまくいかないのでもう一回
Jan 15th
rails使えるまでが非常に簡単になっている件について
VM上でのUbuntu 9.10 Serverでのインストール すごい簡単 sudo aptitude update sudo aptitude upgrade sudo aptitude install open-vm-tools #vm上でなければ sudo aptitude install build-essential sudo aptitude install sqlite3 mysql-server libmysqlclient16-dev wget http://rubyforge.org/frs/download.php/66163/ruby-enterprise_1.8.7-2009.10_amd64.deb sudo dpkg -i ruby-enterprise_1.8.7-2009.10_amd64.deb #これでgemもruby1.8.7も終了 sudo...
Jan 14th
1 tag
gitを建築プロジェクトに使ってみた今回の結果 補足
前のエントリーが結構なreblogをいただいたので補足します。 コマンドラインの使用は使ったことのない人にとっては逆にそれにしか使わないので、上カーソルで非常にシンプルに使えます。今回はMacでのプロジェクトだったのですが、windowsな方を巻き込んだとしても、windowsでのgit使用は日本語ファイル名の文字化け問題があるのですが、cygwin utf-8版を使っていただくことで問題なく使用可能です。 フォルダのサイズは4GBまでいきました。が、各自のスクラップまでUPされた結果でこうだったのでそれを整理し”git gc”を行うと1.8GBまでになりました。実際のファイルは600MBで残りは”.git”になります。 速度的にはサーバー側が貧弱なこともありあらたに”git...
Jan 12th
1 note
2 tags
gitを建築プロジェクトに使ってみた今回の結果
gitを建築プロジェクトのレポジトリとして使っているところはあまりないと思うのですが、今回はターミナルなんぞ開いたこともないというような人を巻き込み実用してみたのでそのプロジェクトのフェーズ1が終わったいま、少しばかりまとめてみたいと思います。 とりあえず教えたコマンドは git clone git add . git commit -m “” git push git pull 扱うファイルはほぼバイナリなのでバックアップ、レポジトリ、バージョニングにしかつかわない ブランチの説明は初ターミナルの人にはややこし過ぎるので、アプリ内(今回はsketchup)のレイヤでその代替とするルール決め。 一般的によくやられる好き勝手なファイル名をつけてその人のブランチやバージョニングとしても他の人には全くを持ってわからないのでここはかなり徹底 ...
Jan 8th
86 notes
September 2009
7 posts
JauntyでAnthyがうごかなくなったので
http://www.ashineko.com/ja/gadgets/881-ubuntu904-jaunty-jackalope-on-eeepc701 を参考に sudo nano /etc/profile # SCIM export XMODIFIERS='@im=SCIM' export GTK_IM_MODULE="scim" export XIM_PROGRAM="scim -d" export QT_IM_MODULE="scim-bridge" scim -d を最後に足す。
Sep 12th
めざせ!脱Mac
脱ヲタと同じ意味での脱Macです。 最近Windowsを使わずにMacを使うことがほとんどになりました。基本的なアプリはそろってるし、textmateとleopardのターミナルとunix系のコマンドが叩けるのがその理由です。 ただ、勉強会に行ってもどんどんとマカーが増えてきました。Macを使っている状態がその他大勢グループにいるみたいで、ちょっと恥ずかしいかもと思ってた時期もありました。IBMにUbuntu積んで、プニプニデスクトップ+zsh+screen+emacsの方がかっこいいかなと思っていた時期もありました。 NX...
Sep 11th
1 tag
久々に2chみた
2chはまとめブログのフィードを引っ掛けているだけのかかわりなのですが、久々にRailsスレを直に見に行きました。 久々に見て気がついたのは、書かれている疑問はだいたいそらで答えられるなぁと。 昔JavaScriptの勉強会に行ったときやけに仕様に詳しい人がました(リンク先の人です)。あまりにも詳しいので、どうやってJavaScript勉強したんですか?ってきいてみたら、2chの質問スレに張り付いて質問に対して自分で答えを探して見つけてそして決してレスしなかった。それをやってるとだいたいの質問にそらで答えられるようになってきた。その後仕様書を読み始めた。とおっしゃってました。そういう勉強法もあるんだなぁとえらく感心した記憶があります。 ...
Sep 11th
1 tag
Sep 6th
2 notes
1 tag
Sep 5th
NoMachineNXが恐ろしく速くてLinux系にRemoteDesktopでアクセスするのがためら...
Windowsに対してはリモートデスクトップというかなりストレス無く接続できるアプリがあるのですが、Linux系では画面が波打つストレスのたまるものしかしたなくて使う気にはなれませんでしたが、たまたま、NoMachineNXを知り、速度に驚きました。はっきりいってWindowsのリモートデスクトップより高速です。GUIで画面が波打つことはありません。LANではなくてインターネットで接続しても画面が波打つことがありません。これだけの速度があると様々な用途がおもいつきます。 今回テストした環境は4coreのAMDに8GBのメモリ上のサーバーで動くesxi上で動く10VMのうちの一つに1コア1GBのメモリ上で動くUbuntu9.04にMacからアクセスしたのですが、はっきり言って超快適です。マウスの動きがスムーズです。画面が波打つことがありません。 ...
Sep 5th
2 tags
ソフトウェアRaidを組んでいたFreeBSDをAcronis True Image...
取り急ぎ、 Manual root filesystem specification: :  Mount  using filesystem eg. ufs:da0s1a  ?                  List valid disk boot devices Abort manual input mountroot> セーフモードでやっとのことこんな感じのエラーがでるので、 ufs:da0s1c でマウントし、 # /sbin/mount /dev/ad0s1d /tmp # /sbin/mount /dev/ad0s1e /var # /sbin/mount /dev/ad0s1f /usr #/bin/cat /etc/fstab とかで、状態見て、 # /usr/bin/ee /etc/fstab で初期のマウント修正。 #...
Sep 1st
August 2009
5 posts
1 tag
関連性をつけておくとコードを短くできる →
class Project < ActiveRecord::Base   has_many :tasks end class Task < ActiveRecord::Base   belongs_to :project end で関連性をつけておくと @project = Project.find(params[:id]) @tasks = Task.find(:all, :conditions => ['project_id = ? AND complete = ?', @project.id, false]) を @project = Project.find(params[:id]) @tasks = @project.tasks.find_all_by_complete(false) に変えられコードを短くできるというお話。
Aug 14th
3 notes
1 tag
Friendfeedのエントリーを全消しするスクリプトを書いてみた
require 'uri' require 'net/http' require 'rexml/document' begin Net::HTTP.version_1_2 req = Net::HTTP::Get.new('/v2/feed/NICKNAME?format=xml&num=100&start=1') xml = Net::HTTP.start('friendfeed-api.com',80) {|http| http.request(req).body } doc = nil doc = REXML::Document.new xml dels = [] doc.elements.each('feed/entry') do |elm| dels <<...
Aug 11th
1 tag
find_byをつかうとコードが短くなるよ →
@tasks = Task.find(:all, :conditions => ['complete = ?', false]) よりも @tasks = Task.find_all_by_complete(false) の方がコードが短い。やってることは全く一緒。
Aug 9th
1 tag
||=を使えば値が無ければ=以下を実行、あれば実行しない →
def current_user User.find(session[:user_id]) end じゃなくて def current_user @current_user ||= User.find(session[:user_id]) end でDBアクセス減らせますよという話。
Aug 9th
1 tag
Railsの復習をかねてRailscastsを見ていくことにします
http://railscasts.com を#1エピソードから見ていくことにします。
Aug 9th
June 2009
2 posts
Macfuseとsshfsを使いgateway先をマウントする
基本的にデプロイはcapistranoを使って行っているのですが、ちょっとした変更のためまでにデプロイツールを使いたくありません。そんな時はcyberduck等のftpクライアントを使いチョチョイと直すのですが、gateway先に潜り込む事の出来るいいftpクライアントがありませんでした。 でもって、Macfuseとsshfsを使いgateway先をマウントする方法が出来るのではと思い、いろいろやっているうちにうまくいったのでご紹介。 Macfuseを普通にインストールします。 sshfsをダウンロードして、sudo mv [元のファイル] /usr/bin/sshfs。 sudo nano /usr/bin/gateway-ssh #! /bin/sh ssh [gatewayのhostip] ssh $@ をつくり、sudo chmod a+x...
Jun 8th
1 note
Jun 7th
2 notes
May 2009
2 posts
ESXi 4
とある案件でESXiを入れましょうと言う事で、インストールしにいってたのですが、運良くVer4が5月21日にでてまして、そちらを入れる事に。 USBへのインストールがddを使ったややこしい方法ではなく、デフォルトで使えるようになってました。新規に購入したサーバーもraidカード付きにしたのでscsiと簡単に認識してくれまして、esxiでの悩みどころが一切無いと言う素晴らしさでした。 vSphereクライアントも日本語化されてましたし、かなり使い勝手いいです。
May 30th
May 25th
April 2009
8 posts
2 tags
select文でcheckboxのon/offで挙動の変え方
<%= select("model", "model_id", Model.find(:all, :order => "name", ).collect {|p| [ p.name, p.id ] },, :onchange => "#{remote_function(:update => 'body', :url => { :action => :update_body }, :with => "'id=' + value + '&check=' + document.getElementById('check').checked") }") %> チェックを含む<input type="checkbox" id=check"...
Apr 25th
1 tag
バックアップのお話
お世話になっている会社のraid10を組んだnasのhdがぶっ飛びました。raid1であればまだ解りやすそうですがraid0は中身がバラバラでファイルがつながっているのですから直すのはそう簡単ではありません。安価なnasであればraid0をお勧めします。 またそこの会社では処理中のファイルを変更されないようにnas内のファイルを直いじりしていたようです。これだとファイルサーバーのraidは保険でありバックアップではなくなります。gitとかsvnとか使っていればなぁと思ってしまいます。 で、弊社のバックアップ方法の紹介。 稼働中のプロジェクト => gitのレポジトリとローカル 自分で作成したファイル => GMailに送る 終了のプロジェクト => gitのレポジトリほったらかしとと裸族のお立ち台でHDにコピー...
Apr 23rd
1 note
gitとsvnの違い
間違いを恐れずにgitとsvnの違いを言えばgitは、ローカルファースト、svnはサーバーファーストの違いがあります。 Rails使いだと本体自体がgitで管理されているとかのせいでどうしてもgitになってしまうのですが、プログラミングではないところでもバージョン管理を普及させたいのでいろいろとテストしてみました。 gitの弱点としてあるのはコマンドライン基本、サーバーとの接続はsshが基本、utf8が基本の3点でしょうか。 ...
Apr 23rd
redmineとtracの違い
一番大きい違いで言えばtracは1プロジェクト1tracと言う事。簡単に1プロジェクトを作っては行けない雰囲気です。大きいプロジェクトがいくつもある場合その方が管理はしやすいはずです。(プロジェクト単位でサーバーの移行とか)。その一方で個人ToDoプロジェクトとかそういうものは作っては当然駄目な雰囲気が漂います。redmineは気軽にプロジェクトの追加が出来ます。親プロジェクトと言うのも設定できます。 次にプラグインベースかオールインワンかの違い。Tracでは機能の追加をプラグインで行います。ビルド機能とか、コードレビュー機能とか追加できます。redmineにはまだそのプラグインはありません。その一方で最初からgitがレポジトリとして設定できたりします。 あと、ユーザーごとに表示言語の設定が出来るのがredmineでプロジェクトごとがtracです。 ...
Apr 23rd
1 tag
redmineとgitとmacとwindowsで日本語ファイル名をどうするか
windowsでgitを扱う事自体に壁があるのですが、msysgitだと日本語ファイル名がうまくいってくれない。どうしようかなといろいろ調べてみて、なんとか解決しました。 http://www.okisoft.co.jp/esc/cygwin-20.html こんなものを作ってくれるえらい人がいました。 cygwin1.dllを上記リンクのように書き換えてください。 cygwinからgitを使います。 setup.exeをダブルクリックして、Develの下にあるgitとNetの下にあるopensshをインスコしておいてください。 このutf-8cygwinからgitをつかうとファイル名は上手く解決してくれます。 ただコメントの日本語入力は今のところうまくいっていません。...
Apr 5th
1 note
1 tag
Redmineとgitの組み合わせでレポジトリのファイル名が文字化けするあなたへ
リモート側の.git/configの[core]にquotepath = falseを追加すればOKです。
Apr 4th
1 note
1 tag
gitって空フォルダは管理してくれません
とある物件でeccubeを使う事になったのですが、それをgitで管理しようと思ったらeccubeってインストール用に空フォルダを結構準備していてそれを管理してくれません。 gitで空フォルダを管理しようと思ったら.gitignoreの空ファイルをそのフォルダにおいておくのがお決まりなようです。 かといって、いっぱいあるからフォルダを探し出し一つ一つにtouch .gitignoreするのはめんどくさい。 find . -type d -empty | touch $(ruby -e 'while l=gets do puts l.chomp<<"/.gitignore" end') で一発です。rubyがでてくるのは仕様ですww。
Apr 2nd
1 note
1 tag
gitosisを使ってみた
gitosisとはどのレポジトリをどのユーザーに公開するか管理するソフト。 非常に便利です。 基本的に http://openbooth.org/archives/60.html http://openbooth.org/archives/65.html http://openbooth.org/archives/82.html http://scie.nti.st/2007/11/14/hosting-git-repositories-the-easy-and-secure-way を見ればインストールできます。 上記のリンクで足らない事は /etc/ssh/sshd_configのAllowUsersにgitを足しておく事(上記リンクに従って設定した場合)と Ubuntuの場合/etc/init.d/ssh reloadじゃ駄目でrestartなこと、...
Apr 1st
March 2009
12 posts
1 tag
iscsiがなかなかいい
ubuntuだと sudo apt-get install iscsitarget で /etc/ietf.conf をチョチョイといじるだけ。 Macな方はglobalSAN iSCSI Initiator for OS Xで、Winな方(XP Home以下は除く)はMicrosoft iSCSI Software Initiator Version 2.08を使って接続。 速いし簡単。ietf.confの設定方法はietf.confでググってください。
Mar 30th
1 tag
alias tailall="tail -f /path/to/log1 | sed 's/^/hoge1:/' & tail -f /path/to/log2 | sed 's/^/hoge2:/' & tail -f /path/to/log3 | sed 's/^/hoge3:/'" .bashrcにこんなのを書き込んで複数のtailを一緒に見ています。 1秒に1アクセスな感じなので、アメブロ式PVでいくと1日86400PVになります。 [追記] tail -f /path/to/log1 /path/to/log2 /path/to/log3 上記のようなめんどくさい事をしなくても最近のtailは並べるだけでいいようです。
Mar 22nd
2 tags
railsが2.3.2に、iPhoneOSが3.0に
http://weblog.rubyonrails.org/2009/3/16/rails-2-3-templates-engines-rack-metal-much-more なんで重なるんでしょうね。 いそがしくなります。
Mar 16th
1 tag
現在サーバー移行中です
今までは海外のVPSを使用していたのですが、アクセス増に伴いメモリ不足になってきた事と、固定IPを取得した事もあり、サーバーを以前のように社内サーバーへと移行していっています。サーバーに必要なのはCPUパワーよりもまずメモリです。2GBまで増量しました。 現在PHPで作られているサイトの移行は完了しました。バックアップ体制も整いました。せっかくなのでデプロイをすべてcapistranoに任せようとスクリプトも書きました。非常に快適になっております。 正直、HDもSSDに変更してより安全をとも思ったのですが、capistranoの便利さに目覚め、また、http://github.suitmymind.com/ubuntu-machine/...
Mar 13th