Debuginfo

思考とアウトプット

twitter-bootstrap-railsをインストール

これを入れるとすごいことになりそうなので入れてみます。

注: ちなみにrails初心者でPerl mongerです。generateの動作等を手探りで見てます

基本的にhttps://github.com/seyhunak/twitter-bootstrap-railsのREADMEに従います。

Installing gem

Gemfileに書いてbundle installですね。Cartonだ!

$ vim Gemfile
# add 
gem "therubyracer"
gem "less-rails" #Sprockets (what Rails 3.1 uses for its asset pipeline) supports LESS
gem "twitter-bootstrap-rails"
$ bundle install

Applying to my app

$ rails generate bootstrap:install less
insert  app/assets/javascripts/application.js
create  app/assets/javascripts/bootstrap.js.coffee
create  app/assets/stylesheets/bootstrap_and_overrides.css.less
create  config/locales/en.bootstrap.yml
    gsub  app/assets/stylesheets/application.css
    gsub  app/assets/stylesheets/application.css
$ rails g bootstrap:layout application fluid
conflict  app/views/layouts/application.html.erb
Overwrite /Users/kamesho/dev/oishitokoro/app/views/layouts/application.html.erb? (enter "h" for help) [Ynaqdh] Y
   force  app/views/layouts/application.html.erb

昨日作ったプロジェクトで何も書いていないのでoverwriteしました。こうやって適用するんですね。application.html.erbは全体のレイアウトらしいのでこれを変えれば全体が変わるらしい。

$ buindle exec rails s  # 確認

以後、これを編集する。

want to use bootswatch?

http://bootswatch.com/ からvariables.lessをダウンロードし、中身をbootstrap_and_overrides.css.lessにコピペ。

Ref : http://qiita.com/items/a60886152a4c99ce1017

桐島、部活やめるってよ をDVDで観た。切ない。

初めて技術系以外のブログを投稿してみる^^;;

