BLOG ARTICLE rails 디렉토리 | 1 ARTICLE FOUND

  1. 2008.10.20 2. Rails 어플리케이션 생성

1. 어플리케이션 생성

아래와 같이 rails를 실행하여 루비온레일즈 어플리케이션을 생성할 수 있습니다.

rails application_name (-d database)

  • application_name: 생성될 어플리케이션이름(패스)입니다. 상위 디렉토리의 생성이 필여하면 자동으로 생성합니다.
  • -d database: 사용할 데이터베이스를 설정합니다. 입력하지 않으면 sqlite3가 기본 데이터베이스로 설정합니다.
이제 서버의 적당한 패스에서 아래와 같이 입력하여 www란 어플리케이션을 생성합니다. 실행되면 새로 생성되는 디렉토리와 파일들의 목록이 출력됩니다.

> rails www -d mysql

완료되면 어플리케이션이 생성된 디렉토리로 들어 갑니다. 아래와 같이 파일과 디렉토리들이 생성되어 있습니다.
 

README 파일에는 레일즈 어플리케여션에 대한 소개와 전반적인 사용방법에 대한 간단한 설명이 있습니다. 처음 사용하시는 분들은 한번씩 읽어 보시는 것이 좋습니다.


2. Rails 프레임워크 디렉토리 구조
생성된 각각의 디렉토리는 아래의 용도로 사용됩니다. 아래의 내용들은 위의 README 파일과 아주 잠깐 살펴 보았던 경험을 참조하였습니다.

[?] 로 되어 있는 부분은 아직 한번도 살펴 본적이 없어 용도를 정확히 모르는 곳입니다. 부족하고 틀린 내용들은 조금씩 해 보고 배우면서 계속 보완해 나가고 [?] 를 제거해 나가겠습니다.

/app
어플리케이션의 model, view, controller가 위치하는 폴더 입니다. 사용자가 작성하는 대부분의 코드는 이곳에 위치합니다.

/controller

컨트롤러들이 위치하는 곳 입니다. 컨트롤은 ApplicationController의 서브클래스이며 *_controller.rb와 같은 파일명으로 저장됩니다.

/helpers [?]
핼퍼들이 위치하는 곳입니다. 핼퍼들은 *_helper.rb와 같은 파일명으로 저장되어 있습니다. 핼퍼는 아직 정확한 용도를 모르며 존재여부와 뷰와 연관이 있다고 짐작만 하고 있습니다.

/models
모델들이 위치하는 곳입니다. 모델은 대부분 ActiveRecord의 서브클래스이며, 데이터베이스와 연동하여 데이터에 접근하고 관리하는 역활을 합니다.

/views

HTML 출력을 위한 템플릿 파일들이 위치하는 곳입니다. 각각의 템플릿 파일들은 views 밑에 연관된 컨트롤러 이름으로 된 서브 디텍토리에 위치하며, *html.erb와 같은 파일명으로 저장됩니다.

/layouts

뷰에서 사용하는 header, footer등의 일반적인 레이아웃 템플릿 파일들이 위치하는 곳입니다.

/config

Rails 환경하의 속성, 라우팅, 데이터베이스, 배포등의 설정에 관한 파일들이 위치합니다.

/environments
[?]
배포모드에 따른 설정 파일들이 위치해 있는 것 같습니다.

/initializers
[?]
초기 설정들이 위치해 있는 것 같습니다.

/db
DB 테이블을 생성하는 schema.rb가 위치하는 곳입니다.

/migrate

DB 스키마의 모든 마이그레이션 정보를 가진 파일들이 위치하는 곳입니다.

/doc
[?]
자동으로 생성되는 문서들이 위치하는 곳 같습니다.

/lib
내부적으로 사용되는 라이브러리들이 위치하는 곳이며, 실행시에 기본으로 path내에 포함되어 있습니다.

/tasks
[?]

/log
실행로그들이 위치하는 곳입니다.

/public
document root에 해당하는 웹환경에서 기본이 되는 폴더 입니다. 사이트의 일반적인 구성요소인 html, javascript, stylesheet, 이미지 파일들이 위치합니다.

/images

사용하는 이미지들이 위치하는 곳입니다.

/javascripts

자바스크립트파일(*.js)들이 위치하는 곳입니다.

/stylesheets

스타일쉬트파일(*.css)들이 위치하는 곳입니다.

/script
rails 프레임워크에서 사용하는 각종 스크립트들이 위치하는 곳입니다.

/performance
[?]
성능측정 도구들이 위치하는 곳 같습니다.

/process
[?]
프로세서들을 관리하는 도구들이 위치하는 곳 같습니다.

/test [?]
유닛, 기능, 통합 테스트등에서 사용되는 곳 같습니다.

/fixtures
[?]
·····················

/functional
[?]
기능 테스트시 사용되는 곳 같습니다.

/intergration
[?]
통합 테스트시 사용되는 곳 같습니다.

/unit
[?]
유닛 테스트시 사용되는 곳 같습니다.

/tmp [?]
레일즈에서 사용하는 임시파일들이 저장되는 곳입니다. 아직 어떤 용도로 사용되는지 확인하지 못했습니다.

/cache
[?]
캐쉬가 저장되는 곳 같습니다.

/pids
[?]
프로세스아이디와 관계된 곳 같습니다.

/sessions
[?]
세션이 저장되는 곳 같습니다.

/sockets
[?]
소켓에서 사용하는 곳 같습니다.

/vendor
어플리케이션에서 사용하는 외부 라이브러리 위치하는 곳입니다.

/plugins
[?]
플러그인이 위치하는 곳 같습니다.

부실한 내용과 곳곳에 위치한 [?] 를 보시면 현재 저의 상태(?)와 많은 관심과 애정이 필요하다는 것을 아실 수 있습니다. 많은 지도 부탁 드리겠습니다. ^^;;