95
0 Công ty cổ phần Dive into Code Founder CEO 野呂 浩良 (Noro hiroyoshi) Kĩ sư có chứng chỉ Rail3 Bronze [Nhập môn] Public application trong 3 tiếngKhóa học Lập trình Rails từ con số 0 Có trên 2000 học viên đã tham gia

Khu00f3a hu1ecdc public application trong 3 tiu1ebfnguff01 lu1eadp tru00ecnh rails tu1eeb con su1ed1 0

Embed Size (px)

Citation preview

Page 1: Khu00f3a hu1ecdc public application trong 3 tiu1ebfnguff01 lu1eadp tru00ecnh rails tu1eeb con su1ed1 0

0

Công ty cổ phần Dive into CodeFounder CEO 野呂 浩良 (Noro hiroyoshi)

Kĩ sư có chứng chỉ Rail3 Bronze

[Nhập môn] Public application trong 3 tiếng!Khóa học Lập trình Rails từ con số 0

Có trên 2000 học viên đã tham gia

Page 2: Khu00f3a hu1ecdc public application trong 3 tiu1ebfnguff01 lu1eadp tru00ecnh rails tu1eeb con su1ed1 0

1Copyright © 2015-2016 Dive into Code Corp. All Rights Reserved.

Nội dung

1. Giới thiệu ( 10p)Giới thiệu bản thân, Mục tiêu khóa học

2. Kiến thức nền cần cho việc phát triển ( 50p)Phát triển hệ thống, Công việc phát triển, Môi trường phát triển, Ngôn ngữ pháp triển, Ruby on Rails, Cơ sở của phương pháp làm việc

3. Bài tập thực hành (110p)Phát triển trial app, Quản lý version bằng Git, Public trên internet bằng Heroku

4. Bí quyết để nâng cao skill (10p) 3 phương pháp để trở thành engineer5. Phụ lục

Suggest các site học, sách tham khảo, tools …

Page 3: Khu00f3a hu1ecdc public application trong 3 tiu1ebfnguff01 lu1eadp tru00ecnh rails tu1eeb con su1ed1 0

2

Nhiệm vụ của chúng ta

Copyright © 2015-2016 Dive into Code Corp. All Rights Reserved.

Xây dựng xã hội thành nơi mà tất cả mọi người coi công nghệ là vũ khí và phát huy được năng lực của bản thân

Học trực tiếp mặt đối mặt

& Net

Basic Rails

Team development

• Ruby(Rails)• PostgreSQL• HTML• CSS(Bootstrap)

WEB engineer

Kinh nghiệm 0

Basic design

SNS function

Offshore development

Group task function

Offshore development

Page 4: Khu00f3a hu1ecdc public application trong 3 tiu1ebfnguff01 lu1eadp tru00ecnh rails tu1eeb con su1ed1 0

3Copyright © 2015 TimeShift Corp. All Rights Reserved.

Giới thiệuNoro Hiroyoshi Có 2 lần từng lập trình từ con số 0

Là Thạc sĩ quản trị kinh doanh, Kĩ sư kiêm Giảng Viên. Có nhiều năm kinh nghiệm làm việc ở nhiều vị trí, ngành nghề đa dạng chẳng hạn như làm việc tại Recuit, Works Applications. Ông tính toán tất cả thời gian công việc từ đó xây dựng phương pháp nâng cao năng suất của bản thân từ con số 0 để đạt kết quả tốt trong 1 thời gian ngắn dù ở vị trí mà chưa có kinh nghiệm. Ông từng có trải nghiệm quý báu tại chương trình đặc biệt「Chương trình khám phá năng lực giải quyết khó khăn」của Work Application đồng thời cũng nhận thức sâu sắc về việc thiếu hụt nhân lực engineer trong 1 năm đầu khởi nghiệp. Từ những kinh nghiệm đạt được, ông đã sáng lập lên High level programing school「DIVE INTO CODE」nhằm đào tạo nhân lực trở thành kỹ sư

Page 5: Khu00f3a hu1ecdc public application trong 3 tiu1ebfnguff01 lu1eadp tru00ecnh rails tu1eeb con su1ed1 0

4

Lý lịch công việc

Copyright © 2015-2016 Dive into Code Corp. All Rights Reserved.

Trên 10 năm là nhân viên không biết kĩ thuật. Sau nhiều lần chuyển vị trí, ngành nghề, cùng với việc đi học tại trường đại học kinh doanh thì đã chính thức thành lập công ty vào tháng 4 năm 2015

- Sinh năm 1980

- Năm 2003: Làm việc tại công ty cổ phần Sumiya ( Phụ trách : Tư vấn bán hàng)

- Năm 2006: Làm việc tại Công ty cổ phần Recruit (Phụ trách: Sales)

- Năm 2009: Làm việc tại Công ty cổ phần Work Applications (Phụ trách: Vận hành và bảo trì)

-Năm 2012: MBA (thạc sĩ quản trị kinh doanh) trường đại học viện Kinh doanh Globis

- Năm 2015: Thành lập công ty Cổ phần Dive into Code

Page 6: Khu00f3a hu1ecdc public application trong 3 tiu1ebfnguff01 lu1eadp tru00ecnh rails tu1eeb con su1ed1 0

5

Cơ hội tiếp xúc với nghề lập trình

Copyright © 2015-2016 Dive into Code Corp. All Rights Reserved.

①Chương trình khám phá năng lực giải quyết khó khăn( Tháng 10 năm 2009 ~ Tháng 3 năm 2010)

・Không internet・Không tham gia bài giảng・Không tài liệu・Gọi & Có hướng dẫn

Sách Mạng

COBOL

DELPHI

ORACLE DB(SQL)

Engineer

Không kinh nghiệm

Tự lực

COBOL

COBOL

DELPHI

DELPHI

Page 7: Khu00f3a hu1ecdc public application trong 3 tiu1ebfnguff01 lu1eadp tru00ecnh rails tu1eeb con su1ed1 0

6Copyright © 2015-2016 Dive into Code Corp. All Rights Reserved.

②Lean Startup (Từ tháng 4 năm 2014~ Tháng 10 năm 2014)

・ Ideathon X lần・ Hackathon X lần・Startup Weekend 3 lần・Mokumoku X lần

SáchMạng

300Ý tưởng

3Kế hoạch

1Kế hoạch

Engineer member

0Tự phát triển

Tự phát triển

Enginner ・・・

Cơ hội tiếp xúc với nghề lập trình

Page 8: Khu00f3a hu1ecdc public application trong 3 tiu1ebfnguff01 lu1eadp tru00ecnh rails tu1eeb con su1ed1 0

7Copyright © 2015-2016 Dive into Code Corp. All Rights Reserved.

Cơ hội tiếp xúc với nghề lập trình

Tự phát triển Web application [Hệ thống quản lý Homeru X Task(Quản lý task group)]

※Thời gian phát triểnGiữa 8 ~ cuối tháng 10 năm 2014

Page 9: Khu00f3a hu1ecdc public application trong 3 tiu1ebfnguff01 lu1eadp tru00ecnh rails tu1eeb con su1ed1 0

8Copyright © 2015-2016 Dive into Code Corp. All Rights Reserved.

Cơ hội tiếp xúc với nghề lập trình

6/11/2014: Đỗ [Chứng chỉ kỹ sư Rails 3_ Bronze ]! Chỉ sau 2 tháng rưỡi kể từ lúc bắt đầu học Rails

