SlideShare a Scribd company logo
1 of 73
Download to read offline
Dive into Code Corp.
Founder CEO Hiroyoshi Noro
Rails3 certificated bronze-rank programmer
【Primer】WebApp release in 3 hours!
Programming from scratch
Rails course
- More than 3,000 students have passed this gateway
to success in Japan -
1Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved.
Contents
1. Introduction ( 10min)
Self-introduction, about today’s goal
2. Basic knowledge for programming development
( 50min)
About system development, operations, environment, programming
languages, Ruby on Rails, instruction for work
3. Practice (110min)
let’s develop a simple application, control its versions on Git, and release it
on Heroku
4. How to improve your programming skill
( 10min)
How to get jobs as an engineer
5. Appendix
About appropriate websites, books, and tools
2Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved.
Introduction
Hiroyoshi Noro. MBA holder engineer. My first time
programming at the age of 29
1980 Born in Japan
2003-2006 Salesperson
2006-2009 Corporate sales
2009-2012 Operation & maintainance
consultant
2012-2014 GLOBIS MBA
2015 Founded Dive into Code corp.
Past experiences, not related !
3Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved.
Introduction
①Program to develop problem-solving avility ( Oct. 2009~Mar.
2010)
・No Internet
・Lecture is prohibited
・No references
・be called & scolded
books Internet
COBOL
DELPHI
ORACLE DB(SQL)
engineer
beginner
No support
COBOL
COBOL
DELPHI
DELPHI
4Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved.
Seminar held in Japan 3,000 people + overseas (Vietnam).
Ruby World Conference 2016.
Introduction
Directly lecture to 3,000 people in 3 years
from zero Ruby experience
5Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved.
Introduction
Special skill: Recording every time (I've done Guinness)
12年
仕事プライベート
6Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved.
Services developed in Rails
Cookpad
7Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved.
Services developed in Rails
AirBnB
8Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved.
Services developed in Rails
Hulu
9Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved.
Services developed in Rails
GitHub
10Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved.
Today’s goal
Three things you must get today!
1. How to learn something from scratch
2. Basic knowledge for developing web applications
3. High motivation for programming
11Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved.Copyright © 2015 TimeShift Corp. All Rights Reserved.
Basic Knowledge
to develop
applications
12Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved.
Total image
The flow of development
The flow of development operations
What’s development environment
What’s development language
about Ruby on Rails
Basic knowledge for operations
From the flow of system development to concrete knowledge for
actual work. You need to know many things.
system
development
actual works
development
environment
development
language
operation
method
13Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved.
The flow of
development
To develop an app, you'll design it, work to build it, and test it.
The most important thing is to compare the system you want
realize in the real world, to the system of computers.
What do you need?
requirement definition
What's the whole
image like?
basic design
What’s the display
image like?
detail design
development
operations
test in details
unit test
test in sections
join test
test the product
system test
※tests aren’t important in
lean startups.
today’s
lecture
realworldincomputers system
development
actual works
development
environment
development
language
operation
method
14Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved.
The flow of
development
operations tools you use today
1.prepare development environment
 ※first time
■Codeanywhere ★
□install Vagrant and CentOS
□install them directly
2.write inner part in development
language (coding)
■Ruby (Ruby on Rails) ★
□PHP (CakePHP)
□Java etc.
3.build a structure to store data
  (coding)
■PostgreSQL ★
□MySQL
□MongoDB etc.
4.write UI on the web browser
  (coding)
■CSS
■HTML
□jQuery etc.
5.controll source codes you developed ■Git ★
 (for team development) □Bitbucket
 (for team development) □Github etc.
6.release on the Internet ■heroku ★
□to rent a server etc.
Actual work consists of 6 parts.
system
development
actual works
development
environment
development
language
operation
method
15Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved.
The flow of
development
Two cloud services enable you to develop and release your
application for free.
build a development
environment
coding
control developed
source code
release it on the
Internet
Codeanywhere
Git
Heroku
system
development
actual works
development
environment
development
language
operation
method
source code
16Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved.
Dev languageFlameworkd
Development
environment is ...
like a place and a tool you need to develop apps.
system
development
actual works
development
environment
development
language
operation
method
Web server Database Version control
Webrick
17Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved.
Development
environment is ...
You had to take many steps installing variety of thing to
prepare development environment. However, you can
access it easily now.
in the past today’s lecture
・Just 1 click! + α
can be completed in 10min!
system
development
actual works
development
environment
development
language
operation
method
Codeanywhere
・prepare a PC
↓
・install a development language
↓
・install a framework
↓
・install a data controlling system
↓
・install a version controlling system
etc.
It takes 3 days for beginners...
18Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved.
Development
environment is ...
Codeanywhere includes languages and tools for programming. So, all you
need is to open it, and use it. That’s all.
folder viewer file viewerterminal
system
development
actual works
development
environment
development
language
operation
method
19Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved.
Development
languages are ...
languages understandable to computers and humans. They
make up programs and make the computer works.
Ruby PHP
system
development
actual works
development
environment
development
language
operation
method
20Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved.
Development
languages are ...
The first development language was made 60 years ago. After that,
many kind of languages had been developed. Ruby was born in 1995.
※出典:ひつじTOWN「C言語あれこれ」
system
development
actual works
development
environment
development
language
operation
method
21Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved.
Development
languages are ...
Ruby is the only language which was made in Japan. And I
came from Japan.
※developed by Mr. Yukihiro Matsumoto
system
development
actual
works
development
environment
development
language
operation
method
22Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved.
Ruby on Rails
As I said, Ruby is a development language. On the other
hand, Ruby on Rails is the framework, which works like a
frame in development process.
system
development
actual works
development
environment
development
language
operation
method
23Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved.
Ruby on Rails
Ruby on Rails was developed by David Heinemeier Hansson,
the founder of Basecamp. He developed it to make work
more efficient.
DRY (Don't repeat yourself) CoC (Convention over Configuration)
“ What I’m trying to do is to reduce
time wasted. I’m reducing time wasted
on trifles.”
※Quated from HR navi. , 【HRナビ「「10倍プログラマ」の神話、Ruby on Railsの生みの親が語った高い生産性のカギとは!?】“The
legend of ‘10 times programmer’, father of Ruby on Rails taught us the key for high efficiency”
system
development
actual works
development
environment
development
language
operation
method
24Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved.
Ruby on Rails
The reasons why I chose Ruby / Ruby on Rails.
1. Many engineers congratulate it.
The rules are clear. Many engineers recommend it saying that
Ruby is easy for beginners and high-productive.
2. It is widely used and trustworthy.
Actually, “cookpad” ( I individually follow it) is written in Ruby.
3. There is a big demand for Ruby engineers.
Ruby skill is highly demanded, and you can be employed and earn
money to start your business improving your skill.
system
development
actual works
development
environment
development
language
operation
method
25Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved.
Ruby on Rails
AirBnB - an example of web services which are made with
Ruby on Rails
system
development
actual works
development
environment
development
language
operation
method
26Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved.
Ruby on Rails
the Internet
Signals are transmitted via a browser, the result comes
from destinated computer, and it is reflected on the
monitor.
http request
GET, POST …
response
HTML, images …
URL
system
development
actual works
development
environment
development
language
operation
method
27Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved.
Ruby on Rails
screen display internal processing data management
HTTPServer
Controller
View
Model
inthedatabase
management
system
Database
A computer take http signals, process them in order by
using variety of systems in it, and send the result as
response.
request
GET
response
HTML
Router
URL
① ② ③ ④ ⑤
⑥⑦⑧⑨10
システム開発 開発作業 開発環境 開発言語 作業方法
system
development
actual works
development
environment
development
language
operation
method
28Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved.
店舗オフィス
Ruby on Rails
Compare to what you have experienced. The process flow of
Rails is similar to the operation flow of a bank.
特別な場所
door
Teller
Bank
book
Cashier
Withdrawal
Machine
In
Out
Guidema
nBank
system
development
actual works
development
environment
development
language
operation
method
29Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved.
Ruby on Rails
Variety of systems exist in designated folders as files. Ruby,
development language is used to consist these files.
httpServer
Controller
View
Model
controlling-
databases
system
Router
folders are devided
according to their roles.
Ruby is used in files.
in Codeanywhereconceptual figure
システム開発 開発作業 開発環境 開発言語 作業方法
system
development
actual works
development
environment
development
language
operation
method
30Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved.
httpServer
def index
@blogs = Blog.all
end
<% @blogs.each do |blog| %>
<% end %>
class Blog <
ActiveRecord::Base
end
Appropriate systems to process signals are decided based on the
combination of the http signals and the URL. The signals are processed
in order of C→(M→DB→M→C)→V→C.
/config
/routes.rb
URL
/blogs
http
GET
blogs#index
/controllers/blogs_c
ontroller.rb
/models/
blog.rb
PostgreSQL
blogs table
/views/
blogs/index.html.erb
h1 {
}
/assets/stylesheets/
blogs.css.scss
“O/R mapper”
Blog.all
↓
translates Ruby into SQL
↓
SELECT * FROM blogs;
システム開発 開発作業 開発環境 開発言語 作業方法Ruby on Rails system
development
actual works
development
environment
development
language
operation
method
31Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved.
httpServer
Copyright © 2015-2016 Dive into Code Corp. All Rights Reserved.
A display is based on HTML and CSS. Internal system is written
in Ruby and SQL. Rails forms processing flows from http
requests to responses.
/config
/routes.rb
URL
/blogs
http
GET
blogs#inde
x
/controllers/blogs_c
ontroller.rb
/models/
blog.rb
PostgreSQL
blogsテーブル
/views/
blogs/index.html.erb
/assets/stylesheets/
blogs.css.scss
システム開発 開発作業 開発環境 開発言語 作業方法Ruby on Rails system
development
actual works
development
environment
development
language
operation
method
32Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved.
Ruby on Rails
display internal processing data control
HTTPServer
Controller
View
Model
indatabases
controlsystem
Database
To understand Rails, you have to understand the flow from
http request to response.
requests
GET
responses
HTML
Router
URL
① ② ③ ④ ⑤
⑥⑦⑧⑨10
system
development
actual works
dvelopment
environment
development
language
operation
method
33Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved.
Basic knowledge
for operations
You manipulate the terminal with the keyboard. The terminal
connects the computer and people with letters.
terminal
system
development
actual works
development
environment
development
language
operation
method
34Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved.
Basic knowledge
for operations
Thw terminal commands the computer once a line ( prompt).
prompt
the current working directory (= folder)
You must get used to operating computers with keyboards.
system
development
actual works
development
environment
development
language
operation
method
35Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved.
Basic knowledge
for operations
1 cautionary points of terminal operation
Keep up with the current working directories.
system
development
actual works
development
environment
development
language
operation
method
36Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved.
Basic knowledge
for operations
You refer to the manual, cut a command, paste it on the
terminal, and push “enter” to execute it.
①refer to the manual ②create commands ③input them in the terminal
cut & paste
complete commands
※You must not use "memo pad" because it may change
half-width letters into double-byte characters
system
development
actual works
development
environment
development
language
operation
method
37Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved.Copyright © 2015 TimeShift Corp. All Rights Reserved.
Practice
38Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved.
Practice
https://goo.gl/yBtBwt
39Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved.
Practice
3 steps to release a web application!
① ② ③
【STEP0】Build a development environment
https://diver.diveintocode.jp/seminar_documents/rails00_codeanywhere_en
【STEP1】Develop a simple application
https://diver.diveintocode.jp/seminar_documents/rails01_codeanywhere_en
【STEP2】Control its versions on Git
https://diver.diveintocode.jp/seminar_documents/rails02_codeanywhere_en
【STEP3】Release the application on Heroku
https://diver.diveintocode.jp/seminar_documents/rails03_codeanywhere_en
1
2
3
0
40Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved.
Practice
【figure】3 steps
① ② ③
0 Codeanywhere
C
V
M
DB
HerokuHTTPServer
C
V
M
DB
record in Git (file)
C
V
M
1
2
3
HTTPServer
41Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved.
Practice
build a development environment
3 good points of using Codeanywhere
1. You can easily get a computer for system development
for free.
2. You can install development languages or tools instantly.
3. You can work anywhere the Internet is available.
① ② ③
0
42Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved.
build a development environment
Practice ① ② ③
0
Codeanywhere 1 container
automaticaly install Ruby, Git, Ruby on Rails, etc.
create a new container
register an account
Install PostgreSQL, Heroku Toolbelt
start PostgreSQL
43Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved.
Practice
develop a simple application on Codeanywhere
You can develop it in a minute by “Rails magic”.
・You can create “framework” and “flow of signals” of an application in
seconds by the magic “rails new name”.
・You can prepare a set of display accessible from a designated URL by
the magic “rails g scaffold”
① ② ③
1
44Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved.
Practice
develop a simple application on Codeanywhere
① ② ③
1
Codeanywhere
HTTP
Server
C
V
M
DB
rails new achieve -d postgresql
rails g scaffold Blog title:string content:text
rake db:create db:migrate
rails s
cd achieve
45Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved.
Practice
control the versions on Git
2 good points of using Git
1. Git can store all contents of your folders and files.
2. You can reflect the contents on Heroku by only one
command.
① ② ③
2
46Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved.
Codeanywhere
Practice
control the versions with Git
① ② ③
2
C
V
M
files and folders
stored in Git (file)
C
V
M
git add .
git commit –m “message”
git init
git config –global 〜
git loggit status
47Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved.
Practice
release the application on Heroku ( trial)
3 good points of using Heroku
1. You can release applications on the Internet.
2. You can release them for free.
3. You don’t need any install operations.
① ② ③
3
48Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved.
Codeanywhere
Git
Heroku user registration
Practice
release the application on Heroku ( trial)
① ② ③
3
heroku login
C
V
M
C
V
M
1APP
Git
git push heroku master
C
V
M
C
V
M
heroku create
heroku run rake db:migrate RAILS_ENV=production
49Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved.
Practice
You landed!!
(completed)
① ② ③
50Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved.
Today’s goal
Did you get three things I said ?
1. How to learn something from scratch
1. Basic knowledge for developing web applications
1. High motivation for programming
51Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved.Copyright © 2015 TimeShift Corp. All Rights Reserved.
How to improve
your skill
52Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved.
1. “Practice makes perfect.”
You can learn nothing without practice.
2. “Set the time limit”
Don’t hesitate to ask others when you get stuck more
than 30 min.
3. “Begin with imitation”
To copy reference books in important at first.
How to improve your skill
3 principles for programming learning
53Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved.
3 ways
3 ways to get jobs as an engineer
attending
school
job-
change
self-
education
54Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved.
Self-education
You have to study in loneliness. No one teaches
you. Time passes...
55Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved.
However, you save money. Which is more precious, time or money? It’s
up to you...
Self-education
56Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved.
Attending school
Attending school costs you much money (about
$1,000~$3,000). It’s not worth doing if you “only learn”
programming.
57Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved.
Attending school
However, others’ support enables you progress
fast. Whether supporters are experts or not is crucial. It’s like a gamble.
58Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved.
Job-change
You have to apply for a job, pass exams or interviews...
You’d be said “Have you ever worked as an engineer?”
59Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved.
Rails job offers for engineers
More than
1000 companies
already confirmed
60Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved.
転職
“Have you ever
worked as an
engineer?”
61Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved.
Job-change
Even if you get a job luckily, you may be said ...
“Didn’t you google it
!?”
62Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved.
3ways
support money operational
experience
Self-educatio
n × ○ ×
Attending
school ○ × ×
Job-change △ ○ ○
63Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved.Copyright © 2015 TimeShift Corp. All Rights Reserved.
Key to
success
64Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved.
Key to success
self-education
attending
school
job-change
operational experience
65Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved.
Key to success
support money
operational
experience
ideal ○ ○ ○
We, DIVE INTO CODE realized perfect way to learn
programming
66Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved.
DIVE INTO CODE is the best way to be
an engineer.
Let’s improve our own skills to get jobs together!!
https://diveintocode.jp/
DIVE INTO CODE is the best way to be an engineer. We’ll be
waiting, let’s join us!
67Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved.
Create society where everyone can play an active role by
using technology.
Mission
68Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved.
Build an ecosystem of technology education.
Vision
Fulltime job ResearchRemote workd
Government
Study session
School
First experience
69Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved.Copyright © 2015 TimeShift Corp. All Rights Reserved.
Appendix
70Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved.
Appendix
“From scratch, 3 steps to be a successful engineer”
Ruby World Conference 2016 documents and the movie are
available!!
https://youtu.be/2IA6UM_8JHM
http://2016.rubyworld-conf.org/files/program/B-3.pdfDocuments
Movie
71Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved.
Appendix
About DIVE INTO CODE
Web page
http://diveintocode.jp/
Facebook Group:Online Support for free
https://web.facebook.com/groups/diveintocode/
Facebook page
https://web.facebook.com/diveintocode.jp/
72Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved.
Appendix
Ruby on Rails Guide
http://guides.rubyonrails.org/
Ruby on Rails Tutorial
https://www.railstutorial.org/
Codecademy
https://www.codecademy.com/learn/learn-rails
Recommended learning materials.

More Related Content

What's hot

Building Modern Applications in Ruby: Fast, Efficient, Versatile, and Cost-Ef...
Building Modern Applications in Ruby: Fast, Efficient, Versatile, and Cost-Ef...Building Modern Applications in Ruby: Fast, Efficient, Versatile, and Cost-Ef...
Building Modern Applications in Ruby: Fast, Efficient, Versatile, and Cost-Ef...Marylene Sawyer
 
(java2days) Is the Future of Java Cloudy?
(java2days) Is the Future of Java Cloudy?(java2days) Is the Future of Java Cloudy?
(java2days) Is the Future of Java Cloudy?Steve Poole
 
Perl语言入门(第五版)
Perl语言入门(第五版)Perl语言入门(第五版)
Perl语言入门(第五版)gavin shaw
 
DevNetCreate Workshop - build a react app - React crash course
DevNetCreate Workshop - build a react app - React crash courseDevNetCreate Workshop - build a react app - React crash course
DevNetCreate Workshop - build a react app - React crash courseCisco DevNet
 
My sql技术内幕innodb存储引擎
My sql技术内幕innodb存储引擎My sql技术内幕innodb存储引擎
My sql技术内幕innodb存储引擎山城 碧海
 
Breizhcamp: Créer un bot, pas si simple. Faisons le point.
Breizhcamp: Créer un bot, pas si simple. Faisons le point.Breizhcamp: Créer un bot, pas si simple. Faisons le point.
Breizhcamp: Créer un bot, pas si simple. Faisons le point.Cisco DevNet
 

What's hot (9)

Building Modern Applications in Ruby: Fast, Efficient, Versatile, and Cost-Ef...
Building Modern Applications in Ruby: Fast, Efficient, Versatile, and Cost-Ef...Building Modern Applications in Ruby: Fast, Efficient, Versatile, and Cost-Ef...
Building Modern Applications in Ruby: Fast, Efficient, Versatile, and Cost-Ef...
 
Cloud Native Java:GraalVM
Cloud Native Java:GraalVMCloud Native Java:GraalVM
Cloud Native Java:GraalVM
 
(java2days) Is the Future of Java Cloudy?
(java2days) Is the Future of Java Cloudy?(java2days) Is the Future of Java Cloudy?
(java2days) Is the Future of Java Cloudy?
 
Perl语言入门(第五版)
Perl语言入门(第五版)Perl语言入门(第五版)
Perl语言入门(第五版)
 
DevNetCreate Workshop - build a react app - React crash course
DevNetCreate Workshop - build a react app - React crash courseDevNetCreate Workshop - build a react app - React crash course
DevNetCreate Workshop - build a react app - React crash course
 
My sql技术内幕innodb存储引擎
My sql技术内幕innodb存储引擎My sql技术内幕innodb存储引擎
My sql技术内幕innodb存储引擎
 
Breizhcamp: Créer un bot, pas si simple. Faisons le point.
Breizhcamp: Créer un bot, pas si simple. Faisons le point.Breizhcamp: Créer un bot, pas si simple. Faisons le point.
Breizhcamp: Créer un bot, pas si simple. Faisons le point.
 
Groovy & Java
Groovy & JavaGroovy & Java
Groovy & Java
 
Ruby with cucmber
Ruby with cucmberRuby with cucmber
Ruby with cucmber
 

Similar to 【Primer】WebApp release in 3 hours! Programming from scratch Rails course

Top 10 Programming Languages | Programming Languages For Beginners | Computer...
Top 10 Programming Languages | Programming Languages For Beginners | Computer...Top 10 Programming Languages | Programming Languages For Beginners | Computer...
Top 10 Programming Languages | Programming Languages For Beginners | Computer...Edureka!
 
Ten compelling reasons to learn .net framework
Ten compelling reasons to learn .net frameworkTen compelling reasons to learn .net framework
Ten compelling reasons to learn .net frameworkJanBask Training
 
Ror Seminar With agilebd.org on 23 Jan09
Ror Seminar With agilebd.org on 23 Jan09Ror Seminar With agilebd.org on 23 Jan09
Ror Seminar With agilebd.org on 23 Jan09Shaer Hassan
 
Beyond the Hype: 4 Years of Go in Production
Beyond the Hype: 4 Years of Go in ProductionBeyond the Hype: 4 Years of Go in Production
Beyond the Hype: 4 Years of Go in ProductionC4Media
 
How To be a Backend developer
How To be a Backend developer    How To be a Backend developer
How To be a Backend developer Ramy Hakam
 
Kendo UI workshop introduction - PUG Baltic Annual Conference 2017
Kendo UI workshop introduction - PUG Baltic Annual Conference 2017Kendo UI workshop introduction - PUG Baltic Annual Conference 2017
Kendo UI workshop introduction - PUG Baltic Annual Conference 2017Alen Leit
 
Best Language to Rely Upon For Developing Programs | JanBask Training
Best Language to Rely Upon For Developing Programs | JanBask TrainingBest Language to Rely Upon For Developing Programs | JanBask Training
Best Language to Rely Upon For Developing Programs | JanBask TrainingJanBask Training
 
Which Tools Are The Best For Symfony Projects_.pdf
Which Tools Are The Best For Symfony Projects_.pdfWhich Tools Are The Best For Symfony Projects_.pdf
Which Tools Are The Best For Symfony Projects_.pdfMoon Technolabs Pvt. Ltd.
 
IRJET- Mail Server Communication:PHP
IRJET-  	  Mail Server Communication:PHPIRJET-  	  Mail Server Communication:PHP
IRJET- Mail Server Communication:PHPIRJET Journal
 
COMPUTER LANGUAGES AND THERE DIFFERENCE
COMPUTER LANGUAGES AND THERE DIFFERENCE COMPUTER LANGUAGES AND THERE DIFFERENCE
COMPUTER LANGUAGES AND THERE DIFFERENCE Pavan Kalyan
 
Как да станем софтуерни инженери и да стартираме ИТ бизнес?
Как да станем софтуерни инженери и да стартираме ИТ бизнес?Как да станем софтуерни инженери и да стартираме ИТ бизнес?
Как да станем софтуерни инженери и да стартираме ИТ бизнес?Svetlin Nakov
 
Dockerizing An Angular Application Using Git, Jenkins & Docker! | DevOps Tuto...
Dockerizing An Angular Application Using Git, Jenkins & Docker! | DevOps Tuto...Dockerizing An Angular Application Using Git, Jenkins & Docker! | DevOps Tuto...
Dockerizing An Angular Application Using Git, Jenkins & Docker! | DevOps Tuto...Edureka!
 
Top 10 open source technologies for enterprise/Business web application devel...
Top 10 open source technologies for enterprise/Business web application devel...Top 10 open source technologies for enterprise/Business web application devel...
Top 10 open source technologies for enterprise/Business web application devel...Techcronus Business Solutions Pvt. Ltd.
 
Overboard.js - where are we going with with jsconfasia / devfestasia
Overboard.js - where are we going with with jsconfasia / devfestasiaOverboard.js - where are we going with with jsconfasia / devfestasia
Overboard.js - where are we going with with jsconfasia / devfestasiaChristian Heilmann
 
Comparisons react native vs. flutter vs. ionic vs. xamarin vs. native script
Comparisons  react native vs. flutter vs. ionic vs. xamarin vs. native scriptComparisons  react native vs. flutter vs. ionic vs. xamarin vs. native script
Comparisons react native vs. flutter vs. ionic vs. xamarin vs. native scriptMoonTechnolabsPvtLtd
 
Mobile security part 1(Android Apps Pentesting)- Romansh yadav
Mobile security part 1(Android Apps Pentesting)- Romansh yadavMobile security part 1(Android Apps Pentesting)- Romansh yadav
Mobile security part 1(Android Apps Pentesting)- Romansh yadavRomansh Yadav
 
Which Tools Are The Best For Symfony Projects_.pdf
Which Tools Are The Best For Symfony Projects_.pdfWhich Tools Are The Best For Symfony Projects_.pdf
Which Tools Are The Best For Symfony Projects_.pdfMoon Technolabs Pvt. Ltd.
 

Similar to 【Primer】WebApp release in 3 hours! Programming from scratch Rails course (20)

Top 10 Programming Languages | Programming Languages For Beginners | Computer...
Top 10 Programming Languages | Programming Languages For Beginners | Computer...Top 10 Programming Languages | Programming Languages For Beginners | Computer...
Top 10 Programming Languages | Programming Languages For Beginners | Computer...
 
Ten compelling reasons to learn .net framework
Ten compelling reasons to learn .net frameworkTen compelling reasons to learn .net framework
Ten compelling reasons to learn .net framework
 
Ror Seminar With agilebd.org on 23 Jan09
Ror Seminar With agilebd.org on 23 Jan09Ror Seminar With agilebd.org on 23 Jan09
Ror Seminar With agilebd.org on 23 Jan09
 
Beyond the Hype: 4 Years of Go in Production
Beyond the Hype: 4 Years of Go in ProductionBeyond the Hype: 4 Years of Go in Production
Beyond the Hype: 4 Years of Go in Production
 
How To be a Backend developer
How To be a Backend developer    How To be a Backend developer
How To be a Backend developer
 
Cloud Foundry Summit 2017
Cloud Foundry Summit 2017Cloud Foundry Summit 2017
Cloud Foundry Summit 2017
 
Ongoing management of your PHP 7 application
Ongoing management of your PHP 7 applicationOngoing management of your PHP 7 application
Ongoing management of your PHP 7 application
 
Kendo UI workshop introduction - PUG Baltic Annual Conference 2017
Kendo UI workshop introduction - PUG Baltic Annual Conference 2017Kendo UI workshop introduction - PUG Baltic Annual Conference 2017
Kendo UI workshop introduction - PUG Baltic Annual Conference 2017
 
Best Language to Rely Upon For Developing Programs | JanBask Training
Best Language to Rely Upon For Developing Programs | JanBask TrainingBest Language to Rely Upon For Developing Programs | JanBask Training
Best Language to Rely Upon For Developing Programs | JanBask Training
 
intership.pptx
intership.pptxintership.pptx
intership.pptx
 
Which Tools Are The Best For Symfony Projects_.pdf
Which Tools Are The Best For Symfony Projects_.pdfWhich Tools Are The Best For Symfony Projects_.pdf
Which Tools Are The Best For Symfony Projects_.pdf
 
IRJET- Mail Server Communication:PHP
IRJET-  	  Mail Server Communication:PHPIRJET-  	  Mail Server Communication:PHP
IRJET- Mail Server Communication:PHP
 
COMPUTER LANGUAGES AND THERE DIFFERENCE
COMPUTER LANGUAGES AND THERE DIFFERENCE COMPUTER LANGUAGES AND THERE DIFFERENCE
COMPUTER LANGUAGES AND THERE DIFFERENCE
 
Как да станем софтуерни инженери и да стартираме ИТ бизнес?
Как да станем софтуерни инженери и да стартираме ИТ бизнес?Как да станем софтуерни инженери и да стартираме ИТ бизнес?
Как да станем софтуерни инженери и да стартираме ИТ бизнес?
 
Dockerizing An Angular Application Using Git, Jenkins & Docker! | DevOps Tuto...
Dockerizing An Angular Application Using Git, Jenkins & Docker! | DevOps Tuto...Dockerizing An Angular Application Using Git, Jenkins & Docker! | DevOps Tuto...
Dockerizing An Angular Application Using Git, Jenkins & Docker! | DevOps Tuto...
 
Top 10 open source technologies for enterprise/Business web application devel...
Top 10 open source technologies for enterprise/Business web application devel...Top 10 open source technologies for enterprise/Business web application devel...
Top 10 open source technologies for enterprise/Business web application devel...
 
Overboard.js - where are we going with with jsconfasia / devfestasia
Overboard.js - where are we going with with jsconfasia / devfestasiaOverboard.js - where are we going with with jsconfasia / devfestasia
Overboard.js - where are we going with with jsconfasia / devfestasia
 
Comparisons react native vs. flutter vs. ionic vs. xamarin vs. native script
Comparisons  react native vs. flutter vs. ionic vs. xamarin vs. native scriptComparisons  react native vs. flutter vs. ionic vs. xamarin vs. native script
Comparisons react native vs. flutter vs. ionic vs. xamarin vs. native script
 
Mobile security part 1(Android Apps Pentesting)- Romansh yadav
Mobile security part 1(Android Apps Pentesting)- Romansh yadavMobile security part 1(Android Apps Pentesting)- Romansh yadav
Mobile security part 1(Android Apps Pentesting)- Romansh yadav
 
Which Tools Are The Best For Symfony Projects_.pdf
Which Tools Are The Best For Symfony Projects_.pdfWhich Tools Are The Best For Symfony Projects_.pdf
Which Tools Are The Best For Symfony Projects_.pdf
 

More from DIVE INTO CODE Corp.

DIVE INTO AFRICA Improving the value of human life
DIVE INTO AFRICA Improving the value of human lifeDIVE INTO AFRICA Improving the value of human life
DIVE INTO AFRICA Improving the value of human lifeDIVE INTO CODE Corp.
 
DIVE INTO AFRICA Améliorer la valeur de la vie humaine
DIVE INTO AFRICA Améliorer la valeur de la vie humaineDIVE INTO AFRICA Améliorer la valeur de la vie humaine
DIVE INTO AFRICA Améliorer la valeur de la vie humaineDIVE INTO CODE Corp.
 
Essential time management required for professional business person
Essential time management required for professional business personEssential time management required for professional business person
Essential time management required for professional business personDIVE INTO CODE Corp.
 
DIVE INTO Rwanda Improve the value of human life
DIVE INTO Rwanda Improve the value of human lifeDIVE INTO Rwanda Improve the value of human life
DIVE INTO Rwanda Improve the value of human lifeDIVE INTO CODE Corp.
 
ABE initiative summer internship final presentation Mr.Diop from Senegal
ABE initiative summer internship final presentation Mr.Diop from SenegalABE initiative summer internship final presentation Mr.Diop from Senegal
ABE initiative summer internship final presentation Mr.Diop from SenegalDIVE INTO CODE Corp.
 
【高知家 大交流会】なぜ、スクールを創ったのか?
【高知家 大交流会】なぜ、スクールを創ったのか?【高知家 大交流会】なぜ、スクールを創ったのか?
【高知家 大交流会】なぜ、スクールを創ったのか?DIVE INTO CODE Corp.
 
コードの世界にダイブ!なぜテクノロジーを学ぶ環境を創るのか
コードの世界にダイブ!なぜテクノロジーを学ぶ環境を創るのかコードの世界にダイブ!なぜテクノロジーを学ぶ環境を創るのか
コードの世界にダイブ!なぜテクノロジーを学ぶ環境を創るのかDIVE INTO CODE Corp.
 
DEMODAY 2019 Spring スポンサーシップ募集要項
DEMODAY 2019 Spring スポンサーシップ募集要項DEMODAY 2019 Spring スポンサーシップ募集要項
DEMODAY 2019 Spring スポンサーシップ募集要項DIVE INTO CODE Corp.
 
卒業発表 即戦力コース 1711期 木原 健児さん
卒業発表 即戦力コース 1711期 木原 健児さん卒業発表 即戦力コース 1711期 木原 健児さん
卒業発表 即戦力コース 1711期 木原 健児さんDIVE INTO CODE Corp.
 
卒業発表 即戦力コース 1806期 加瀬 徹さん
卒業発表 即戦力コース 1806期 加瀬 徹さん卒業発表 即戦力コース 1806期 加瀬 徹さん
卒業発表 即戦力コース 1806期 加瀬 徹さんDIVE INTO CODE Corp.
 
就職説明会 181215 株式会社mofmof
就職説明会 181215 株式会社mofmof就職説明会 181215 株式会社mofmof
就職説明会 181215 株式会社mofmofDIVE INTO CODE Corp.
 
卒業発表 即戦力コース 1805期 大須賀 善揮さん、中川 聡さん
卒業発表 即戦力コース 1805期 大須賀 善揮さん、中川 聡さん卒業発表 即戦力コース 1805期 大須賀 善揮さん、中川 聡さん
卒業発表 即戦力コース 1805期 大須賀 善揮さん、中川 聡さんDIVE INTO CODE Corp.
 
就職説明会 181127 株式会社トリプルアイズ.pdf
就職説明会 181127 株式会社トリプルアイズ.pdf就職説明会 181127 株式会社トリプルアイズ.pdf
就職説明会 181127 株式会社トリプルアイズ.pdfDIVE INTO CODE Corp.
 
スクールと現場のハザマ 2018 進行資料
スクールと現場のハザマ 2018 進行資料スクールと現場のハザマ 2018 進行資料
スクールと現場のハザマ 2018 進行資料DIVE INTO CODE Corp.
 
スクールと現場のハザマ 2018 登壇資料 宮崎 雄介さん
スクールと現場のハザマ 2018 登壇資料 宮崎 雄介さんスクールと現場のハザマ 2018 登壇資料 宮崎 雄介さん
スクールと現場のハザマ 2018 登壇資料 宮崎 雄介さんDIVE INTO CODE Corp.
 
スクールと現場のハザマ 2018 登壇資料 塩井 美咲さん
スクールと現場のハザマ 2018 登壇資料 塩井 美咲さんスクールと現場のハザマ 2018 登壇資料 塩井 美咲さん
スクールと現場のハザマ 2018 登壇資料 塩井 美咲さんDIVE INTO CODE Corp.
 
スクールと現場のハザマ 2018 登壇資料 片ノ坂 浩明さん
スクールと現場のハザマ 2018 登壇資料 片ノ坂 浩明さんスクールと現場のハザマ 2018 登壇資料 片ノ坂 浩明さん
スクールと現場のハザマ 2018 登壇資料 片ノ坂 浩明さんDIVE INTO CODE Corp.
 
リクルーティングパートナーシップのご提案
リクルーティングパートナーシップのご提案リクルーティングパートナーシップのご提案
リクルーティングパートナーシップのご提案DIVE INTO CODE Corp.
 

More from DIVE INTO CODE Corp. (20)

DIVE INTO AFRICA Improving the value of human life
DIVE INTO AFRICA Improving the value of human lifeDIVE INTO AFRICA Improving the value of human life
DIVE INTO AFRICA Improving the value of human life
 
DIVE INTO AFRICA Améliorer la valeur de la vie humaine
DIVE INTO AFRICA Améliorer la valeur de la vie humaineDIVE INTO AFRICA Améliorer la valeur de la vie humaine
DIVE INTO AFRICA Améliorer la valeur de la vie humaine
 
Essential time management required for professional business person
Essential time management required for professional business personEssential time management required for professional business person
Essential time management required for professional business person
 
DEMODAY 6th
DEMODAY 6thDEMODAY 6th
DEMODAY 6th
 
DIVE INTO Rwanda Improve the value of human life
DIVE INTO Rwanda Improve the value of human lifeDIVE INTO Rwanda Improve the value of human life
DIVE INTO Rwanda Improve the value of human life
 
ABE initiative summer internship final presentation Mr.Diop from Senegal
ABE initiative summer internship final presentation Mr.Diop from SenegalABE initiative summer internship final presentation Mr.Diop from Senegal
ABE initiative summer internship final presentation Mr.Diop from Senegal
 
【高知家 大交流会】なぜ、スクールを創ったのか?
【高知家 大交流会】なぜ、スクールを創ったのか?【高知家 大交流会】なぜ、スクールを創ったのか?
【高知家 大交流会】なぜ、スクールを創ったのか?
 
コードの世界にダイブ!なぜテクノロジーを学ぶ環境を創るのか
コードの世界にダイブ!なぜテクノロジーを学ぶ環境を創るのかコードの世界にダイブ!なぜテクノロジーを学ぶ環境を創るのか
コードの世界にダイブ!なぜテクノロジーを学ぶ環境を創るのか
 
DEMODAY 2019 Spring スポンサーシップ募集要項
DEMODAY 2019 Spring スポンサーシップ募集要項DEMODAY 2019 Spring スポンサーシップ募集要項
DEMODAY 2019 Spring スポンサーシップ募集要項
 
卒業発表 即戦力コース 1711期 木原 健児さん
卒業発表 即戦力コース 1711期 木原 健児さん卒業発表 即戦力コース 1711期 木原 健児さん
卒業発表 即戦力コース 1711期 木原 健児さん
 
卒業発表 即戦力コース 1806期 加瀬 徹さん
卒業発表 即戦力コース 1806期 加瀬 徹さん卒業発表 即戦力コース 1806期 加瀬 徹さん
卒業発表 即戦力コース 1806期 加瀬 徹さん
 
就職説明会 181215 株式会社mofmof
就職説明会 181215 株式会社mofmof就職説明会 181215 株式会社mofmof
就職説明会 181215 株式会社mofmof
 
卒業発表 即戦力コース 1805期 大須賀 善揮さん、中川 聡さん
卒業発表 即戦力コース 1805期 大須賀 善揮さん、中川 聡さん卒業発表 即戦力コース 1805期 大須賀 善揮さん、中川 聡さん
卒業発表 即戦力コース 1805期 大須賀 善揮さん、中川 聡さん
 
就職説明会 181127 株式会社トリプルアイズ.pdf
就職説明会 181127 株式会社トリプルアイズ.pdf就職説明会 181127 株式会社トリプルアイズ.pdf
就職説明会 181127 株式会社トリプルアイズ.pdf
 
スクールと現場のハザマ 2018 進行資料
スクールと現場のハザマ 2018 進行資料スクールと現場のハザマ 2018 進行資料
スクールと現場のハザマ 2018 進行資料
 
スクールと現場のハザマ 2018 登壇資料 宮崎 雄介さん
スクールと現場のハザマ 2018 登壇資料 宮崎 雄介さんスクールと現場のハザマ 2018 登壇資料 宮崎 雄介さん
スクールと現場のハザマ 2018 登壇資料 宮崎 雄介さん
 
スクールと現場のハザマ 2018 登壇資料 塩井 美咲さん
スクールと現場のハザマ 2018 登壇資料 塩井 美咲さんスクールと現場のハザマ 2018 登壇資料 塩井 美咲さん
スクールと現場のハザマ 2018 登壇資料 塩井 美咲さん
 
スクールと現場のハザマ 2018 登壇資料 片ノ坂 浩明さん
スクールと現場のハザマ 2018 登壇資料 片ノ坂 浩明さんスクールと現場のハザマ 2018 登壇資料 片ノ坂 浩明さん
スクールと現場のハザマ 2018 登壇資料 片ノ坂 浩明さん
 
リクルーティングパートナーシップのご提案
リクルーティングパートナーシップのご提案リクルーティングパートナーシップのご提案
リクルーティングパートナーシップのご提案
 
ゼロから学ぶAI
ゼロから学ぶAIゼロから学ぶAI
ゼロから学ぶAI
 

Recently uploaded

Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfciinovamais
 
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...Sapna Thakur
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxheathfieldcps1
 
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Sapana Sha
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdfSoniaTolstoy
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeThiyagu K
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...EduSkills OECD
 
Disha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdfDisha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdfchloefrazer622
 
Separation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesSeparation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesFatimaKhan178732
 
Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3JemimahLaneBuaron
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAssociation for Project Management
 
Interactive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationInteractive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationnomboosow
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13Steve Thomason
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104misteraugie
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introductionMaksud Ahmed
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxiammrhaywood
 
CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxGaneshChakor2
 

Recently uploaded (20)

Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
 
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
 
Advance Mobile Application Development class 07
Advance Mobile Application Development class 07Advance Mobile Application Development class 07
Advance Mobile Application Development class 07
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and Mode
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
 
Disha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdfDisha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdf
 
Separation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesSeparation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and Actinides
 
Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across Sectors
 
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
 
Interactive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationInteractive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communication
 
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
 
CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptx
 

【Primer】WebApp release in 3 hours! Programming from scratch Rails course

  • 1. Dive into Code Corp. Founder CEO Hiroyoshi Noro Rails3 certificated bronze-rank programmer 【Primer】WebApp release in 3 hours! Programming from scratch Rails course - More than 3,000 students have passed this gateway to success in Japan -
  • 2. 1Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved. Contents 1. Introduction ( 10min) Self-introduction, about today’s goal 2. Basic knowledge for programming development ( 50min) About system development, operations, environment, programming languages, Ruby on Rails, instruction for work 3. Practice (110min) let’s develop a simple application, control its versions on Git, and release it on Heroku 4. How to improve your programming skill ( 10min) How to get jobs as an engineer 5. Appendix About appropriate websites, books, and tools
  • 3. 2Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved. Introduction Hiroyoshi Noro. MBA holder engineer. My first time programming at the age of 29 1980 Born in Japan 2003-2006 Salesperson 2006-2009 Corporate sales 2009-2012 Operation & maintainance consultant 2012-2014 GLOBIS MBA 2015 Founded Dive into Code corp. Past experiences, not related !
  • 4. 3Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved. Introduction ①Program to develop problem-solving avility ( Oct. 2009~Mar. 2010) ・No Internet ・Lecture is prohibited ・No references ・be called & scolded books Internet COBOL DELPHI ORACLE DB(SQL) engineer beginner No support COBOL COBOL DELPHI DELPHI
  • 5. 4Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved. Seminar held in Japan 3,000 people + overseas (Vietnam). Ruby World Conference 2016. Introduction Directly lecture to 3,000 people in 3 years from zero Ruby experience
  • 6. 5Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved. Introduction Special skill: Recording every time (I've done Guinness) 12年 仕事プライベート
  • 7. 6Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved. Services developed in Rails Cookpad
  • 8. 7Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved. Services developed in Rails AirBnB
  • 9. 8Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved. Services developed in Rails Hulu
  • 10. 9Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved. Services developed in Rails GitHub
  • 11. 10Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved. Today’s goal Three things you must get today! 1. How to learn something from scratch 2. Basic knowledge for developing web applications 3. High motivation for programming
  • 12. 11Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved.Copyright © 2015 TimeShift Corp. All Rights Reserved. Basic Knowledge to develop applications
  • 13. 12Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved. Total image The flow of development The flow of development operations What’s development environment What’s development language about Ruby on Rails Basic knowledge for operations From the flow of system development to concrete knowledge for actual work. You need to know many things. system development actual works development environment development language operation method
  • 14. 13Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved. The flow of development To develop an app, you'll design it, work to build it, and test it. The most important thing is to compare the system you want realize in the real world, to the system of computers. What do you need? requirement definition What's the whole image like? basic design What’s the display image like? detail design development operations test in details unit test test in sections join test test the product system test ※tests aren’t important in lean startups. today’s lecture realworldincomputers system development actual works development environment development language operation method
  • 15. 14Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved. The flow of development operations tools you use today 1.prepare development environment  ※first time ■Codeanywhere ★ □install Vagrant and CentOS □install them directly 2.write inner part in development language (coding) ■Ruby (Ruby on Rails) ★ □PHP (CakePHP) □Java etc. 3.build a structure to store data   (coding) ■PostgreSQL ★ □MySQL □MongoDB etc. 4.write UI on the web browser   (coding) ■CSS ■HTML □jQuery etc. 5.controll source codes you developed ■Git ★  (for team development) □Bitbucket  (for team development) □Github etc. 6.release on the Internet ■heroku ★ □to rent a server etc. Actual work consists of 6 parts. system development actual works development environment development language operation method
  • 16. 15Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved. The flow of development Two cloud services enable you to develop and release your application for free. build a development environment coding control developed source code release it on the Internet Codeanywhere Git Heroku system development actual works development environment development language operation method source code
  • 17. 16Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved. Dev languageFlameworkd Development environment is ... like a place and a tool you need to develop apps. system development actual works development environment development language operation method Web server Database Version control Webrick
  • 18. 17Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved. Development environment is ... You had to take many steps installing variety of thing to prepare development environment. However, you can access it easily now. in the past today’s lecture ・Just 1 click! + α can be completed in 10min! system development actual works development environment development language operation method Codeanywhere ・prepare a PC ↓ ・install a development language ↓ ・install a framework ↓ ・install a data controlling system ↓ ・install a version controlling system etc. It takes 3 days for beginners...
  • 19. 18Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved. Development environment is ... Codeanywhere includes languages and tools for programming. So, all you need is to open it, and use it. That’s all. folder viewer file viewerterminal system development actual works development environment development language operation method
  • 20. 19Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved. Development languages are ... languages understandable to computers and humans. They make up programs and make the computer works. Ruby PHP system development actual works development environment development language operation method
  • 21. 20Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved. Development languages are ... The first development language was made 60 years ago. After that, many kind of languages had been developed. Ruby was born in 1995. ※出典:ひつじTOWN「C言語あれこれ」 system development actual works development environment development language operation method
  • 22. 21Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved. Development languages are ... Ruby is the only language which was made in Japan. And I came from Japan. ※developed by Mr. Yukihiro Matsumoto system development actual works development environment development language operation method
  • 23. 22Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved. Ruby on Rails As I said, Ruby is a development language. On the other hand, Ruby on Rails is the framework, which works like a frame in development process. system development actual works development environment development language operation method
  • 24. 23Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved. Ruby on Rails Ruby on Rails was developed by David Heinemeier Hansson, the founder of Basecamp. He developed it to make work more efficient. DRY (Don't repeat yourself) CoC (Convention over Configuration) “ What I’m trying to do is to reduce time wasted. I’m reducing time wasted on trifles.” ※Quated from HR navi. , 【HRナビ「「10倍プログラマ」の神話、Ruby on Railsの生みの親が語った高い生産性のカギとは!?】“The legend of ‘10 times programmer’, father of Ruby on Rails taught us the key for high efficiency” system development actual works development environment development language operation method
  • 25. 24Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved. Ruby on Rails The reasons why I chose Ruby / Ruby on Rails. 1. Many engineers congratulate it. The rules are clear. Many engineers recommend it saying that Ruby is easy for beginners and high-productive. 2. It is widely used and trustworthy. Actually, “cookpad” ( I individually follow it) is written in Ruby. 3. There is a big demand for Ruby engineers. Ruby skill is highly demanded, and you can be employed and earn money to start your business improving your skill. system development actual works development environment development language operation method
  • 26. 25Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved. Ruby on Rails AirBnB - an example of web services which are made with Ruby on Rails system development actual works development environment development language operation method
  • 27. 26Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved. Ruby on Rails the Internet Signals are transmitted via a browser, the result comes from destinated computer, and it is reflected on the monitor. http request GET, POST … response HTML, images … URL system development actual works development environment development language operation method
  • 28. 27Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved. Ruby on Rails screen display internal processing data management HTTPServer Controller View Model inthedatabase management system Database A computer take http signals, process them in order by using variety of systems in it, and send the result as response. request GET response HTML Router URL ① ② ③ ④ ⑤ ⑥⑦⑧⑨10 システム開発 開発作業 開発環境 開発言語 作業方法 system development actual works development environment development language operation method
  • 29. 28Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved. 店舗オフィス Ruby on Rails Compare to what you have experienced. The process flow of Rails is similar to the operation flow of a bank. 特別な場所 door Teller Bank book Cashier Withdrawal Machine In Out Guidema nBank system development actual works development environment development language operation method
  • 30. 29Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved. Ruby on Rails Variety of systems exist in designated folders as files. Ruby, development language is used to consist these files. httpServer Controller View Model controlling- databases system Router folders are devided according to their roles. Ruby is used in files. in Codeanywhereconceptual figure システム開発 開発作業 開発環境 開発言語 作業方法 system development actual works development environment development language operation method
  • 31. 30Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved. httpServer def index @blogs = Blog.all end <% @blogs.each do |blog| %> <% end %> class Blog < ActiveRecord::Base end Appropriate systems to process signals are decided based on the combination of the http signals and the URL. The signals are processed in order of C→(M→DB→M→C)→V→C. /config /routes.rb URL /blogs http GET blogs#index /controllers/blogs_c ontroller.rb /models/ blog.rb PostgreSQL blogs table /views/ blogs/index.html.erb h1 { } /assets/stylesheets/ blogs.css.scss “O/R mapper” Blog.all ↓ translates Ruby into SQL ↓ SELECT * FROM blogs; システム開発 開発作業 開発環境 開発言語 作業方法Ruby on Rails system development actual works development environment development language operation method
  • 32. 31Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved. httpServer Copyright © 2015-2016 Dive into Code Corp. All Rights Reserved. A display is based on HTML and CSS. Internal system is written in Ruby and SQL. Rails forms processing flows from http requests to responses. /config /routes.rb URL /blogs http GET blogs#inde x /controllers/blogs_c ontroller.rb /models/ blog.rb PostgreSQL blogsテーブル /views/ blogs/index.html.erb /assets/stylesheets/ blogs.css.scss システム開発 開発作業 開発環境 開発言語 作業方法Ruby on Rails system development actual works development environment development language operation method
  • 33. 32Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved. Ruby on Rails display internal processing data control HTTPServer Controller View Model indatabases controlsystem Database To understand Rails, you have to understand the flow from http request to response. requests GET responses HTML Router URL ① ② ③ ④ ⑤ ⑥⑦⑧⑨10 system development actual works dvelopment environment development language operation method
  • 34. 33Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved. Basic knowledge for operations You manipulate the terminal with the keyboard. The terminal connects the computer and people with letters. terminal system development actual works development environment development language operation method
  • 35. 34Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved. Basic knowledge for operations Thw terminal commands the computer once a line ( prompt). prompt the current working directory (= folder) You must get used to operating computers with keyboards. system development actual works development environment development language operation method
  • 36. 35Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved. Basic knowledge for operations 1 cautionary points of terminal operation Keep up with the current working directories. system development actual works development environment development language operation method
  • 37. 36Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved. Basic knowledge for operations You refer to the manual, cut a command, paste it on the terminal, and push “enter” to execute it. ①refer to the manual ②create commands ③input them in the terminal cut & paste complete commands ※You must not use "memo pad" because it may change half-width letters into double-byte characters system development actual works development environment development language operation method
  • 38. 37Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved.Copyright © 2015 TimeShift Corp. All Rights Reserved. Practice
  • 39. 38Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved. Practice https://goo.gl/yBtBwt
  • 40. 39Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved. Practice 3 steps to release a web application! ① ② ③ 【STEP0】Build a development environment https://diver.diveintocode.jp/seminar_documents/rails00_codeanywhere_en 【STEP1】Develop a simple application https://diver.diveintocode.jp/seminar_documents/rails01_codeanywhere_en 【STEP2】Control its versions on Git https://diver.diveintocode.jp/seminar_documents/rails02_codeanywhere_en 【STEP3】Release the application on Heroku https://diver.diveintocode.jp/seminar_documents/rails03_codeanywhere_en 1 2 3 0
  • 41. 40Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved. Practice 【figure】3 steps ① ② ③ 0 Codeanywhere C V M DB HerokuHTTPServer C V M DB record in Git (file) C V M 1 2 3 HTTPServer
  • 42. 41Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved. Practice build a development environment 3 good points of using Codeanywhere 1. You can easily get a computer for system development for free. 2. You can install development languages or tools instantly. 3. You can work anywhere the Internet is available. ① ② ③ 0
  • 43. 42Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved. build a development environment Practice ① ② ③ 0 Codeanywhere 1 container automaticaly install Ruby, Git, Ruby on Rails, etc. create a new container register an account Install PostgreSQL, Heroku Toolbelt start PostgreSQL
  • 44. 43Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved. Practice develop a simple application on Codeanywhere You can develop it in a minute by “Rails magic”. ・You can create “framework” and “flow of signals” of an application in seconds by the magic “rails new name”. ・You can prepare a set of display accessible from a designated URL by the magic “rails g scaffold” ① ② ③ 1
  • 45. 44Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved. Practice develop a simple application on Codeanywhere ① ② ③ 1 Codeanywhere HTTP Server C V M DB rails new achieve -d postgresql rails g scaffold Blog title:string content:text rake db:create db:migrate rails s cd achieve
  • 46. 45Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved. Practice control the versions on Git 2 good points of using Git 1. Git can store all contents of your folders and files. 2. You can reflect the contents on Heroku by only one command. ① ② ③ 2
  • 47. 46Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved. Codeanywhere Practice control the versions with Git ① ② ③ 2 C V M files and folders stored in Git (file) C V M git add . git commit –m “message” git init git config –global 〜 git loggit status
  • 48. 47Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved. Practice release the application on Heroku ( trial) 3 good points of using Heroku 1. You can release applications on the Internet. 2. You can release them for free. 3. You don’t need any install operations. ① ② ③ 3
  • 49. 48Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved. Codeanywhere Git Heroku user registration Practice release the application on Heroku ( trial) ① ② ③ 3 heroku login C V M C V M 1APP Git git push heroku master C V M C V M heroku create heroku run rake db:migrate RAILS_ENV=production
  • 50. 49Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved. Practice You landed!! (completed) ① ② ③
  • 51. 50Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved. Today’s goal Did you get three things I said ? 1. How to learn something from scratch 1. Basic knowledge for developing web applications 1. High motivation for programming
  • 52. 51Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved.Copyright © 2015 TimeShift Corp. All Rights Reserved. How to improve your skill
  • 53. 52Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved. 1. “Practice makes perfect.” You can learn nothing without practice. 2. “Set the time limit” Don’t hesitate to ask others when you get stuck more than 30 min. 3. “Begin with imitation” To copy reference books in important at first. How to improve your skill 3 principles for programming learning
  • 54. 53Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved. 3 ways 3 ways to get jobs as an engineer attending school job- change self- education
  • 55. 54Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved. Self-education You have to study in loneliness. No one teaches you. Time passes...
  • 56. 55Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved. However, you save money. Which is more precious, time or money? It’s up to you... Self-education
  • 57. 56Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved. Attending school Attending school costs you much money (about $1,000~$3,000). It’s not worth doing if you “only learn” programming.
  • 58. 57Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved. Attending school However, others’ support enables you progress fast. Whether supporters are experts or not is crucial. It’s like a gamble.
  • 59. 58Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved. Job-change You have to apply for a job, pass exams or interviews... You’d be said “Have you ever worked as an engineer?”
  • 60. 59Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved. Rails job offers for engineers More than 1000 companies already confirmed
  • 61. 60Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved. 転職 “Have you ever worked as an engineer?”
  • 62. 61Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved. Job-change Even if you get a job luckily, you may be said ... “Didn’t you google it !?”
  • 63. 62Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved. 3ways support money operational experience Self-educatio n × ○ × Attending school ○ × × Job-change △ ○ ○
  • 64. 63Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved.Copyright © 2015 TimeShift Corp. All Rights Reserved. Key to success
  • 65. 64Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved. Key to success self-education attending school job-change operational experience
  • 66. 65Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved. Key to success support money operational experience ideal ○ ○ ○ We, DIVE INTO CODE realized perfect way to learn programming
  • 67. 66Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved. DIVE INTO CODE is the best way to be an engineer. Let’s improve our own skills to get jobs together!! https://diveintocode.jp/ DIVE INTO CODE is the best way to be an engineer. We’ll be waiting, let’s join us!
  • 68. 67Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved. Create society where everyone can play an active role by using technology. Mission
  • 69. 68Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved. Build an ecosystem of technology education. Vision Fulltime job ResearchRemote workd Government Study session School First experience
  • 70. 69Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved.Copyright © 2015 TimeShift Corp. All Rights Reserved. Appendix
  • 71. 70Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved. Appendix “From scratch, 3 steps to be a successful engineer” Ruby World Conference 2016 documents and the movie are available!! https://youtu.be/2IA6UM_8JHM http://2016.rubyworld-conf.org/files/program/B-3.pdfDocuments Movie
  • 72. 71Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved. Appendix About DIVE INTO CODE Web page http://diveintocode.jp/ Facebook Group:Online Support for free https://web.facebook.com/groups/diveintocode/ Facebook page https://web.facebook.com/diveintocode.jp/
  • 73. 72Copyright © 2015-2017 Dive into Code Corp. All Rights Reserved. Appendix Ruby on Rails Guide http://guides.rubyonrails.org/ Ruby on Rails Tutorial https://www.railstutorial.org/ Codecademy https://www.codecademy.com/learn/learn-rails Recommended learning materials.