2013-01-01から1年間の記事一覧

なんでGETメソッドじゃだめなの

WEB

RailsのcreateアクションとかはなんでPOSTなのか。なんでGETじゃだめなのか。 調べたらRFCで『GETはリソースに変更がないこと、副作用がないこと』みたいな感じで定義されているからっぽい。別にcreateアクションをGETで実装可能だけど次の点からPOSTで実装…

2013年まとめとか

今年は初めての転職をキメて人生の転換期だったと思ってる。 前職は独立系中小SIerにいて、大規模プロジェクトや多重派遣とかの契約のせいで、全体的に自分では何も変えられない状況につらぽよを感じて転職へ。 その後Rubyプログラマを募集してるところへ入…

2014年AppleStore初売りに並びます

2013年は渋谷にて参戦予定だったけど22時頃から既に完売だったので並べず。 1年に1回のお祭り事なので2014年こそはと思ったが2013年の完売間隔を見ると今年も関東は厳しそう。 20時とか時点から並ぶとかそこまで信仰心ないですしおしす。 ということで帰省…

プリキュアとタスク管理

私生活でタスクの管理できてない感あったのでiPhoneアプリのRedmineクライアント探したらあった。 http://redminepm.jp/ さっき使ったばっかだけどこれがすごくいけててやばい。よくわからないけどこういうの神アプリって言うんだと思う。これはお金払いたい…

緯度経度から距離を計算するgeokit-railsの使い方

こんばんわ。 地図を移動移動した時にするサーバとの通信を、ActionController::Liveでやろうと考えましたがIEが非対応だったのでクソがとなりました。 環境 rails 4.0.2 geokit-rails (2.0.1)https://github.com/geokit/geokit-rails geokit-railsは、緯度…

Vimスクリプトはじめました

RubyっぽいしWEBに記事たくさんあるのでけっこういい感じっぽい。

Lokkaをherokuで使う

http://lokka.orgさくっとサイト作りたかったのでLokka × Heroku 使った。 $ git clone https://github.com/lokka/lokka.git lokka-vim .... $ heroku login $ Email: jiikko@gmail.com Password (typing will be hidden): Authentication successful. $ her…

becomes と 単一継承テーブル

単一継承テーブルしてる複数のモデルで、同一のformを使うとするとActiveRecord::Persistence#becomesメソッドを使うと思う。 このbecomesメソッドはコントローラーで使ったほうがいいよという話。今までの自分はform_forメソッドの引数へ直接becomesを書い…

capistrano3使ってみた

3へのだいたいの変更点 setメソッドで定義した値を読むには、fetchメソッドを使う capistrano-extがデフォでサポート 自作タスクの構文がかわった 今までdeploy:migeationsと実行していたmigrationタスクは、 cap production deployで一緒に実行されるように…

プレビュー機能つける

Rails4 リソースを登録する前にプレビューしたい! View _form.html.eb プレビュー用submitには、name属性にpreviewを表す文字を割り当てる。 ... <div class="control-group"> <%= f.label :body, '本文', class: 'control-label' %> <div class="controls"> <%= f.text_area :body, class: 'span9', size: "0</div></div>…

migrateでコケた原因はPostgresqlでリストアでエラーになってたからだった

$ psql -U postgres -d prpr-antena_development < dump . . . ERROR: cannot drop schema public because other objects depend on it DETAIL: table regions depends on schema public table prefectures depends on schema public HINT: Use DROP ... CAS…

gem install で OpenSSL::SSL::SSLError

久々にVPSでgemを入れたらエラーになった。 $ gem i passenger ERROR: While executing gem ... (OpenSSL::SSL::SSLError) SSL_connect returned=1 errno=0 state=SSLv3 read server hello A: wrong version numberたぶんここに書いてることっぽい。 http://…

DevLOVE現場甲子園2013行ってきた

4つのセッションが同時進行する形式のボリュームたっぷりな勉強会でした。 その4つのセッションはプログラミング、運用、マネージメント、なんかの4つジャンルに分けられてて、参加者は自由に好きなセッションを聞ける感じだった。 以下印象残ったやつ。 web…

extendとincludeの違いについて

