2022 sw contest 스택

안드 - Kotlin, Android studio

서버 - Spring, Java

DB - mysql

관리 - 도커, 쿠버네티스

디자인 - figma

안드-서버연결 - swagger

버전관리 - github

소통&협업 - discord, slack

 

실무/플젝경험이 많이없다보니 이게 무슨소리인지 모르겠어서 정리해보기로 했다

참고링크)

서버: [AWS] Spring, Nginx, Docker로 무중단 배포하기 - 2탄 :: Gyun's 개발일지 (tistory.com)

 

 

 

1. 도커, 쿠버네티스

 

- 컨테이너: 앱이 구동되는 환경을 격리하는 기술

- 컨테이너 런타임: 컨테이너를 다루는 도구 (ex-도커. 컨테이너의 공유, 다운, 구동 etc)

- 쿠버네티스: 도커를 이용해서 컨테이너들의 환경설정하는것

 

역사

(1) 기존에는 물리적인 컴퓨터 한 대와 하나의 OS를 이용해서 여러가지 프로그램을 다루었는데, 여러 프로그램들을 구동하다보니 성능의 저하가 발생한다.

(2) 여러 컴퓨터를 사용하는 대신, 가상머신(VM)을 이용하여 배포를 하는 해결책을 찾아내는데, 이를 가상화 배포(Virtualized Deployment)라고 한다. 

(3) 하지만 VM자체도 무거운 편이기 때문에, 컨테이너 중심의 배포(Container Deployment)를 사용한다. VM과 다르게 하나의 OS위에서 동작한다.

 

상세

전통적인 배포 방식과 컨테이너 중심의 배포 둘 다 하나의 OS위에서 사용되고 있으므로 차이를 잘 느끼지 못할 수도 있다. 하지만 컨테이너 중심의 배포는 컨테이너에서 실행되는 App들 사이에 간섭이 일어나지 않도록 CPU, 메모리와 같은 자원을 분리하여 다른 OS에서 구동된다고 착각하게 한다.

 

 

-> 도커: https://eckrin.tistory.com/157

-> k8s : https://eckrin.tistory.com/162

 

 

 

2. 스웨거

 

일반적으로 여러 명이 개발하는 프로젝트에서는 front와 back-end로 나뉜다. 이런 환경에서 api규격에 대한 소통을 위해 만들어진 것이 swagger이다. swagger를 이용하면 간단한 설정으로 프로젝트의 api목록을 웹에서 확인 및 테스트할 수 있게 해준다. 

스프링 환경에서 swagger를 사용하면 Controller에 명시된 어노테이션을 해석하여 API문서를 자동으로 만들어준다. 

'[ 기타 ] > 잡담' 카테고리의 다른 글

BOJ 플레 달성  (0) 2024.04.14
인텔리제이 자동 빌드 해제하기  (1) 2024.01.21
[비공개] cs 개념 정리 + 면접팁  (0) 2023.08.15
[MySQL] 오류해결  (0) 2022.07.16
BOJ 골드 달성  (0) 2022.02.14