본문 바로가기

전체 글24

Spring Rest Docs 로 API 문서 생성 Rest Docs Java/Spring으로 API를 개발하는 사람들에게 API 문서 자동화라고 한다면 보통 두개를 말한다. Swagger 와 Spring Rest Docs 이다. 둘은 아래와 같은 특징들을 가진다. Swagger : API 를 테스트 해볼 수 있는 화면을 제공하고, 적용하기 쉽다. Spring Rest Docs : 제품코드에 영향이 없고, 테스트를 통과해야만 문서가 제대로 나온다. 글에서 다뤄볼 내용은 Spring Rest Docs 이다. Spring Rest Docs 란 테스트 코드를 기반으로 자동으로 API 문서를 작성할 수 있게 도와주는 프레임워크이다. 따라서 테스트 코드를 강제한다. 또한 해당 테스트를 통과하지 못하면 문서는 정상적으로 생성되지 않는다. 그렇다면 프로젝트를 생성해서.. 2023. 1. 1.
모놀리틱과 마이크로 서비스 모놀리틱 아키텍처 모놀리틱 아키텍처란 UI, 비즈니스 로직, DB등을 하나의 패키지에 담아 빌드하고 배포하는 아키텍처이다. 마이크로 서비스 아키텍처의 반대 개념이다. 장점 어떤 기능(서비스)이든지 개발되어 있는 환경이 같아서 복잡하지 않음 쉽게 고가용성 서버 환경을 만들 수 있다.(같은 어플리케이션으로 하나 더 만들면 됨) End-to-End 테스트가 용이함(MAS의 경우 테스트에 필요한 서비스들을 모두 동작시켜야 함) 단점 한 프로젝트의 덩치가 너무 커져서 어플리케이션 구동시간이 늘어나고 빌드, 배포 시간도 길어진다. 조그마한 수정사항이 있어도 전체를 다시 빌드하고 배포를 해야한다. 많은 양의 코드가 몰려 있어 개발자가 모두를 이해할 수 없고 유지보수도 힘들다. 일부분의 오류가 전체에 영향을 미친다. .. 2023. 1. 1.
JVM JVM 자바 가상머신이라고 불리며 자바 바이트 코드를 실행할 수 있는 주체로 JVM으로 인해 CPU나 운영체제와 독립적으로 동작이 가능하다. Class Loader 자바 컴퍼일러가 자바 파일을 컴파일하면 클래스 파일이 생성된다. 이렇게 생성된 파일을 엮어 Runtime Data Area 형태로 메모리에 적재하는 역할을 한다. Execution Engine 메모리에 적재된 클래스들을 기계어로 변경해 명령어 단위로 실행하는 역할을 한다. 명령어를 하나하나 실행하는 인터프리티 방식과 실행 시점에 자주 쓸만한 코드들을 기계어로 변환시켜놓고 저장해서 사용하는 JIT 방식이 있다. Gargage Collector Runtime Data Area의 힙 영역에 생성된 객체들중 참조되지(사용되지)않는 객체를 찾아 수집하.. 2023. 1. 1.
리턴 원래 처음 블로그를 티스토리로 입문했었는데 다른 플랫폼으로 옮겼었다. 근데 다시 티스토리를 사용하려고 한다. 특별한 이유는 없고, 그냥 다시 티스토리를 사용하고 싶어졌다. 어차피 포스팅을 평소에 많이 하는 편도 아니고, 옮길 글도 많지 않아서 큰 공수가 들어가지는 않는다. 물론 써놨던 글을 옮기다보면 작성 시간 자체가 안맞는 경우도 있겠지만 뭐 순서만 잘 맞추면 되지 않을까? 어쨌든 앞으로는 여기서 글을 작성할텐데 개발 관련 글 뿐만이 아니라 일상이나 다른 주제를 가지고도 글을 작성해보려 한다. 다시 한번 블로그 ON 2023. 1. 1.