본문 바로가기

Backend

(35)
Spring Boot의 의존성 관리 및 Bean 생성 과정 안녕하세요. 이번 포스팅에서는 SpringBoot가 어떻게 자동적으로 필요한 Dependencies를 받아오는지, 필요한 Bean들을 생성하는지에 대한 포스팅을 진행해보려 합니다. Dependencies 관리 만약에 저희가 maven project로 다음의 dependency만 추가한 뒤, package를 실행해 보면 어떠한 일이 벌어질까요? org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-test 보시는 바와 같이 정말 많은 의존성 패키지들이 추가됩니다. 심지어 저희는 spring-boot-starter-web이나 spring-boot-starter-test의 버전조차 명시하지 않았는..
[Java] JaCoCo를 활용하여 code coverage 측정하기 안녕하세요. 이번 포스팅에서는 JaCoCo라는 Java Code Coverage Library를 활용하여 코드 커버리지를 간단한 예제와 함께 측정해보겠습니다. 우선 Code Coverage란 무엇일까요? Code Coverage Code Coverage란 소프트웨어에서 test code가 본 코드를 얼마나 커버하고 있냐를 측정해주는 지표입니다. 테스트를 진행하였을 때 코드 자체가 몇% 나 실행되었느냐로 생각하실 수 있을 것입니다. 원래 원칙적으로 test code는 모든 시나리오에 대해서 설계되어야 합니다. 실제로 배포하는 서비스라면 더욱더 모든 시나리오를 커버하려 합니다. 하지만 현실적으로 내가 지금 작성한 테스트 케이스가 모든 케이스를 커버하는지를 객관적인 지표로 확인할 수 있는 방법 중에 하나가 C..
[ SpringBoot ] 장르 기반 간단한 영화 추천 API 설계하기 #2 안녕하세요. https://chanho0912.tistory.com/93 [ SpringBoot ] 장르 기반 간단한 영화 추천 API 설계하기 #1 안녕하세요. 이번에는 간단한 토이 프로젝트를 소개해드리겠습니다. 간단하게 영화 추천 API를 설계해보려 합니다. 전체 코드는 https://github.com/KimChanHoLeeJunSung/MovieRecommendationApplication GitHub -.. chanho0912.tistory.com 저번 포스팅에 이어 이번 포스팅에서는 Spring data JPA와 QueryDSL을 사용하여 여러 API를 만들어보겠습니다. Controller package com._chanho.movie_recommendation.movie; import com..
[ SpringBoot ] 장르 기반 간단한 영화 추천 API 설계하기 #1 안녕하세요. 이번에는 간단한 토이 프로젝트를 소개해드리겠습니다. 간단하게 영화 추천 API를 설계해보려 합니다. 전체 코드는 https://github.com/KimChanHoLeeJunSung/MovieRecommendationApplication GitHub - KimChanHoLeeJunSung/MovieRecommendationApplication Contribute to KimChanHoLeeJunSung/MovieRecommendationApplication development by creating an account on GitHub. github.com 해당 레포지토리에 Public으로 공개해 놓긴 했는데... 포스팅을 따라 하시면서 간단하게 해 보시면 좋을 것 같습니다. 시나리오 0. ..
[Spring Boot] JWT token, refresh token을 활용한 회원 도메인 구현 안녕하세요. 이번 포스팅에서는 JWT token과 refresh token을 활용한 회원 가입, 로그인 구현을 진행해보겠습니다. Spring을 활용하여 애플리케이션을 개발할 때 Rest API를 구현하신다면, JWT token을 들어보셨을 겁니다. 간단하게 JWT token에 대해 살펴보겠습니다. JWT token JWT는 JSON web token의 약자입니다. URL-safe(URL로 이용할 수 있는 문자로만 구성된)의 JSON입니다. Access Token & Refresh Token Access Token과 Refresh Token 모두 JWT token으로 이루어집니다. Access Token은 유효기간이 짧은 인증 도구이며, Access Token의 유효기간이 만료되었을 때 Refresh To..
[Spring Cloud] Spring Cloud와 Eureka !! 안녕하세요. 이번 포스팅에서는 Spring Cloud와 Eureka server에 대해서 알아보고 간단하게 유레카 서버와 service 등록을 진행해보겠습니다. Spring Cloud 이제는 monolithic한 서비스 개발 방식을 넘어 마이크로 서비스로 실제 대부분의 서비스들이 운용됩니다. Spring Cloud란 마이크로 서비스의개발, 배포, 운영에 필요한 아키텍처를 쉽게 구성할 수 있도록 지원하는 Spring Boot기반의 프레임워크입니다. 유레카에 대한 설명에 앞서, 만약 하나의 서비스가 네 개의 인스턴스를 사용해서 운용되고 있다고 생각해보겠습니다. 실제 사용자는 이 서비스에 정의된 본인이 필요한 요청을 보낼 겁니다. 이렇게 여러 개로 분산되어 서비스가 운용되고 있다면, 각 요청에 맞게 HashM..
[Django] 장고 기본 설치 및 세팅하기 안녕하세요. 이번 포스팅에서는 장고 설치 및 기본 설정을 알아보겠습니다. 이번에 졸업 작품으로 백엔드에서 AI모델을 굴릴 일이 생겨서... 우선 Django 기반으로 개발을 진행하기로 결정했습니다. 저도 처음이라 공식 문서 찾아보면서 진행했습니다. 우선 포스팅에 앞서 저는 Windows OS를 사용중이며, Anaconda를 통해 가상 환경을 구축했습니다. editor는 vscode를 사용할 예정입니다. 우선 설치부터 시작해보겠습니다. https://docs.djangoproject.com/en/3.2/intro/install/ Quick install guide | Django documentation | Django Django The web framework for perfectionists with..
[Database] PostgreSql이란? PostgreSql 설치 안녕하세요. 이번 포스팅에서는 간단히 PostgreSql이란 무엇이며 Windows 기준 PostgreSql 설치에 대해 알아보겠습니다. 1. PostgreSql 가장 유명한 오픈 소스 데이터베이스는 Mysql일 것입니다. 백엔드를 개발하는 사람이라면 한 번은 사용해 보았을 것이고, Sql진영을 떠올리면 가장 먼저 떠오르는 데이터베이스 소프트웨어일 것입니다. 하지만 PostgreSql은 실제 기업에서 Mysql만큼 많이 사용되고 있습니다. 이 둘을 고민하시는 분이라면, Rdbms를 사용할 것인데, 어느 데이터베이스 소프트웨어가 더 적합하냐를 고민하실 수 있습니다. Rdbms란 결국 데이터를 테이블의 형태로 저장하고 관리한다는 뜻입니다. PostgreSql은 객체의 형태로 관계형 데이터베이스를 관리합니다...