profile
기록하는 공간
post-thumbnail

[자바] - 날짜와 시간

LocalDate: 날짜만 표현할 때 사용한다 ex) 2013-11-21 LocalTime: 시간만을 표현할 때 사용한다. 시, 분, 초를 다룬다. ex) 08:20:30.213LocalDateTime: LocalDate 와 LocalTime 을 합한 개념 ex) 2

2025년 11월 29일
·
0개의 댓글
·

우테코 - [회고] 3주차

2주차 미션을 진행할 때부터 테스트 코드 작성 시점에 대한 고민이 많았습니다.하나의 기능을 구현하고 곧바로 테스트 코드를 작성할 경우, 리팩토링이 많은 저에게는 테스트 코드와 패키지 구조 또한 함께 바뀔 것으로 예상되어 리팩토링 시간이 두 배로 늘어날 것 같았기 때문입

2025년 11월 17일
·
0개의 댓글
·
post-thumbnail

[Spring AOP] 하나의 프록시, 여러 Advisor

어떤 스프링 빈이 advisor1, advisor2 가 제공하는 포인트컷의 조건을 모두 만족하면 프록시 자동 생성기는 프록시를 몇개 생성할까?프록시 자동 생성기는 프록시를 하나만 생성한다.프록시 팩터리가 생성하는 프록시는 내부에 여러 Advisor등을 포함 할 수 있기

2025년 10월 20일
·
0개의 댓글
·
post-thumbnail

JVM21에 등장한 Virtual Thread (Context Switching Test)

Virtual Thread 를 알아보기전에 기존의 Native Thread 의 context switching 이 발생하는 원리에 대해 알아보자기존의 JVM 에 존재하는 톰캣 스레드는 커널스레드와 1대1로 매핑되어 실행이 되는 구조이다.지금까지 CPU 코어가 톰캣 스레

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

SSE 를 이용한 이벤트 전송

SSE 는 그냥 단순하게 단향방 통신에서 사용된다 이정도만 알고 사용하였다.그저 HTTP에서 지원해는 기능? 정도 구나라고 생각했지만HTTP가 지원하는 기능이라기보다는HTTP 위에 정의된 이벤트 전송 규약(HTML5 표준)이라고 한다.SSE는 HTTP 위에서 동작하는

2025년 9월 29일
·
0개의 댓글
·

JPA - 페이징과 한계 돌파

페이징 + 컬렉션 엔티티를 조회하려면 어떻게 해야할까데이터가 뻥튀기 되지 않게 할수 없을까???이렇게 order 를 기준으로 페이징을 할 경우는 어떻게 해야할까쉽게 말해서 Order 엔티티는 OrderItem 과 일대다 관계이기 때문에fetch join 을하고 페이징이

2025년 7월 30일
·
0개의 댓글
·
post-thumbnail

JPA - 컬렉션 fetch join

먼저 Fetch join 을 하지 않을때 어떤 문제점이 발생하는지 알아야 Fetch join 을 잘 사용할 수 있다여기서 먼저 Lazy 로딩이 뭔지 알아보자.엔티티를 접근해서 특정 필드에 접근하면 그때 연관관계에 있는 엔티티가 실제로 주입이 된다.즉 order.getM

2025년 7월 30일
·
0개의 댓글
·

멀티 스레드 - Lock , CAS 비교

