사내 프로젝트 진행 중 다양한 연관 주제로 작업을 진행하게 되었다. 간단하게 단일로 구성된 프로젝트를 3개로 분리하면서 이를 도커 컨테이너 형태로 배포하는 작업이다. 간단한 형태는 SpringCloud를 두고 Gateway랑 기본 프로젝트, 권한 프로젝트, 관리자 프
최근 Spring으로 구성된 프로젝트를 SpringBoot로 마이그레이션 하는 작업을 진행하고 있었다.순탄한 작업 중 한 오류가 발생했는데 원인은 XssRequestWrapper 같은 구현된 Filter가 동작하지 않았기 때문이다.Spring에서는 web.xml에 Fi
개인 디스코드 봇 개발 프로젝트 진행 중회사에서 업무로 서치하던 데이터베이스 형상관리를 테스트겸 적용해보았다.보통 주로 사용하는 것은 Liquibase와 Flyway 라고 한다.딱 마침 Liquibase의 공식 문서에서 둘의 차이를 잘 비교해놓은 문서가 있는데 필요하다
요즘 글이 뜸했다..쉴때 푹 쉬자는 마음으로 쉬다보니 ㅋㅋ..새 직장으로 출근을 하고 환경 세팅을 하다가 maven에서 종속성 라이브러리를 못받아오는 현상이 발생했다.아무리 봐도 문제가 없어 찾고 찾아보니maven 3.8.1 부터 http를 block 처리해버린다고 한
요즘 너무나도 핫한 ChatGPT를 직접 사용해보며 생각 이상으로 좋은 영향을 받아 글을 쓰게 되었다. > ChatGPT가 뭔데? 간단하게 정리하면 openAI가 개발한 '대화형 인공지능 모델'이다. 사용자의 질의를 통해 AI의 답을 받을 수 있다. > 나의 활용
도커를 실행한 후 active가 되어 있음에도 도커 명령어가 먹지 않고 docker daemon at unix ///var/run/docker.sock. is the docker daemon running 라는 오류를 발생했다.간단하게 정리하면 백그라운드에 Docker
브랜치?독립적인 하나의 작업 환경으로 각각의 브랜치는 다른 브랜치의 영향을 받지 않아, 여러 작업을 동시에 진행 할 수 있다.브랜치 분리 이유?여러 개발자가 하나의 저장소를 사용하는 환경에서 저장소를 효율적으로 관리하기 위해 역할을 나눠 소스를 관리함으로 각 개발자들의
프로젝트 작업 진행 중 SpringBoot 환경에서 데이터베이스 2개를 함께 연결해서 사용해야 하는 경우가 발생했다.작업 순서는 다음과 같다.1\. 패키지 구조 변경2\. application.properties 수정3\. DataSourceConfig 변경패키지 구조
CORS(Cross-Origin Resource Sharing웹 개발을 진행하면 한번쯤 만나게 되는 이슈이다.직역하면 교차 출처 리소스 공유인데 URL들은 여러 개의 구성 요소로 이루어져 있는데 예를 들어https://www.jerry-platform.dev:
문제점SQL 쿼리를 작성하던 중 특정 컬럼을 그룹 기준으로 순서를 두어 하나의 로우만 가져올 일이 있었다.보통 ROW에 대한 그룹을 지을 때 Group By를 사용하는데 Group By를 사용하게 되면 그룹의 기준이 되는 컬럼만 출력이 가능하기도 하고 순위를 집계하기도
Copilot 2주 사용 후기Copilot 이 뭔데?GitHub가 2021년 출시한 자동 코드 완성 인공지능OpenAI의 GPT-3 모델을 이용, GitHub의 Repository를 학습시키는 방식으로 개발되었다.비용 ?Copilot은 월 10$ 정도의 구독형 상업 판
홈 서버 구축을 계획하고 약 일주일 정도의 시간이 지났으며, 현재 상황을 공유하고자 한다.진행 단계우선 집에 남아돌던 노트북이고 현재는 클램쉘 모드로 동작하고 있다.작업을 위해 접근할 경우는 구글 원격이나 ssh, winscp 등 상황에 맞게 접근하고 있다.프론트엔드
웹 스터디를 진행하며 프로젝트를 구축하던 중 배포에 대한 고민을 하게 되었다.원래 계획은 홈 서버용 하드웨어를 구매한 다음 진행하려고 했으나 문득 집에 남아돌던 노트북(이하 서버)이 생각나서 바로 포맷까지 진행해버렸다.진행 계획 단계프론트(Vue) 및 백엔드(Sprin
JPA를 통한 작업 중 cannot simultaneously fetch multiple bags 이라는 오류를 마주치게 되었다.이리저리 검색해본 결과 One to Many, Many to Many인 연관 관계의 Bag을 ENGER fetch 하려고 할 때 발생한다고
작업을 진행하던 중 AOP의 기능을 추가해야 될 필요성이 있어 간단하게 먼저 테스트용 설정을 추가하며 글을 쓰게 되었다.본문에 들어가기 앞서 AOP를 잠깐 설명하자면 스프링에서 제공하는 '관점 지향 프로그래밍(Aspect Oriented Programming)'이다.즉
JPA를 사용하다 보면 한번씩 마주치게 되는 문제 N+1에 대해 알아보자N+1 문제?연관 관계에서 발생하는 이슈로 엔티티를 조회할 경우 조회된 데이터의 갯수(N) 만큼 추가로 조회 쿼리가 발생하는 현상테스트를 위해 데이터베이스 설정 및 엔티티를 작성하도록 하자나의 경우
JPA를 사용하여 새로운 기능을 구현하던 도중 두 가지의 오류를 만나게 되었다.먼저 첫번째로 만난 오류는 다음과 같다.No EntityManager with actual transaction available for current thread구문대로 읽어보면 현재 스레
이전 작업에서 Spring Security에 대한 설정은 완료하였고, 이제 Jwt 토큰 인증을 진행해보도록 하겠습니다.먼저 AuthToken의 인터페이스를 생성합니다.그리고 AuthToken의 구현체 JwtAuthToken을 생성합니다.이제 토큰 생성 및 유저 정보를
프로젝트를 시작하면 가장 먼저 진행되는 작업은 회원가입/로그인 기능이지 않을까 생각합니다.그래서 Spring 프레임워크의 Security를 바탕으로 JWT 토큰 인증 방식을 구현해보고자 합니다.앞서 DB 및 JPA 설정은 생략되었으니 이해하기를 바랍니다.내 컨트롤러 구