nanapiカバンの中身だしアドベントカレンダー2014のバトンを受け取りました。 nanapiカバンの中身出しアドベントカレンダー2014:ブログまとめ - 水割りを、ロックで リターンズ 前の日はid:horikunさんでした。 行動的なid:horikunさんならではの工夫があっ…
自分で使う学習机が欲しくて探してた。 今までは、ローテーブルの上にデスクトップパソコンを置いて座椅子に座ったり、ソファに腰掛けてノートパソコンで作業をしてた。 だけどすぐに腰や肩が痛くなって長く居られなかったし、落ち着いて作業や勉強がしたか…
railstutorialはRuby on RailsとデファクトスタンダードなGemを使ってTwitter風アプリケーションを作るということを題材に、実際の仕事の開発でも行うGitHub Flowや振る舞い駆動開発をしながら、Webアプリケーション開発を学ぶチュートリアル。 Ruby on Rail…
テーマ has_many throughアソシエーション member, collection ルーティング コレクションとアンパサンドシンボルメソッド名 Ajaxリクエストとレスポンス ユーザ has_many リレーションシップ リレーションシップ has_many ユーザ リレーションシップをリン…
テーマ アソシエーション パーシャル micropostsテーブルの追加 $ rails generate model Micropost content:string user_id:integer $ rake db:migrate $ rake test:prepare やはりテストがこける Failure/Error: let(:user) { FactoryGirl.create(:user) } …
テーマ ユーザーの更新・表示・削除 認証と認可 フレンドリーフォワーディング ページング機能 webブラウザからPATHリクエストができないので、POSTのhiddenパラメータ_methodにpatchが入っている <form accept-charset="UTF-8" action="/users/2" class="edit_user" id="edit_user_2" method="post"> <input name="_method" type="hidden" value="patch" /> Active Recordのnew_record?メソッド Railsは、form…</form>
テーマ ログイン/ログアウト セッションとクッキー nilガード オープンクラス Cucumber セッションコントローラの作成 $ rails generate controller Sessions --no-test-framework $ rails generate integration_test authentication_pages 限定したリソース…
テーマ フォーム paramsでデバッグ <%= debug(params) if Rails.env.development? %> 環境 test development production (Herokuは常にコレ) パラメータを指定して起動 $ rails console test $ rails server --environment production $ rake db:migrate RAI…
テーマ ユーザ登録 モデル バリデーション 認証と権限のモジュールはたくさんあるけどここでは自前で作る Clearance Authlogic Device Cancan モデルは単数形で指定 $ rails generate model User name:string email:string t.timestampsはマジックカラム マ…
テーマ Twitter Bootstrap レイアウト パーシャル ルーティング Asset Pipeline CSS Sass Gem追加 gem 'bootstrap-sass' gem ‘sprockets' config/application.rbに追加 config.assets.precompile += %w(*.png *.jpg *.jpeg *.gif) Bootstrap CSSを追加 app/a…
テーマ 普通のRuby Rails風味のRuby rails console コメント 文字列 式展開 #{first_name}はダブルクォートのなかのみ putsはput string nil.to_s.empty? “".nil? nil.nil? Rubyにおいてifがfalseになるのはfalseとnilのみ if nil then true else false end …
テーマ rails generate erb 振舞駆動開発 (Behavior-Driven Development, BDD) Guard --ski-test-unit は、Test::Unitを使うのではなくRspecを使う為にtestディレクトリを作成しないオプション。 $ rails new sample_app --skip-bundle --skip-test-unit $ b…
テーマ scaffolding MVC rake REST $ mkdir demo_app $ cd demo_app $ rails new . --skip-bundle Gemfileと.envrcは前章のをコピー $ bundle install --path=vendor/bundle --binstubs --without production $ bundle config --delete bin $ rake rails:upd…
テーマ Ruby, Rails, Gem, Bundler Git Heroku $ bundle install --without production $ heroku login $ heroku create Creating xxxxxx-xxx-0000... done, stack is cedar http://xxxxxx-xxx-0000.herokuapp.com/ | git@heroku.com:xxxxxx-xxx-0000.git Gi…
帰省している妻とLINEでマッキーの話をしていたから、今日はマッキー。 僕が一番欲しかったもの槇原敬之J-Pop¥250provided courtesy of iTunes GREEN DAYS槇原敬之Pop¥250provided courtesy of iTunes どんなときも。槇原敬之Pop¥250provided courtesy of iT…
Ruby久しぶりすぎてブロックとProcについて頭の中からさっぱり抜けていたけど、この記事とてもわかりやすくて良かった。 [Ruby] ブロックとProcをちゃんと理解する - Qiita [Ruby] ブロックとProcをちゃんと理解する - Qiita ブロック、Procってなに? ブロ…
Railsがんばるぞ 10月になりました。また、Railsやりはじめます。 Macには既にrbenvを入れてた。 brew install rbenv ruby-build echo 'if which rbenv > /dev/null; then eval "$(rbenv init -)"; fi' >> ~/.zprofile 2.1.1が入っていたので、消して2.1.3を…
http://instacod.es/ instacodeはソースコードをinstagramぽく画像加工して投稿できるサービス。 記念に、初めて書いたVimスクリプトのコードで作ってみた。 http://instacod.es/93656セピア調。書いたときの思い出がよみがえる。 Instacodeへ投稿するVimプ…
https://github.com/violetyk/w.vim メモの管理 w.vimはメモを管理するためVimプラグインです。僕はメモを書くときは単純に記録の他、考えるときや作業するときの頭の整理のためにも書くことが多いのですが、そのメモを管理するツールは今までいろいろなもの…
リストが入った変数を別の変数へ代入すると、参照になる。 知らなかったー。copy()でリストのコピーを作ればOKと思ったが、 "浅いコピー"になるので要素がリストだとコピー元も変更される。 完全にコピーを作ろうと思ったら、deepcopy()を使えばOK。:help li…
graph-easy graph-easyはアスキーアートでグラフを描画するツール。 簡単なテキストの記述でネットワーク図などが書けるのでとても便利。 データのビジュアル化を最少の労力で: graph-easy Graph::Easy - Manual - Syntax install CPANでインストール。 $ su…
Vim scriptでは関数を辞書(PHPでいう連想配列)変数に代入することができます。 その関数のなかでselfを使うと、呼び出し元の辞書を参照できます。 let s:test = {'name' : 'hogefuga'} function! s:test.func() echo self.name endfunction call s:test.fu…
Vagrant生活を始めたので、ターミナルで開発サーバにsshしてvimで開発するのをいったんお休みし、Vagrantとmacvimを使って開発することにしました。 感想 表示が速い!快適! コマンド叩きたいときにCtrl + zじゃなくて⌘+TABでiTermのウィンドウに移動する操…
Vagrant。2013年に単語を聞きまくっていたのに手をつけていなかったものをようやく触り始めました。 とりあえず、登場してくるものの概要を理解。 VirtualBox 仮想マシンを立ち上げるソフト(環境)。他にはVMWare、AWS。 Vagrant 仮想マシンを立ち上げるソ…
PHPの関数を補完するneocomplete用source neocomplete-php.vimはneocomplete.vimのPHP用sourceです。補完時に、関数と一緒に短い説明が欲しかったので作り始めました。今のところはPHPの組み込み関数の補完しかできないのですが、 これから次のような機能を…
最近PHP5.5を触っています。 5.4からの機能、トレイト。 PHP: トレイト - Manual 今までabstractクラスで実装してた部分を役割分割して実装済みメソッドだけにした、みたいなものかなぁ。 interfaceとセットでtraitを使うとコールする側も保証できてよさそう…
pplog - ゆるふわインターネットにポエムを刻もうpplogがおもしろいです。 ひとことでいうと、最新の1件だけ見ることができるブログ、でしょうか。 最新の1件だけという制限以外にも「フォロワーが分からないこと」がいいなぁと思いました。 誰に読まれるん…
PFUダイレクト | カラーキートップセット(HHKB Professionalシリーズ専用) | PFU が届いたので、さっそく装着しました!雰囲気変わるー!タイピングが楽しくなりますね! (ちょっと年末に大掃除だな・・・) 裏面は今、こんな感じ。 ギターの裏にシールを貼…
CakePHP2.4、php5.5でセッションハンドラにMemcacheを使おうとしたら、落ちました。 原因はsession.auto_startの指定 セッションの設定を1つずつ見ていったところ、わかりました。session.auto_startはphp5.5.2と5.4.20からPHP_INI_PERDIRに変わったため、 …
PluginとVendorの中を1つのComposerで管理したい 以下のツリーのように、ひとつのCakePHP本体と複数のCakePHPアプリケーションがあるときに DebugKitやPHPUnitなどはそれぞれのアプリケーションごとにある必要は無く、共通で参照できる場所にあればオッケー…