第3弾 Ruby on Railsの無料勉強会
http://atnd.org/events/21298これ参加した。
sudo port -d selfupdate sudo port upgrade outdated sudo port upgrade installed
・新しいRubyいれる
sudo port upgrade ruby port installed ruby
・新しいRailsいれる
sudo gem update -r rails ||< Controller(インスタンス)→ View ヘルパー モデル http://www10.atwiki.jp/ccqofinfo/pages/99.html Rails App ↓ DB(SQL)1つ ↓ テーブル Book ↓ コントローラー + モデル ↓ Debugツール + Console 3からrailsコマンドに変わった(rakeでない) ・新規作成 >|ruby| rails new rails_test
DB設定の中身
・Gemfile
gem 'rake', '0.8.7' #追加 gem 'sass-rails' #追加
編集したら
bundle install
bundle update
・モデル作成
rake generate model book
→エラー出た
rake generate model book rake aborted! You have already activated rake 0.9.2.2, but your Gemfile requires rake 0.8.7. Consider using bundle exec.
面倒なので
Gemfileの指定を消す
gem 'rake'
他の参加者のブログ拝見
http://d.hatena.ne.jp/junnemoto/
わからないので、もうrakeをダウングレードする
・現状のrakeのバージョン消す
sudo gem uninstall rake --version=0.9.2.2
もういっちょ
rake generate model book
rake aborted! You have already activated rake 0.9.0, but your Gemfile requires rake 0.8.7. Consider using bundle exec.
あ?更に上位のバージョンか。
sudo gem uninstall rake --version=0.9.0
このrakeも消す
もういっちょ
rake generate model book
(in /Users/shinriyo/Documents/rails_app/rails_test) rake aborted! dlopen(/Library/Ruby/Gems/1.8/gems/sqlite3-1.3.4/lib/sqlite3/sqlite3_native.bundle, 9): no suitable image found. Did find: /Library/Ruby/Gems/1.8/gems/sqlite3-1.3.4/lib/sqlite3/sqlite3_native.bundle: mach-o, but wrong architecture - /Library/Ruby/Gems/1.8/gems/sqlite3-1.3.4/lib/sqlite3/sqlite3_native.bundle /Users/shinriyo/Documents/rails_app/rails_test/Rakefile:5 (See full trace by running task with --trace)
もうあきらめる
上手く行った時の手順だけのこす
rake db:migrate
・DB設定
#省略 t.string, bookname t.string, title #省略
・database.yml
adapterはmysql2
database: rails_test
テストのため、コントローラのメソッド上で
debugger
と書くと、そこでひっかかってくれる。
ビューに書くときは
<% debugger %>
第1回 横浜へなちょこUnity勉強会
http://atnd.org/events/20574これも、ハシゴで参加した。第0回もあったよう。
- 発表: Unity3Dにおけるコードの再利用とかなんとか by @fum1h1ro
・Unity
コピペ
→ありえん
元を修正するときはテスト以外は避けたい
クラスの継承
敵の元となる規定クラス常套手段
C#について
「++C++;// 未確認飛行 C」ってサイトhttp://ufcpp.net/index.html
このサイトがいい
http://ufcpp.net/study/csharp/ap_ver4.html
このへんにはC#4.0の説明もあるし
http://ufcpp.net/study/csharp/sp3_comprehensions.html
リスト内包表記とかもある C#のね。
- まずはこれらを宣言
// Enumerable.RangeとかWhereを使うのに必要 using System.Linq; // IEnumerableに必要 using System.Collections.Generic;
- 0〜9の数から偶数を取り出すの書いてみたよ
// 0〜9を生成。10は含まない IEnumerable<int> ten = Enumerable.Range(0, 10); // (1) // 2で割って余りが0(つまり偶数)のを取り出して格納 IEnumerable<int> evens = from n in ten where n % 2 == 0 select n; // (2) foreach (int even in evens) { Debug.Log(even); // => 0, 2, 4, 8 }
IEnumerable<int> evens = ten.Where(n => n % 2 == 0);
↑さらに(2)を短くした
IEnumerable<int> evens = ten.Where( delegate(int n) { return n % 2 == 0; } );
↑「n => n」っていうのはラムダ式なので展開?ていうか、delegateを使った匿名メソッドで書くとなので(2)はこうもできる
以下の2つは同じ
- 匿名メソッド
delegate(int x, int y) { return x + y; }
(x, y) => x + y
さらに。。。
bool hoge (int n) { return n % 2 == 0; }
こんなメソッドを別に作り、
IEnumerable<int> evens = ten.Where( hoge ); // (3)
先ほどの(2)をこうすることもOK。hogeは()がいらないみたい。
IEnumerable<int> evens = Enumerable.Range(0,10).Where( hoge );
(1)と(3)を合体!
IEnumerable<int> evens = Enumerable.Range(0,10).Where(n => n % 2 == 0);