SlideShare ist ein Scribd-Unternehmen logo
1 von 103
Downloaden Sie, um offline zu lesen
Rails
01
Rails
02 Ruby
03
04 Git Repo
05
06 Migration
07 Rails
08 CRUD Scaffolding
09
10 Topic
11 Topics
12
13 Topic Topics
14 Topic
15 Topics
16 Deploy Heroku
( )
Step 1
Spotlight
Step 2 terminal.app Enter
Step 3
Dock
pwd
cd
mkdir
ls
MAC
iTerm2
01
02 Ruby
03
04 Git Repo
Rails
05
06 Migration
07 Rails
08 CRUD Scaffolding
09
10 Topic
11 Topics
12
13 Topic Topics
14 Topic
15 Topics
16 Deploy Heroku
Ruby
irb Ruby
Ruby
Ruby
( )
(variables)
1+2 => 3
3*4 => 12
puts a+1 4
=> nil
(
)
a=3 => 3
(array)
” ”
a = [1,3,5] # a [1,3,5]
a = a + [6] #a [1,3,5,6]
a = a - [1] #a [3,5,6]
fruits = ["kiwi", "strawberry", "plum"]
# fruits ["kiwi", "strawberry", "plum"]
fruits = fruits + ["orange"]
#fruits ["kiwi", "strawberry", "plum", "orange"]
fruits = fruits - ["kiwi"]
#fruits ["strawberry", "plum", "orange"]
(class)
7.class => Fixnum
"kiwi".class => String
Ruby
fruits.class => Array
(loop)
1~10
i = 1
while i<=10
puts i
i = i + 1
end
1~10 1~100 1~1000
(loop)
a=[1,3,5]
a.each do |x|
puts x
end
(flow control)
if
else
end
if my_variable > 1
puts "YAY!"
end
(method)
( )
( )
def pluralize(word)
word + "s"
end
pluralize("kiwi")
def ( )
end
01
Rails
02 Ruby
03
04 Git Repo
05
06 Migration
07 Rails
08 CRUD Scaffolding
09
10 Topic
11 Topics
12
13 Topic Topics
14 Topic
15 Topics
16 Deploy Heroku
Rails
intro_rails/0404/
intro_rails/0416
rails new suggestotron rails
suggestotron
finder
app
config config configuration
route db
01
02 Ruby
03
04 Git Repo
Rails
05
06 Migration
07 Rails
08 CRUD Scaffolding
09
10 Topic
11 Topics
12
13 Topic Topics
14 Topic
15 Topics
16 Deploy Heroku
Git
3
git 1
Git
Git Repo
Git git init
suggestotron git init
suggestotron
Step 1: suggestotron
Step 2: git init
Git Repo
git
git add
git add . .
Step 1: git add .
Git Repo
Git Repo
git commit
git commit -m “ ”
Step 1: git commit -m “ ”
01
02 Ruby
03
04 Git Repo
Rails
05
06 Migration
07 Rails
08 CRUD Scaffolding
09
10 Topic
11 Topics
12
13 Topic Topics
14 Topic
15 Topics
16 Deploy Heroku
rails server
Step 1: rails server rails s
> localhost:3000
1 rails server
2 Ctrl + C
3 (tab)
4 > rails server -p 4000
localhost:4000
01
02 Ruby
03
04 Git Repo
Rails
05
06 Migration
07 Rails
08 CRUD Scaffolding
09
10 Topic
11 Topics
12
13 Topic Topics
14 Topic
15 Topics
16 Deploy Heroku
Migration
(topic)
Face
as title
Migration
1. (title) (description)
2.
Rails Scaffold( )
rails generate scaffold topic title:string
description:text 2 1. (topic)
(title) (description) 2.
scaffold (script)
db/migrate/XXXX_create_topics.rb
rake db:migrate
Step 1: rails generate scaffold topic title:string description:text

