Maenya's Techlog

Ruby 다시 공부하기!!! (feat. Rails 사용의 서막..) 본문

프로그래밍/Python | Ruby

Ruby 다시 공부하기!!! (feat. Rails 사용의 서막..)

ming235 2020. 7. 6. 23:56

MVC 패턴,,

 

웹프레임워크를 배울때에는 꼭 필요한 부분인 것 같다. 저학년때 장고걸스라는 홈페이지에서 처음 접해본 MVC 아키텍처. 그것을 보고 나는 웹 서버 개발에 흥미가 생겼다. 추억 회상. 내가 가장 감동받았던 장고걸스의 '인터넷은 어떻게 작동할까요?' 이것은 나에게 혁명이었다.

https://tutorial.djangogirls.org/ko/how_the_internet_works/

 

인터넷은 어떻게 작동할까요 · Django Girls Tutorial

No results matching ""

tutorial.djangogirls.org

웹서버 개발을 처음 시작하는 사람은 반드시 읽어야 한다고 생각한다. 적절한 비유와 자세한 설명... 그야말로 감동 그자체.. 감그자

특히 프레임워크 새로 나온 것? 요즘 유행하기 시작하는 프레임워크, 라이브러리를 좋아하는 맹이는 이번에는 Rails에 눈을 떴다.

 

M모델(Models)

모델은 어플리케이션의 정보(data)와 데이터를 다루는 규칙들을 의미. 레일즈의 경우에, 모델은 주로 데이터베이스 데이블과 상호 작용하는 규칙들을 관리한다. 대부분의 경우에 데이터베이스의 하나의 테이블은 어플리케이션의 하나의 모델과 대응한다. 대부분의 비지니스 로직은 모델에 집중!

 

V뷰(Views)

뷰는 어플리케이션의 유저 인터페이스를 의미. 레일즈에서 뷰는 주로 데이터 표현에 관련 된 루비 코드가 삽입되어 있는 HTML 파일이로다. 뷰는 데이터를 웹 브라우저나 다른 기기에게 데이터를 제공하는 일을 담당.

 

C컨트롤러(Controllers)

컨트롤러는 모델과 뷰를 "연결"하는 역할을 한다. 레일즈에서 컨트롤러는 웹브라우저의 요청 받아서, 모델을 통해서 데이터를 조회하여, 출력을 위해 뷰에게 데이터를 넘겨준다.

 

가장 기본적이지만 개발에 앞서 가장 중요한 개념이라고 생각한다. 

Rails컴포넌트를 본격적으로 알아보면,

 

 액션 팩(Action Pack)

액션 팩은 액션 컨트롤러과 액션 뷰를 포함하는 젬입니다. "MVC"에서 "VC"부분 입니다.

 

 액션 컨트롤러(Action Controller)

액션 컨트롤러는 레일즈 어플리케이션에서 컨트롤러를 담당하는 컴포넌트 입니다. 액션 컨트롤러 프레임워크는 레일즈 어플리케이션으로 들어오는 요청을 처리하고, 파라미터를 추출하고, 의도된 액션으로 보냅니다. 액션 컨트롤러는 세션(session)관리, 템플릿(template) 렌더링, 리다이렉트(redirect) 관리 서비스를 포함합니다.

 

 액션 뷰(Action View)

액션 뷰는 레일즈 어플리케이션의 뷰를 관리합니다. 기본적으로 HTML, XML을 만들수 있습니다. 엑션 뷰는 템플릿 렌더링, 중첩 폼(Nested), 조각(Partial) 템플릿, AJAX 지원을 관리합니다.

 

 액션 디스패치(Action Dispatch)

액션 디스패치는 웹의 요청을 받아들여서 원하는 곳으로 연결시킵니다.(다른 Rack 어플리케이션과 동일)

 

 액션 메일러(Action Mailer)

액션 메일러는 내장된 이메일 서비스 프레임워크 입니다. 엑션 메일러를 이용해서 유연한 템플릿을 기반으로 간단한 텍스트 부터 복잡한(multipart) 메일을 처리할수 있습니다.

 

 액티브 모델(Active Model)

액티브 모델은 액션 팩(Action Pack) 서비스와 ORM 젬과 인터페이스를 정의합니다.(ORM으로, 액티브 레코드(Active Record)가 있습니다.) 액티브 모델은 여러분이 원한다면, 다른 ORM 프레임워크를 사용할 수 있게 합니다.

 

 액티브 레코드(Active Record)

액티브 레코드는 레일즈 어플리케이션에서 모델의 기초입니다. 액티브 레코드는 데이터베이스 추상화와 기본 CRUD 기능, 고급 검색 능력과 객체들 간의 관계를 정의하는 기능을 제공합니다.

 

 액티브 리소스(Active Resource)

액티브 리소스는 비지니스 객체와 RESTful 웹 서비스간의 연결 관리를 위한 프레임워크 입니다. 액티브 리소스는 웹 기반의 자원을 로컬 객체의 CRUD 처럼 매핑시킵니다.

 

 액티브 서포트(Active Support)

액티브 서포트는 레일즈가 사용하는 유틸리티 클레스와 표준 루비 확장 모음입니다.

 

 레일티즈(Railties)

레일티즈는 새로운 레일즈 어플리케이션을 만들고 다양한 프레임워크와 플러그인을 이어주는 레일즈의 핵심 코드입니다.

 

 

또한 내가 요즘 회사에서 질리게 사용하는 R.E.S.T( Representational State Transfer )

레일즈에서 존재하는 REST의 원리가 있다.

  • 자원 표현을 위해 자원 식별자 사용 (가령 URL)
  • 시스템 컴포넌트 간에 자원 상태 교환

 

 

'프로그래밍 > Python | Ruby' 카테고리의 다른 글

Ruby on Rails 시작하기  (0) 2020.07.09
지난 Ruby 수업 자료  (1) 2020.07.06