루비와 레일즈 기본명령어 1

2026년 02월 19일 10:12
8 0 0
1. Ruby 핵심 문법: 객체 지향의 아름다움
Ruby는 "모든 것이 객체(Object)"인 순수 객체 지향 언어입니다. 문법이 영어 문장과 유사하여 가독성이 매우 높습니다.
변수와 데이터 타입
Ruby는 변수명 앞에 기호를 붙여 변수의 범위를 결정합니다.
  • 로컬 변수 (variable): 소문자나 언더바(_)로 시작하며 해당 스코프 안에서만 유효합니다.

  • 인스턴스 변수 (@variable): 특정 객체 내에서 공유되는 변수입니다.
  • 클래스 변수 (@@variable): 클래스 전체와 하위 클래스에서 공유됩니다.
  • 심볼 (:symbol): 변경 불가능한 문자열과 비슷하며, 메모리 효율이 좋아 해시 키(Key)로 자주 쓰입니다.

메서드(Method) 정의
Ruby는 def 키워드로 메서드를 정의하며, 마지막 줄의 실행 결과가 **자동으로 반환(Implicit Return)**됩니다.

예시:

def greet(name)

"Hello, #{name}!" # return 생략 가능

end

조건문과 반복문

  • if / else: 표준적인 조건문입니다.
  • unless: if !condition과 동일하며, 조건이 '거짓'일 때 실행됩니다.
  • each: 배열이나 해시를 다룰 때 가장 권장되는 반복 방식입니다.

    • [1, 2, 3].each { |num| puts num }

2. Ruby on Rails: 프레임워크의 철학

Rails는 두 가지 핵심 원칙을 따릅니다.

  1. 설정보다 관례 (CoC - Convention over Configuration): 개발자가 일일이 설정하지 않아도 프레임워크가 정한 규칙을 따르면 자동으로 연결됩니다.
  2. 반복 금지 (DRY - Don't Repeat Yourself): 코드의 중복을 최소화하여 유지보수를 쉽게 합니다.

3. Rails의 MVC 구조
Rails는 애플리케이션의 역할을 세 가지로 나눕니다.

 
설명Model | 데이터 및 비즈니스 로직 | 데이터베이스와 소통하며 데이터의 검증(Validation)을 담당합니다.
View | 사용자 인터페이스 (UI) | HTML, CSS 등으로 사용자에게 보여지는 화면을 생성합니다.
Controller | 중재자 | 사용자의 요청을 받아 모델에서 데이터를 가져오고 뷰에 전달합니다.

4. Rails 개발 시 꼭 알아야 할 핵심 요소

라우팅 (Routing)
config/routes.rb 파일에서 URL 요청을 특정 컨트롤러의 액션으로 연결합니다.

  • get '/welcome', to: 'pages#home' (welcome 주소로 접속하면 pages 컨트롤러의 home 액션 실행)

액티브 레코드 (Active Record)
SQL 쿼리를 직접 짜지 않고 Ruby 코드로 데이터베이스를 조작하는 기술(ORM)입니다.
  • User.all : 모든 유저 조회
  • User.find(1) : ID가 1인 유저 조회
  • User.create(name: "Charlie") : 새 유저 생성

뷰 템플릿 (ERB)

HTML 코드 안에 Ruby 코드를 삽입할 수 있는 파일 형식(.html.erb)입니다.
  • <% ... %> : 로직 실행 (화면에 출력 안 됨)
  • <%= ... %> : 실행 결과를 화면에 출력

마이그레이션 (Migration)

데이터베이스의 구조(스키마)를 변경할 때 사용하는 버전 관리 시스템입니다. 텍스트 파일을 통해 테이블을 생성하거나 컬럼을 추가/삭제할 수 있습니다.

5. 자주 사용하는 Rails 명령어
  • rails new project_name: 새로운 프로젝트 생성
  • rails generate model User name:string: User 모델과 마이그레이션 파일 생성
  • rails db:migrate: 데이터베이스 변경 사항 반영
  • rails server (또는 rails s): 로컬 서버 구동
  • rails console (또는 rails c): 터미널에서 애플리케이션 객체와 직접 상호작용

Ruby와 Rails는 처음에는 규칙(Convention)이 많아 낯설 수 있지만, 익숙해지면 그 어떤 도구보다 빠르게 아이디어를 실제 서비스로 구현할 수 있게 해줍니다.

댓글 (0)

댓글을 작성하려면 로그인해주세요.

아직 댓글이 없습니다.

목록으로
이 글의 주소가 복사되었습니다