목록2024/07 (15)
임대일
1. 유효성 검사 시점DTO 레코드 타입을 작성하다가 유효성 검사를 어느 시점에 수행해야 가장 최적인지 고민하면서 공부한 내용을 정리한 글이다. 좀 더 구체적인 고민하게 된 배경을 살펴보고 유효성 검사에 대표적인 어노테이션들에 대해 학습한다. 클라이언트가 회원 가입에 필요한 정보를 포함하여 서버로 요청을 보내는 시나리오에서 생긴 고민이다. 해당 시나리오의 프로젝트는 계층형 아키텍처(Layerd Architecture) 구조로 Controller, Service, Repository, Model로 구성되어 있다. 이러한 계층형 아키텍처 구조에서 클라이언트로부터 받은 요청 데이터에 대해 유효성 검사를 어느 시점에, 어떻게 작성해야 가장 적절한지 고민하게 됐다. 2. DTO와 Service에서 유효성 검사결론..
개발자를 위한 쉬운 도커 강의 | 데브위키 - 인프런데브위키 | 현업 개발자가 도커를 사용한 경험을 녹여낸 새로운 커리큘럼으로 기존 교재 및 강의와 차별된 강의를 제공합니다. 단순한 명령어 사용법이 아닌 도커를 왜 사용해야하는지 대한 근www.inflearn.com 1. 프론트엔드 컨테이너 생성하기이번 파트에서는 leafy 프론트엔드 이미지를 빌드한다. leafy 애플리케이션은 Vue.js로 개발된 프론트엔드 애플리케이션이다. 어떤 프레임워크를 사용하던 간에 프론트엔드 소스 코드는 HTML, JavaScript, CSS와 같은 파일들로 결과물을 빌드할 수 있다. 빌드한 파일들은 루트 디렉토리(./)에 dist라는 폴더에 만들어진다. 이 파일들을 nginx와 같은 웹서버의 특정 경로에 업로드하면 클라이언트..
개발자를 위한 쉬운 도커 강의 | 데브위키 - 인프런데브위키 | 현업 개발자가 도커를 사용한 경험을 녹여낸 새로운 커리큘럼으로 기존 교재 및 강의와 차별된 강의를 제공합니다. 단순한 명령어 사용법이 아닌 도커를 왜 사용해야하는지 대한 근www.inflearn.com 1. 백엔드 구성하기이번 시간에는 리피 백엔드 컨테이너의 이미지를 생성한다. leafy 백엔드 애플리케이션은 자바로 개발되어 있다. 자바로 개발된 소스코드는 jar 혹은 war라는 파일로 프로그램을 빌드할 수 있다. jar 혹은 war 파일을 실행시키려면 OS에 자바 런타임이 설치되어 있어야 한다. 그리고 소스코드를 애플리케이션으로 빌드하려면, Maven이나 Gradle이라는 빌드 프로그램이 필요하다. leafy에서는 Gradle을 활용한다...
개발자를 위한 쉬운 도커 강의 | 데브위키 - 인프런데브위키 | 현업 개발자가 도커를 사용한 경험을 녹여낸 새로운 커리큘럼으로 기존 교재 및 강의와 차별된 강의를 제공합니다. 단순한 명령어 사용법이 아닌 도커를 왜 사용해야하는지 대한 근www.inflearn.com 1. 데이터베이스 컨테이너 구성데이터베이스 컨테이너를 구성에 대해 학습한다. leafy application에서 사용할 데이터베이스는 PostgreSQL을 사용한다. PostgreSQL은 데이터를 저장하고 조회할 수 있는 데이터베이스 서버이다. PostgresSQL는 Nginx처럼 이미지에 소프트웨어가 포함되어 있기 때문에 별도의 설정없이 PostgresSQL 이미지만 실행해도 데이터베이스를 사용할 수 있다. 하지만 기본 이미지에는 아무 데이..
개발자를 위한 쉬운 도커 강의 | 데브위키 - 인프런데브위키 | 현업 개발자가 도커를 사용한 경험을 녹여낸 새로운 커리큘럼으로 기존 교재 및 강의와 차별된 강의를 제공합니다. 단순한 명령어 사용법이 아닌 도커를 왜 사용해야하는지 대한 근www.inflearn.com 1. leafy 애플리케이션이번 시간에는 실습용 애플리케이션인 leafy 애플리케이션을 소개한다. leafy는 식물을 관리하기 위한 웹 애플리케이션이다. 최근에 식물을 키우면서 불편했었던 점들을 해결하기 위해서 만들어 본 데모 애플리케이션이다. 식물을 키우면서 식물에 대한 정보를 검색하고 저장하는 것이 꽤나 번거로운 일이다. 그래서 식물에 대한 정보를 관리하고 키우는 식물 리스트를 저장하고 이 식물들의 상태를 기록하면서 물을 주는 시계를 표시..
개발자를 위한 쉬운 도커 강의 | 데브위키 - 인프런데브위키 | 현업 개발자가 도커를 사용한 경험을 녹여낸 새로운 커리큘럼으로 기존 교재 및 강의와 차별된 강의를 제공합니다. 단순한 명령어 사용법이 아닌 도커를 왜 사용해야하는지 대한 근www.inflearn.com 이번 시간에는 클라우드 네이티브 애플리케이션의 개념을 공부한다. 클라우드의 정의와 클라우드가 어떤 부분에서 중요한지 살펴보자. 그리고 클라우드 네이티브 애플리케이션이 무엇인지, 왜 중요하게 다루어지는지에 대해서 공부한다. 먼저 클라우드의 개념부터 정리해보자. 예전부터 네이버 클라우드나 구글 클라우드를 한 번쯤은 사용해 봤을 것이다. 그래서 클라우드라는 단어 자체는 친숙하게 느껴진다. 앞서 언급한 클라우드는 보통 스토리지 저장소를 의미한다. 클..
“유일한 진실을 말하자면, 객체지향 판 ‘스파게티 코드’는, 당연히, ‘라쟈냐 코드’이다. (과하게 많은 계층)”- 로버트 월트만 -“In the one and only true way. The object-oriented version of ‘Spaghetti code’ is, of course, ‘Lasagna code’. (Too many layers).”- Roberto Waltman -1. DDD 이해DDD(Domain-Driven Design, 도메인 주도 설계)는 도메인 모델을 기반으로 복잡한 소프트웨어 시스템을 설계하고 개발하는 방법론이다. DDD는 소프트웨어 시스템이 해결하려는 문제 공간을 깊이 이해하고, 여러 이해관계자들과 긴밀히 협력하여 도메인 모델을 기반으로 소프트웨어를 개발하는 것..
0. 시작하기 전에 JWT(JSON Web Token): (이론) JWT 그리고 스프링 부트 적용하기0. 시작하기 전에강의 혹은 책에서 흔하게 JWT 토큰과 함께 OAuth2.0 을 함께 사용하여 네이버, 카카오, 구글, 애플 등 서드파티 애플리케이션에게 인증을 위임한다. 아쉽지만 현재 프로젝트에서는 Olimdae94.tistory.com지난 JWT 이론을 공부하면서 정리한 글이다. JWT 에 대해 자세한 내용을 정리했기 때문에 구체적인 설명은 해당 링크에서 공부할 수 있다. JWT(JSON Web Token)는 클라이언트와 서버 간의 정보를 안전하게 전송하기 위해 사용되는 JSON 기반의 토큰으로 문자열이다. JWT의 주요 특징은 다음과 같다. 1. 무상태성(Stateless)JWT 안에는 정보가 들어..