프로젝트 개요 및 Elixir-Phoenix 설치
개요
오늘부터 StackOverflow Survey에서 눈여겨 보던 Elixir-Phoenix framework로 연습 프로젝트를 진행하고 그 기록을 블로그에 남기기로 한다. Elixir-Phoenix를 공부하고 익숙해지는 것을 목표로 하기 때문에 기능 구현에 집중하고 HTML, CSS, Javascript에는 집중하지 않는다. Elixir에 익숙하지 않지만 언어에 대한 학습은 Phoenix를 만들어보며 조각조각 진행한다.
1차 목표
Sqlite를 이용하여 간단한 Blog 비슷한 것을 만들어 본다. Sqlite를 선택한 이유는 요즘 주목 받는 DB이기도 하고 여러모로 신경 쓸 부분이 적어 진입하기 편하다.
- 글은 제목, 내용, 날짜, 저자를 기록한다.
- 화면은 글 목록 화면과 상세 화면을 만든다.
- 가입/로그인 기능을 만든다.
- 로그인 상태에서 글쓰기 화면 및 기능을 만든다.
2차 목표
Phoenix framework의 대표적인 기능인 Live View로 무언가를 만들어보는데 무엇을 만들지는 아직 정하지 못했다.
Elixir 설치
- https://elixir-lang.org/install.html
- Mac OS:
brew install elixir
- 버전 확인:
elixir --version
- 버전을 확인하면 다음과 같은 식으로 출력된다.
Erlang/OTP 26 [erts-13.0] [source] [64-bit] ...
Elixir 1.15.4 (compiled with Erlang/OTP 26)
Elixir의 빌드 도구 Mix
Mix는 패키지 매니저 이상의 기능을 제공하는 Elixir의 빌드 도구이다.
1. 프로젝트 관리
- 새 프로젝트 생성:
mix new project_name
- 프로젝트 구조 생성 및 관리
- 환경(development, test, production) 설정 관리
2. 의존성 관리
- Hex (Elixir의 공식 패키지 레지스트리)를 통한 패키지 관리
mix.exs
파일에서 의존성 정의mix deps.get
으로 의존성 다운로드
3. 테스트 실행
mix test
명령으로 테스트 실행- 테스트 커버리지 리포트 생성
- ExUnit 테스트 프레임워크와 통합
4. 컴파일, 어플리케이션 빌드
- 프로젝트 코드 컴파일:
mix compile
- 배포용으로 애플리케이션 빌드:
mix release
Phoenix 설치
- Phoenix 설치:
mix archive.install hex phx_new
- Phoenix 버전확인:
mix phx.new --version
Phoenix 프로젝트 생성
mix phx.new PROJECT_NAME
mix phx.new PROJECT_NAME --database sqlite3
DB를 sqlite로 사용