2020-12-21(Mon)
νμ΅ λ μ§ // 2020-12-21(μ)
νμ΅μκ° // 9:00~22:00
νμ΅ λ²μ λ° μ£Όμ // Getting started with Rails
λλ£ νμ΅ λ°©λ² // -
νμ΅ λͺ©ν // Getting started with Rails λ€ νκΈ°
μμΈ νμ΅ λ΄μ©
루λΉμ¨λ μΌμ€ νν 리μΌμΈ Getting started with Railsλ₯Ό λΉ λ₯΄κ² νμμ΅λλ€.
μλμ²λΌ κ³Όμ μ μ 리νλ€κ° νμ΅ ν¨μ¨μ΄ λ¨μ΄μ§λ κ±Έ λκ»΄μ μ 리νλκ±Έ λ΄λ €λμμ΅λλ€.
Rails guides
루λΉμ¨λ μΌμ€ νν 리μΌμΈ Getting started with Railsλ₯Ό λΉ λ₯΄κ² νλλ€.
λ μΌμ€λ?
λ£¨λΉ μΈμ΄λ‘ μμ±λ μΉμ ν리μΌμ΄μ κ°λ° νλ μμν¬μ΄λ€.
'The Rails Way'λ₯Ό νμ΅νλ©΄ μμ°μ±μ΄ ν¬κ² ν₯μλ κ²μ΄λ€! 'The Rails Way'λ λ€μ λ κ°μ κ°μ΄λ μμΉμ ν¬ν¨νλ€.
Don't Repeat Yourself(DRY)
λͺ¨λ μ§μμ νλμ μμ€ν μμμ μ μΌν΄μΌ νκ³ , λͺ¨νΈμ±μ΄ μμ΄μΌνλ©°, κΆμλ₯Ό κ°μ ΈμΌ νλ€.
Convention Over Configuration
λ μΌμ¦λ μΉμ΄ν리μΌμ΄μ κ°λ°μ μ΅μ μ λ°©λ²μ μ€μ λ΄μ©μΌλ‘ λͺ μνμ§ μλλ€, λμ λν΄νΈ 컨벀μ μΌλ‘ μ μνλ€.
λ μΌμ€ νλ‘μ νΈ μμ±νκΈ°
μ°μ ruby λ₯Ό μ΅μ 2.5.0 μ΄μ λ²μ μΌλ‘ μ€μΉνμ.
mac os μΉ΄ν리λμ κ²½μ° ruby 2.6.0 λ²μ μ΄ κΈ°λ³ΈμΌλ‘ μ€μΉλμ΄μλ€. νμ§λ§ μ°λ¦¬ νμ ruby 2.7.1 λ²μ μΌλ‘ μ§ννκΈ°λ‘ νμμΌλ―λ‘ λ³λλ‘ μ λ°μ΄νΈνλ μμ μ κ±°μ³€λ€.
μ΄ λ κ·Έλ₯ brew
λ‘ μ
λ°μ΄νΈνλ©΄ νκ²½λ³μκ° κΌ¬μ΄λ λ± λμ°Έμ¬κ° λ μ μλ€κ³ νλ€.
λ£¨λΉ λ²μ κ΄λ¦¬ RVM κΈ°λ³Έ μ¬μ©λ²μ μ°Έκ³ νμ¬ RVM(ruby version Manager)
μ ν΅ν΄ μ
λ°μ΄νΈνμ!
μ΄ν리μΌμ΄μ μμ±ν λ€μ λ μΌμ€ μ ν리μΌμ΄μ ꡬ쑰μ λ°λΌ λ€μμ νμΌκ³Ό ν΄λκ° μλ μμ±λλ€. κ°λ¨νκ² μ 리νλ©΄ μλμ κ°λ€.
νμΌ/ν΄λ
μ©λ
app/
μ ν리μΌμ΄μ μ 컨νΈλ‘€λ¬, λͺ¨λΈ, λ·°, ν¬νΌ, λ©μΌλ¬, μ±λ, μμ λ° μ μ μ ν¬ν¨νλ€.
bin/
μ±μ μμνλ λ μΌμ€ μ€ν¬λ¦½νΈλ₯Ό ν¬ν¨νλ©° μ ν리μΌμ΄μ μ€μ , μ λ°μ΄νΈ, λ°°ν¬ λλ μ€ννλ λ° μ¬μ©νλ μ€ν¬λ¦½νΈλ₯Ό ν¬ν¨ ν μ μλ€.
config/
config.ru
db/
νμ¬ λ°μ΄ν°λ² μ΄μ€ μ€ν€λ§μ λ°μ΄ν°λ² μ΄μ€ λ§μ΄κ·Έλ μ΄μ μ΄ ν¬ν¨λμ΄ μλ€.
Gemfile Gemfile.lock
lib/
μ ν리μΌμ΄μ μ μν νμ₯ λͺ¨λ.
log/
μ ν리μΌμ΄μ λ‘κ·Έ νμΌ
package.json
public/
λꡬλΌλ μ κΈν μ μλ μ μΌν ν΄λμ΄λ€. μ μ νμΌ λ° μ»΄νμΌ λ μ μ μ ν¬ν¨νλ€.
Rakefile
μ΄ νμΌμ 컀맨λ λΌμΈμμ μ€νν μ μλ νμ€ν¬(task)λ₯Ό μ°Ύμμ λ‘λνλ€. νμ€ν¬ μ μλ λ μΌμ€μ κ΅¬μ± μμ μ 체μ κ±Έμ³ μ μλλ€. Rakefile
μ λ³κ²½νλ λμ μ ν리μΌμ΄μ
μ lib/tasks
λλ ν 리μ νμΌμ μΆκ°ν ν μμ μ νμ€ν¬λ₯Ό μΆκ°ν΄μΌ νλ€.
README.md
μ ν리μΌμ΄μ μ λν κ°λ¨ν μ¬μ© μ€λͺ μμ΄λ€. μ΄ νμΌμ νΈμ§νμ¬ λ€λ₯Έ μ¬μ©μμκ² μ ν리μΌμ΄μ μ κΈ°λ₯, μ€μ λ°©λ² λ±μ μλ € μ£Όμ΄μΌ νλ€.
storage/
test/
tmp/
μμ νμΌ (μΊμ(cache)μ pid νμΌ).
vendor/
λͺ¨λ λ²€λ(νμ¬) μ½λλ₯Ό μν μ₯μμ΄λ€. μ νμ μΈ λ μΌμ€ μ ν리μΌμ΄μ μμλ λ²€λμμ μ 곡νλ μ ¬μ μ¬κΈ°μ ν¬ν¨νλ€.
.ruby-version
μ΄ νμΌμλ κΈ°λ³Έ λ£¨λΉ λ²μ μ΄ ν¬ν¨λμ΄ μλ€.
"Hello" λ¬Έμλ₯Ό νμνκΈ° μν΄μλ μ΅μν νλμ controller(컨νΈλ‘€λ¬) μ νλμ view(λ·°) λ₯Ό μμ±ν΄μΌ νλ€.
컨νΈλ‘€λ¬λ μ ν리μΌμ΄μ μ λν νΉμ μμ²λ₯Ό λ°λ μν μ νλ€. Routing(λΌμ°ν ) μ μ΄λ€ 컨νΈλ‘€λ¬κ° μ΄λ€ μμ²μ λ°μ κ²μΈκ°λ₯Ό κ²°μ νλ€. μ’ μ’ νλμ 컨νΈλ‘€λ¬κ° νλ μ΄μμ λΌμ°νΈλ‘ μ°κ²°λκΈ°λ νλλ° μ΄ λ νΉμ 컨νΈλ‘€λ¬μ λΌμ°νΈλ€μ κ°κΈ° λ€λ₯Έ actions(μ‘μ ) μ νΈμΆνμ¬ μλΉμ€νλ€. μ‘μ μ μ 보λ₯Ό λͺ¨μμ λ·°μ μ 곡νλ μν μ μννλ€.
λ·°λ μ΄λ¬ν μ 보λ₯Ό μ¬λμ΄ μ½μ μ μλ ννλ‘ νμνλλ° μ€μν μ°¨μ΄μ μ μ 보λ₯Ό μμ§νλ κ³³μ΄ λ·°κ° μλκ³ μ»¨νΈλ‘€λ¬ λΌλ μ μ΄λ€. λ·°λ λ°λ‘ μ΄λ¬ν μ 보λ₯Ό λ¨μ§ νμλ§ν΄μΌ νλ€. λ³΄ν΅ λ·° ν νλ¦Ώμ eRuby(Embeded Ruby)λ‘ μμ±νλλ° μ¬μ©μλ€μκ² λ³΄λ΄μ§κΈ° μ μ λ μΌμ€ μμ§μ΄ μμ² μ£ΌκΈ°μ λ°λΌ μ²λ¦¬νκ² λλ€.
4.3 μ ν리μΌμ΄μ
ν νμ΄μ§ μ€μ νκΈ°
νν 리μΌλλ‘ μ§ννκ³ http://localhost:3000/articles
μμ²μ 보λ΄λ μκ° μ μ€λ₯κ° λ°μνλ€!
error Command "webpack" not found
λΌκ³ νμ¬, μλ 컀맨λλ₯Ό μ
λ ₯νμ¬ webpackμ λ€μ΄λ‘λν΄λ³΄μλ€.
κ·Έλ°λ° μλμ²λΌ gyp ERR! κ° λ°μνμλ€.
μλλλ€λ₯ΌκΉ webpacker μ€μΉλ μλ£λμμ§λ§ http://loaclhost:3000/articles
μμ²μ΄ μ λλ‘ μ²λ¦¬λμ§ μλλ€.
μ€λ₯ λ©μΈμ§λ₯Ό μ°¬μ°¬ν μ½μ΄λ³΄λ©΄ Xcode or CLT version μ΄ κ°μ§λμ§ μλ κ²μ΄ μμΈμΈ κ²μΌλ‘ μΆμ λλ€.
μ΄λ₯Ό ννΈμΌμ κ²μνλλ macOS μΉ΄ν리λμ κ³ μ§μ μΈ λ¬Έμ λ‘ λ³΄μΈλ€. λ§ν¬λ₯Ό μ°Έκ³ νμ¬ xcode μμ ν μ¬μ€μΉλ₯Ό μ§ννμλλ κΉλνκ² ν΄κ²°λμλ€!
νμ΅ λ΄μ©μ λν κ°μΈμ μΈ μ΄ν
λ무 λͺ¨λ κ²μ μ 리νλ©΄μ νμ΅νλ €λ μ΅κ΄μ λ²λ €μΌνλλ° ν νμ΅μ νλ©΄μ λμ§ κ² κ°μ΅λλ€. λ€μ κ°λ³κ³ λΉ λ₯΄κ² νμ΅ν μ μλλ‘ ν΄μΌκ² μ΅λλ€.
λ€μ νμ΅ κ³ν
루λΉμ¨λ μΌμ¦ νμ΅
Last updated
Was this helpful?