톰켓 세팅으로 response 크기를 줄여보자 - Gzip 설정

웹 페이지의 성능을 개선하는 방법아무래도 백엔드를 공부하고 있기 때문에 웹페이지를 개선하는 작업을 수행하면 대부분 쿼리 수정 정도로 끝나게 되는 것 같다. 하지만 웹 페이지 성능 개선을 하면서 당연히 백엔드 부분만 개선해서는 한계가 있어 다른 방법을 찾아 보다가 response 되...
톰켓 세팅으로 response 크기를 줄여보자 - Gzip 설정 자세히 보기

스프링 빈이 아닌 new로 생성한 객체에 @Autowired 하기

이 링크를 참고 했다.스프링 프레임워크에서 관리하지 않는 클래스에 Service를 사용하고 싶었다. 내가 생성한 쓰레드에서 Service 클래스를 이용해서 DB에 데이터를 삽입하고 싶었다. 아무 생각없이 쓰레드에 @Autowired를 하면 당연히 NullPointerExcept...
스프링 빈이 아닌 new로 생성한 객체에 @Autowired 하기 자세히 보기

스프링부트에 lucy-xss-servlet-filter 적용하기

라이브러리 링크회사 프로젝트 gradle에서 처음 보는 라이브러리를 보게 되어서 무엇인지 검색하다가 xss를 막기 위한 라이브러리라는 것을 알게 되었습니다. 정작 프로젝트에는 적용되어 있지는 않았지만 (아마 내부에서만 사용하는 웹 프로젝트라 그런듯 합니다.)처음으로 보안을 조금...
스프링부트에 lucy-xss-servlet-filter 적용하기 자세히 보기

Mssql Mybatis DB툴과 웹에서 쿼리속도가 다를때 고려해 볼것

스카우터에서 특정 쿼리를 수행할 때 속도가 너무 느리다는 알람이 계속 출력되었다. 출력하는 양이 많아서 그런지 테스트를 해보았는데 조회되는 수량이 없다. 스캔 수가 많을 수는 있지만 쿼리 결과가 0인 쿼리가 타임아웃이 걸릴 정도로 느리다는 점이 이상했다. Mybatis의 쿼리를 D...
Mssql Mybatis DB툴과 웹에서 쿼리속도가 다를때 고려해 볼것 자세히 보기

Spring xml mapper로 xml 만들기

참고 페이지이번에 업무를 진행하면서 여러 검색엔진에 데이터 파일 정보를 전달하는 업무를 하게 되었습니다. 어떻게 서버에 있는 정보를 전달할 수 있을지 궁금했는데 URL을 호출하면 데이터를 XML로 만들어서 전달하게 되어 있었습니다. 최근 깃페이지로 블로그를 만들면서 생성한 si...
Spring xml mapper로 xml 만들기 자세히 보기

Spring Security JWT 구현해 보기

소스코드참고한 강의스프링 시큐리티는 항상 어렵고 수많은 필터들이 엮어 있어서 공부하기 시작하면 끝이 없습니다.이전에는 세션 기반의 시큐리티를 적용하였는데 회사의 프로젝트는 JWT를 이용한 SSO를 구현하고 있어 공부를 해보았습니다. ⚠️ 버전 안내 (2021년 작성 → 현재 ...
Spring Security JWT 구현해 보기 자세히 보기

이미지 검색프로젝트(VIG) Migration/Refactoring -2

소스 코드프로젝트를 진행하면서 지금 구현하는 것에만 신경을 쓰다보니 간단한 설정으로 해결할 수 있는 문제를 수많은 중복된 코드로 해결하거나 나중에 해결하자면서 넘긴 문제가 많습니다. 핑계이긴 하지만 4명이 작업하는 코드를 모두 확인하고 패치하기에는 실력도 부족했고 시간도 부족했...
이미지 검색프로젝트(VIG) Migration/Refactoring -2 자세히 보기

이미지 검색프로젝트(VIG) Migration/Refactoring -1

소스 코드1. VIG(Visual Inspiration Gallery) 개념사용자 맞춤형 이미지 검색 기반 포트폴리오(핀터레스트 & 비헨스) 클론 프로젝트 입니다. 머리속에 있는 막연한 이미지와 유사한 이미지를 찾고 싶을때 사용자의 검색기록, 키워드 등을 활용하여 찾고 ...
이미지 검색프로젝트(VIG) Migration/Refactoring -1 자세히 보기

아파치 카프카(Apache Kafka) 기초 정리

데브원영님 유튜브 링크참고 블로그회사에서 사용하는 솔루션 기능 중에 카프카를 활용하는 부분이 있었다.사실 솔루션 내부 기능이기 때문에 굳이 카프카를 모르더라도 사용할 수 있고실제 코딩을 할 때도 카프카 라이브러리를 사용하지는 않지만 그래도 기초는 알고 사용하고 싶어서 조금 알아...
아파치 카프카(Apache Kafka) 기초 정리 자세히 보기

Springboot 데이터베이스 Connection 다중 연결 (mybatis)

참고 한 블로그https://dev-overload.tistory.com/30보통의 경우 스프링부트로 작성된 어플리케이션은 하나의 DB만 접근하여 사용한다. 아주 가끔 다른 DB의 정보를 가져오거나 역할 분리를 위해 서로 다른 DB에 접근하기도 하는데 어떻게 설정하는지 정의한다...
Springboot 데이터베이스 Connection 다중 연결 (mybatis) 자세히 보기

Controller/ Service 추상화 하기

패스트 캠퍼스 강의를 듣다 흥미롭게(?) 프로젝트 구조를 구현하는 것을 보고 따라해 보고 싶었다.강의에서는 별도의 도메인을 생성하고 해당 도메인을 통하여 데이터를 전달하는 방법으로 구현하였는데 별도의 상태코드를 전달하는 좋은 방법이지만 나는 간단하게 제네릭을 활용하여 JPA와 연동...
Controller/ Service 추상화 하기 자세히 보기

MappingJackson2JsonView를 이용하여 JSON 파싱(jsonView)

ajax를 사용하면서 가장 불편하다고 생각했던 것이 json으로 파싱을 하는 과정이었다.프론트엔드에 대한 지식이 부족하다보니 생으로 만드는 부분도 있겠지만 기본적으로 ajax호출 과정이 길다고 생각했다. 기존에 작성했던 코드를 보면 데이터를 전달하는 과정도 받아오는 과정도 다소 귀...
MappingJackson2JsonView를 이용하여 JSON 파싱(jsonView) 자세히 보기

Quartz job Scheduler 기본 사용법 정리

일정 시간, 주기적으로 작동되는 배치 프로그램을 만들 때 사용하는 라이브러리다. 서로 다른 DB의 데이터를 마이그레이션 하거나 주기별로 DB 데이터를 동기화 시키는 데몬을 만들게 되어 사용 방법을 정리한다.1. 구성 요소JobDetail : 스케줄러에서 수행할 작업을 담을 JOB을...
Quartz job Scheduler 기본 사용법 정리 자세히 보기

Spring boot 멀티 모듈 (Multi Module) 생성하기 + Maven

지금까지 프로젝트를 하면서 멀티모듈을 사용해본적이 없다.멀티모듈은 인터넷강의에서 잠깐 보고 넘어 갔던 부분이였는데 최근 환경이 바뀌면서 멀티모듈로 구성된 프로젝트에 참여하게 되었다.새롭게 배울것이 많아 좋기도 하지만 동시에 약간 걱정이 되어서 간단하게 기능을 정리해본다.1. 멀티 ...
Spring boot 멀티 모듈 (Multi Module) 생성하기 + Maven 자세히 보기