/users
/posts
/slides
/apps
/books
mysetting
/users
/posts
/slides
/apps
/books
2:09 6/29
velog.io
2:09
velog.io
0_0_yoon.log
https://velog.io/@0_0_yoon
000
저작도구: velog
최종 피드 수집: 2025-01-29 21:45
전체 (32)
6d
[Oracle Free Tier Review] 간헐적 메모리 부하
문제상황
간헐적으로 백엔드 서버가 먹통이 됨
원인
dnf가 메타데이터 캐시를 갱신하는 동안 메모리 사용량이 급격하게 증가해서 접속이 안되는 문제 발생
해결과정
OCI 메모리 사용량 보드 및 시스템 로그를 통해 원인 유추.
갱신주기
0
0
0
읽기모드
8M
이미지 리사이징
문제 상황
이미지 업로드 기능에 용량 제한이 없으며 이를 그대로 s3 에 업로드 한다.
예상되는 문제
용량이 큰 이미지를 업로드 하면 응답 속도가 느려(클라이언트에서 직접 s3 에 업로드 하도록 구현되어 있다) 사용자 경험이 나빠
0
0
0
읽기모드
8M
리액트 양방향 데이터 흐름 구현
문제상황
부모 컴포넌트와 자식 컴포넌트 간의 상호작용이 필요한 경우.
하나의 input 요소를 사용해서 감사메세지와 댓글 및 대댓글을 작성할 수 있도록 구현하는 과정이였다. 이때 input 요소는 감사메세지 컴포넌트가 가지고 있
0
0
0
읽기모드
11M
@JsonFormat 과 TimeZone 설정
문제상황: DB 에 저장된 시간대가 UTC 기준으로 저장되고 조회됨.
해결방법: application.yml 파일에 spring.jpa.properties.hibernate.jdbc.time_zone = Asia/Seoul 설정하
0
0
0
읽기모드
1y
레디스를 사용한 통합 테스트
문제상황
테스트 환경에서 임베디드 레디스를 사용해서 테스트를 진행.
예외 메세지: Unable to connect to Redis
org.springframework.data.redis.RedisConnectionFailureEx
0
0
0
읽기모드
1y
Jackson 역직렬화
문제상황
인수테스트에서 응답을 역직렬화하는 과정에서 아래와 같은 예외가 발생했다.
2023-11-15 20:35:45.875 WARN 54421 --- [o-auto-1-exec-1] .w.s.m.s.DefaultHandlerE
0
0
0
읽기모드
1y
JPA N + 1 문제 해결하기
문제상황
JPA 를 사용할 때 특정한 상황에서 추가적인 쿼리가 실행된다.
이때 DB ConnectionPool(Spring 의 경우 HikariCP 사용)은 한정 자원이므로 DB Connection 사용은 줄이는 게 좋다.
원인
0
0
0
읽기모드
1y
Virtual Thread (feat. Java 21)
서론
지난달 Final RC 가 끝난 Java 21 은 9월 19일에 출시된다. 새로운 기능 중 이번에 정식으로 제공되는 Virtual Thread 에 대해서 알아봤다.(19,20 에서 preview 기능으로 제공)
본론
Virt
0
0
0
읽기모드
1y
컴퓨터 구조
혼자 공부하는 컴퓨터 구조+운영체제를 읽으면서 이해한 내용을 20가지로 나눠서 정리해봤습니다. 내용 중 틀린 내용이 있다면 피드백 부탁드립니다!
1. 컴퓨터 구조를 알아야하는 이유
1. 문제 상황을 빠르게 진단할 수 있고, 문제
0
0
0
읽기모드
1y
ContentCachingRequestWrapper, ContentCachingResponseWrapper
문제상황
인터셉터에서 로깅 할 때 Requset, Response 의 Body 가 출력되지 않았다.
@Override
public boolean preHandle(final HttpServletRequest requ
0
0
8
읽기모드
1y
[Jackson] ObjectMapper 설정 변경하기
문제상황
응답 객체의 필드 이름을 isSelected(boolean 타입, private, Lombok @Getter 사용)로 지었는데 해당 객체를 사용하는 API 응답 값에서 isSelected 가 아닌 selected 로 출력
0
0
0
읽기모드
1y
CreatedDate 적용하기
JPA 를 사용하면서 느꼈던 이점 중 하나가 @CreatedDate 이다.
이름 그대로 생성 날짜를 자동으로 생성하고 JPA 로 자동으로 저장할 수 있다.
해당 어노테이션을 사용하기 위해서는 세 가지 작업을 해야한다.
첫 번째
0
0
0
읽기모드
1y
프로세스 계층 구조
IDEA 를 통해 애플리케이션을 실행하게 되면 IDEA 의 자식 프로세스로 새롭게 프로세스가 생성되며, 해당 프로세스 내부에서 새로운 프로세스를 생성하게 되면 현재 프로세스의 자식 프로세스로써 프로세스가 생성됨을 확인할 수 있다.
0
0
0
읽기모드
2y
Decorator pattern
새로운 기능을 추가할 경우 사용할 수 있는 디자인 패턴이다.
subclassing(상속) 을 사용하는 경우보다 더 효율적일 가능성이 있다.
Subclassing 을 하는 경우
기존의 클래스를 상속하는 경우 상위 클래스가 변경되면
0
0
0
읽기모드
2y
ControllerAdvice의 파라미터에 @CookieValue를 사용할 수 없는 이유
정확히 말하자면 ControllerAdvice의 @ExceptionHandler에서 파라미터에서 @CookieValue를 사용할 수 없는 이유다.
팀 프로젝트에 RefreshToken을 적용하는 과정에서 RefreshToken의
0
0
0
읽기모드
2y
Cache 맛보기
Cache 맛보기
캐시의 생명 주기(cache-control)
no-cache(강제 재검증) vs no-store(캐싱을 하지않음)
cache-control에 no-cache 로 설정하면 캐시를 사용하지만 항상 서버(프록시서버,
0
0
0
읽기모드
2y
HTTPS 통신 과정
HTTPS 는 TCP 위에 SSL/TLS 층을 추가하여 암호화, 인증 그리고 무결성 보장을 통해 더 안전하게 만들어주는 프로토콜이다.
대칭키와 공개키 방식을 전부 사용하는 하이브리드 방식이다. 데이터 전송을 위해 대칭키 방식을 사
0
0
4
읽기모드
2y
[레벨3] @ModelAttribute를 생략할 수 있는 이유
@ModelAttribute 는 요청 파라미터를 객체로 바인딩할때 사용된다. 그리고 생략이 가능하다 는 특징이 있다.
어떻게 생략이 가능한걸까? spring 내부를 뜯어보자.
먼저 빈이 등록되는 과정중에 afterPropertie
0
0
2
읽기모드
2y
[레벨3] Pageable 사이즈 제한하기
우리는 스프링에서 제공하는 Pagealbe을 사용해서 페이징 기능을 구현했다. (모르는게 없는 오찌의 Pagealbe 하드캐리 🙇♂️)
@GetMapping("/reviews")
public ResponseEntity<
0
0
0
읽기모드
2y
[2레벨] 좌충우돌 CORS 허용기
백엔드 서버 배포를 마친뒤 실제 프론트엔드와 연동해 데모하는 과정에서 일부 API에서 CORS 문제가 발생했다.
엥 CORS? 그게 뭐지?
(프론트엔드 서버와 백엔드 AWS 서버, 출처가 다르다.)
CORS 란 교차 출처 리소스
0
0
0
읽기모드
About
Badge
Contact
Activity
Terms of service
Privacy Policy