AR삽질러

Ruby On Rails란? - (0) 본문

Ruby/RubyOnRails-한국어

Ruby On Rails란? - (0)

아랑팡팡 2023. 8. 29. 14:41
728x90

Ruby On Rails란?

Ruby란?

 - Ruby는 1995년 일본의 Yukihiro Matsumoto에 의해 개발된 동적 객체지향적 프로그래밍언어로 코드의 명료성과 가독성에 중점을 둔 설계가 되어있어 개발자가 편하게 코드를 작성할 수 있도록 도와준며 웹개발, 데이터분석, 프로토타이핑, 스크립팅 등에 주로 사용된다.

 

특징 

 1) 객체지향 : 모든것이 Object라는 철학을 가지고 있다.

 2) 동적타이핑 : 변수의 타입이 실행 시점에 결정된다.

 3) Garbage Collection : 자동 메모리 관리기능

 4) 리치 라이브러리 : 풍부한 표준 라이브러리와 레포지토리가 있다.

 5) MVC아키텍쳐 : MVC(Model-View-Controller)디자인 패턴을 지원한다.

 6) 블록과 람다 : 코드 블록과 람다를 통한 고차 함수 프로그래밍 지원

 

Ruby On Rails(RoR)

 - Ruby On Rails(RoR)은 Rails라고 불리는 프레임워크로 2004년에 David Heinemeier Hansson에 의해 Ruby언어로 작성되었으며 주로 Web애플리케이션 개발, API서버 개발, 프로로타이핑 등에 사용된다.

 - Rails는 모든 개발자가 개발을 시작할때 필요한 초기 준비나 가정들을 쉽게 만들수 있는 도구를 제공하고 Web애플리케이션 프로그래밍을 더 쉽게 만들수 있도록 설계되었다.

 

특징

 1) Convention Over Configuration(CoC) : (설정보다 관습)개발자가 수동으로 많은 설정을 할 필요가 없도록 도와준다.

 2) Don't Repeat Yourself(DRY) : (반복하지 말것)중복을 최소화하고 한 곳에서 변경을 할 수 있도록 encourages를 한다.

 3) RESTful설계 : WEB애플리케이션의 모든 CRUD(Create, Read, Update, Delete)작업을 RESTful가능하도록 설계를 돕는다.

 4) MVC아키텍쳐 : RoR도 MVC(Model-View-Controller)디자인패턴을 따른다.

 5) Active Record : 데이터베이스 관리를 단순화하는 ORM(Object Relational Mapping)라이브러리를 포함한다.

 

Ruby On Rails로 만들어진 플랫폼 예

 - 당근마켓, Shopify, GutHub, SoundCloud 등

 

Ruby와 Rails의 차이

 - Ruby는 프로그래밍언어로 다양한 유형의 프로그래밍에 사용될 수 있다.

 - Rails는 Web애플리케이션 개발을 목적으로 하는 Ruby기반의 프레임워크이다.

 


 

Web 애플리케이션의 기초

3-tier아키텍쳐 : Web의 구조를 3단계로 나누는 구조

Client 웹/애플리케이션 Server Database Servce
프레젠테이션 계층 프레젠테이션 계층
비즈니스 로직 계층
데이터 접근 계층
데이터베이

 

Full Stack
Front End Back End
이용자의 눈에 보이는 부분을 개발 이용자의 눈에 보이지 않는 기능적 부분을 개
HTML, CSS, JavaScript Server, DB, API

Rails는 Full Stack프레임워크에 해당한다.

 

 


 

MVC디자인 패턴

 디자인패턴 : 소프트웨어의 개발 방법을 공식화한것

  MVC : Model, View, Controlle의 약자로 애플리케이션을 세가지 역할로 구분한 개발론

 1) 사용자는 웹사이트에 접속한다.

 2) Controller는 사용자가 요청한 웹페이지를 서비스하기 위해 모델을 호출하게 된다.

 3) 모델은 데이터베이스나 파일등 데이터 소스를 제어한 후 결과를 반환한다.

 4) Controller는 Model이 반환한 결과를 View에 반영한다.

 5) 데이터가 반영된 View는 사용자에게 보여진다.

 

routes.rb URL별로 담담하는 컨트롤러 정보
Model URL에 필요한 Data정보
View Data + HTML + CSS  
Controller Model과 View를 이여주는 중간다리 역할로 데이터를 가공한다.

 

Models : 비즈니스 로직과 데이터 및 데이터베이스에 대한 작업

Views : 사용자요청의 결과로 화면에 보이는 로직과 데이터를 다룬다.

Controller : Model과 Veiw를 연결시켜주고 사용자의 입력을 받아 모델을 조작한다.

 

 

728x90
반응형
LIST

'Ruby > RubyOnRails-한국어' 카테고리의 다른 글

Rails 페이지간 정보전달 - (2)  (0) 2023.09.12
Ruby변수전달 - (1)  (0) 2023.09.11
Hello Rails - (0)  (0) 2023.09.11
Framework?  (0) 2023.09.11
RubyOnRails 환경설정 - (1)  (0) 2023.08.29