suakx devlog
link
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 git-core

rubyとgemをインスコ

sudo aptitude install ruby1.9.1-dev ruby1.9.1 ri1.9.1 rdoc1.9.1 irb1.9.1 libreadline-ruby1.9.1 libruby1.9.1
sudo ln -s /usr/bin/ruby1.9.1 /usr/bin/ruby
sudo ln -s /usr/bin/ri1.9.1 /usr/bin/ri
sudo ln -s /usr/bin/rdoc1.9.1 /usr/bin/rdoc
sudo ln -s /usr/bin/irb1.9.1 /usr/bin/irb
wget http://rubyforge.org/frs/download.php/69365/rubygems-1.3.6.tgz
tar xzvf rubygems-1.3.6.tgz
cd  rubygems-1.3.6
sudo ruby setup.rb
sudo ln -s /usr/bin/gem1.9.1 /usr/bin/gem
sudo gem update
sudo gem update —system

rails3.0betaをインスコ

sudo gem install tzinfo builder memcache-client rack rack-test rack-mount erubis mail text-format thor bundler i18n —no-ri —no-rdoc
sudo gem install rails —pre —no-ri —no-rdoc

.bashrcの最後に追加のおまじない

export GEM_HOME=/usr/lib/ruby1.9.1/gems/1.9.1

あと、どういうわけかtestというアプリ名を付けると立ち上がりません。

link

Holographic Architectural Imaging by Zebra (via Core77)

建築模型は必要なくなるかもです。

link
tumblrのsecondaryブログでできないこと

replyができない。

tomblooのamazonアフィーリンクができない。

twitterが出来るようになってた。

link
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も勉強するか悩み中。

link
せっかくなんで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 config/database.yml

production:
adapter: mysql
database: redmine
host: localhost
username: redmine
password: hogehoge
encoding: utf8

RAILS_ENV=production rake config/initializers/session_store.rb
rake generate_session_store
RAILS_ENV=production rake db:migrate
RAILS_ENV=production rake redmine:load_default_data
sudo chown -R demo:demo files log tmp public/plugin_assets
sudo chmod -R 755 files log tmp public/plugin_assets
sudo nano /opt/nginx/sites-available/redmine

server {
listen 80;
root /home/demo/redmine/public;
passenger_enabled on;
}

sudo ln -s /opt/nginx/sites-available/redmine /opt/nginx/sites-enabled/redmine
sudo rm /opt/nginx/sites-enabled/default
sudo /etc/init.d/nginx restart

太字のイタリックはそれぞれ変えてください。あとはemailの設定とか、レポジトリの設定とか、バックアップの方法とかが残ってます。

link
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  application/octet-stream;
    
    sendfile        on;
 
    keepalive_timeout  65;

    gzip  on;
    include       mime.types;
    default_type  application/octet-stream;
    
    sendfile        on;
 
    keepalive_timeout  65;

    gzip  on;

    include /opt/nginx/sites-enabled/*;

}
sudo nano /opt/nginx/sites-available/default
server {
    listen       80;
    server_name  localhost;

    location / {
        root   html;
        index  index.html index.htm;
    }


    # redirect server error pages to the static page /50x.html
    #
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   html;
    }

}
sudo ln -s /opt/nginx/sites-available/default /opt/nginx/sites-enabled/default
sudo /etc/init.d/nginx restart

link
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 #すでにはいっているみたいだけどうまくいかないのでもう一回 

link
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 aptitude install libssl-dev
sudo gem install passenger
sudo passenger-install-nginx-module
sudo gem install rails
link
gitを建築プロジェクトに使ってみた今回の結果 補足

前のエントリーが結構なreblogをいただいたので補足します。

コマンドラインの使用は使ったことのない人にとっては逆にそれにしか使わないので、上カーソルで非常にシンプルに使えます。今回はMacでのプロジェクトだったのですが、windowsな方を巻き込んだとしても、windowsでのgit使用は日本語ファイル名の文字化け問題があるのですが、cygwin utf-8版を使っていただくことで問題なく使用可能です。

フォルダのサイズは4GBまでいきました。が、各自のスクラップまでUPされた結果でこうだったのでそれを整理し”git gc”を行うと1.8GBまでになりました。実際のファイルは600MBで残りは”.git”になります。

速度的にはサーバー側が貧弱なこともありあらたに”git clone”すると10分を超える時間がかかりますが、途中でのgit push pullは気にならない範囲です。1つのファイルのサイズはだいたい10MB程度でしょうか。

一番の問題点はほとんどがバイナリファイルなためコンフリクトに対応できない点です。ビューアー的なものもありません。でもって今回はどう対処したかと言うと、今回使ったアプリがsketchupでしたのでオブジェクトをコピーペーストした際にレイヤ名属性も一緒に移動することを利用してレイヤ名に”各自の名前_”を付けて行ない、各自の名前のファイル名で保存し最後に手作業でマージすることで対処しました。

autocadであれば上記の機能に加え外部参照機能がありますので、ファイルを小分けすることでコンフリクトが起きることを減らすことができます。

jwcadだと上記どちらの機能もありませんのでどうしたか悩ましいところです。しっかりとした図面リストのつくり込みを最初に行うことで対処することになると思います。

link
gitを建築プロジェクトに使ってみた今回の結果

gitを建築プロジェクトのレポジトリとして使っているところはあまりないと思うのですが、今回はターミナルなんぞ開いたこともないというような人を巻き込み実用してみたのでそのプロジェクトのフェーズ1が終わったいま、少しばかりまとめてみたいと思います。

  • とりあえず教えたコマンドは
    git clone
    git add .
    git commit -m “”
    git push
    git pull
  • 扱うファイルはほぼバイナリなのでバックアップ、レポジトリ、バージョニングにしかつかわない
  • ブランチの説明は初ターミナルの人にはややこし過ぎるので、アプリ内(今回はsketchup)のレイヤでその代替とするルール決め。 一般的によくやられる好き勝手なファイル名をつけてその人のブランチやバージョニングとしても他の人には全くを持ってわからないのでここはかなり徹底
  • 前のファイルの戻るときのコマンドも教えきれないのでredmineをつかってそこからのダウンロードで対応
  • コンフリクトがおきてもバイナリ中心で基本的に対処できない(svnのロックの使用も検討したけど、大量の”.svn”がきらいという個人的理由で却下)
  • ファイルは消すな動かすな
    (rmなんぞ怖くておしえられない)

ターミナルを開いたこともない人の感想

  • 最新ファイルが上記4コマンドでみんなに伝えられるのが便利
    (bashで上カーソルキーも教えました)
  • 日付がファイル名についたファイルとかがなくなりそれぞれのプロジェクトフォルダがすっきり
  • 時々エラーがでてわけがわからん

レポジトリを管理してた側の感想

  • sketchupがファイル参照機能を持っていればもっと簡単だったのに
  • エラーの原因のほとんどはpushする前にpullしなかったこと
  • 各自のスクラップをもレポジトリに上げる輩続出
    (ここでのどのファイルを消していいかの確認とその時にレポジトリには自分だけ理解できるファイルはおくなの徹底で最後にはほぼ無くなった)
  • 自分だけわかればいいと言うデータの作り方が多少は改善された
  • 管理はやっぱりいる
  • redmineのレポジトリブラウザがjpgとか、pngはそのまま表示されればいいのに
    (いけるのかどうかgitもredmineもしらべてみたくなった)

補足追加しました