🚧

· 🚧
서버 실행하기 도커의 DB 서버를 켜기 위해 아래 명령어를 입력해준다. $ docker container start mariadb 스프링 부트 서버를 켜준다. IntelliJ 에서 실행 버튼을 누르면 된다. 그러면 아래처럼 create 문이 뜰 것이다. sql 문을 볼 수 있게 하고 포매팅하라는 옵션을 설정했기 때문이다. ... Hibernate: create table todos ( id bigint not null auto_increment, done bit not null, title varchar(100) not null, primary key (id) ) engine=InnoDB ... 포스트맨으로 api 테스트하기 포스트맨은 api 를 간단하게 테스트해볼 수 있는 무료 소프트웨어다. 포스트맨 ..
· 🚧
DB연동 build.gradle mariadb 와 jpa 를 사용할 것이므로 주석처리 해두었던 jpa 를 주석 해제하고 아래처럼 입력한다. dependencies { implementation 'org.springframework.boot:spring-boot-starter-web' compileOnly 'org.projectlombok:lombok' developmentOnly 'org.springframework.boot:spring-boot-devtools' annotationProcessor 'org.projectlombok:lombok' testImplementation 'org.springframework.boot:spring-boot-starter-test' //jpa implementati..
· 🚧
이전 게시물에서 REST api 를 아래와 같이 간단히 명세했었다. 아직 DB 와 연결하지 않았으니 이대로 컨트롤러와 서비스의 틀을 만들어보겠다. Description HTTP method Route todo list 를 가져온다 GET /todos todo 를 가져온다 GET /todo/:id todo 를 생성한다 POST /todo todo 를 수정한다 PUT or PATCH /todo/:id todo 를 삭제한다 DELETE /todo/:id /todo/TodoItemService.java 코드가 하나 뿐이므로 todo 바로 아래에 클래스를 생성해준다. 안의 내용은 DB 연결 후 작성해줄 것이다. package com.todolist.tutorial.todo; import com.todolist.t..
· 🚧
모듈이란? 우리의 Todo list 는 기능이 단순히 todo 를 CRUD 하는 것 뿐이지만, 만약 여러 회원을 관리하는 기능까지 추가했다면 한 패키지 안에 개발하는 건 비효율적이다. 따라서 기능별로 모듈을 나눈다. 모듈은 이렇게 기능별, 역할별로 분리한 것을 말한다. 각각의 모델은 각각의 컨트롤러, 서비스, 모델을 가질 수 있다. todo 모듈 패키지 안에 todo 패키지를 생성해준다. Todo list 에서 비즈니스 모델은 바로 todo item 이다. 할일을 적는 텍스트 title 과 완료했는지 아닌지 체크하는 done. 그리고 각 item 을 구분하는 id 로 구성되어 있다. 이 비즈니스 모델을 처리하기 위한 클래스들을 생성해줄 것이다. 패키지 아래에 model 패키지를 생성해준다. /model/..
· 🚧
MVC 패턴이란? Layered Architecture 에 기안한 디자인 패턴이다. user interface 에서 business layer 와 presentation layer 를 분할하여 비즈니스 로직은 재사용 가능하게 하고 interface 도 쉽게 수정하게 하는 것이 목적이다. MVC 패턴의 구성요소는 뷰, 모델, 컨트롤러가 있다. View 컨트롤러가 반환한 데이터를 이용해 사용자에게 출력할 화면이나 인터페이스를 그린다. 여기서는 Todo list 의 화면을 그리는 부분이다. Model 컨트롤러가 요청한 비즈니스 로직을 처리한다. 비즈니스 로직은 데이터를 처리하는 주요 업무를 말한다. 즉, DB에 접속해 데이터를 입출력하고, 용도에 맞게 가공하거나 하는 로직을 수행한다. 만약 데이터에 상태 변화..
· 🚧
언어 설정 관련 게시물 정말 많았는데... 다 실패하고 성공한 👉 44BITS 님의 게시물을 참고했다. 도커 컨테이너 한글 입력 설정 도커 컨테이너 배쉬에서 한글을 입력하면 입력이 안된다. 컨테이너의 로케일 설정 때문이다. 컨테이너의 로케일 설정값과 사용할 수 있는 로케일은 아래처럼 확인할 수 있다. #현재 로케일 설정 root@8c66d4754f83:/# locale ... LC_ALL= #사용 가능한 로케일 확인 root@8c66d4754f83:/# locale -a C C.UTF-8 POSIX 한글은 C.UTF-8 이나 ko_KR.UTF-8 을 이용해야 한다. 현재 사용 가능한 로케일은 C.UTF-8 이니 이 값을 컨테이너 실행 시 옵션으로 설정해주면 된다. $ docker exec -e LC_AL..
· 🚧
Image pull 먼저 만들고 싶은 환경의 이미지를 가져온다. 여기서는 mariaDB 환경을 만들어볼 것이다. mariaDB 이미지를 👉 Docker Hub 에서 검색한다. 그럼 Official Image 라는 태그가 달린 도커에서 기본적으로 제공해주는 이미지가 뜨는데, 해당 이미지에 들어가면 Pull 명령어가 있다. pull 명령어를 복사해 터미널에 입력해준다. 뒤에 :latest 옵션을 붙이면 최신 버전으로 다운받는데, 이 옵션은 default 이니 안 붙여줘도 된다. 잘 다운되었는지 docker images 명령어로 확인해본다. $ docker images REPOSITORY TAG IMAGE ID CREATED SIZE mariadb latest e2278f24ac88 2 weeks ago 41..
· 🚧
개발환경 보통 개발자들은 자신의 로컬 컴퓨터에서 개발을 하고, 그 결과물을 서버에서 실행시켜 배포한다. 이렇게 되려면 개발자의 로컬 개발 환경과 서버의 개발 환경이 같아야 한다. 개발환경이 다르면 여러 귀찮은 문제들이 발생한다. 게다가 만약 새로운 서비스를 만드려는데 이 서비스가 다른 환경에서 개발되었다면 또 설정을 새로해줘야한다. 개발환경 구축은 생각보다 귀찮은 작업이다. 이전 환경을 구축해야하는데 메뉴얼도 없고 전임자도 없다면? 다 개발해놨더니 서버의 환경이 달라서 다시 맞춰야 한다면? 엄청 골치아파진다... 게다가, 요즘 MSA(Micro Service Architecture) 가 핫하다. 서비스를 작은 모듈별로 나누어 관리하는 아키텍처인데, 모듈들은 각각 다른 환경을 가질 수 있다. 이 모듈들을 ..
purpplee
'🚧' 카테고리의 글 목록 (4 Page)