Notice
Recent Posts
Recent Comments
Link
«   2025/06   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
Tags
more
Archives
Today
Total
관리 메뉴

다재다능 개발자 성장기 🚀

항해99 👩‍💻47일차 TIL 본문

항해99_6기_TIL

항해99 👩‍💻47일차 TIL

merrytang 2022. 4. 23. 11:47

 

⭐ Final Project ⭐

1. 드디어 항해의 꽃인 실전프로젝트 주차가 시작되었다!🥰

오전9시 발제 OT를 한 뒤, 같은 조가 되신 프론트엔드, 디자이너분들과 만나서 인사한 후 프로젝트 기획 및 S.A를 작성하였다. 회의끝에 우리조는 개발자, 디자이너들이 자유롭게 사이드프로젝트를 조직할 수 있는 사이트를 기획하게 되었다.

 

2. 백엔드에서 각자 맡을 부분을 나누었다. 내가 이번에 맡은 기능을 정리해보면,

 

  1. 메인페이지에서 필터를 사용하여 사용자가 원하는 프로젝트 목록만 보여주기
  2. 각 유저에게 메세지 보내기(채팅)
  3. 마음에 드는 프로젝트 게시물의 북마크 기능
  4. 마음에 드는 프로젝트 게시물의 지원하기 기능 
  5. 내 프로젝트 목록 페이지에서 내가 참여하고 있는 프로젝트 목록과 내가 기획한 프로젝트목록을 구분해서 보여주기
  6. 내 프로젝트 목록 페이지에서 프로젝트목록들의 CRUD 기능

우선 이렇게 정해졌다. 확실히 이전에 일주일 단위로 진행하였던 프로젝트들보다 새롭게 구현할 기능도 많아지고 기본적인 CRUD기능이라도 다른 기능과 연관되어있는 DB를 유심해서 짜야되는 부분들이 생겨서 많은 도전과 공부가 될 것 같다. 재미있을 것 같아서 벌써부터 기대가 된다! 😊

 

3. 이번 실전프로젝트에서는 이전에 써보지 못했던 기술들을 사용해보기로 하였다.

 

  1. 가독성을 높이고 유지보수에 편리하기 위하여 MVC패턴을 사용하기로 하였다.
  2. DB같은 경우 우선은 NOSQL을 사용하여 구현한뒤, 도커를 사용할 수 있는 MYSQL로 변경해볼 계획이다.
  3. 보안적인 부분에서는 https를 구현해보기로 하였다.

기타 등등.. 프로젝트의 와이어프레임이 자세히 나오고 기능들이 세분화되면 더 늘어날 수 도 있을 것 같다. 

 

4. 이번주까지는 기획하는 시간이기 때문에 실질적인 코딩에 들어가기전까지는 각자 이번에 사용할 기술들을 공부하기로 하였다. 백엔드단에서는 공통적으로 docker, mysql, https, CI/CD 등을 미리 공부하기로 하였다. 

 

5. Docker를 window에 설치한 후, Docker와 container의 개념 및 기본적인 사용법에 관하여 공부하였다. 

 


🐣 Today I Learned 🐣

Docker 란?

도커는 다양한 이유로 계속 바뀌는 서버 환경과 개발 환경 문제를 해결하기 위해 등장하였다.

 

도커의 구성요소

 

docker image & container

- image는 어플리케이션을 실행하기 위한 필요한 모든 것이 생성되어 있는 파일이다.

- container은 image를 사용하여 실행한 것이다. 프로세서의 독립성을 보장하기 위해서 네트워크나 저장소가 분리되어 있어야 한다. 

docker registry

- docker image를 저장하는 공간이다.

dockerd

- docker API requests를 받아서 docker object(image, container등)를 관리한다.

docker client

- 사용자가 docker를 사용하기 위해서 사용하는 cli이다. 

 

특징 

  • 도커 이미지와 docker-compose.yml의 설정으로 원하는 프로그램을 편안하게 설치 가능하다.
  • 컨테이너를 생성하여 분리된 환경에 설치하므로 제거도 쉽다. 
  • 도커가 설치되어 있다면 어디서든 컨테이너를 실행할 수 있다.
  • 도커는 컨테이너라는 표준으로 서버를 배포하므로 모든 서비스들의 배포 과정이 동일해진다.
  • 하나의 서버(로컬 호스트)에 포트만 변경하여 동일한 프로그램을 실행하기도 쉽다. 
  • 오픈 소스이기에 특정 회사나 서비스에 종속적이지 않다.

 

명령어

docker image를 사용해서 container를 실행하기.

필요에 따라 다양한 옵션들과 함께 사용할 수 있다.

docker run [options] {image_name} [command]
-p host_port:container_port  옵션은 컨테이너의 포트와 호스트의 포트를 연결해준다. 
-d 옵션과 함께 실행할 경우 실행한 docker container가 백그라운드에서 실행된다는 의미이다.

 

 

docker container 상태 확인하기.

docker ps
  • CONTAINER_ID : container의 고유 ID
  • IMAGE : container를 띄우는데 사용한 image 이름
  • COMMAND : comtainer에서 실행한 command
  • CREATED : container가 생성된 시간
  • STATUS : container의 상태
  • PORT : port를 publish 하는 경우 어떻게 되어 있는지
  • NAMES : container의 이름 

 

 

docker container 멈추기.

docker stop {container_id|conatinaer_name}
docker kill {container_id|conatinaer_name}

두개의 명령어가 비슷한 결과를 보이지만 조금 다르다.

  • stop의 경우에는 SIGTERM이라는 신호를 보냄.
  • kill의 경우에는 SIGKILL이라는 신호를 보냄.

 

 

docker container 되살리기.

docker restart {container_id|container_name}

 

 

실행중인 container에서 명령어 실행하기.

docker exec [options] {container_id|container_name} [command]

 

 

docker container 삭제하기.

docker rm {container_id}

 

 

docker 명령어 reference 

https://docs.docker.com/engine/reference/commandline/cli/

'항해99_6기_TIL' 카테고리의 다른 글

항해99 👩‍💻49일차 TIL/WIL  (0) 2022.04.25
항해99 👩‍💻48일차 TIL  (0) 2022.04.23
항해99 👩‍💻46일차 TIL  (0) 2022.04.21
항해99 👩‍💻45일차 TIL  (0) 2022.04.20
항해99 👩‍💻44일차 TIL  (0) 2022.04.20