Hello Kitty Eyes Shut
본문 바로가기

전체 글

(128)
[Backend] Redis TTL + JWT 목차 (OPEN)🧠 Redis TTL📚 TTL (Time To Live)이란?🧐 왜 TTL을 설정해야 할까?🔥 JWT 기반 인증 시스템에서의 TTL 설정 전략💡 왜 AccessToken은 Redis에 저장하지 않을까?❗ AccessToken을 Redis에 저장하는 경우 🧠 Redis TTL오늘은 JWT + Redis 인증 시스템에서 TTL (Time To Live)을 꼭 설정해야 하는 이유에 대해서 알아보고자 한다. 🧐 📚 TTL (Time To Live)이란?TTL은 Redis에서 데이터가 자동으로 삭제되는 시간을 말한다.즉, Redis에 값을 저장할 때 유효 기간을 함께 설정하면, 그 시간이 지나면 자동으로 삭제되는 것이다. redisTemplate.opsForValue().set..
[Frontend] Zustand 목차 (OPEN)🐻 Zustand란?✨ 상태 관리란?😵 기존 상태 관리 라이브러리의 문제점🚀 핵심 특징🛠 설치 및 사용 방법🤔 Zustand를 사용해야 하는 이유🧠 결론 🐻 Zustand란?React에서 사용하는 상태 관리 라이브러리 Zustand는 React 앱에서 컴포넌트 간에 데이터를 더 편하게 주고받을 수 있도록 도와주는 도구이다.이 글에서는 Zustand가 어떤 역할을 하는지, 왜 필요한지, 어떻게 사용하는지를 차근차근 알아보고자 한다. ✨ 상태 관리란?React에서는 컴포넌트 간에 데이터를 주고받을 때 state (상태)를 사용한다.예를 들어, 로그인 여부나 다크 모드 설정처럼 여러 컴포넌트에서 함께 사용하는 값이 있다면 이를 상태로 관리해야 할 것이다.const [isLo..
[Backend] JWT 목차 (OPEN)📌 JWT란🔍 JWT의 정의🧱 구성 요소 상세 분석1️⃣ Header2️⃣ Payload3️⃣ Signature✈️ 왜 JWT를 사용할까?🔐 JWT와 OAuth의 차이점🧠 결론 📌 JWT란JWT (Json Web Token)이란 웹 애플리케이션에서 사용자 인증 (Authentication)과 권한 부여 (Authorization)를 위해 사용되는 토큰 기반 인증 방식이다.이 토큰은 클라이언트-서버 간에 사용자 정보를 안전하게 교환하기 위해 사용되며,특히 HTTP 헤더를 통해 전달 가능하고, 자체적으로 인증 정보를 포함하고 있다는 점에서 널리 사용된다. JWT는 그 자체로 디지털 서명이 포함된 JSON 객체이며, 세션 없이 인증 상태를 유지할 수 있는 구조를 제공한다. 🔍 ..
[Backend] Java 17 VS Java 21 목차 (OPEN)✨ 들어가며✅ 요약🧠 구체적인 비교🏗️ 새로운 언어 기능들🚀 성능 향상🔧 실무 라이브러리 / 프레임워크 호환성⏳ 안정성 VS 최신 기능🧠 마무리 정리 ✨ 들어가며그동안은 당연하게 Java 17을 사용해왔었는데,GPT와 대화하던 도중 자꾸 Java 21에 대한 얘기를 꺼내길래두 개가 뭐가 달라서 GPT가 자꾸 비교를 하는지 궁금해졌다. 따라서 이번 포스팅에선 Java 17과 Java 21은 뭐가 다른지와둘 중 무엇을 쓰는 게 좋을지에 대해서 정리해보고자 한다. ✅ 요약이번에는 기존 포스팅과는 다르게 바로 요약부터 해보고 시작하고자 한다. Java 17과 Java 21의 차이점을 요약하면, 아래의 표와 같다.항목Java 17Java 21출시일2021.092023.09LTS 여부..
[Backend] CI 설정에서 distribution 목차 (OPEN)✨ 들어가며📌 distribution이란📦 JDK 배포판이란💥 adopt VS temurin 차이점🎯 마무리 ✨ 들어가며새로운 개인 프로젝트를 시작하면서평소와 같이 아무 생각 없이 CI 설정을 하던 중문득 distribution이 무엇인지 궁금해졌다. 나는 distribution: 'temurin'을 사용하는데,지인 github를 구경해보니 'adopt'를 사용하는 것을 보았기 때문이다. 그래서 그동안 기계적으로 ci.yml 파일을 작성하고,정작 그 안의 내용들이 무엇인지 모르던 스스로를 반성하며오늘 포스팅에서는 distribution이 무엇인지 정리해보고자 한다. 📌 distribution이란distribution은 어디서 제공하는 JDK (자바 개발 키트)를 쓸 것인지 ..
[Frontend] 배열 구조 분해 할당 (Array Destructuring) 목차 (OPEN)✨ 들어가며🎯 const [a, b] = useState ( ... )🧩 useState란✨ 예제🤔 배열 구조 분해를 사용하는 이유💡 배열 구조 분해 할당 정리🌟 마무리 정리 ✨ 들어가며이전 포스팅에서 const 라는 키워드에 대해서 알아보았는데,보통 프론트엔드 코드를 짜다 보면 const [..., ...] 형태를 더 자주 보게 된다. 얘를 배열 구조 분해 할당 (Array Destructuring) 이라고 부른다는데,특히 useState 랑 함께 사용할 때 위의 구조가 자주 보이는 것 같다. 그러나 프론트엔드를 처음 공부하기 시작한 내 입장에서는뭐가 뭔지 모르겠기 때문에 이번 포스팅에서 하나씩 정리해보고자 한다. 🎯 const [a, b] = useState ( .....
[Frontend] 타입스크립트에서 const 란? 목차 (OPEN)✨ 들어가며🏷️ 기본 개념✅ const란📦 const VS let VS var 비교🧩 속성 변경은 가능할까?💡 const를 언제 써야 할까🎁 예제 정리📝 마무리 ✨ 들어가며const name = "소연"; 위 코드를 보면 "name"이라는 변수에 "소연"이라는 문자열을 담고 있는데,여기서 사용된 const란 변하지 않는 값을 선언할 때 사용하는 키워드이다.즉, 상수 (Constant)라는 의미이다. 그렇다면 정말 변하지 않는 걸까?그럼 변수 let이랑 const는 뭐가 다른 걸까?const로 객체나 배열을 만들면 내부 값도 못 바꾸는 걸까? 이런 궁금증들이 생겨서 하나씩 자세히 정리해보고자 한다. 🏷️ 기본 개념✅ const란const는 재할당이 불가능한 변수를 선언할 때..
[Frontend] 컴포넌트란 목차 (OPEN)🎯 컴포넌트 (Component)📦 비유하자면: 컴포넌트 = 레고 블록 🧱🧠 왜 컴포넌트가 중요할까🧩 컴포넌트의 종류❗ 주의사항 🎯 컴포넌트 (Component)컴포넌트란 무엇인지를 한 줄로 정리하면,UI (User Interface)를 구성하는 조각이다. 📦 비유하자면: 컴포넌트 = 레고 블록 🧱UI를 컴포넌트로 만든다는 것은,마치 레고로 집을 짓는 것과 똑같다고 보면 된다. 🔘 버튼 하나 👉🏻 레고 블록 하나📝 입력창 하나 👉🏻 또 다른 레고 블록 🧾 카드 전체 👉🏻 여러 블록을 조합한 묶음🏠 페이지 전체 👉🏻 작은 블록들로 조립된 완성품 즉, 복잡한 UI를 작고 독립적인 블록으로 쪼개서필요한 위치에 가져다 붙이는 것이다. 🧠 왜 컴포..