Page 10: Khu00f3a hu1ecdc public application trong 3 tiu1ebfnguff01 lu1eadp tru00ecnh rails tu1eeb con su1ed1 0

9

Cơ hội tiếp xúc với nghề lập trình

Copyright © 2015-2016 Dive into Code Corp. All Rights Reserved.

-Vấn đề của: những người không phải là kỹ sư đang có ý tưởng kinh doanh nhưng không thể thực hiện được vì cứ cho rằng “tự tôi thì không thể làm được” nên sẽ đi tìm kĩ sư.-Giải quyết vấn đề: muốn lean startup, muốn làm việc như 1 kỹ sư-Giải quyết bằng cách: phải nắm được kĩ năng để tự mình có thể tạo prototype

Giải quyết vấn đề của ai? Giải quyết vấn đề gì? Giải quyết như thế nào?

Page 11: Khu00f3a hu1ecdc public application trong 3 tiu1ebfnguff01 lu1eadp tru00ecnh rails tu1eeb con su1ed1 0

10

Mục tiêu của buổi hôm nay

Đạt được 3 điều sau:

1. Có thể nắm được cốt lõi của việc học từ con số 0

2. Có thể nắm được nền tảng của phát triển Web application

3. Nâng cao được động lực phấn đấu

Copyright © 2015-2016 Dive into Code Corp. All Rights Reserved.

Page 12: Khu00f3a hu1ecdc public application trong 3 tiu1ebfnguff01 lu1eadp tru00ecnh rails tu1eeb con su1ed1 0

11Copyright © 2015 TimeShift Corp. All Rights Reserved.

Kiến thức nền cần thiết cho việc phát triển

Page 13: Khu00f3a hu1ecdc public application trong 3 tiu1ebfnguff01 lu1eadp tru00ecnh rails tu1eeb con su1ed1 0

12Copyright © 2015-2016 Dive into Code Corp. All Rights Reserved.

Bức tranh tổng thể

Flow phát triển hệ thống

Flow công việc phát triển

Môi trường phát triển

Ngôn ngữ phát triển Ruby on Rails

Cơ sở của phương pháp làm việc

Từ flow phát triển hệ thống tới phương pháp tiến hành công việc thực tế đều đòi hỏi vốn kiến thức sâu rộng

Phát triển hệ thống

Công việc phát triển

Mô trường phát triển

Ngôn ngữ phát triển

Phương pháp làm

việc

Page 14: Khu00f3a hu1ecdc public application trong 3 tiu1ebfnguff01 lu1eadp tru00ecnh rails tu1eeb con su1ed1 0

13Copyright © 2015-2016 Dive into Code Corp. All Rights Reserved.

Flow phát triển

Flow phát triển : thiết kết/ phát triển/ test_ đưa cơ chế muốn thực hiện trên thực tế đến gần với cơ chế của máy tính

Cần cái gì?Định nghĩa điều kiện

Thành phần tổng thể?

Basic design

Nội dung của màn hình?

Details Design

Công việc phát triển

Test từng phầnUnit test

Test từng cấu tạoIntergration test

Test tất các phần đã hoàn thànhSystem test

※Trong Lean start up thì không chú trọng việc test

Bài giảng hôm nay

Thế giới thực tiễn

Trong máy tính

Phát triển hệ thống

Công việc phát triển

Mô trường phát triển

Ngôn ngữ phát triển

Phương pháp làm

việc

Page 15: Khu00f3a hu1ecdc public application trong 3 tiu1ebfnguff01 lu1eadp tru00ecnh rails tu1eeb con su1ed1 0

14Copyright © 2015-2016 Dive into Code Corp. All Rights Reserved.

Flow công việc phát triển

Chi tiết công việc phát triển Các soft sẽ sử dụng trong khóa học1. Cấu trúc môi trường phát triển ※Chỉ thực hiện ở lần đầu tiên

■Cloud9 ★□Install Vagrant + CentOS cho PC□Hoặc install trực tiếp vào PC

2.Tạo cấu trúc nội bộ bằng ngôn ngữ phát triển (Coding)

■Ruby (Ruby on Rails) ★□PHP (CakePHP)□Java, etc

3.Tạo hộp chứa data (Coding)

■PostgreSQL ★□MySQL□MongoDB, etc

4.Vẽ UI hiển thị trên trình duyệt (Coding)

■CSS■HTML□jQuery, etc

5.Quản lý source code đã phát triển ■Git ★ (Dùng cho team phát triển) □Bitbucket (Dùng cho team phát triển) □Github etc

6.Public trên internet ■heroku ★□Hợp đồng cho thuê máy chủ, etc

Công việc phát triển được chia thành 6 phần

Phát triển hệ thống

Công việc phát triển

Môi trường phát triển

Ngôn ngữ phát triển

Phương pháp làm

việc

Page 16: Khu00f3a hu1ecdc public application trong 3 tiu1ebfnguff01 lu1eadp tru00ecnh rails tu1eeb con su1ed1 0

15Copyright © 2015-2016 Dive into Code Corp. All Rights Reserved.

Flow công việc phát triển

Nếu sử dụng 2 cloud service thì có thể public miễn phí trên internet.

Cấu trúc môi trường phát triển

Coding

Quản lý source code đã phát triển Public trên internet

Cloud9

Git

Heroku

Source code

Phát triển hệ thống

Công việc phát triển

Môi trường phát triển

Ngôn ngữ phát triển

Phương pháp làm

việc

Page 17: Khu00f3a hu1ecdc public application trong 3 tiu1ebfnguff01 lu1eadp tru00ecnh rails tu1eeb con su1ed1 0

16Copyright © 2015-2016 Dive into Code Corp. All Rights Reserved.

Môi trường phát triển

Phải chuẩn bị sẵn tool và nơi cần cho công việc phát triển

開発言語

Phát triển hệ thống

Công việc phát triển

Ngôn ngữ phát triển

Phương pháp làm

việcMôi trường phát triển

Page 18: Khu00f3a hu1ecdc public application trong 3 tiu1ebfnguff01 lu1eadp tru00ecnh rails tu1eeb con su1ed1 0

17Copyright © 2015-2016 Dive into Code Corp. All Rights Reserved.

Trước đây cần chuẩn bị PC và phải install rất phức tạp nhưng hiện tại có thể thực hiện chỉ với 1 button

Trước đây Khóa học này

・Chỉ cần nhấn 1 button là OK

Xong ngay trong 1 phút!

Cloud9・Chuẩn bị PC để install↓・Install ngôn ngữ phát triển↓・Install Framework↓・Install hệ thống quản lý database↓・Install hệ thống quản lý version etc

Lần đầu sẽ mất khoảng 3 ngày…

Môi trường phát triển Phát triển hệ thống

Công việc phát triển

Ngôn ngữ phát triển

Phương pháp làm

việcMôi trường phát triển

Page 19: Khu00f3a hu1ecdc public application trong 3 tiu1ebfnguff01 lu1eadp tru00ecnh rails tu1eeb con su1ed1 0

18Copyright © 2015-2016 Dive into Code Corp. All Rights Reserved.

Do ngôn ngữ và tool đã được cài sẵn trong Cloud9 nên chỉ cần mở trình duyệt ra là có thể dùng được

Folder viewer File Viewer

Terminal

Môi trường phát triển Phát triển hệ thống

Công việc phát triển

Ngôn ngữ phát triển

Phương pháp làm

việcMôi trường phát triển

Page 20: Khu00f3a hu1ecdc public application trong 3 tiu1ebfnguff01 lu1eadp tru00ecnh rails tu1eeb con su1ed1 0

