2020-12-22(Tue)
ํ์ต ๋ ์ง // 2020-12-22(ํ)
ํ์ต์๊ฐ // 9:00~22:00
ํ์ต ๋ฒ์ ๋ฐ ์ฃผ์ // ํ ๋์ ์ฝ๋ ๋ฃจ๋น ์จ ๋ ์ผ์ฆ
๋๋ฃ ํ์ต ๋ฐฉ๋ฒ // -
ํ์ต ๋ชฉํ // ํ ๋์ ์ฝ๋ ๋ฃจ๋น ์จ ๋ ์ผ์ฆ๋ฅผ ํ๋๋ค.
์์ธ ํ์ต ๋ด์ฉ
๊ตฌ๋ฆ IDE์์ ์ ๊ณตํ๋ ํ ๋์ ์ฝ๋ ๋ฃจ๋น ์จ ๋ ์ผ์ฆ ํํ ๋ฆฌ์ผ์ ํ์ตํ์๋ค.
ํ๋์ ์ฝ๋ ๋ฃจ๋น ์จ ๋ ์ผ์ฆ
01. ์์ํ๊ธฐ์ ์์
MVC ํจํด์ ๋ํ ์ค๋ช ์ด ์์๋๋ฐ ํผ๋์ด ์๊ฒผ๋ค. MVC ํจํด์ ๋ํด ์ค๋ช ์ด ์์ผ๋ฉด ๋ชจ๋ธ๊ณผ ๋ทฐ์ ์์กด์ฑ์ด ์์ ์๋ค๋ ์์ผ๋ก ๊ธฐ์ ๋์ด์๋๋ฐ ๊ถ๊ธํด์ ๋ ์์ธํ ์์๋ณด๋ ๊ผญ ๊ทธ๋ ์ง๋ ์๋ค๋ ๋ธ๋ก๊ทธ ๊ธ๋ ์์๋ค. ํ .. ์ถํ ์์ธํ ํ๋ด์ผ๊ฒ ๋ค.
02. ๊ฐ๋ฐ ํ๊ฒฝ ์ค์ & Rails ๊ธฐ์ด
*.erb
ํ์ผ์ ์ผ๋ฐ html์ ruby ๋ฌธ๋ฒ์ ์ฌ์ฉํ ์ ์๋๋ก ๋ฃจ๋น๋ฅผ ์๋ฒ ๋ํ๋ค.def
์end
์ฌ์ด์ ์๋ ๋ด์ฉ์ action์ด๋ผ๊ณ ๋ถ๋ฅด๋ฉฐ ์ด๋ฆ์ด ๋์ผํ view์ ์๋ ๋งค์นญํ๋ค. Rails์์ action์ ์๋น์ค์์ ๋์ํ ์ ์๋ ํ๋์ผ๋ก, ํ๋์ ์ฌ์ฉ์๊ฐ ๋ณผ ์ ์๋ ํ์ด์ง ๋๋ ๋์ํ๋ ํ๋์ ๋ก์ง์ด ๋ ์ ์๋ค.
03. CRUD ๊ธฐ๋ฅ ๊ตฌํ
์ ๋ช ๋ น์ด๋ก Model class๋ฅผ ์์ฑํ๋ค. ์ด ๋ ์์ฑ๋๋ ํ์ผ์ ์๋์ ๊ฐ์ ์ญํ ์ ๊ฐ์ง๋ค.
db/migrate/xxxx_create_posts.rb
: ๋ฐ์ดํฐ๋ฒ ์ด์ค ํ ์ด๋ธ ํ๋ ๋ฑ์ ์ ๋ณด๋ฅผ ์ ์ํ๋ ๋ง์ด๊ทธ๋ ์ด์ ํ์ผapp/model/post.rb
: 1๋ฒ ๋ง์ด๊ทธ๋ ์ด์ ์ ํตํด ์์ฑ๋ posts ํ ์ด๋ธ๊ณผ ์ฐ๊ฒฐํ์ฌ ์ฌ์ฉ
์ด ๋ ํ์ผ๋ช ์ ๋ ์ผ์ฆ์ 'CoC(Convention over Configuration)' ์ฒ ํ์ ์ํด ๋ ์ผ์ฆ์์ ์ค์ ํด๋ ๊ท์น์ ๋ฐ๋ฅธ๋ค.
๋ชจ๋ธ ํด๋์ค์ ๊ท์น: ๋จ์ํ์ ์นด๋ฉ ์ผ์ด์ค
ex)
Post
,PostComment
๋ชจ๋ธ ํด๋์ค์ ํ์ผ ์ด๋ฆ: ๋จ์ํ์ ์ค๋ค์ดํฌ ์ผ์ด์ค
ex)
post.rb
,post_comment.rb
ํ ์ด๋ธ: ๋ณต์ํ์ ์ค๋ค์ดํฌ ์ผ์ด์ค
ex)
posts
,post_comments
04. scaffold ์ฌ์ฉํ๊ธฐ
๋ ์ผ์ค์์๋ CRUD๋ฅผ ๊ตฌํํ ๋ MVC๋ฅผ ๋ช ๋ น์ด๋ก ์ฝ๊ฒ ๊ตฌํํ๋ ๋ฐฉ์์ด ์๋ค. ์ด ๋ฐฉ์์ด Scaffolding(์ค์บํด๋ฉ)์ด๋ค.
์ค์บํด๋ฉ์ ๋ผ๋, ๊ธฐ๋ฐ์ด๋ผ๋ ๋ป์ ๊ฐ์ง๊ณ ์์ผ๋ฉฐ, ๋ ์ผ์ค์์๋ ์ด ๋ป๊ณผ ๊ฑธ๋ง๊ฒ CRUD์ ๋๋ถ์ด CRUD์ ์ฐ๊ด๋ ๊ธฐ๋ณธ ๊ธฐ๋ฅ๋ค์ ๊ฐ์ถ ํ๋ก์ ํธ์ ๋ผ๋๋ฅผ ๋ง๋ค์ด์ค๋ค.
routes.rb
์ ์ฐ์ธresources
๋ฉ์๋๋RESTful
ํ ๋ผ์ฐํธ(์ฃผ์์ ์ปจํธ๋กค๋ฌ ์ฐ๊ฒฐ)๋ฅผ ์์ฑํ๋ค.๋ฆฌ์์ค
๋ฆฌ์์ค(์ฃผ์)๋ฅผ ํํํ ๋ ๋ช ๊ฐ์ง ์ ์ฝ ์กฐ๊ฑด์ด ์กด์ฌํ๋ค.
๋ฆฌ์์ค๋ ๋์ฌ๋ฅผ ์ฌ์ฉํ์ง ์๊ณ ๋ช ์ฌ๋ก ์์ฑํ๋ค. ๋ฆฌ์์ค๋ ํ์๋ฅผ ํํํ์ง ์๊ณ ํ์์ ์ฃผ์ฒด, ์ฆ ์์๋ง ํํํ๋ค. ๋๋ฌธ์ ํ์(๋์ฌ) ๋ถ๋ถ์ HTTP ๋ฉ์๋๋ก ๋์ ํ๋ค.
๋ฆฌ์์ค๋ ์ฝ๋ ์ ๊ณผ ๋ํ๋จผํธ(๋ฉค๋ฒ)๋ก ์ด๋ฃจ์ด์ง๋ค. ๋ํ๋จผํธ๋ ๋ฌธ์ ๋๋ ํ ๊ฐ์ฒด๋ก, ์ฝ๋ ์ ์ ๋ํ๋จผํธ์ ์งํฉ ๋๋ ๊ฐ์ฒด๋ค์ ์งํฉ์ด๋ผ๊ณ ์๊ฐํ๋ฉด ๋๋ค. ๋๋ฌธ์ ์ฝ๋ ์ ์ ํํํ ๋ ๋ณต์ํ์ผ๋ก, ๋ํ๋จผํธ๋ฅผ ํํํ ๋ ๋จ์ํ ๋๋ ์ฝ๋ ์ ๋ค์ id ๊ฐ์ ์ ๋ ฅํ์ฌ ํํํ๋ค.
๋ ์ผ์ค๋ ์์น์ ์ผ๋ก RESTfulํ ๋ผ์ฐํธ๋ฅผ ์ ์ ๋ก ์ค๊ณ๋์ด ์๋ค.
ํ์ต ๋ด์ฉ์ ๋ํ ๊ฐ์ธ์ ์ธ ์ดํ
๊ตฌ๋ฆ IDE์ ์๋ Ruby ๊ธฐ์ด ๊ฐ์๋ ๊ฐ์ธ์ ์ผ๋ก ๋ณ๋ก ๋ง์กฑ์ค๋ฝ์ง ์์๋๋ฐ Rails ๊ฐ์๋ ์๋นํ ๋ง์กฑ์ค๋ฌ์ ์ต๋๋ค. ์ด์ ํ์ต์ ์ด์ด๋๊ฐ์ ๋ค๋ฅธ ๋๋ฃ๋ค์ ํ์ต๋์ ๋ฐ๋ผ๊ฐ์ผ๊ฒ ์ต๋๋ค.
๋ค์ ํ์ต ๊ณํ
๋ฃจ๋น์จ๋ ์ผ์ฆ ํ์ต
Last updated