< ....>
Step 2: rake db:migrate
Migration-Scaffold
Step 1: rails generate scaffold topic title:string
description:text
Migration-Scaffold
Step 2: rake db:migrate
Migration-Scaffold
http://localhost:3000/topics
~
( )
Rails
(Create) (Read) (Update)
(Delete) CRUD
Migration
( )
rails scaffold( )
schema CRUD
rails generate scaffold topic title:string
description:text
CRUD
migration
rake db:migrate
Migration
01
02 Ruby
03
04 Git Repo
Rails
05
06 Migration
07 Rails
08 CRUD Scaffolding
09
10 Topic
11 Topics
12
13 Topic Topics
14 Topic
15 Topics
16 Deploy Heroku
MVC (model view controller)
controller
model
view
Rails
Controller
ViewModel
M-V-C
Rails
01
02 Ruby
03
04 Git Repo
Rails
05
06 Migration
07 Rails
08 CRUD Scaffolding
09
10 Topic
11 Topics
12
13 Topic Topics
14 Topic
15 Topics
16 Deploy Heroku
rails server
http://localhost:3000/topics
CRUD Scaffolding
01
02 Ruby
03
04 Git Repo
Rails
05
06 Migration
07 Rails
08 CRUD Scaffolding
09
10 Topic
11 Topics
12
13 Topic Topics
14 Topic
15 Topics
16 Deploy Heroku
localhost:3000
localhost:3000/topics
localhost:3000
route ( ) route
Step 1: localhost:3000/rails/info
< >/topics topics#index
/topics
Step 1: /config/routes.rb
• (#)
• root
• welcome#index welcome index
topics index
Step 2: # root ‘welcome#index’
root ‘topics#index’
01
02 Ruby
03
04 Git Repo
Rails
05
06 Migration
07 Rails
08 CRUD Scaffolding
09
10 Topic
11 Topics
12
13 Topic Topics
14 Topic
15 Topics
16 Deploy Heroku
Topic
(
Facebook )
Topic
table( ) vote
1 vote 1
vote ( schema)
id 1 vote
topic_id id
Topic
Step 1: rails generate model vote topic_id:integer
Step 2: rake db:migrate
01
Rails
02 Ruby
03
04 Git Repo
05
06 Migration
07 Rails
08 CRUD Scaffolding
09
10 Topic
11 Topics
12
13 Topic Topics
14 Topic
15 Topics
16 Deploy Heroku
Topics
2 ( 2 model )
Topics
2 ( 2 model )
Topics
Topic model Vote
Step 1: app/models/topic.rb
Topics
topic have many Topic
model has_many :votes
dependent: :destroy Topic destroy
votes
class Topic < ActiveRecord::Base
has_many :votes, dependent: :destroy
end
Step 2: app/models/topic.rb
Topics
Vote model Topic
Step 1: app/models/vote.rb
class Vote < ActiveRecord::Base
belongs_to :topic
end
topic Vote model
belongs_to :topic
01
Rails
02 Ruby
03
04 Git Repo
05
06 Migration
07 Rails
08 CRUD Scaffolding
09
10 Topic
11 Topics
12
13 Topic Topics
14 Topic
15 Topics
16 Deploy Heroku
(+1)
(topic)
+1
Face 3
5
as title 7
3
A. (Controller)
B. (Route)
C. (View)
A.
Step 1: app/controllers/topics_controller.rb
controller private keyword
def upvote
@topic = Topic.find(params[:id])
@topic.votes.create
redirect_to(topics_path)
end
A.
1. def upvote
2. @topic = Topic.find(params[:id])
3. @topic.votes.create
4. redirect_to(topics_path)
5. end
1~5 upvote ( )
2 params[:id] topic id
@topic
3 @topic vote
4
B.
Router
router Controller
Step 1: http://localhost:3000/rails/info route
B.
Step 2: config/routes.rb
resources :topics
resources :topics do
member do
post 'upvote'
end
end
B.
Step 3: http://localhost:3000/rails/info route
Route
B.
C.
View
upvote_topic_path
C.
Step 1: app/views/topics/index.html.erb
<% @topics.each do |topic| %>
<tr>
<td><%= topic.title %></td>
<td><%= topic.description %></td>
<td><%= link_to 'Show', topic %></td>
<td><%= link_to 'Edit', edit_topic_path(topic) %></td>
<td><%= link_to 'Destroy', topic, method: :delete, data: { confirm: 'Are you sure?' } %></td>
</tr>
<% end %>
<% @topics.each do |topic| %>
<tr>
<td><%= topic.title %></td>
<td><%= topic.description %></td>
<td><%= topic.votes.count %></td>
<td><%= button_to ' ', upvote_topic_path(topic), method: :post %></td>
<td><%= link_to 'Show', topic %></td>
<td><%= link_to 'Edit', edit_topic_path(topic) %></td>
<td><%= link_to 'Destroy', topic, method: :delete, data: { confirm: 'Are you sure?' } %></td>
</tr>
<% end %>
( 2 )
C.
C.
C.
01
Rails
02 Ruby
03
04 Git Repo
05
06 Migration
07 Rails
08 CRUD Scaffolding
09
10 Topic
11 Topics
12
13 Topic Topics
14 Topic
15 Topics
16 Deploy Heroku
Topic Topics
( )
Q
A Controller create update
Topic Topics
Step 1: app/controllers/topics_controller.rb create
Topic Topics
save @topic
Step 2: @topic topics_path
Topic Topics
Step 3: create update
01
Rails
02 Ruby
03
04 Git Repo
05
06 Migration
07 Rails
08 CRUD Scaffolding
09
10 Topic
11 Topics
12
13 Topic Topics
14 Topic
15 Topics
16 Deploy Heroku
Topic
topics
Topic
View
Step 1: app/views/topics/index.html.erb
<td><%= topic.description %></td>
<th>Description</th>
Topic
Step 2 app/views/topics/
index.html.erb
<td><%= topic.title %></td>
<td><%= link_to topic.title, topic %></td>
Topic
01
Rails
02 Ruby
03
04 Git Repo
05
06 Migration
07 Rails
08 CRUD Scaffolding
09
10 Topic
11 Topics
12
13 Topic Topics
14 Topic
15 Topics
16 Deploy Heroku
Topics
'show'
'edit'
'destroy' 'delete'
Topics
Step 1 : app/views/topics/index.html.erb
<td><%= link_to 'Show', topic %></td>
<td><%= link_to 'Edit', edit_topic_path(topic) %></td>
Step 2 : app/views/topics/index.html.erb
<td><%= link_to 'Destroy', topic, method: :delete, 

data: { confirm: 'Are you sure?' } %></td>
<td><%= link_to 'Delete', topic, method: :delete, 

data: { confirm: 'Are you sure?' } %></td>
Topics
01
Rails
02 Ruby
03
04 Git Repo
05
06 Migration
07 Rails
08 CRUD Scaffolding
09
10 Topic
11 Topics
12
13 Topic Topics
14 Topic
15 Topics
16 Deploy Heroku
Heroku
Heroku Heroku
2007 6 Ruby
Java Node.js Scala Clojure Python
PHP Perl
Deploy Heroku
1. Heroku Heroku toolbelt SSH key
heroku ( )
2. heroku
Step 1: Heroku http://heroku.com (
Heroku Git GitHub SSH Email )
Step 2: https://toolbelt.heroku.com/ heroku
toolbelt
Step 3: heroku version heroku-toolbelt
3.42.50( )
SSH key Heroku
Step 4 : heroku keys:add
Deploy Heroku
heroku heroku
Step 1: heroku create
heroku create Heroku
URL
Deploy Heroku
Step 2 : Gemfile
gem 'sqlite3'
group :development, :test do
gem 'sqlite3'
end
group :production do
gem 'pg'
gem 'rails_12factor'
end
Deploy Heroku
Step 3 bundle install --without production
Deploy Heroku
heroku git
commit
Step 4 :
git add .
git commit -m “deploy to heroku”
Deploy Heroku
heroku
Step 5 : git push heroku master
heroku migration
Step 6 heroku run rake db:migrate
Deploy Heroku
Step 7 heroku open