19Copyright © 2015-2016 Dive into Code Corp. All Rights Reserved.

Ngôn ngữ phát triển

Là ngôn ngữ mà cả con người và máy tính đều hiểu và là thứ mà có thể giúp ta cấu trúc chương trình và khiến máy tính hoạt động

Ruby PHP

Phát triển hệ thống

Công việc phát triển

Môi trường phát triển

Ngôn ngữ phát triển

Phương pháp công

việc

Page 21: Khu00f3a hu1ecdc public application trong 3 tiu1ebfnguff01 lu1eadp tru00ecnh rails tu1eeb con su1ed1 0

20Copyright © 2015-2016 Dive into Code Corp. All Rights Reserved.

Ngôn ngữ phát triển

Ngôn ngữ phát triển ra đời cách đây 60 năm. Cùng với dòng chảy của thời đại, rất nhiều ngôn ngữ lập trình cũng đã được sinh ra. Ruby được ra đời năm 1995

※出典:ひつじTOWN「C言語あれこれ」

Phát triển hệ thống

Công việc phát triển

Môi trường phát triển

Ngôn ngữ phát triển

Phương pháp công

việc

Page 22: Khu00f3a hu1ecdc public application trong 3 tiu1ebfnguff01 lu1eadp tru00ecnh rails tu1eeb con su1ed1 0

21Copyright © 2015-2016 Dive into Code Corp. All Rights Reserved.

Ngôn ngữ phát triển

Trong các ngôn ngữ phát triển trên thế giới, Ruby là ngôn ngữ phát triển duy nhất được ra đời tại Nhật Bản

※Người phát triển ra ngôn ngữ này là ngài Matsumoto Yukihiro

Phát triển hệ thống

Công việc phát triển

Môi trường phát triển

Ngôn ngữ phát triển

Phương pháp công

việc

Page 23: Khu00f3a hu1ecdc public application trong 3 tiu1ebfnguff01 lu1eadp tru00ecnh rails tu1eeb con su1ed1 0

22Copyright © 2015-2016 Dive into Code Corp. All Rights Reserved.

Ruby on Rails

Ruby là 1 ngôn ngữ phát triển. Ruby on Rails là 1 framework được viết trên ngôn ngữ lập trình Ruby

Phát triển hệ thống

Công việc phát triển

Môi trường phát triển

Ngôn ngữ phát triển

Phương pháp công

việc

Page 24: Khu00f3a hu1ecdc public application trong 3 tiu1ebfnguff01 lu1eadp tru00ecnh rails tu1eeb con su1ed1 0

23Copyright © 2015-2016 Dive into Code Corp. All Rights Reserved.

Ruby on Rails

Được tạo ra bởi David HeinemeierHansson_ nhà sáng lập Basecamp nhằm giảm bớt thời gian lãng phí

