git, ubuntu

公開リポジトリを作成するまで gitのインストール sudo apt-get install git gitoliteのインストール sudo apt-get install gitolite gitolite用アカウントの作成 sudo adduser --disabled-password gitolite 管理者用として公開鍵を作成 ssh-keygen -t rsa gitoliteアカウントのホームに転送 sudo cp .ssh/id_rsa.pub /home/gitolite/a ...

Ruby, ubuntu

Rubyは、リファレンス実装でC言語によるRuby(CRuby)や、Javaでの実装のJRuby、.NETのIronRubyなど、多くの実装があります。 これを一つ一つ環境構築してたら、大変なので RVMというRubyの管理ツールをインストールしてみます。 これで出来る事は Rubyのバージョンを切り替える CRubyからJRubyに切り替える gemのセットを作って切り替える など お手軽に入れるには、Ubuntuなどのユーザ領域にRVMをインストールする ということで、インストールして見ます ...

git, Linux, Windows

gitoliteからリポジトリをクローンするには Linux系の場合 ssh-keygen -t rsa でキーを作成する id_rsa.pubを適当な名前でコピーする 例)gendosu-ubuntu.pub gitoliteのサーバにsftpなどで送り込んで gitolite-admin/keydirに格納する gitolite-adminリポジトリをコミットして、プッシュ これで、gitoliteへ公開鍵を設定完了 ssh gitolite@サーバ名 とやると、gitoliteがメッセージ ...

Ruby on Rails 3 Tips

scope :active, where('deleted_at is null') というスコープを設定したとして この条件を含むSQLをコード内で取得したい場合ってありますよね。 SQL書いてでゴニョゴニョしたい場合とか…。 そんな時には Article.active.to_sql としてやれば、 select * from articles where deleted_at is null というSQLが取得出来ます。 参考例 # === タグ class Tag < Act ...

git

たとえば、svnのリポジトリをgitで扱いたい場合、 git svn clone とやれば、svnのリポジトリをgitとして扱うことが出来ます。 gitでtagやbranchなども使ってsvnリポジトリを扱いたい場合 git svn clone -s とすれば、ブランチやタグの情報も取得出来るようになります。 ただし、 という構成になっていないと よろしくやってくれないようです。 通常と違う構成でsvnを使っている場合、-sオプションでは無く git svn clone --trunk=<tru ...

git

git log コマンドで コミットの日付が Date: Tue Nov 27 06:21:17 2012 +0000 なんて感じで、9時間ずれるような時は git log --date=local とオプションを付ければ、 Date: Tue Nov 27 15:21:17 2012 と、ちゃんと表示される

Ruby on Rails メモ

Ruby on Railsで数値を整形する場合、ActionViewには便利なヘルパーがあります。 number_with_delimiter です。 number_with_delimiter(12345678) # => 12,345,678 number_with_delimiter("123456") # => 123,456 number_with_delimiter(12345678.05) # => 12,345,678.05 number_w ...

Ruby on Rails 3 Tips

class ActiveForm include ActiveModel::Conversion extend ActiveModel::Naming include ActiveModel::Validations def persisted?; false; end def initialize(attributes = {}) attributes.each do |name, value| send("#{name}=", value) rescue nil end ...

Ruby, Ruby on Rails 3 Tips

sql = " SELECT * FROM users WHERE created_at >= '#{2.weeks.ago}' ORDER BY created_at DESC " @users = User.paginate_by_sql(sql, :page => params, :per_page => 20) こんな感じ

Ruby on Rails 3 Tips, Ruby on Rails 3 プラグイン

Rails 2.x系で、論理削除と言ったら、もうこれ!というのが acts_as_paranoid でした。 Rails 3.x系では rails3_acts_as_paranoid を使います。 インストールの方法は GemFileに gem "rails3_acts_as_paranoid", "~>0.2.0" と追記して bundle実行 ※Rails3.1の場合は、GemFileに書くプラグインのバージョンが"~>0.1.4"になります。 ※Rails3.0の場合は、Gem ...

Ruby, Ruby on Rails 3 Tips

UbuntuにRails3.2.8の実行環境を一からインストールしてみます。 Ubuntuは12.04を使用します。 まずは Rubyから、と言いたい所ですが、必要パッケージ類から MySQLをインストール sudo apt-get install mysql-server mysql-client 続いて、RubyはUbuntuのパッケージで1.9.3と言うのがあるので、これを入れます。 sudo apt-get install ruby1.9.3 Railsを入れます。 sudo gem i ...

Ruby, Ruby on Rails 3 Tips

Rails 3.2では、javascriptやstylesheetはassetにまとめられます。 ここにまとめられたものは 例えばstylesheetであれば自動的に「コントローラ名.css.scss」がcssコンパイルされ、 リンクされます。自分で指定する場合は <%= stylesheet_link_tag "users" %> とすればリンク出来ます。 さて、Rails3.2では、stylesheetはscssが、JavaScriptはCoffeScriptがそれぞれ 標準で使 ...

Ruby, Ruby on Rails メモ

Rubyで「&amp;」などの文字参照をデコードするには CGI.unescapeHTML('test&amp;リリース') とすると test&リリース という感じで変換してくれる。

Play framework2

application.confには前環境で共通の内容を設定 prod.confには、本番環境用のみのものを設定 という感じで、本番と開発で設定を分けたいなと思います。 これを実現するには 起動時のパラメータに以下のような設定を追加することで実現出来ます。 config.resource=prod.conf このconfig.resourceというのは、Play プロジェクト内のリソースとしてのprod.confを読み込みます、という設定なので、 confディレクトリに格納しておく必要があります ...

Scala

今回のお題は プログラムをやってて、ある程度数値をいじる方にはもう一般的な事かもしれませんが 四捨五入です。 Scalaで。 わかりやすいように例を挙げますと 画像サイズを比率を保ったまま縮小する処理を書いてみます。   このような感じで「widthAfter / widthBefore」で比率を求め、heightBeforeに掛け合わせて算出します。 これをそのまま実行するとheightAfter が 「339.9734395750332005312084993359895」 という ...

Ruby, Ruby on Rails 3 Tips, Ruby on Rails 3 プラグイン

Ruby on RailsからSolrを使うには、このプラグインを使うと良さそうだ sunspot_rails ホームページは sunspotプロジェクトの一部になっています。 インストールは Ruby on Rails 3の場合 gemfileに を追加 あとは を実行 Ruby on Rails 2の場合は #config/environment.rb に を追加 #config/development.rb #config/test.rb に を追加 を実行 config/sunspot. ...

Play framework2, Scala

APIDOCとか、Documentをみたら、分かる事ではあるが、はまりやすいので書いておく とした場合に action1を叩いてからaction2を叩くと セッションの情報がtest2 -> value2だけになる。 test1とtest2のセッションを保持したいなら とする たぶん

Play framework2, Scala

Scalaの開発をVMで行っているわけでありますが 素のPlay frameworkだと、色々やってるうちにメモリを浪費してしまうようです。 メモリリークでは無いけど、必要なメモリをどんどん確保してしまうみたい。 なので、ヒープの上限という意味で割り当てを指定してみます。 毎回Play起動時に指定するのは面倒なので、環境変数で。 #~/.bashrc を開いて、一番下あたりに と書き込んでターミナルを再起動します。 以上です。 playを起動すると Picked up _JAVA_OPTIONS ...

Scala

とかやりたい時に、そのままやってもエラーになってしまうが を書いておくと、上記の書き方が出来るようになる ※補足 sbtでプロジェクトを管理している時にApache Commons IOを使う場合 build.sbtに を追加しておくと依存関係が解決