CAS 연산을 사용하면 Lock 을 사용했을 때보다 성능상 좋았다.이런 결과가 왜 이러난 것일까?예를 들어 스레드 100개를 동시에 실행했을때 한 쓰레드가 Lock 을 소유하게 되면다른 스레드 99개는 전부 CPU 자원을 사용하지 않는 상태가 된다.(BLOCKING ,

2025년 7월 25일
·
0개의 댓글
·

멀티쓰레드 - CAS , LOCK, VOLATILE 성능테스트

CAS는 비차단 알고리즘의 대표격입니다. 스레드는 공유 변수의 예상 값(expected)과 실제 메모리 값을 비교하고, 같을 때만 새로운 값으로 교체합니다. 다른 스레드가 변수 값을 바꾸고 있더라도 해당 스레드는 대기(block)하지 않고 즉시 재시도(retry)할

2025년 7월 24일
·
0개의 댓글
·

Redis - 사용, 실습

Redis 단일 쓰레드에서 실행이 되기 때문에 동시성 문제에 대해 고민할 필요 조차 없다.레디스 주요 특징key-value로 구성된 단순화된 데이터 구조로 sql 쿼리 사용 불필요빠른 성능인메모리 NoSQL 데이터베이스로서 빠른 성능rdb는 기본적으로 disk에 저장이

2025년 7월 24일
·
0개의 댓글
·

SpringBoot -redis with cache

아래 3개 (RedisTemplate, StringRedisTemplate, RedisCacheManager) 를 “무엇이고 / 언제 쓰고 / 어떻게 쓰고 / 서로 관계” 관점에서 처음 배우는 사람이 바로 그림 잡도록 정리했어.(핵심 → 비유 → 코드 → 선택 기준 순

2025년 7월 19일
·
0개의 댓글
·

멀티스레드 - CPU 코어에 맞는 쓰레드 풀 개수

각각의 스레드가 하는 작업은 크게 2가지로 구분할 수 있다.CPU-바운드 작업cpu의 연산 능력을 많이 요구하는 작업을 의미한다.이러한 작업은 주로 계산, 데이터 처리, 알고리즘 실행 등 cpu의 처리속도가 작업 완료 시간을 결정하는 경우다.예시 : 복잡한 수학 연산,

2025년 7월 18일
·
0개의 댓글
·
post-thumbnail

2. 멀티스레드 - 스레드 생성과 실행

메서드 영역(Method Area) : 프로그램을 실행하는데 필요한 공통 데이터 관리. 이 영역은 프로그램의 모든 영역에서 공유한다.클래스 정보 : 클래스의 실행 코드, 필드 , 메서드와 생성자 코드등 모든 실행 코드가 존재한다.stati 영역 : static 변수들을

2025년 7월 17일
·
0개의 댓글
·
post-thumbnail

1. 프로세스와 스레드

먼저 프로그램의 실행이란 프로그램을 구성하는 코드를 순서대로 cpu 에서 연산(실행) 하는 일이다.cpu 코어는 하나라고 가정할때 cpu 코어 하나는 하나의 프로그램 코드만 실행 가능하다.예를들어 음악프로그램을 실행과 동시에 롤을 한다고 가정하자. 프로그램을 순차적으로

2025년 7월 17일
·
0개의 댓글
·
post-thumbnail

CICD : Docker + github Actions

먼저 기본세팅으로 EC2 에 Docker 를 설치 하여야 한다.위에서 과정을 보면 AWS ECR 에서 Docker 이미지를 pull 받아서 컨테이너로 띄어서 실행시키야 되기 때문에 Docker, Docker Compose 설치가 필수적이다.Configuration 설정

2025년 7월 4일
·
0개의 댓글
·

AWS - IAM 사용자(user), 역할(role), 정책 질문사항

\-> 맞습니다! 완전히 정확한 이해예요!이때 이 IAM 사용자는 인간이 아니라 프로그램(Spring Boot) 이 사용하는 계정이라고 생각하시면 이해하시기 편할거에요 ~Spring Boot에서 S3 접근 = “프로그래밍 접근 전용 사용자” + 권한 부여 + 액세스 키

2025년 7월 4일
·
0개의 댓글
·

AWS - SSL 인증

네, 바로 그거예요. 정확히 핵심을 짚으셨습니다. 👏👏브라우저는 단지 "주소가 https 인가?"만 보고 SSL을 강제합니다.브라우저가 직접 요청하는 대상이 CloudFront이든, Nginx이든, 그 대상이 SSL을 직접 처리해야 함.🔹 CloudFront는 정

2025년 7월 2일
·
0개의 댓글
·
post-thumbnail

AWS - ACM , Route53, CloudFront

"인증서를 적용할 도메인을 적고, 그 도메인에 인증서를 입히는 절차라고 이해해도 돼?"✅ 맞습니다, 정확히는 이렇게 표현할 수 있어요:ACM은 내가 특정 도메인(www.heeun-test.com)의 소유자임을 증명하고,그 도메인에 HTTPS 통신을 적용할 수 있도록 인

2025년 7월 1일
·
0개의 댓글
·
post-thumbnail

AWS - ELB/ TLS, SSL 과 HTTPS

트래픽(부하)를 적절하게 분배해주는 장치를 보고 전문용어로 로드밸런서 라고 부른다. 서버를 2대 이상 가용할 때 ELB를 필수적으로 도입하게 된다.출처 : https://cloudacademy.comELB의 로드밸런서 기능을 사용하지 않고 ,ELB 의 부가 기

2025년 7월 1일
·
0개의 댓글
·
post-thumbnail

AWS - DockerCompose 를 이용한 수동배포, 컨테이너환경, 환경변수 설정

yml 을 분리해서 빌드를 후, 서버에서 docker 로 컨테이너 환경에서 배포했을때 application-dev.yml 을 설정값으로 사용하려면 어떻게 해야할까?로컬에서는 IDE 를 통해 profile 만 바꾸면 되지만, 서버에서 컨테이너기반으로 실행 시킬때는dock

2025년 7월 1일
·
0개의 댓글
·