DRY (Don't repeat yourself) CoC (Convention over Configuration)

“Việc mà tôi đang làm là giảm thời gian lãng phí . Giảm việc mất thời gian vào những việc không đâu”

「Không lặp lại cùng 1 việc」 「Quy ước vượt trên cấu hình」

※Source:HR Navi Thần thoại「「Programmer X10」, Chìa khóa để tăng năng suất làm việc mà cha đẻ của Ruby on Rails đã nói là?」

Phát triển hệ thống

Công việc phát triển

Môi trường phát triển

Ngôn ngữ phát triển

Phương pháp công

việc

Page 25: Khu00f3a hu1ecdc public application trong 3 tiu1ebfnguff01 lu1eadp tru00ecnh rails tu1eeb con su1ed1 0

24Copyright © 2015-2016 Dive into Code Corp. All Rights Reserved.

Ruby on Rails

Lý do chọn Ruby / Ruby on Rails (Chủ quan)

1. Engineer đánh giá caoRule rõ ràng. Kể cả người mới bắt đầu cũng có thể sử dụng và được những engineer coi trọng năng suất cao khuyên dùng.

2. Cảm thấy tinh tưởng và thấy có tiềm năngĐược dùng để phát triển “Cookpad”(website giới thiệu món ăn). Đây là website mà tôi đang lấy làm hình mẫu theo đuổi.

3. Thị trường tuyển dụng kỹ sư rất lớnVới nhu cầu tuyển kỹ sư cao thì bạn có thể “được tuyển với mức thu nhập hàng tháng trên 300.000 Yên”

Phát triển hệ thống

Công việc phát triển

Môi trường phát triển

Ngôn ngữ phát triển

Phương pháp công

việc

Page 26: Khu00f3a hu1ecdc public application trong 3 tiu1ebfnguff01 lu1eadp tru00ecnh rails tu1eeb con su1ed1 0

25Copyright © 2015-2016 Dive into Code Corp. All Rights Reserved.

Ruby on Rails

Trong các công ty Web service thành lập vào năm 2013, cũng có trường hợp đã thay PHP bằng Ruby

“Khi thành lập vào năm 2013,tôi đã nghĩ rằng có rất nhiều kĩ sư dùng PHP, việc tuyển dụng sẽ thuận lợi thôi. Tuy nhiên trên thực tế sau khi hiểu rõ được môi trường tuyển dụng start up trong vài tháng gần đây và việc sử dụng Ruby đang tập trung vào các kỹ sư ở độ tuổi 20 thì quan điểm tuyển dụng cũng đã dần dần thay đổi. (Thực tế là Wantedly có trên 100 kĩ sư nhưng lại có ít người dùng cake nhưng lại có rất nhiều người dùng Rails)”

“Do Framework của những người dùng Ruby chủ yếu là Rails nên kể cả có merge với resource của công ty khác thì vẫn dễ dàng sử dụng (Khá bất ngờ là trong PHP, có khá nhiều người dùng các Framework khác ngoài cake)”

“Trong vài năm qua, các service liên quan tới Rails đã khá đầy đủ. Chúng tôi đã nghĩ tới việc install CI service dành cho team phát triển tuy nhiên khá ngạc nhiên là có rất nhiều service lại chỉ cho dùng Git + Rails”

Cứ vài năm thì ngôn ngữ lại bị thay thế. Đối với kỹ sư, việc catch up ngôn ngữ mới là 1 việc đương nhiên giống như con người cần hít không khí vậy.

CEOCông ty vận hành hệ thống truyền thông y tế

Phát triển hệ thống

Công việc phát triển

Môi trường phát triển

Ngôn ngữ phát triển

Phương pháp công

việc

Page 27: Khu00f3a hu1ecdc public application trong 3 tiu1ebfnguff01 lu1eadp tru00ecnh rails tu1eeb con su1ed1 0

26Copyright © 2015-2016 Dive into Code Corp. All Rights Reserved.

Ruby on Rails

Ví dụ về Web service được tạo bằng Ruby on Rails:「Street Academy」

Phát triển hệ thống

Công việc phát triển

Môi trường phát triển

Ngôn ngữ phát triển

Phương pháp công

việc

Page 28: Khu00f3a hu1ecdc public application trong 3 tiu1ebfnguff01 lu1eadp tru00ecnh rails tu1eeb con su1ed1 0

27Copyright © 2015-2016 Dive into Code Corp. All Rights Reserved.

Ruby on Rails

Internet

Thông tin được truyền qua trình duyệt. Kết quả xử lý được trả về từ máy tính của đích truyền tin. Màn hình sẽ được hiển thị trên trình duyệt.

Truyền tin http RequestGET, PUT, DELETE …

ResponseHTML, images …

URL

Phát triển hệ thống

Công việc phát triển

Môi trường phát triển

Ngôn ngữ phát triển

Phương pháp công

việc

Page 29: Khu00f3a hu1ecdc public application trong 3 tiu1ebfnguff01 lu1eadp tru00ecnh rails tu1eeb con su1ed1 0

28Copyright © 2015-2016 Dive into Code Corp. All Rights Reserved.

Ruby on Rails

Hiển thị màn hình Xử lý nội bộ Quản lý data

HT

TP Server

Controller

View

Model

Trong hệ thống quản

lýD

atabase

Máy tính sẽ nhận truyền tin http và tương ứng với vai trò mà xử lý sẽ được truyền theo thứ tự rồi trả về response.

RequestGET

ResponseHTML

RouterURL

① ② ③ ④ ⑤

⑥⑦⑧⑨10

Phát triển hệ thống

Công việc phát triển

Môi trường phát triển

Ngôn ngữ phát triển

Phương pháp công

việc

Page 30: Khu00f3a hu1ecdc public application trong 3 tiu1ebfnguff01 lu1eadp tru00ecnh rails tu1eeb con su1ed1 0

29Copyright © 2015-2016 Dive into Code Corp. All Rights Reserved.

Ruby on Rails

Mỗi vai trò sẽ tồn tại dưới dạng file trong các folder chỉ định. Các file đó sẽ được viết bằng ngôn ngữ Ruby

http Server

Controller

View

Model

Hệ thống quản lý database

Router

Cấu trúc folder theo vai trò.Các file được viết bằng Ruby

Trong Cloud9Sơ đồi khái niệm

Phát triển hệ thống

Công việc phát triển

Môi trường phát triển

Ngôn ngữ phát triển

Phương pháp công

việc

Page 31: Khu00f3a hu1ecdc public application trong 3 tiu1ebfnguff01 lu1eadp tru00ecnh rails tu1eeb con su1ed1 0

30

http Server

def index

@blogs = Blog.all

end

<% @blogs.each do |blog| %><% end %>

class Blog < ActiveRecord::Baseend

Copyright © 2015-2016 Dive into Code Corp. All Rights Reserved.

Phán định đích tiến hành xử lý từ tổ hợp truyền tin của http và URL. Dòng truyền tin sẽ thành C→(M→DB→M→C)→V→C

/config/routes.rbURL

/blogs

httpGET

blogs#index

/controllers/blogs_controller.rb

/models/blog.rb

PostgreSQLBlogs Table

/views/blogs/index.html.erb

h1 {}

/assets/stylesheets/blogs.css.scss

“O/R Mapper”Blog.all↓Convert từ Ruby sang SQL↓SELECT * FROM blogs;

Ruby on Rails Phát triển hệ thống

Công việc phát triển

Môi trường phát triển

Ngôn ngữ phát triển

Phương pháp công

việc

Page 32: Khu00f3a hu1ecdc public application trong 3 tiu1ebfnguff01 lu1eadp tru00ecnh rails tu1eeb con su1ed1 0

31

http Server

Copyright © 2015-2016 Dive into Code Corp. All Rights Reserved.

Front là HTML, CSS. Back là Ruby, SQL. Rails sẽ tạo flow từ http request tới response.

/config/routes.rbURL

/blogs

httpGET

blogs#index

/controllers/blogs_controller.rb

/models/blog.rb

PostgreSQLBlogs Table

/views/blogs/index.html.erb

/assets/stylesheets/blogs.css.scss

Ruby on Rails Phát triển hệ thống

Công việc phát triển

Môi trường phát triển

Ngôn ngữ phát triển

Phương pháp công

việc

Page 33: Khu00f3a hu1ecdc public application trong 3 tiu1ebfnguff01 lu1eadp tru00ecnh rails tu1eeb con su1ed1 0

32Copyright © 2015-2016 Dive into Code Corp. All Rights Reserved.

Ruby on Rails

Hiển thị màn hình Xử lý nội bộ Quản lý data

HTTP Server

Controller

View

Model

Hệ thống

quản lý databaseD

atabase

Bước đầu tiên để hiểu được Rails là ta phải hiểu được flow từ http request tới response.

RequestGET

ResponeHTML

RouterURL

① ② ③ ④ ⑤

⑥⑦⑧⑨10

Phát triển hệ thống

Công việc phát triển

Môi trường phát triển

Ngôn ngữ phát triển

Phương pháp công

việc

Page 34: Khu00f3a hu1ecdc public application trong 3 tiu1ebfnguff01 lu1eadp tru00ecnh rails tu1eeb con su1ed1 0

33Copyright © 2015-2016 Dive into Code Corp. All Rights Reserved.

Cơ sở của phương pháp làm việc

Sử dụng keyboard rồi thao tác trên Terminal. Terminal là cửa sổ để thao tác với máy tính bằng dòng lệnh

Terminal

Phát triển hệ thống

Công việc phat triển

Môi trường phát triển

Ngôn ngữ phát triển

Phương pháp cong

việc

Page 35: Khu00f3a hu1ecdc public application trong 3 tiu1ebfnguff01 lu1eadp tru00ecnh rails tu1eeb con su1ed1 0

34Copyright © 2015-2016 Dive into Code Corp. All Rights Reserved.

Cơ sở của phương pháp làm việc

Terminal chỉ ra lệnh được cho máy tính 1 lần/ 1 dòng (prompt)

Prompt

Directory đang ở hiện tại (=Folder)

Hãy làm quen với việc thao tác máy tính bằng bàn phím

Phát triển hệ thống

Công việc phat triển

Môi trường phát triển

Ngôn ngữ phát triển

Phương pháp cong

việc

Page 36: Khu00f3a hu1ecdc public application trong 3 tiu1ebfnguff01 lu1eadp tru00ecnh rails tu1eeb con su1ed1 0

35Copyright © 2015-2016 Dive into Code Corp. All Rights Reserved.

Cơ sở của phương pháp làm việc

Input command rồi thực hiện bằng cách nhấn enter. Cho chạy từng dòng một, không ra nhiều lệnh cùng 1 lúc

Di chuyển tới folder achieve bằng command 「cd achieve」

※Thao tác này bằng với việc dùng chuột để mở folder.

Phát triển hệ thống

Công việc phat triển

Môi trường phát triển

Ngôn ngữ phát triển

Phương pháp cong

việc

Page 37: Khu00f3a hu1ecdc public application trong 3 tiu1ebfnguff01 lu1eadp tru00ecnh rails tu1eeb con su1ed1 0

36Copyright © 2015-2016 Dive into Code Corp. All Rights Reserved.

Cơ sở của phương pháp làm việc

Input command rồi thực hiện bằng cách nhấn enter. Cho chạy từng dòng một, không ra nhiều lệnh cùng 1 lúc

Di chuyển tới folder code nằm ở lớp trên của folder achieve bằng command [cd..]

※ Thao tác này bằng với việc dùng chuột để mở folder

Phát triển hệ thống

Công việc phat triển

Môi trường phát triển

Ngôn ngữ phát triển

Phương pháp cong

việc

Page 38: Khu00f3a hu1ecdc public application trong 3 tiu1ebfnguff01 lu1eadp tru00ecnh rails tu1eeb con su1ed1 0

37Copyright © 2015-2016 Dive into Code Corp. All Rights Reserved.

Cơ sở của phương pháp làm việc

Input command rồi thực hiện bằng cách nhấn enter. Cho chạy từng dòng một, không ra nhiều lệnh cùng 1 lúc

Quay lại folder code nguồn

※ Thao tác này bằng với việc dùng chuột để mở folder

Phát triển hệ thống

Công việc phat triển

Môi trường phát triển

Ngôn ngữ phát triển

Phương pháp cong

việc

Page 39: Khu00f3a hu1ecdc public application trong 3 tiu1ebfnguff01 lu1eadp tru00ecnh rails tu1eeb con su1ed1 0

38Copyright © 2015-2016 Dive into Code Corp. All Rights Reserved.

Cơ sở của phương pháp làm việc

2 điểm cần chú ý khi thao tác trên terminal

Chú ý① Thao tác bằng ký tự halfsize

Chú ý② Nắm được mình đang ở folder nào

Phát triển hệ thống

Công việc phat triển

Môi trường phát triển

Ngôn ngữ phát triển

Phương pháp cong

việc

Page 40: Khu00f3a hu1ecdc public application trong 3 tiu1ebfnguff01 lu1eadp tru00ecnh rails tu1eeb con su1ed1 0

39Copyright © 2015-2016 Dive into Code Corp. All Rights Reserved.

Cơ sở của phương pháp làm việc

Xem manual. Copy command. Input vào terminal. Chạy lệnh bằng cách nhấn enter

① Xem mannual ② Tạo command ③ Input vào terminal

Cần edit

Có thể dùng nguyên như vậy

Copy& Paste

Edit rồi hoàn thành command

※ Trong sổ memo, halfsize ["] và ['] sẽ được tự động convert thành fullsize nên bị cấm sử dụng

Phát triển hệ thống

Công việc phat triển

Môi trường phát triển

Ngôn ngữ phát triển

Phương pháp cong

việc

Page 41: Khu00f3a hu1ecdc public application trong 3 tiu1ebfnguff01 lu1eadp tru00ecnh rails tu1eeb con su1ed1 0

40Copyright © 2015 TimeShift Corp. All Rights Reserved.

Bài tập thực hành

Page 42: Khu00f3a hu1ecdc public application trong 3 tiu1ebfnguff01 lu1eadp tru00ecnh rails tu1eeb con su1ed1 0

41

Bài tập thực hành

https://diveintocode.jp/diver/seminar_documents

if you don’t have a credit card, use Codeanywhere.【STEP0】Môi trường

https://docs.google.com/document/d/1anKSp3U7aUhY-Ao8kpGSO0pMgWtp-52Wtc6nIE4-yWY/

Page 43: Khu00f3a hu1ecdc public application trong 3 tiu1ebfnguff01 lu1eadp tru00ecnh rails tu1eeb con su1ed1 0

42

Bài tập thực hành

Copyright © 2015-2016 Dive into Code Corp. All Rights Reserved.

Public Web Application trên internet chỉ với 3 bước!

Cấu trúc môi trường phát triển trên Cloud9

Phát triển trial application

Quản lý version bằng Git

Public trên internet bằng Heroku (Lần đầu)

① ② ③

1

2

3

0

Page 44: Khu00f3a hu1ecdc public application trong 3 tiu1ebfnguff01 lu1eadp tru00ecnh rails tu1eeb con su1ed1 0

43

Bài tập thực hành

[ Lược đồ ] 3 bước

Copyright © 2015-2016 Dive into Code Corp. All Rights Reserved.

① ② ③

0 Cloud9

CV

M DB

Heroku

HTTP Server

CV

M DB

Ghi vào trong Git (File)

CV

M

1

2

3

HTTP

Server

Page 45: Khu00f3a hu1ecdc public application trong 3 tiu1ebfnguff01 lu1eadp tru00ecnh rails tu1eeb con su1ed1 0

44

Bài tập thực hành

Copyright © 2015-2016 Dive into Code Corp. All Rights Reserved.

Cấu trúc môi trường phát triển trên Cloud9

3 ưu điểm khi sử dụng Cloud9

1. Có 1 máy tính miễn phí dùng cho phát triển2. Có thể install ngôn ngữ phát triển và tool ngay lập tức3. Nếu kết nối internet thì có thể làm việc ở bất cứ đâu

① ② ③

0

Page 46: Khu00f3a hu1ecdc public application trong 3 tiu1ebfnguff01 lu1eadp tru00ecnh rails tu1eeb con su1ed1 0

45

Cấu trúc môi trường phát triển trên Cloud9

Bài tập thực hành

Copyright © 2015-2016 Dive into Code Corp. All Rights Reserved.

① ② ③

0

Cloud9 1 Workspace

Install:Ruby, PostgreSQL, Git, Heroku Toolbelt …

Tạo mới workspace

Đăng ký account

Install:Ruby on Rails 5

Khởi động PostgreSQL

Page 47: Khu00f3a hu1ecdc public application trong 3 tiu1ebfnguff01 lu1eadp tru00ecnh rails tu1eeb con su1ed1 0

46

Bài tập thực hành

Copyright © 2015-2016 Dive into Code Corp. All Rights Reserved.

Phát triển trial application trên Cloud9

Sử dụng “Ma thuật của Rails” = phát triển trong nháy mắt

・Có thể tạo “Structure”, “Flow electric signal” cho application trong nháy mắt bằng cách dùng lênh [rails new name]

・Có thể tạo bộ màn hình mà có thể access qua URL chỉ định trong nháy mắt bằng cách dùng lệnh「rails g scaffold Screen name」

① ② ③

1

Page 48: Khu00f3a hu1ecdc public application trong 3 tiu1ebfnguff01 lu1eadp tru00ecnh rails tu1eeb con su1ed1 0

47

Bài tập thực hành

Copyright © 2015-2016 Dive into Code Corp. All Rights Reserved.

Phát triển trial application trên Cloud9

① ② ③

1

Cloud9

HTTP

S

erver

C

V

M DB

rails new achieve -d postgresql

rails g scaffold Blog title:string content:text

rake db:create db:migrate

rails s -b $IP -p $PORT

cd achieve

Page 49: Khu00f3a hu1ecdc public application trong 3 tiu1ebfnguff01 lu1eadp tru00ecnh rails tu1eeb con su1ed1 0

48

Bài tập thực hành

Copyright © 2015-2016 Dive into Code Corp. All Rights Reserved.

Quản lý version bằng Git trên Cloud9

2 ưu điểm khi sử dụng Git

1. Có thể giúp ta nhớ được toàn bộ folder, file và toàn bộ nội dung

2. Có thể gửi nội dung đã nhớ đến Heroku chỉ trong 1 câu command

① ② ③

2

Page 50: Khu00f3a hu1ecdc public application trong 3 tiu1ebfnguff01 lu1eadp tru00ecnh rails tu1eeb con su1ed1 0

49

Cloud9

Bài tập thực hành

Quản lý version bằng Git trên Cloud9

Copyright © 2015-2016 Dive into Code Corp. All Rights Reserved.

① ② ③

2

HTTP Server

CV

M DB

Ghi vào trong Git (File)Folder, file

CV

M

git add .

git commit –m “メッセージ”

git init

git config –global 〜

git loggit status

Page 51: Khu00f3a hu1ecdc public application trong 3 tiu1ebfnguff01 lu1eadp tru00ecnh rails tu1eeb con su1ed1 0

50

Bài tập thực hành

Copyright © 2015-2016 Dive into Code Corp. All Rights Reserved.

Public trên internet bằng Heroku trên Cloud9 (Lần đầu)

3 ưu điểmcủa việc sử dụng Heroku

1. Có thể public application trên internet2. Có thể public application miễn phí bất cứ lúc nào3. Không cần phải cài đặt bất cứ thứ gì

① ② ③

3

Page 52: Khu00f3a hu1ecdc public application trong 3 tiu1ebfnguff01 lu1eadp tru00ecnh rails tu1eeb con su1ed1 0

51

Cloud9

Git

Heroku Đăng ký New user

Bài tập thực hành

Public trên mạng bằng Heroku trên Cloud9 (Lần đầu)

Copyright © 2015-2016 Dive into Code Corp. All Rights Reserved.

① ② ③

3

heroku login

HTTP Server

CV

M DB

CV

M

1APP

Gitgit push heroku master

HTTP Server

CV

M DB

CV

M

heroku create

heroku run rake db:migrate RAILS_ENV=production

Page 53: Khu00f3a hu1ecdc public application trong 3 tiu1ebfnguff01 lu1eadp tru00ecnh rails tu1eeb con su1ed1 0

52Copyright © 2015-2016 Dive into Code Corp. All Rights Reserved.

Bài tập thực hành

Tiếp đất!!(Hoàn thành)

① ② ③

Page 54: Khu00f3a hu1ecdc public application trong 3 tiu1ebfnguff01 lu1eadp tru00ecnh rails tu1eeb con su1ed1 0

53

Mục tiêu của hôm nay

Bạn đã có thể đạt được 3 điều sau chưa?

1. Có thể nắm được cốt lõi của việc học từ con số 0

2. Có thể nắm được nền tảng của phát triển Web application

3. Nâng cao được động lực phấn đấu

Copyright © 2015-2016 Dive into Code Corp. All Rights Reserved.

Page 55: Khu00f3a hu1ecdc public application trong 3 tiu1ebfnguff01 lu1eadp tru00ecnh rails tu1eeb con su1ed1 0

54Copyright © 2015 TimeShift Corp. All Rights Reserved.

Bí quyết để nâng cao skill

Page 56: Khu00f3a hu1ecdc public application trong 3 tiu1ebfnguff01 lu1eadp tru00ecnh rails tu1eeb con su1ed1 0

55

1. “Quen hơn là học”Nếu tay không hoạt động thì chắc chắn không thể hiểu

2. “Set thời gian giới hạn”Nếu thấy vướng mắc trên 30 phút thì nên hỏi, không nên giấu

3. “Bắt đầu từ Thủ trong Thủ- Phá- Ly”Làm y nguyên như trong sách và tài liệu tham khảo

Bí quyết để nâng cao skill

3 nguyên tắc khi học lập trình

Copyright © 2015-2016 Dive into Code Corp. All Rights Reserved.

Page 57: Khu00f3a hu1ecdc public application trong 3 tiu1ebfnguff01 lu1eadp tru00ecnh rails tu1eeb con su1ed1 0

56Copyright © 2015-2016 Dive into Code Corp. All Rights Reserved.

3 phương pháp

Tự học

3 phương pháp để trở thành engineer

Học ở trường

Chuyển việc

Page 58: Khu00f3a hu1ecdc public application trong 3 tiu1ebfnguff01 lu1eadp tru00ecnh rails tu1eeb con su1ed1 0

57Copyright © 2015-2016 Dive into Code Corp. All Rights Reserved.

Tự học

Cô đơn. Có mơ màng không hiểu thì cũng không ai bảo. Thời gian thì cứ thế trôi đi.

Page 59: Khu00f3a hu1ecdc public application trong 3 tiu1ebfnguff01 lu1eadp tru00ecnh rails tu1eeb con su1ed1 0

58Copyright © 2015-2016 Dive into Code Corp. All Rights Reserved.

Tuy nhiên, ta có thể tích kiệm được tiền. Việc tiền quan trọng hơn hay thời gian quan trọng hơn thì tùy thuộc vào quan điểm của bạn…

Tự học

Page 60: Khu00f3a hu1ecdc public application trong 3 tiu1ebfnguff01 lu1eadp tru00ecnh rails tu1eeb con su1ed1 0

59Copyright © 2015-2016 Dive into Code Corp. All Rights Reserved.

Học tại trường

Tốn tiền. Khoảng 100.000~300.000 Yên. Nếu “chỉ” để học thôi thì khá đắt đỏ.

Page 61: Khu00f3a hu1ecdc public application trong 3 tiu1ebfnguff01 lu1eadp tru00ecnh rails tu1eeb con su1ed1 0

60Copyright © 2015-2016 Dive into Code Corp. All Rights Reserved.

Học tại trường

Tuy nhiên, vì có người để hỏi nên sẽ tiến bộ nhanh. Nếu người để hỏi đó mà có chuyên môn thì tốt. Chỉ mong là không phải toàn người nghiệp dư…

Page 62: Khu00f3a hu1ecdc public application trong 3 tiu1ebfnguff01 lu1eadp tru00ecnh rails tu1eeb con su1ed1 0

61Copyright © 2015-2016 Dive into Code Corp. All Rights Reserved.

Chuyển việcỨng tuyển, làm bài test, phỏng vấn…Không chắc là trúng tuyển. “Thế cậu đã có kinh nghiệm làm việc chưa?”

Page 63: Khu00f3a hu1ecdc public application trong 3 tiu1ebfnguff01 lu1eadp tru00ecnh rails tu1eeb con su1ed1 0

62Copyright © 2015-2016 Dive into Code Corp. All Rights Reserved.

Nhu cầu tuyển dụng kỹ sư biết Rails

Đã xác nhận: Có trên 1000

công ty có nhu cầu

Page 64: Khu00f3a hu1ecdc public application trong 3 tiu1ebfnguff01 lu1eadp tru00ecnh rails tu1eeb con su1ed1 0

63Copyright © 2015-2016 Dive into Code Corp. All Rights Reserved.

Ví dụ về thông tin tuyển dụng

Page 65: Khu00f3a hu1ecdc public application trong 3 tiu1ebfnguff01 lu1eadp tru00ecnh rails tu1eeb con su1ed1 0

64Copyright © 2015-2016 Dive into Code Corp. All Rights Reserved.

転職 「Thế,

cậu đã có kinh nghiệm làm việc

chưa?」

Page 66: Khu00f3a hu1ecdc public application trong 3 tiu1ebfnguff01 lu1eadp tru00ecnh rails tu1eeb con su1ed1 0

65Copyright © 2015-2016 Dive into Code Corp. All Rights Reserved.

Chuyển việcNếu may mắn có khả năng được tuyển đi chẳng nữa…

Cái này, chẳng phải cậu lấy trên google hay

sao!?

Page 67: Khu00f3a hu1ecdc public application trong 3 tiu1ebfnguff01 lu1eadp tru00ecnh rails tu1eeb con su1ed1 0

66Copyright © 2015-2016 Dive into Code Corp. All Rights Reserved.

3 phương pháp

Hỏi được Tiền Kinh nghiệm làm việc

Tự học × ○ ×

Học tại trường ○ × ×

Chuyển việc △ ○ ○

Page 68: Khu00f3a hu1ecdc public application trong 3 tiu1ebfnguff01 lu1eadp tru00ecnh rails tu1eeb con su1ed1 0

67Copyright © 2015-2016 Dive into Code Corp. All Rights Reserved.Copyright © 2015 TimeShift Corp. All Rights Reserved.

Chỉ có 1 chiếc chìa khóa

duy nhất

Page 69: Khu00f3a hu1ecdc public application trong 3 tiu1ebfnguff01 lu1eadp tru00ecnh rails tu1eeb con su1ed1 0

68Copyright © 2015-2016 Dive into Code Corp. All Rights Reserved.

Chỉ có 1 chiếc chìa khóa duy nhất

Tự học

Học tại trường

Chuyển việc

Kinh nghiệm làm việc

Page 70: Khu00f3a hu1ecdc public application trong 3 tiu1ebfnguff01 lu1eadp tru00ecnh rails tu1eeb con su1ed1 0

69Copyright © 2015-2016 Dive into Code Corp. All Rights Reserved.

Chỉ có 1 chiếc chìa khóa duy nhất

DIVE INTO CODE đã tạo ra…

Hỏi được Tiền Kinh nghiệm làm việc

Lý tưởng ○ ○ ○

con đường để có được mọi thứ

Page 71: Khu00f3a hu1ecdc public application trong 3 tiu1ebfnguff01 lu1eadp tru00ecnh rails tu1eeb con su1ed1 0

70Copyright © 2015-2016 Dive into Code Corp. All Rights Reserved.

Chỉ có 1 chiếc chìa khóa duy nhất

Học tại môi trường cho phép hỏi thỏa thích và có được kinh nghiệm và có khả năng kiếm tiền như 1 kỹ sư thực thụ!『Rất hoan nghênh các bạn làm trái nghề』

http://diveintocode.jp/

Page 72: Khu00f3a hu1ecdc public application trong 3 tiu1ebfnguff01 lu1eadp tru00ecnh rails tu1eeb con su1ed1 0

71

Bạn muốn trở thành kỹ sư_Hãy đến với DIVE INTO CODE

受講体験記のご紹介

Hãy cùng chúng tôi nâng cao khả năng kiếm tiền!

Chúng tôi đang rất mong chờ sự tham gia của các bạn !

Page 73: Khu00f3a hu1ecdc public application trong 3 tiu1ebfnguff01 lu1eadp tru00ecnh rails tu1eeb con su1ed1 0

72Copyright © 2015 TimeShift Corp. All Rights Reserved.

Chứng chỉ kỹ sư↓

Con đường ngắn nhất dẫn tới thành công

Page 74: Khu00f3a hu1ecdc public application trong 3 tiu1ebfnguff01 lu1eadp tru00ecnh rails tu1eeb con su1ed1 0

73

Chứng chỉ kĩ sư Rails3_Chứng chỉ Đồng

Đỗ chứng chỉ này bạn có thể nhận được offer tuyển dụng vị trí kỹ sư với mức lương từ 300.000~400.000 yên kể cả không có kinh nghiệm

Copyright © 2015-2016 Dive into Code Corp. All Rights Reserved.

Sẽ được đánh giá tốt trong các buổi phỏng vấn ở các công ty vừa và nhỏ chẳng hạn như:・Start up phát triển dịch vụ nội bộ trong công ty

・Công ty phát triển uy thác liên quan tới Ruby

・Công ty phát triển dịch vụ Web đang tập trung vào các lĩnh vực mới.

Như một kỹ sư thực thụ…!

Page 75: Khu00f3a hu1ecdc public application trong 3 tiu1ebfnguff01 lu1eadp tru00ecnh rails tu1eeb con su1ed1 0

74

Chứng chỉ kĩ sư Rails3_Chứng chỉ Đồng

Dự thi

Cấu trúc môi trường

Phát triển trial app

RailsTutorial

Tài liệu chuẩn

Bài test mẫu

Trước khi dự thi, cần phải trả lời được toàn bộ câu hỏi trong bộ đề thi mẫu trước. Để làm được thế, cách tốt nhất là học hiểu bằng cách làm trên thực tế và học theo các tài liệu chuẩn

Copyright © 2015-2016 Dive into Code Corp. All Rights Reserved.

Page 76: Khu00f3a hu1ecdc public application trong 3 tiu1ebfnguff01 lu1eadp tru00ecnh rails tu1eeb con su1ed1 0

75

Chứng chỉ kĩ sư Rails3_Chứng chỉ Đồng

Bạn có thể cấu trúc môi trường, phát triển trial app luôn. Không cần cố cấu trúc môi trường phát triển local

Copyright © 2015-2016 Dive into Code Corp. All Rights Reserved.

Page 77: Khu00f3a hu1ecdc public application trong 3 tiu1ebfnguff01 lu1eadp tru00ecnh rails tu1eeb con su1ed1 0

76

Chứng chỉ kĩ sư Rails3_Chứng chỉ Đồng

Rails tutorial: tuần đầu tiên copy tất cả các phần (trừ phần test). Tuần thứ 2 hiểu tất cả các phần (trừ phần test). Tuần thứ 3: làm test

Nguồn:http://railstutorial.jp/Copyright © 2015-2016 Dive into Code Corp. All Rights Reserved.

Page 78: Khu00f3a hu1ecdc public application trong 3 tiu1ebfnguff01 lu1eadp tru00ecnh rails tu1eeb con su1ed1 0

77

Chứng chỉ kĩ sư Rails3_Chứng chỉ Đồng

Tài liệu chuẩn: có thể lấy từ các khóa học ở các trường đã được chứng nhận. So với các tài liệu ngoài thị trường, thì những tài liệu này đã được sắp xếp theo thứ tự và có kèm giải thích.

Tài liệu chứng nhận_ Bài kiểm tra chứng chỉ đồng _Chứng nhận kỹ sư Rails 3

Tổng số trang:350 trang

Môi trường install giả định:Linux / Windows

Ruby version:1.9.2

Rails version:3.0.x

DBMS:SQLite3

Copyright © 2015-2016 Dive into Code Corp. All Rights Reserved.

Nguồn:http://www.railscp.com/text/

Page 79: Khu00f3a hu1ecdc public application trong 3 tiu1ebfnguff01 lu1eadp tru00ecnh rails tu1eeb con su1ed1 0

78

Chứng chỉ kĩ sư Rails3_Chứng chỉ Đồng

Đề thi mẫu được đăng tại @IT và shikakuZine. Cần cố gắng để có thể trả lời hết các câu hỏi .

Nguồn:http://jibun.atmarkit.co.jp/scenter/ittrain/123_today_q.html

Nguồn:http://shikakuzine.jp/article/corner/9

Copyright © 2015-2016 Dive into Code Corp. All Rights Reserved.

Page 80: Khu00f3a hu1ecdc public application trong 3 tiu1ebfnguff01 lu1eadp tru00ecnh rails tu1eeb con su1ed1 0

79

Chứng chỉ kĩ sư Rails3_ Chứng chỉ Đồng

Tham gia dự thi tại Odyssey Communications CBT Test Center (Trung tâm kiểm tra và cấp chứng chỉ )gần nhất

Nguồn:http://www.railscp.com/bronze/Copyright © 2015-2016 Dive into Code Corp. All Rights Reserved.

Page 81: Khu00f3a hu1ecdc public application trong 3 tiu1ebfnguff01 lu1eadp tru00ecnh rails tu1eeb con su1ed1 0

80

Rails source code

Chứng chỉ kĩ sư Rails4_Chứng chỉ Bạc

Dự thi

Sách đối sách Silver

Cú pháp Ruby cơ bản

Rails guide

Kinh nghiệm team phát triển

Trước khi dự thi : cần tự tạo đề bài mẫu từ kinh nghiệm làm team phát triển và từ Rails guide đồng thời cũng cần hiểu cú pháp của Ruby

Copyright © 2015-2016 Dive into Code Corp. All Rights Reserved.

Page 82: Khu00f3a hu1ecdc public application trong 3 tiu1ebfnguff01 lu1eadp tru00ecnh rails tu1eeb con su1ed1 0

81

Chứng chỉ kĩ sư Rails4_Chứng chỉ Bạc

Sách Luyện thi chứng chỉ Bạc: phải làm được hết các câu là điều đương nhiên rồi. Lặp đi lặp lại cho đến khi có thể giải được hết tất cả các câu hỏi

Nguồn:http://www.railscp.com/text/Copyright © 2015-2016 Dive into Code Corp. All Rights Reserved.

Page 83: Khu00f3a hu1ecdc public application trong 3 tiu1ebfnguff01 lu1eadp tru00ecnh rails tu1eeb con su1ed1 0

82

Chứng chỉ kĩ sư Rails4_Chứng chỉ Bạc

Cú pháp Ruby cơ bản: bạn có thể học miễn phí tại [ Ruby minituku ]. Hiểu được cú pháp Ruby là điều bắt buộc.

Hãy cùng nhau hoàn thành cả 2 khóa [Khóa học Ruby nhập môn], [Khóa thực hành Ruby]

Nguồn:http://www.minituku.net/?locale=jaCopyright © 2015-2016 Dive into Code Corp. All Rights Reserved.

Page 84: Khu00f3a hu1ecdc public application trong 3 tiu1ebfnguff01 lu1eadp tru00ecnh rails tu1eeb con su1ed1 0

83

Chứng chỉ kĩ sư Rails4_Chứng chỉ Bạc

Rails guide: mua bản điện tử rồi in 1000 page. Sau đó nhớ toàn bộ method và cơ chế mà bạn chưa biết

Copyright © 2015-2016 Dive into Code Corp. All Rights Reserved.

Nguồn:http://railsguides.jp/

Page 85: Khu00f3a hu1ecdc public application trong 3 tiu1ebfnguff01 lu1eadp tru00ecnh rails tu1eeb con su1ed1 0

84

Chứng chỉ kĩ sư Rails4_Chứng chỉ Bạc

Phải làm sao để lúc nào cũng có thể check được source code Rails trên Github. Phần nào không hiểu thì nhất định phải xem source.

Copyright © 2015-2016 Dive into Code Corp. All Rights Reserved.

Nguồn:https://github.com/rails/rails

Page 86: Khu00f3a hu1ecdc public application trong 3 tiu1ebfnguff01 lu1eadp tru00ecnh rails tu1eeb con su1ed1 0

85

Chứng chỉ kĩ sư Rails4_Chứng chỉ Bạc

Đến với DIVE INTO CODE, bạn có thể học hỏi kinh nghiệm làm việc và có khả năng kiếm tiền như 1 kỹ sư thực thụ!『Rất hoan nghênh các bạn làm trái nghề』

Copyright © 2015-2016 Dive into Code Corp. All Rights Reserved.

Nguồn:http://diveintocode.jp/

Page 87: Khu00f3a hu1ecdc public application trong 3 tiu1ebfnguff01 lu1eadp tru00ecnh rails tu1eeb con su1ed1 0

86Copyright © 2015 TimeShift Corp. All Rights Reserved.

Appendix(Phụ lục)

Page 88: Khu00f3a hu1ecdc public application trong 3 tiu1ebfnguff01 lu1eadp tru00ecnh rails tu1eeb con su1ed1 0

87

Appendix

Copyright © 2015-2016 Dive into Code Corp. All Rights Reserved.

[Suggestion] Site tự học

donotinstall(Có cả license cho công ty)

School(Khóa học lập trình)

https://www.ruby-lang.org/ja/http://dotinstall.com

Page 89: Khu00f3a hu1ecdc public application trong 3 tiu1ebfnguff01 lu1eadp tru00ecnh rails tu1eeb con su1ed1 0

88

Appendix

Copyright © 2015-2016 Dive into Code Corp. All Rights Reserved.

[Suggestion]Website dùng để confirm specRuby / Ruby on Rails

Rails guide(Dùng cho 4.2) RubyA PROGRAMMERS BEST FRIEND

https://www.ruby-lang.org/ja/http://railsguides.jp/

Page 90: Khu00f3a hu1ecdc public application trong 3 tiu1ebfnguff01 lu1eadp tru00ecnh rails tu1eeb con su1ed1 0

89

Appendix

Copyright © 2015-2016 Dive into Code Corp. All Rights Reserved.

[Suggestion]Website dùng để confirm specGit, UNIX command

Nhập môn Git_Đến khỉ cũng biết Linux command

http://www.backlog.jp/git-guide/ http://www.linuxmaster.jp/linux_skill/01linuxcommand/

Page 91: Khu00f3a hu1ecdc public application trong 3 tiu1ebfnguff01 lu1eadp tru00ecnh rails tu1eeb con su1ed1 0

90

Appendix

Copyright © 2015-2016 Dive into Code Corp. All Rights Reserved.

[Suggestion]Website dùng để điều traTất cả ngôn ngữ, hệ thống chung

StackOverFlowBản tiếng anh(Có cả bản tiếng nhật)

QiitaDịch vụ chia sẻ thông tin kĩ thuật của lập

trình viên

http://qiita.com/http://stackoverflow.com/

Page 92: Khu00f3a hu1ecdc public application trong 3 tiu1ebfnguff01 lu1eadp tru00ecnh rails tu1eeb con su1ed1 0

91

Appendix

Copyright © 2015-2016 Dive into Code Corp. All Rights Reserved.

[Suggestion] Sách tham khảoRuby / Ruby on Rails

Basic Ruby on Rails (Bản sửa đổi lần 3)

Interesting Ruby (Bản sửa đổi lần 4)

http://www.amazon.co.jp/dp/4797372273http://www.amazon.co.jp/dp/4844338153

Page 93: Khu00f3a hu1ecdc public application trong 3 tiu1ebfnguff01 lu1eadp tru00ecnh rails tu1eeb con su1ed1 0

92

Appendix

Copyright © 2015-2016 Dive into Code Corp. All Rights Reserved.

[Suggestion]Template dùng cho kế hoạchService plan

LEAN CANVAS User ExperienceDesign system

http://www.slideshare.net/studytech/ss-23454300

• Mô tả các giả thuyết về các vấn đề của khách hànghttp://leanstartupjapan.org/?p=283

• Thoát khỏi interview giả thuyết về các vấn đềhttp://leanstartupjapan.org/?p=597

• Interview nhập môn dùng cho UX, Design, lean startup http://www.webd-labo.com/?p=1854

• Lean ư? Cụ thế thì phải làm thế nào?http://www.loftwork.jp/column/2013/20131226_lean_startup.aspx

Page 94: Khu00f3a hu1ecdc public application trong 3 tiu1ebfnguff01 lu1eadp tru00ecnh rails tu1eeb con su1ed1 0

93

Appendix

Copyright © 2015-2016 Dive into Code Corp. All Rights Reserved.

[Suggestion] Sách tham khảoService plan

Running LeanLean startup thực tiễn

Lean UXUX design theo quan điểm Lean

http://www.amazon.co.jp/dp/4873116619http://www.amazon.co.jp/dp/4873115914

Page 95: Khu00f3a hu1ecdc public application trong 3 tiu1ebfnguff01 lu1eadp tru00ecnh rails tu1eeb con su1ed1 0

94

Bạn muốn trở thành kỹ sư_Hãy đến với DIVE INTO CODE

受講体験記のご紹介

Hãy cùng chúng tôi nâng cao khả năng kiếm tiền!

Chúng tôi đang rất mong chờ sự tham gia của các bạn !