Hello Kitty Eyes Shut
본문 바로가기

분류 전체보기

(128)
[Backend] @Transactional 목차 (OPEN)🔎 @Transactional 이란🏃🏻‍♂️ 프록시 기반 동작 구조⚠️ 고려해야 할 것들1️⃣ 프록시 우회 호출 문제2️⃣ 체크 예외 록백 여부3️⃣ readOnly 옵션의 의미와 주의점4️⃣ 트랜잭션의 크기 조절5️⃣ 비동기 로직과 트랜잭션의 관계📚 결론 🔎 @Transactional 이란Spring Framework에서 @Transactional은 트랜잭션을 선언적으로 관리하기 위한 핵심 어노테이션이다.개발자가 비즈니스 로직 메서드에 @Transactional을 명시함으로써,해당 메서드 실행 전후에 트랜잭션의 시작과 종료를 자동으로 처리할 수 있도록 지원한다. 이는 PlatformTransactionalManager를 기반으로 하며,내부적으로는 AOP (Aspect ..
[트러블슈팅] Jest -> Vitest 마이그레이션 방법 목차 (OPEN)🧪 변경 이유🔁 Jest 👉🏻 Vitest 마이그레이션 방법📚 결론 🧪 변경 이유Jest는 Facebook에서 만든 JavaScript 테스팅 프레임워크로, 강력한 기능과 생태계를 자랑한다.그러나, 내 프로젝트의 개발 환경인 Vite와는 궁합이 좋지 않아서 여러 에러들이 발생했다. 그래서 애를 먹던 중에 ..🤯Vitest는 Vite의 빠른 번들링을 그대로 활용해서 빠른 실행이 가능하며,Jest와 유사한 API로 진입 장벽이 낮을 뿐만 아니라tsconfig, alias 등의 설정이 Vite 설정만으로 대부분 해결이 된다는 것을 알게 되었다. 그래서 Jest를 제거하고 Vitest로 전환하기로 결정했다. 🔁 Jest 👉🏻 Vitest 마이그레이션 방법1️⃣ 기..
[Backend] RedisConfig 작성: Redis 연동하기 목차 (OPEN)🚀 Redis 연동하기🏠 클래스 선언부🔑 프로퍼티 주입🌐 redisConnectionFactory✉️ redisTemplate📚 결론 🚀 Redis 연동하기Spring Boot 프로젝트에 Redis를 붙이려면 먼저 둘 사이를 연결하는 통로를 열어주어야 한다.아래 코드는 연결 통로를 열어주기 위해서 내가 사용한 설정 클래스인데, 이와 관련한 개념들을 정리해보고자 한다.import lombok.extern.slf4j.Slf4j;import org.springframework.beans.factory.annotation.Value;import org.springframework.cache.annotation.EnableCaching;import org.springframewo..
[Backend] RedisTemplate 목차 (OPEN)🎯 Redis Template🧐 Redis Template이 필요한 이유🧱 핵심 구성 요소📄 예시🤔 StringRedisTemplate과의 차이📚 결론 🎯 Redis TemplateRedis Template란 Spring Data Redis가 제공하는 고수준 클라이언트 객체이다. 즉, 자바 코드에서 Redis 명령을 쉽고 안전하게 다룰 수 있도록 래핑해놓은 바구니라고 보면 된다. 🧐 Redis Template이 필요한 이유전통적 접근RedisTemplate 접근Lettuce/Jedis 클라이언트를 직접 호출→ SET key value, GET key 등 문자열 명령 조합자바 메서드 호출 → template.opsForValue().set(key, obj) 같이 타입-안..
[Frontend] localStorage VS sessionStorage VS cookies 목차 (OPEN)💻 localStorage VS sessionStorage VS cookies 종합 비교📦 저장소 개념🧭 동작 및 수명🔐 보안 및 용량🎯 주로 사용되는 예시📚 결론 💻 localStorage VS sessionStorage VS cookies 종합 비교 📦 저장소 개념항목localStoragesessionStoragecookies정의클라이언트에 영구적으로데이터를 저장하는 Web Storage브라우저 탭 세션 동안만데이터를 저장하는 Web Storage클라이언트에 데이터를 저장하고서버로 자동 전송되는 작은 데이터저장 위치브라우저 (도메인별)브라우저 탭 (도메인 + 탭 별)브라우저 (도메인 + 경로 기준)데이터 형태문자열(String)만 저장 가능문자열(String)..
[Frontend] Cookies 목차 (OPEN)📦 sessionStorage🧩 개념 정리🏃🏻‍♂️ 동작 방식🔐 보안적 측면📑 요약 정리📚 결론 🍪 Cookiescookies는 웹 브라우저에서 제공하는 저장 방식 중 하나로,클라이언트 측에 데이터를 저장한 후, 매 HTTP 요청마다 자동으로 서버에 전송되는 작은 데이터 조각이다.사용자 인증, 세션 유지, 로그인 상태 확인 등 다양한 상황에서 널리 사용된다. 🧩 개념 정리 ✔️ 정의cookie는 서버 또는 클라이언트에서 설정할 수 있는 키-값 형태의 데이터로,웹 브라우저에 저장되어 요청할 때마다 자동으로 서버에 전송된다.이러한 특징 덕분에 사용자의 로그인 상태나 인증 정보를 서버가 지속적으로 파악할 수 있다. 🏃🏻‍♂️ 동작 방식1️⃣ 저장 구조쿠키는 도메인 단..
[Frontend] sessionStorage 목차 (OPEN)📦 sessionStorage🧩 개념 정리🏃🏻‍♂️ 동작 방식🔐 보안적 측면📑 요약 정리📚 결론 📦 sessionStoragesessionStorage는 웹 브라우저에서 제공하는 Web Storage API 중 하나로,브라우저 세션 시간 동안에만 데이터를 저장할 수 있도록 해주는 클라이언트 측 저장소이다. 🧩 개념 정리 ✔️ 정의sessionStorage는 페이지를 새로고침해도 유지되지만,탭을 닫거나 브라우저를 종료하면 자동으로 삭제되는 임시 저장소이다. 🏃🏻‍♂️ 동작 원리1️⃣ 저장 구조sessionStorage는 도메인 단위 + 탭 단위로 분리된다.즉, 같은 도메인이라도 새 탭이나 새 창에서는 완전히 별개의 sessionStorage 공간이 만들어진다.[Ch..
[Frontend] localStorage와 Cookies 목차 (OPEN)💾 localStorate🧩 개념 정리🏃🏻‍♂️ 동작 방식🔐 보안적 측면📦 localStorage VS 쿠키📚 결론 💾 localStoratelocalStorage는 웹 브라우저가 제공하는 Web Storage API의 한 종류로,키-값 형태의 데이터를 클라이언트 측에 영구적으로 저장할 수 있게 해준다. 🧩 개념 정리📢 정의localStorage는 웹 애플리케이션이 사용자의 브라우저에 데이터를 직접 저장하고, 유지할 수 있게 해주는 저장소이다. 🔓 비유브라우저 안에 있는 열쇠 없는 사물함이라고 생각하면 된다.언제든 꺼내 쓸 수 있지만, 보안이 허술하고 누구나 열 수 있다는 한계가 있다. 🏃🏻‍♂️ 동작 방식1️⃣ 저장 가능한 위치와 조건localStorage는 ..