IT 나 혼자 홈페이지를 만들 수 있는 Ruby on Rails에 대해 알아보자

수정하기
2025-02-01 09:20:16 | 조회수: 91 | 좋아요: 0 |


루비 온 레일즈(Ruby on Rails) 기본 문법


루비 온 레일즈(Ruby on Rails, 줄여서 Rails)는 루비(Ruby) 프로그래밍 언어로 작성된 웹 애플리케이션 프레임워크입니다. Rails는 MVC(Model-View-Controller) 아키텍처를 기반으로 하며, 개발자들이 빠르고 효율적으로 웹 애플리케이션을 구축할 수 있도록 도와줍니다. 루비 언어의 기본 문법을 이해하는 것이 Rails를 학습하는 데 필수적입니다. 아래는 루비의 기본 문법에 대한 설명입니다.

1. 변수와 상수


변수: 소문자 또는 언더스코어(_)로 시작합니다.


name = "John"
age = 30

상수: 대문자로 시작하며, 값을 재할당할 수 있지만 경고가 발생합니다.


PI = 3.14159

2. 데이터 타입


문자열(String)


greeting = "Hello, World!"

숫자(Number)


integer = 42
float = 3.14

배열(Array)


fruits = ["apple", "banana", "cherry"]

해시(Hash): 키-값 쌍으로 이루어진 데이터 구조.


person = { name: "John", age: 30 }

심볼(Symbol): 불변의 문자열과 유사합니다.


:status

3. 제어 구조


조건문


if age > 18
puts "You are an adult."
elsif age == 18
puts "You just became an adult."
else
puts "You are a minor."
end

삼항 연산자


message = age >= 18 ? "Adult" : "Minor"

반복문


3.times do |i|
puts "Iteration #{i}"
end

fruits.each do |fruit|
puts fruit
end

4. 메서드 정의


메서드는 def 키워드로 정의합니다.


def greet(name)
"Hello, #{name}!"
end

puts greet("Alice") # 출력: Hello, Alice!

5. 클래스와 객체


루비는 객체 지향 언어로, 클래스를 정의하고 객체를 생성할 수 있습니다.


class Person
attr_accessor :name, :age

def initialize(name, age)
@name = name
@age = age
end

def introduce
"My name is #{@name} and I am #{@age} years old."
end
end

person = Person.new("John", 30)
puts person.introduce

6. 모듈(Module)


모듈은 메서드와 상수를 그룹화하는 데 사용됩니다.


module MathUtils
def self.square(x)
x * x
end
end

puts MathUtils.square(5) # 출력: 25

7. 블록(Block)


블록은 do...end 또는 { }로 정의됩니다.


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

8. 예외 처리


begin...rescue...end를 사용해 예외를 처리합니다.


begin
result = 10 / 0
rescue ZeroDivisionError => e
puts "Error: #{e.message}"
end

9. Rails에서 자주 사용되는 문법


모델에서의 관계 정의


class User < ApplicationRecord
has_many :posts
end

class Post < ApplicationRecord
belongs_to :user
end


라우팅 정의


Rails.application.routes.draw do
resources :posts
end

컨트롤러에서의 액션 정의


class PostsController < ApplicationController
def index
@posts = Post.all
end
end

뷰에서의 데이터 출력


<% @posts.each do |post| %>
<p><%= post.title %></p>
<% end %>

10. Rails의 철학



  • CoC(Convention over Configuration): 관례를 따르면 설정을 최소화할 수 있습니다.

  • DRY(Don't Repeat Yourself): 중복을 피하고 코드를 재사용합니다.

루비 온 레일즈는 루비 언어의 간결함과 표현력을 기반으로 하여 빠르게 웹 애플리케이션을 개발할 수 있도록 설계되었습니다. 루비의 기본 문법을 익히고 나면, Rails 프레임워크를 더 쉽게 이해하고 활용할 수 있습니다. 😊



The source code is licensed MIT.