ruby2.0moduleを取り込むのにinculudeとextendがあって あ・れ・はなんなんじゃ なんじゃ なんじゃにん(ry となったので調べてみた。違いは継承ツリーのどこに差し込まれるかという話っぽい。 includeは(includeした)元のクラスの上に差し込まれる。 extend…

class << Hoge; endのシンタックスについて

ruby 2.0.0p247クラスメソッドを定義するやつ。 class << String def hello :hello end end こういうものだと思ってたけどなんとなくわかった。前提の知識として、クラスメソッドというのはClassオブジェクトの特異メソッドである。(class式で定義している定…

showアクションを文字列で

rails3普通のRailsアプリなら数字でリクエストを送るけど文字列で送りたい。RedmineのProjectsController#showで同じことやっていたので、ソースを追うとfindメソッドを上書きしてた。 # app/models/project.rb def self.find(*args) if args.first && args.…

ポリモーフィックなカラムのセレクトボックスを作る

rails4 ポリモーフィック(polymorphic)関連とは UserモデルとPostモデルの両方にPhotoモデルを関連つけたい。 ユーザと記事は画像を持てる。みたいな時に このポリモーフィック関連を使うといい感じに実装できる。(~ableにするのが慣習っぽい。)使うには、Ph…

現在ディレクトリのファイル名を一括リネーム

ruby-2.0.0-p247 $ pry [1] pry(main)> Dir.glob("**").each_with_index do |name, i| File.rename(name, "#{i}.jpg"); end 全部jpgになっちゃうけど

Rubyのクラスオブジェクトについて 1

環境 ruby-2.0.0-p247パーフェクトRubyのクラスオブジェクトのところをかいつまんで読んでみたまとめ的な感じ。 クラスを定義する class式を使うのとClass#newで定義できる。 class Hoge end a = Class.new Class#newを使う場合は無名クラスというものになる…

ロードパス

同じディレクトリにある自作rbファイルをrequireしようとしたとき LoadError: cannot load such file -- testとなって読み込めにないことがあった。 requireメソッドはロードパスというグローバル変数に格納しているパスを探索し、探索した結果そのファイル…

Model.newの時に初期値を設定する その2

前の記事でinitializeメソッドのオーバーライドしていたけど、 Activerecordのdoc見るとafter_initializeというコードバックがあるみたいだったのでこっち使った方がよさそう。 直接あなたのアクティブレコードinitializeメソッドをオーバーライドする必要性…

Model.newの時に初期値を設定する

railsl4createアクションでもnewしているのでnilの場合だけ設定してる。 class Item < ActiveRecord::Base def initialize(*args, &block) super self.start_on = DateTime.now.to_date if self.start_on.nil? self.end_on = DateTime.now.to_date + 1.week …

act_as_listで別リストにする項目を文字列で

acts_as_list (0.2.0) acts_as_list scope: :slugとすると、slug_idでグルーピングされる。 こうすればいい acts_as_list scope: %q!slug = '#{self.slug}'! 参考 http://d.hatena.ne.jp/hichiriki/touch/20100212/1265980728

nginxでBasic認証をする

nginx version: nginx/1.4.1 Linux debian 3.2.0-4-amd64 サイトにBasicかけたかったので調べた。 nginxがBasic認証時に使う認証ファイルの生成には、apacheが使っているモジュールと同じものを使う。 認証ファイルの生成はapache2-utilsというソフトウェア…

manコマンドを日本語化

Mac

ここからjmanとmanページ集をそれぞれダウンロードしてインストールするだけ。$ jman ls あとは必要ならmanをjmanに置き換えるエイリアスを設定。 http://blog.ruedap.com/2010/10/17/mac-man-jman-japanese

Nokogiriのインストールできない

$ gem install nokogiri -v '1.5.9' Fetching: nokogiri-1.5.9.gem (100%) Building native extensions. This could take a while... ERROR: Error installing nokogiri: ERROR: Failed to build gem native extension. /home/deployer/.rvm/rubies/ruby-2.0…

LinuxOSをセットアップする時にまず最初にやること

# aptitude purge nano The following packages will be REMOVED: nano{p} 0 packages upgraded, 0 newly installed, 1 to remove and 0 not upgraded. Need to get 0 B of archives. After unpacking 1,704 kB will be freed. Do you want to continue? [Y/…

文字数で文字の切り捨て

文字の切り捨てする時にRailsだとtruncateというヘルパーがあるのでそれでできるけどパターンによってはすごくいまいち。 helper.truncate("123456789", :length => 8) # => "12345..." helper.truncate("12345678", :length => 8) # => "12345678" truncate…

Facebookのイイネ数を取得する

WEB

APIはふたつあるみたい。 その1 リクエスト https://api.facebook.com/method/fql.query?query=SELECT total_count FROM link_stat WHERE url="http://google.com" レスポンス <fql_query_response xmlns="http://api.facebook.com/1.0/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" list="true"> <link_stat> <total_count>7158803</total_count></link_stat></fql_query_response>

クラス拡張ミックスイン

メタプグラミングRubyの221ページにクラス拡張ミックスインというイディオムについての解説があったので写経してみた。 この『クラス拡張ミックスイン』は、モジュールをincludeした時にインスタンスメソッドとクラスメソッドを両方取り込みたい時に使うもの…