Weitere ähnliche Inhalte

Was ist angesagt?

Fast Web Applications Development with Ruby on Rails on Oracle
Fast Web Applications Development with Ruby on Rails on OracleFast Web Applications Development with Ruby on Rails on Oracle
Fast Web Applications Development with Ruby on Rails on Oracle
Raimonds Simanovskis
 
Drupal users group_symfony2
Drupal users group_symfony2Drupal users group_symfony2
Drupal users group_symfony2
Brian Zitzow
 

Was ist angesagt? (20)

Extending Oracle E-Business Suite with Ruby on Rails
Extending Oracle E-Business Suite with Ruby on RailsExtending Oracle E-Business Suite with Ruby on Rails
Extending Oracle E-Business Suite with Ruby on Rails
 
Core Java - Quiz Questions - Bug Hunt
Core Java - Quiz Questions - Bug HuntCore Java - Quiz Questions - Bug Hunt
Core Java - Quiz Questions - Bug Hunt
 
XML-Motor
XML-MotorXML-Motor
XML-Motor
 
Scala @ TechMeetup Edinburgh
Scala @ TechMeetup EdinburghScala @ TechMeetup Edinburgh
Scala @ TechMeetup Edinburgh
 
Akka Cluster in Java - JCConf 2015
Akka Cluster in Java - JCConf 2015Akka Cluster in Java - JCConf 2015
Akka Cluster in Java - JCConf 2015
 
