「朽ちる散る落ちる―Rot off and Drop away」読了
- 作者: 森博嗣
- 出版社/メーカー: 講談社
- 発売日: 2005/07/15
- メディア: 文庫
- クリック: 10回
- この商品を含むブログ (103件) を見る
本作は、「六人の超音波科学者―Six Supersonic Scientists」の続編にも当たるのですが、なんだかいきなりスケールが壮大になって、シリアスさが増大してます。まさにハードボイルドって感じかも。
章タイトルの読みがぜんぶ「かける」になってるのがちょっと面白いです。いや、この作品に関わらず、森博嗣の作品の章タイトルは、言葉遊び的なものが多いですが。
今回のトリックはかなり理系な上に、計算式で埋め尽くされているので、もーわからんよ!って感じです。うーん、物理とか好きな人にはいいかも。
Rails2.0からsqliteがデフォルトになったのはいいが、どうやって中身みるんだ?
sqlite3コマンドが、フロントエンドになっているらしい。
>sqlite3 development.sqlite3 SQLite version 3.5.4 Enter ".help" for instructions sqlite> .databases seq name file --- --------------- ---------------------------------------------------------- 0 main rails_apps/depot/db/development.sqlite3 sqlite> .tables products schema_info sessions sqlite> .schema sessions CREATE TABLE sessions ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "session _id" varchar(255) NOT NULL, "data" text DEFAULT NULL, "created_at" datetime DEFA ULT NULL, "updated_at" datetime DEFAULT NULL); CREATE INDEX "index_sessions_on_session_id" ON sessions ("session_id"); CREATE INDEX "index_sessions_on_updated_at" ON sessions ("updated_at"); sqlite> select * from sessions; sqlite> select * from products; 6|Pragmatic Project Automation|<p> <em>Pragmatic Project Automation</em> shows you how to improve the consistency and repeatability of your project's procedures using automation to reduce risk and errors. </p> <p> Simply put, we're going to put this thing called a computer to work for you doing the mundane (but important) project stuff. That means you'll have more time and energy to do the really exciting---and difficult---stuff, like writing quality code. </p>|/images/auto.jpg|2008-05-01 21:20:23|2008-05-01 21:20:23|29.95 7|Pragmatic Version Control|<p> This book is a recipe-based approach to using Subversion that will get you up and running quickly---and correctly. All projects need version control: it's a foundational piece of any project's infrastructure. Yet half of all project teams in the U.S. don't use any version control at all. Many others don't use it well, and end up experiencing time-consuming problems. </p>|/images/svn.jpg|2008-05-01 21:20:24|2008-05-01 21:20:24|28.5 8|Pragmatic Unit Testing (C#)|<p> Pragmatic programmers use feedback to drive their development and personal processes. The most valuable feedback you can get while coding comes from unit testing. </p> <p> Without good tests in place, coding can become a frustrating game of "whack-a-mole." That's the carnival game where the player strikes at a mechanical mole; it retreats and another mole pops up on the opposite si de of the field. The moles pop up and down so fast that you end up flailing your mallet helplessly as the moles continue to pop up where you least expect them. </p>|/images/utc.jpg|2008-05-01 21:20:24|2008-05-01 21:20:24|27.75 9|abcdefghih|dflkasdf|http://hoge.com/abc.png|2008-05-01 21:48:34|2008-05-01 22: 02:10|250 sqlite> sqlite> .quit >
なるほど。
No :secret given to the #protect_from_forgery call.発生
cookieにActiveRecordを使うようにしてみたら出ました。
解決策は=>ActiveRecordにセッションを格納するようにしたらエラー
あっという間に解決。
「RailsによるアジャイルWebアプリケーション開発」8章まで読了
↑のsessionの問題以外は特になし。自由課題をやる。
新しい変数をセッションに加えて、ユーザが何回indexアクションにアクセスしたか記録してみましょう。
store_controller.rbのindexに処理を追加。
def index @products = Product.find_products_for_sale if session[:counter].nil? then session[:counter] = 1 else session[:counter] += 1 end end
上記のカウンタをテンプレートに渡して、カタログページの上部に表示してみましょう。
views/store/index.html.erbに一行追加。
<h1>Pragmaticカタログ</h1> <%= session[:counter] %>回目の表示です。 <% for product in @products -%>
ユーザがカートに何か入れたときにカウンタが0にリセットされるようにしましょう。
store_controller.rbのadd_to_cartに一行追加
def add_to_cart begin product = Product.find(params[:id]) rescue ActiveRecord::RecordNotFound logger.error("無効な商品#{params[:id]}にアクセスしようとしました") redirect_to_index("無効な商品です") else @cart = find_cart @cart.add_product(product) session[:counter] = nil end end
エラーの時はリセットしない仕様です。
テンプレートを変更して、カウンタの値が5を超過したときにだけカウンタが表示されるようにしましょう。
views/store/index.html.erbを今度はこうしてみる。
<h1>Pragmaticカタログ</h1> <% if session[:counter] >= 5 then %><%= session[:counter] %>回目の表示です。 <% end %> <% for product in @products -%>
JSPチックやなあ。