전체 글 (14) 썸네일형 리스트형 좋좋소 - 좋은 저장소 선택하기 이전 글에서 인증/인가 기능을 관련하여 JWT와 Session 에 대해 다뤄봤다 클라이언트와 브라우저의 지속적인 연결, 즉 상태유지를 위해서는Session은 session id, JWT는 Access Token 을 서버측에 넘겨주어야 하므로 클라이언트(브라우저) 측은 session id 또는 Token을 계속해서 들고 있어야 한다. 그때 여기서 드는 의문이 한가지 있었다. Session ID와 Token을 도대체 어디에 저장해야할까? 오늘은 위의 질문에 대한 답을 찾으면서 내가 알게된 내용에 대해 정리해보려고 한다. ✅ Web Storage 와 Cookie 클라이언트 측에 정보를 저장하는 방법은 크게 4가지가 있다. 먼저 전통적으로 주로 사용되어왔던 Cookie,그리고 modern Storage APIs.. JWT 쓸바엔 Session을 쓰겠다 하지만 그럼에도 난 JWT 를 쓴다 프로젝트를 한다면 누구나 마주하게 될 인증/인가 기능그리고 그걸 구현할때 항상 생각하게 되는 부분 중 하나가 JWT(Json Web Token) 을 사용하느냐Session으로 쿠키를 굽느냐인거 같다. 이 글은 내가 두 방식에 대해 어떤기술을 쓸지 고민하면서 공부한 내용을 정리해봤다.✅ JWT vs Session 동작 비교 먼저 두 방식에 대해 간단한 동작 원리를 설명하자면Session 방식의 경우 1. TCP 연결 : 클라이언트와 서버가 3-Way handshake를 통해 연결을 맺는다2. HTTP 요청(로그인) : 사용자가 ID/PW를 담아 POST 요청을 보낸다3. 서버처리 : 서버 메모리(Redis 등)에 세션 정보를 생성하고 고유한 Session ID를 발급한.. 서버가 계속 말을 건다 프로젝트 진행 중, 서버에서 실시간으로 알림을 보낼 일이 생겼다.10초마다 알림을 보내야하는 기능을 어떻게 구현할지 고민하다가 알게된 3가지 실시간 기술Polling, Websocket, SSE중 SSE 를 사용해서 해당 기능을 구현하기로 했고 구현하면서 알게된 SSE 에 대한 내용들을 정리해보려고 한다. SSE (Sever - Sent - Events) 서버 전송 이벤트,보통 서버가 클라이언트로부터 요청을 기다리는 방식이지만 SSE는 서버가 클라이언트에게 데이터를 먼저 보낼 수 있는 방식이다. 해당 방식을 쉽게 이해하기 위해선 '일종의 뉴스레터 구독 서비스' 를 생각하면 될것 같다.일반적인 HTTP 통신의 경우- 요청과 응답- 클라이언트에서 요청을 하면 서버에서 응답을 해준다- 우리가 뉴스를 보기위해서.. ngrok으로 터널 뚫는 법 현직자 멘토링 진행중에 배포가 아직 안된,그러니까 로컬에서 개발중인 프로젝트를 멘토님에게 보여줘야 하는 상황이 생겼다.그때 알려주셨던 소프트웨어가 바로 "ngrok"(엔그록, 내 컴퓨터에서만 접속가능한 로컬 주소(localhost)를 외부에서도 출입하게 해준다.) ngrok의 설치와 사용방법은 사실 매우 간단하다.오늘은 그래서 대신 ngrok이 어떤 경우에 사용되는지 ngrok을 사용하는 주요 상황 과 동작원리에 대해 간단하게 정리해보려고 한다. ngrok 을 사용하는 상황 1. 웹훅(webhook) 테스트가장흔한 용도로 사용되는 경우다.더보기웹 훅(webhook) 이란? 데이터가 변경되었을 때 실시간으로 알림을 받을 수 있는 기능 (출처 : 토스페이먼츠 개발자 센터)로컬 개발중인데 외부 서비스가 우리.. 코테 log 계속 update 중성장을 위해 log를 찍습니다 2026.01.04 현재 등급 : 실버4백트래킹 감잡았다첨엔 이게 뭘까 했는데 걍 허벅지 개쎄게 꼬집고 푸니까 되긴되더라항상 풀기전에 왜 백트래킹인지 생각하고 풀기 화이팅이다 2026.01.06 현재 등급 : 실버3오늘은 그리디 하는중그리디인지 아닌지 잘 구분하려면 이것도 문풀이 답이다. 돈이 줄줄 새는 마법, AWS 과금을 막아보자 (feat. 탄력적 IP release) 억울하다 억울해 사이드 프로젝트하면서 잠깐 사용했던 AWS를 들어가보니3.98달러가 예측비용으로 나와있었다. 도대체 왜? 실제로 내야하는 비용은 2.96달러, 이미 저번달에 1.12 달러를 낸뒤로 모든 리전을 돌면서 인스턴스와 볼륨을 해제하고더 이상 비용이 청구될만한 서비스가 없다고 생각했는데 너무 안일한 생각이었나보다 오늘은 그 원인을 알아보고 해결하는 과정을 기록하려고 한다.❓원인은 '탄력적 IP' 비용이 청구되고 가장먼저 했던건 당연히 ' 청구서 ' 확인이었다.[결제 및 비용관리] → [청구서] 항목의 맨 하단을 보면 항목별 사용금액 확인이 가능한데 나의 경우 ' Virtual Private Cloud ' 라는 항목에서 모든 금액이 발생한 상황이었다. 이름에서 유추해볼수 있든 이런 경우 크게 두가지.. [RE : Joon - 구현] 16944 - 강력한 비밀번호 📌 문제 정보 및 요약문제 링크 : https://www.acmicpc.net/problem/16944항목내용문제 번호16944난이도b2유형구현시간 복잡도O(N) 문제 요약 : 주어진 비밀번호를 '강력한 비밀번호'로 만들기 위해 추가해야 하는 문자의 최소 개수를 구하기 🧠 문제 해결 아이디어 및 전략 조건 확인: 숫자, 소문자, 대문자, 특수문자 중 빠진 종류의 개수를 센다.길이 확인: 6글자가 되기 위해 부족한 글자 수를 센다정답: 위 두 값 중 더 큰 수가 정답문제에 대한 해결방법은 다양하다아스키 코드값을 통한 조건문 검사 (약간의 하드코딩) 가 가능하고아니면 아래처럼 java의 isDigit( ) 과같은 util함수를 쓴다면 보다 깔끔한 풀이도 가능 💻 정답 코드 package bronze.. [RE : Joon - basic] 13866 - 팀나누기 📌 1. 문제 정보 및 요약문제 링크 : https://www.acmicpc.net/problem/13866 항목내용문제 번호13866난이도b4유형사칙연산, 구현시간 복잡도O(N) 💡 문제 요약: 최소가 되는 팀의 레벨차이 구하기 🧠 2. 문제 해결 아이디어 및 전략특별하다고 할만한 아이디어같은 건 없다. 단지 실수하기 좋은 문제 1, 2, 3, 4번 선수가 있다고 했을때 최소가 될수 있는 조합은 1, 4 vs 2, 3 조합 하나밖에 없다. 그러나 4 5 5 5 처럼 레벨 스코어가 나왔을시 자칫하면 결과가 마이너스가 나올수 있기에 해당부분에 대해선 절댓값 처리가 필요하다 💻 3. 정답 코드 package bronze;import java.util.Scanner;public class boj_138.. 이전 1 2 다음