webappdev勉強会 #3 at cafe? ikagawa do
TRANSCRIPT
Web Application Devlopment
Webアプリ開発#3
05.23.12
Presented by U-moa
Agenda
1. 自己紹介タイム
2. ワークショップSinatraではじめるWebアプリ開発 #2
3. LT(あれば)
4. ふりかえり
Self-Introduction
自己紹介タイム
Self-Introduction
• 名前
• 所属
• 好きなこと、最近やっていることなどなど・・・
Workshop
ワークショップ
WorkShop
今日の目標
簡単なブログを作ってみよう
Sinatraではじめる
Webアプリ開発 #3Sinatra is a DSL for quickly creating
web application in Ruby with minimal
effort:
ウォームアップを兼ねて前回のおさらい
Sequelの復習
テーブルを作ろう
• sequelをrequireしよう
• データベースへ接続するコードを書こう
• テーブルを定義しよう(テーブル名と項目は自由に)
テーブルを作ろう1 # coding: utf-8
2 require 'rubygems'
3 require 'sequel'
4
5 Sequel::Model.plugin(:schema)
6 DB = Sequel.sqlite('database.sqlite3') ## SQLite3
7
8 class Person < Sequel::Model
9 unless table_exists?
10 set_schema do
11 primary_key :id
12 string :name
13 integer :age
14 end
15
16 create_table
17 end
18 end
DBへの接続
テーブルの名前
項目の定義
データを追加してみよう
• テーブルにデータを追加してみよう
• 2つ以上データを追加すること
データを追加してみよう
1 # coding: utf-8
2 require 'rubygems'
3 require 'sequel'
4
…… 中略19
20 Person.create(:name => 'Pamyu Pamyu', :age => 19)
21 Person.create(:name => ’Yasutaka', :age => 32)
22
データを取り出してみよう
• 先程追加したデータを検索して取り出してみよう
1. 最初に見つかった一件だけ取り出そう
2. 見つかったもの全てを取り出そう
3. 全てのデータを取り出そう
データを取り出してみよう
1 # coding: utf-8
2 require 'rubygems'
3 require 'sequel'
4
…… 中略21
22 # 一行取得23 Person.first(:name => 'Sato')
24
25 # 一部の行を取得26 Person.filter(:age => 19).all
27
28 # 全部の行を取得29 Person.all
前回はこんな内容でした
それでは
Blogを作ってみよう
Retrospectives
ふりかえり
Keep
Problem
Try
Keep = 良かったところ
Problem = 悪かったところ
Try = 次回の取り組み