profile
Test로 학습 하기
post-thumbnail

docker redis cluster 외부 접속 트러블 슈팅

프로젝트를 진행하면서 cloud 환경에서 redis를 이용했는데 이과정에서 겪었던 다양한 문제들을 기술해보기로했다. 왜 ? cluster인가 가끔 생각해보았다 우리는 session이나 어떤 정보들을 redis에 넣었는데 redis가 갑자기 죽는다면 ? 100만명이

2023년 4월 2일
·
0개의 댓글
·
post-thumbnail

검색 기능 고도화 하기 3 - 성능 테스트

검색성능 테스트하기 RDB vs Elastic search 응답 속도 얼마나 차이가 날까 ? 검색데이터가 많은 경우에는 전문검색을 사용하기 어려워서 일반 index 검색을 사용했다 검색 데이터가 20만건 이상인 경우 index search vs elasticsear

2023년 3월 18일
·
0개의 댓글
·
post-thumbnail

검색 기능 고도화 하기 2 - ELK 환경 구성 하기

개요 1편에 이어서 이번에는 ELK stack을 사용하기 위한 환경 세팅을 해보자! > ELK version 7.17.8 이글에서는 ELK stack 환경을 세팅하는 두 가지 방법을 소개해 볼 예정이다. 직접 ELK stack을 설치하고 세팅하기 docker

2023년 2월 25일
·
0개의 댓글
·
post-thumbnail

검색 기능 고도화 하기 1 - RDB로 개발하기

DB 사양, os 등의 테스트 환경이나 데이터의 분포도에 따라서 결과가 달라질 수 있습니다. 프로젝트에서 검색 기능을 개발하면서 있었던 DB 성능 이슈를 어떻게 해결했는지를 공유하고자 한다. Mysql 만으로 검색 기능 개발하기 오로지 Mysql DB를 이용해서 검

2023년 2월 14일
·
0개의 댓글
·
post-thumbnail

페이징 성능 테스트

페이징 성능 테스트 개요 검색 기능을 개발 중에 페이징 쿼리 성능이 너무 느려서 잘 알려져있는 3가지 방법(offset , no-offset, 커버링인덱스)의 페이징 방법을 테스트 해보자 성능 테스트 데이터 product 테이블에 6천7백만건 제품 데이터를 가지고

2023년 1월 25일
·
0개의 댓글
·
post-thumbnail

Jenkins/Nginx로 무중단 배포 하기 2편

2편 무중단 배포 구현하기 1편에 이어서 이번에는 서비스를 중단하지않고 배포할수있는 환경을 만들어 보자. 무중단 배포 방식 무중단 배포방식은 롤링배포 블루그린 배포 카나리 배포 크게 이렇게 3종류의 배포 방식이 존재한다. 각각 어떤식으로 배포되고 장단

2022년 12월 31일
·
0개의 댓글
·
post-thumbnail

Jenkins/Nginx로 무중단 배포 하기 1편

1편 CI/CD 구축하기 도입 배경 프로젝트 중에 새로운 버전이 개발되면 원격 서버에도 해당 버전으로 업그레이드해줘야 한다. 이전에는 원격 서버에 배포하기 위해서 직접 테스트하고 빌드 후에 Filezilla로 서버 파일을 옮겨서 배포했다. 프로젝트가 진행되면서 배포해

2022년 12월 25일
·
0개의 댓글
·
post-thumbnail

동시성이슈 2편