Java 8: the good parts!
Java 8: the good parts!Java 8: the good parts!
Java 8: the good parts!
 
Http programming in play
Http programming in playHttp programming in play
Http programming in play
 
Akka Actor presentation
Akka Actor presentationAkka Actor presentation
Akka Actor presentation
 
Demystifying Oak Search
Demystifying Oak SearchDemystifying Oak Search
Demystifying Oak Search
 
Laravel for Web Artisans
Laravel for Web ArtisansLaravel for Web Artisans
Laravel for Web Artisans
 
Fast Web Applications Development with Ruby on Rails on Oracle
Fast Web Applications Development with Ruby on Rails on OracleFast Web Applications Development with Ruby on Rails on Oracle
Fast Web Applications Development with Ruby on Rails on Oracle
 
RxJava from the trenches
RxJava from the trenchesRxJava from the trenches
RxJava from the trenches
 
React Native One Day
React Native One DayReact Native One Day
React Native One Day
 
The dark side of Akka and the remedy - bp.scala meetup
The dark side of Akka and the remedy - bp.scala meetupThe dark side of Akka and the remedy - bp.scala meetup
The dark side of Akka and the remedy - bp.scala meetup
 
Scala coated JVM
Scala coated JVMScala coated JVM
Scala coated JVM
 
How to dockerize rails application compose and rails tutorial
How to dockerize rails application compose and rails tutorialHow to dockerize rails application compose and rails tutorial
How to dockerize rails application compose and rails tutorial
 
Mobile Open Day: React Native: Crossplatform fast dive
Mobile Open Day: React Native: Crossplatform fast diveMobile Open Day: React Native: Crossplatform fast dive
Mobile Open Day: React Native: Crossplatform fast dive
 
Data Localization and Translation
Data Localization and TranslationData Localization and Translation
Data Localization and Translation
 
Drupal users group_symfony2
Drupal users group_symfony2Drupal users group_symfony2
Drupal users group_symfony2
 
"Migrate large gwt applications - Lessons Learned" By Harald Pehl
"Migrate large gwt applications - Lessons Learned" By Harald Pehl"Migrate large gwt applications - Lessons Learned" By Harald Pehl
"Migrate large gwt applications - Lessons Learned" By Harald Pehl
 

Andere mochten auch (6)

Html
HtmlHtml
Html
 
[內子宮讀書會]用直銷方法找伴侶+找工作+程式教學
[內子宮讀書會]用直銷方法找伴侶+找工作+程式教學[內子宮讀書會]用直銷方法找伴侶+找工作+程式教學
[內子宮讀書會]用直銷方法找伴侶+找工作+程式教學
 
離開直銷後,我如何應用精華在找工作、找伴侶及生活上
離開直銷後,我如何應用精華在找工作、找伴侶及生活上離開直銷後,我如何應用精華在找工作、找伴侶及生活上
離開直銷後,我如何應用精華在找工作、找伴侶及生活上
 
React js入門教學
React js入門教學React js入門教學
React js入門教學
 
PHP教材
PHP教材PHP教材
PHP教材
 
PHP記帳網頁教材(第一頁是空白的)
PHP記帳網頁教材(第一頁是空白的)PHP記帳網頁教材(第一頁是空白的)
PHP記帳網頁教材(第一頁是空白的)
 

Ähnlich wie 初探Rails投影片

Migrating Legacy Rails Apps to Rails 3
Migrating Legacy Rails Apps to Rails 3Migrating Legacy Rails Apps to Rails 3
Migrating Legacy Rails Apps to Rails 3
Clinton Dreisbach
 
Introduction to Ruby on Rails
Introduction to Ruby on RailsIntroduction to Ruby on Rails
Introduction to Ruby on Rails
Manoj Kumar
 
Learning to code for startup mvp session 3
Learning to code for startup mvp session 3Learning to code for startup mvp session 3
Learning to code for startup mvp session 3
Henry S
 

Ähnlich wie 初探Rails投影片 (20)

What's new and great in Rails 3 - Matt Gauger - Milwaukee Ruby Users Group De...
What's new and great in Rails 3 - Matt Gauger - Milwaukee Ruby Users Group De...What's new and great in Rails 3 - Matt Gauger - Milwaukee Ruby Users Group De...
What's new and great in Rails 3 - Matt Gauger - Milwaukee Ruby Users Group De...
 
