2020-12-21(Mon)

  1. ν•™μŠ΅ λ‚ μ§œ // 2020-12-21(μ›”)

  2. ν•™μŠ΅μ‹œκ°„ // 9:00~22:00

  3. ν•™μŠ΅ λ²”μœ„ 및 주제 // Getting started with Rails

  4. λ™λ£Œ ν•™μŠ΅ 방법 // -

  5. ν•™μŠ΅ λͺ©ν‘œ // Getting started with Rails λ‹€ ν›‘κΈ°

  6. 상세 ν•™μŠ΅ λ‚΄μš©

λ£¨λΉ„μ˜¨λ ˆμΌμŠ€ νŠœν† λ¦¬μ–ΌμΈ 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)을 톡해 μ—…λ°μ΄νŠΈν•˜μž!

μ–΄ν”Œλ¦¬μΌ€μ΄μ…˜ μƒμ„±ν•œ 뒀에 레일슀 μ• ν”Œλ¦¬μΌ€μ΄μ…˜ ꡬ쑰에 따라 λ‹€μˆ˜μ˜ 파일과 폴더가 μžλ™ μƒμ„±λœλ‹€. κ°„λ‹¨ν•˜κ²Œ μ •λ¦¬ν•˜λ©΄ μ•„λž˜μ™€ κ°™λ‹€.

"Hello" 문자λ₯Ό ν‘œμ‹œν•˜κΈ° μœ„ν•΄μ„œλŠ” μ΅œμ†Œν•œ ν•˜λ‚˜μ˜ controller(컨트둀러) 와 ν•˜λ‚˜μ˜ view(λ·°) λ₯Ό 생성해야 ν•œλ‹€.

μ»¨νŠΈλ‘€λŸ¬λŠ” μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ— λŒ€ν•œ νŠΉμ • μš”μ²­λ₯Ό λ°›λŠ” 역할을 ν•œλ‹€. Routing(λΌμš°νŒ…) 은 μ–΄λ–€ μ»¨νŠΈλ‘€λŸ¬κ°€ μ–΄λ–€ μš”μ²­μ„ 받을 것인가λ₯Ό κ²°μ •ν•œλ‹€. μ’…μ’… ν•˜λ‚˜μ˜ μ»¨νŠΈλ‘€λŸ¬κ°€ ν•˜λ‚˜ μ΄μƒμ˜ 라우트둜 μ—°κ²°λ˜κΈ°λ„ ν•˜λŠ”λ° 이 λ•Œ νŠΉμ • 컨트둀러의 λΌμš°νŠΈλ“€μ€ 각기 λ‹€λ₯Έ actions(μ•‘μ…˜) 을 ν˜ΈμΆœν•˜μ—¬ μ„œλΉ„μŠ€ν•œλ‹€. μ•‘μ…˜μ€ 정보λ₯Ό λͺ¨μ•„μ„œ 뷰에 μ œκ³΅ν•˜λŠ” 역할을 μˆ˜ν–‰ν•œλ‹€.

λ·°λŠ” μ΄λŸ¬ν•œ 정보λ₯Ό μ‚¬λžŒμ΄ 읽을 수 μžˆλŠ” ν˜•νƒœλ‘œ ν‘œμ‹œν•˜λŠ”λ° μ€‘μš”ν•œ 차이점은 정보λ₯Ό μˆ˜μ§‘ν•˜λŠ” 곳이 λ·°κ°€ μ•„λ‹ˆκ³  컨트둀러 λΌλŠ” 점이닀. λ·°λŠ” λ°”λ‘œ μ΄λŸ¬ν•œ 정보λ₯Ό 단지 ν‘œμ‹œλ§Œν•΄μ•Ό ν•œλ‹€. 보톡 λ·° ν…œν”Œλ¦Ώμ€ eRuby(Embeded Ruby)둜 μž‘μ„±ν•˜λŠ”λ° μ‚¬μš©μžλ“€μ—κ²Œ 보내지기 전에 레일슀 엔진이 μš”μ²­ 주기에 따라 μ²˜λ¦¬ν•˜κ²Œ λœλ‹€.

4.3 μ• ν”Œλ¦¬μΌ€μ΄μ…˜ ν™ˆ νŽ˜μ΄μ§€ μ„€μ •ν•˜κΈ°

νŠœν† λ¦¬μ–ΌλŒ€λ‘œ μ§„ν–‰ν•˜κ³  http://localhost:3000/articles μš”μ²­μ„ λ³΄λ‚΄λŠ” μˆœκ°„ μœ„ 였λ₯˜κ°€ λ°œμƒν–ˆλ‹€!

error Command "webpack" not found 라고 ν•˜μ—¬, μ•„λž˜ μ»€λ§¨λ“œλ₯Ό μž…λ ₯ν•˜μ—¬ webpack을 λ‹€μš΄λ‘œλ“œν•΄λ³΄μ•˜λ‹€.

rails webpacker:install

그런데 μ•„λž˜μ²˜λŸΌ gyp ERR! κ°€ λ°œμƒν•˜μ˜€λ‹€.

μ•„λ‹ˆλ‚˜λ‹€λ₯ΌκΉŒ webpacker μ„€μΉ˜λŠ” μ™„λ£Œλ˜μ—ˆμ§€λ§Œ http://loaclhost:3000/articles μš”μ²­μ΄ μ œλŒ€λ‘œ μ²˜λ¦¬λ˜μ§€ μ•ŠλŠ”λ‹€.

였λ₯˜ 메세지λ₯Ό 찬찬히 읽어보면 Xcode or CLT version 이 κ°μ§€λ˜μ§€ μ•ŠλŠ” 것이 원인인 κ²ƒμœΌλ‘œ μΆ”μ •λœλ‹€.

이λ₯Ό νžŒνŠΈμ‚Όμ•„ κ²€μƒ‰ν–ˆλ”λ‹ˆ macOS μΉ΄νƒˆλ¦¬λ‚˜μ˜ 고질적인 문제둜 보인닀. 링크λ₯Ό μ°Έκ³ ν•˜μ—¬ xcode μ‚­μ œ ν›„ μž¬μ„€μΉ˜λ₯Ό μ§„ν–‰ν•˜μ˜€λ”λ‹ˆ κΉ”λ”ν•˜κ²Œ ν•΄κ²°λ˜μ—ˆλ‹€!

  1. ν•™μŠ΅ λ‚΄μš©μ— λŒ€ν•œ 개인적인 총평

λ„ˆλ¬΄ λͺ¨λ“  것을 μ •λ¦¬ν•˜λ©΄μ„œ ν•™μŠ΅ν•˜λ €λŠ” μŠ΅κ΄€μ„ λ²„λ €μ•Όν•˜λŠ”λ° νŒ€ ν•™μŠ΅μ„ ν•˜λ©΄μ„œ 도진 것 κ°™μŠ΅λ‹ˆλ‹€. λ‹€μ‹œ 가볍고 λΉ λ₯΄κ²Œ ν•™μŠ΅ν•  수 μžˆλ„λ‘ ν•΄μ•Όκ² μŠ΅λ‹ˆλ‹€.

λ‹€μŒ ν•™μŠ΅ κ³„νš

  • λ£¨λΉ„μ˜¨λ ˆμΌμ¦ˆ ν•™μŠ΅

Last updated