[동시성 이슈 1편] (https://velog.io/@ddh963963/%EB%8F%99%EC%8B%9C%EC%84%B1%EC%9D%B4%EC%8A%88-%ED%9A%8C%EC%9B%90%EA%B0%80%EC%9E%85-1%ED%8E%B8) 개요 1편에 이어서 이번

2022년 12월 12일
·
0개의 댓글
·
post-thumbnail

동시성이슈 1편 - 회원가입

개요 회원가입 기능 구현중에 유저의 아이디를 중복확인 하는 로직이 있었는데 같은 아이디로 동시에 회원가입할때 예측한대로 작동하지 않는 버그가 있었다. (인덱스지정 x) 문제의 코드 문제점 isDuplicateUserId에 여러 스레드가 접근시에 제대로 동작하지않고

2022년 11월 23일
·
0개의 댓글
·
post-thumbnail

비밀번호 암호화 - BCryptPasswordEncoder

프로젝트를 시작하면서 여러가지 이슈들이 생긴다. 그중에 최근에 만낫던 이슈인 비밀번호 암호화에 대해서 이야기 해보려고한다. User 로그인 회원가입 등의 기능을 구현 중에 User의 중요정보인 비밀번호를 암호화해서 DB에 저장 해야 할 일이 생겼다. 이전에도 Spr

2022년 11월 15일
·
0개의 댓글
·
post-thumbnail

Deadlock 이란?

둘 이상의 프로세스들이 자원을 점유한 상태로 서로 다른 프로세스(스레드)가 점유하는 자원을 요구하면서 기다리는 현상을 말한다.이 교착상태는 아무렇게 발생하는 것이 아니라 발생하는 조건이 있는데 이 조건을 간단하게 알아보자상호배제(Mutual Exclusion) : 한

2022년 11월 3일
·
0개의 댓글
·
post-thumbnail

Webflux + R2dbc (nonblocking) vs MVC + JDBC (blocking) 성능 테스트

완전한 환경에서 한 테스트가 아니기 때문에 편차가 있을 수 있습니다. WebFlux vs MVC 테스트의 목적 및 개요 WebFlux 와 MVC의 성능테스트를 눈으로 보고 스레드의 동작을 살피는 것이 테스트의 목적이다. 각각의 Controller의 요청을 받아 DB에

2022년 10월 21일
·
0개의 댓글
·
post-thumbnail

웹서버에 request시에(socket통신) File(Socket) Descriptor 는 어떻게 생성될까?

File(Socket) Descriptor 가 소켓 통신을 할때 어떤식으로 생기는지에 대한 테스트를 해보았다. 테스트 방법 nginx(reverse proxy)와 tomcat was를 linux에 띄우고 Reqeust가 들어올때마다 File Descriptor가 어떤

2022년 10월 12일
·
0개의 댓글
·
post-thumbnail

Spring 예외

예외 이번장은

2022년 10월 8일
·
0개의 댓글
·
post-thumbnail

자바 Garbage Collection & Garbage Collector

❗️❗️ 잘못된 정보는 알려주시면 감사합니다! 부끄럽게도 자바를 공부하면서 Garbage Collection/Garbage Collector 둘의 차이를 몰랐었다.. 그다지 중요하지 않다고 생각해서 그냥 넘어갔던 것 같다. GC를 공부하다 보면 왜 GC에 대해서 잘

2022년 10월 7일
·
0개의 댓글
·

템플릿?? (중복제거하기)

템플릿이란? > 템플릿은 일정한 틀이나 형식을 의미한다. 스프링에서도 이 뜻은 일맥상통한다 바뀌지 않는 틀은 하나로 만들어두고 달라지는 부분만 분리해서 사용할 수 있도록 하는 것들이 보통 ~ 템플릿 ~ 패턴이라고들 많이 부른다. 템플릿에 관련된 용어들 ~Templ

2022년 9월 30일
·
0개의 댓글
·

Spring 테스트

UserDaoTest의 문제점 테스트가 여러 개라면 하나씩 클릭해서 테스트를 실행해야 한다. 클래스 1개당 하나의 테스트만 작성할 수 있다. main 메서드로 만들어져있다. 클래스에 여러 테스트를 작성할 수 없고 클래스를 찾아다니면서 직접 테스트를 한 개씩 실행해야

2022년 9월 24일
·
0개의 댓글
·

Spring 오브젝트와 의존관계

🛠 간단하게 설정하게 boot로 설정후에 예제들을 실행해봤다. 왜 초난감 DAO 인가? 잘만실행되는 DAO를 보고 왜 초난감 DAO라고 부르는 걸까? 토비님은 이렇게 DAO를 개발했다가는 쫒겨날지도 모른다고 했다 문제점 미래를 생각하지 않는코드, 이DAO에 변화가 있

2022년 9월 5일
·
0개의 댓글
·

Java 양방향 소켓 통신중 일어난일(readLine 무한)

Client에서 Server로 접속 후에 Socket 객체의 OutputStream를 통해서 서버에게 메시지를 전달하는데 이상하게 PrintWriter의 println 을 사용할 때는 데이터가 잘 전송됐는데 BufferedWriter ,PrintWriter, Outpu

2022년 7월 9일
·
0개의 댓글
·

HTTP 특징

오늘은 HTTP를 공부했다 HTTP란? Http(Hyper Text Transfer Protocol)는 말그대로 하이퍼텍스트를(html등) 교환하는 프로토콜이다. 하지만 html 뿐만아니라 요즘은 Http를 이용해서 json,xml,image,video 등 많은 데이터

2022년 5월 21일
·
0개의 댓글
·