Rochester on Rails: Introduction to Rails
Rochester on Rails: Introduction to RailsRochester on Rails: Introduction to Rails
Rochester on Rails: Introduction to Rails
 
Ruby on Rails introduction
Ruby on Rails introduction Ruby on Rails introduction
Ruby on Rails introduction
 
Migrating Legacy Rails Apps to Rails 3
Migrating Legacy Rails Apps to Rails 3Migrating Legacy Rails Apps to Rails 3
Migrating Legacy Rails Apps to Rails 3
 
Supa fast Ruby + Rails
Supa fast Ruby + RailsSupa fast Ruby + Rails
Supa fast Ruby + Rails
 
Introduction to Rails - presented by Arman Ortega
Introduction to Rails - presented by Arman OrtegaIntroduction to Rails - presented by Arman Ortega
Introduction to Rails - presented by Arman Ortega
 
Ruby on Rails: Coding Guideline
Ruby on Rails: Coding GuidelineRuby on Rails: Coding Guideline
Ruby on Rails: Coding Guideline
 
Cocoa on-rails-3rd
Cocoa on-rails-3rdCocoa on-rails-3rd
Cocoa on-rails-3rd
 
RoR 101: Session 2
RoR 101: Session 2RoR 101: Session 2
RoR 101: Session 2
 
Intro to Rack
Intro to RackIntro to Rack
Intro to Rack
 
Create a new project in ROR
Create a new project in RORCreate a new project in ROR
Create a new project in ROR
 
Ruby on Rails - Introduction
Ruby on Rails - IntroductionRuby on Rails - Introduction
Ruby on Rails - Introduction
 
Introduction to Ruby on Rails
Introduction to Ruby on RailsIntroduction to Ruby on Rails
Introduction to Ruby on Rails
 
Speedy TDD with Rails
Speedy TDD with RailsSpeedy TDD with Rails
Speedy TDD with Rails
 
Rails 4.0
Rails 4.0Rails 4.0
Rails 4.0
 
Wider than rails
Wider than railsWider than rails
Wider than rails
 
RubyConf Bangladesh 2017 - Craft beautiful code with Ruby DSL
RubyConf Bangladesh 2017 - Craft beautiful code with Ruby DSLRubyConf Bangladesh 2017 - Craft beautiful code with Ruby DSL
RubyConf Bangladesh 2017 - Craft beautiful code with Ruby DSL
 
Ruby On Rails Intro
Ruby On Rails IntroRuby On Rails Intro
Ruby On Rails Intro
 
Learning to code for startup mvp session 3
Learning to code for startup mvp session 3Learning to code for startup mvp session 3
Learning to code for startup mvp session 3
 
Intro to Rails and MVC
Intro to Rails and MVCIntro to Rails and MVC
Intro to Rails and MVC
 

Kürzlich hochgeladen

Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
ZurliaSoop
 

Kürzlich hochgeladen (20)

Micro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfMicro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdf
 
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
 
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdf
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdfUnit 3 Emotional Intelligence and Spiritual Intelligence.pdf
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdf
 
General Principles of Intellectual Property: Concepts of Intellectual Proper...
General Principles of Intellectual Property: Concepts of Intellectual  Proper...General Principles of Intellectual Property: Concepts of Intellectual  Proper...
General Principles of Intellectual Property: Concepts of Intellectual Proper...
 
How to Add New Custom Addons Path in Odoo 17
How to Add New Custom Addons Path in Odoo 17How to Add New Custom Addons Path in Odoo 17
How to Add New Custom Addons Path in Odoo 17
 
Python Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxPython Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docx
 
Plant propagation: Sexual and Asexual propapagation.pptx
Plant propagation: Sexual and Asexual propapagation.pptxPlant propagation: Sexual and Asexual propapagation.pptx
Plant propagation: Sexual and Asexual propapagation.pptx
 
Graduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - EnglishGraduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - English
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
 
Google Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptxGoogle Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptx
 
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.ppt
 
Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.
 
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
 
How to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptxHow to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptx
 
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
 
Fostering Friendships - Enhancing Social Bonds in the Classroom
Fostering Friendships - Enhancing Social Bonds  in the ClassroomFostering Friendships - Enhancing Social Bonds  in the Classroom
Fostering Friendships - Enhancing Social Bonds in the Classroom
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POS
 
Sociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning ExhibitSociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning Exhibit
 

初探Rails投影片