今日は妻が外出していたのでこっそり、さきイカとビールを買ってきて7.1chで映画鑑賞。(別に妻と観てもいいんだけどね。自分時間を楽しもうとね

蔦屋で借りるのを決めたのは”桐島、部活やめるってよ”。

本屋で本を見かけて気になってって借りました。

観た感想は、切ない。

高校時代の経験によって、感想はそれぞれだと思う。

個人的には、主人公が思いを寄せる子がチャラ男とできてるところを観てしまった。そして、台本を強く握りしめてる背中に切なさを思いっきり感じました。

今思うと学校生活って独特の世界。好きな子が彼氏といるところを見たところの切なさってなんなんでしょう。その子と一瞬目が合って、目を反らされる、みたいな。そんなこともあったようなないような。

映画の終わり方は意味わからん、と思いましたが、色々ぐぐってみてそういう味方なんだとなるほどと思いました。

ちょっとした懐かしさを思い出したい方は是非。

GitlabのバックアップをDropboxにとる方法 on さくらVPS1G, CentOS6.3

VPSのHDDに置いておくのは少し怖いのでdropbox上にバックアップを取っておきます。

過去の記事を参考にdropboxデーモンをVPSにインストール

http://shoheik.hatenablog.com/entry/2012/12/22/101143

backup ディレクトリを作る

$ mkdir -p $HOME/Dropbox/backup/gitlab
# ln -s /home/<user_id>/Dropbox/backup/gitlab /var/dropbox_backup_gitlab

dropbox groupを作って追加する。(backupのディレクトリに777を与えても良いと思う)

$ sudo groupadd dropbox # add dropbox user
$ sudo usermod -G dropbox <user_id> # add the uid into dropbox group

$ sudo chown <uid>:dropbox $HOME/Dropbox/backup/gitlab
$ chmod 775 $HOME/Dropbox/backup/gitlab

Shell scriptを作る

スクリプトにはやっつけ感があるかも。 https://github.com/gitlabhq/gitlabhq/blob/stable/doc/raketasks/backup_restore.mdにbackup方法が記載されている

gitlab $ cat /scripts/backup.sh 
#!/bin/bash

. $HOME/.bashrc
export PATH=$PATH:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin

# remove the old one
/bin/rm /var/dropbox_backup_gitlab/*.tar 2>/dev/null; 

# chdir
cd /home/gitlab/gitlab; 

# Take backup
bundle exec rake gitlab:backup:create RAILS_ENV=production

gitlab’s Cronに追加

[gitlab]$ crontab -l
23 23 * * sun    /home/gitlab/scripts/backup.sh 

以上、have fun :)

さくらVPSのCentOS6.3にGitlabを入れてこっそりソーシャルコーディングをはじめる

いつもは個人プロジェクトですが、今回友人と共同でプロジェクトを進めることになったのでソーシャルコーディングできるものを探してみました。githubでも良いのですが、一応コマーシャルプロダクトを見据えているのでこっそり開発したかったので, 流行っているgithubライクな管理システム, gitlabを導入することにしました。

基本的にhttps://github.com/gitlabhq/gitlabhq/blob/stable/doc/install/installation.mdを参照して入れるのですが、UbuntuDebianのみサポートするとか言ってて、ただステップに従うだけだと入りません。。そして、ステップが長過ぎるので飛ばしてしまう危険性を含んでいます。。近年まれにみる依存度の高さです。客観的にどうにかした方がいいと思うのですが。。

手順を全部書くと大変なので、注意点並びにtips, ハマった点を記載しておきます。

sudo userの追加

私は未だにsudoを普段使いしていないのですが、ステップがsudoベースなので入れておくとコピペが楽です。

http://knowhow3.com/knowhow/28

関連パッケージの追加

apt-getで書かれているのでただyum installするとパッケージがないって言われます。ibyaml, libyaml-devはrubyインストール前に入れておかないとpsychエラーが出てRubyのリビルドが必要になります。And this takes time..

sudo yum -y install zlib-devel
sudo yum -y install openssl-devel
sudo yum -y install mysql-devel
sudo yum -y install libxml2-devel
sudo yum -y install libxslt-devel
sudo yum -y install readline-devel
sudo yum -y install mysql++-devel
sudo yum -y install libicu-devel
sudo yum -y install python-devel
sudo yum -y install python-setuptools
sudo yum -y install sendmail
sudo yum -y install redis
sudo easy_install pip
sudo pip install pygments
sudo yum install perl-Time-HiRes
sudo yum install mysql-server
sudo yum install libyaml
sudo yum install libyaml-devel

sidekiqが上がらない

下記のエラーを吐いて上がりません。

$ bundle exec rake sidekiq:start
rake aborted!
cannot load such file -- rb-inotify
/home/gitlab/gitlab/config/application.rb:9:in `<top (required)>'
/home/gitlab/gitlab/Rakefile:5:in `require'
/home/gitlab/gitlab/Rakefile:5:in `<top (required)>'
(See full trace by running task with --trace)

調べてみるとissueが上がっていました。権限のようです。

https://github.com/gitlabhq/gitlabhq/issues/2995

下記をすると私の場合は、起動できました。

sudo mkdir tmp/pids/
sudo chown -R gitlab tmp/pids/
sudo chmod -R u+rwX  tmp/pids/

Nginxの設定が違う

設定が古いのかOSで違うのかわかりませんが、includeを追加しないと読み込みません。違うサービスでnginxを使っているのでハマりませんでしたが、書いておきます。

# /etc/nginx/nginx.conf
# 下記を追加
include /etc/nginx/sites-enabled/gitlab;

mysqlの設定

rootのパスの設定は作っておくこと。

http://knowhow3.com/knowhow/27

アクセスしたら、Nginxのトップページが表示される、または502

ログを見て対処します。/var/log/enginx とunicornのログ。基本的にパーミッション関連でした。chmod 777でテストしてchmod o-wとかで狭めていく方法をとりました。

checkを活用する。

下記のコマンドはドキュメントにもありますが、outputがhuman readableで優しいです。とりあえず、走らせてfixしてました。permissionとか。

$ bundle exec rake gitlab:check RAILS_ENV=production

参考

yum installの箇所はyokojiの日記を参考にさせていただきました。

で、メモリ使用量は?

1Gじゃぎりぎりかも。

$ free -m 
         total       used       free     shared    buffers     cached
Mem:           996        864        132          0         95        241
-/+ buffers/cache:        528        468
Swap:         2047          3       2044

横浜オープンデータハッカソンvol.2. に参加してきた

本日, 横浜オープンデータハッカソンvol.2. に参加してきました。

初ハッカソン参加です。

テーマは観光。

自己紹介の後に、簡単なブレーンストーミング。テーマからチーム決め。

今回は積極的にテーマを発言して、それについて取り組みました。

テーマ:デートスポット提案サービス

横浜といえば、デートスポットでしょう。ということで、うまくオープンデータを使ってデートプランを提供するサービスができないか考えるところからHackします。バリバリハックして行く気満々だったのですが、テーマから問題、目的を決めるのに1時間半ほどかかり実装時間が3時間程度しかなかったのでモック作り+資料作り+簡単な実装で終わりました。時間があればもっと実装できたのになぁと思います。

まぁ、いろんな人と話をしてモノを創っていくのは面白い。

オープンデータという視点からは、オープンデータはあるけど、活用できてない。あるけど、フォーマットに問題がある。データを作るための作業がまだまだ必要なようです。ハック以前の問題ですね。この作業は非常に地味なのでコストの安いオフショアにアウトソースした方がいいな、と思いました。国の予算に頼らない仕組みも必要なのかなと思いました。

次は違うハッカソンも行ってみたい:)