분류 전체보기 127

JWT (JSON Web Token) - 실습

1. 환경변수 설정 (CMD)32Byte 랜덤 생성 $b = New-Object 'System.Byte[]' 32 [Security.Cryptography.RandomNumberGenerator]::Create().GetBytes($b)Base64 문자열로 변환$base64 = [Convert]::ToBase64String($b)환경변수에 base64 "문자열"을 저장// 키 이름: JWT_SECRET, 값: $base64(이전 단계에서 변환한 값), User 범위로 사용하겠다는 의미[Environment]::SetEnvironmentVariable("JWT_SECRET", $base64, "User")확인 방법// 저장된 값 bash에 출력[Environment]::GetEnvironmentVariab..

Spring boot 2025.09.24

JWT (JSON Web Token) - 이론

1. 토큰 이론사용자 인증 확인 방법에는 두가지가 존재서버 기반 인증 (세션 인증): Spring Security 기본 제공토큰 기반 인증토큰 기반 인증 특징무상태성서버에서 인증 정보(토큰)을 저장할 필요 X (서버에 데이터 유지는 자원 소비가 큼)상태 관리: 클라이언트에서 사용자의 인증 상태를 유지하며 이후 요청 처리서버 입장: Client의 정보를 저장/유지 X -> 완전한 무상태(Stateless)확장성무상태성의 영향 -> 서버 확장 시 상태관리 신경 X -> 서버 확장 용이세션 기반: 각각의 API에서 인증토큰 기반: 하나의 토큰으로 요청(Request)을 보냄추가: 페이스북, 구글 등 토큰 기반 인증을 사용하는 다른 시스템에 접근 가능이를 활용해 다른 서비스에 권한 공유 가능무결성토큰..

Spring boot 2025.09.23

[회고록] 패스트캠퍼스 부트캠프 3

01. 학습 내용[회고록] REST API 규칙 [회고록] REST API 규칙🔵 REST API란?REST는 REpresentational State Transfer의 약자쉽게 말하면, "웹 자원(Resource)을 규칙에 맞게 주고받는 방법"API는 "프로그램끼리 통신하는 방법"👉 REST API = "REST 원칙을 지켜서 만들어진 API"🔵beginner-in-coding.tistory.com[머신러닝 & 딥러닝] 결정 트리 (Decision Tree) [머신러닝 & 딥러닝] 결정 트리 (Decision Tree)01. 결정 트리(Decision Tree)설명이 필요할 때 유용한 모델일련의 질문에 대한 결정을 통해 데이터를 분해결정 알고리즘트리의 루트(root, 즉 제일 상위에 있는 노드)에..

회고록 2025.04.28

[머신러닝 & 딥러닝] 데이터 전처리 - 좋은 데이터셋 만들기

00. 데이터 전처리머신 러닝 알고리즘의 중요 요소: 데이터 품질 & 정보의 양데이터를 모델에 주입하기 전, 조사하고 전처리하는 과정이 필수01. 누락된 데이터 다루기NaN, NULL: RDB에서 모르는 값을 지칭하는데 사용누락된 값을 무시하고 학습할 경우 예상치 못한 결과가 발생, 따라서 분석을 하기 전 누락된 값을 처리하는 것이 중요방법(Python의 DataFrame으로 다룸)테이블 데이터에서 누락된 값 식별isnull()을 통해 셸이 수치 값을 가지고 있는지(false) 가지고 있지 않은지(true)를 불리언 값이 채워진 DataFrame으로 반환이를 sum()을 통해 각 특성마다 몇 개씩 보유하고 있는 지 확인누락된 데이터 다루는 전략들 활용전략 1: 누락된 값이 있는 훈련 샘플이나 특성 제외하..

[Spring Boot] TDD (Test-Driven Development)

📋 Spring Boot TDD 기본 흐름TDD는 항상 3단계 사이클:Red – 실패하는 테스트 작성 (처음엔 무조건 실패해야 정상)Green – 테스트를 통과시키기 위한 최소한의 코드 작성Refactor – 코드를 예쁘게 다듬고 최적화 (테스트는 계속 통과해야 함)즉,테스트 먼저 → 코드 작성 → 리팩터링✨ Spring Boot TDD 실습 예시예를 들어, "회원가입" 기능을 만든다고 가정1. 실패하는 테스트 먼저 만들기 (Red)// src/test/java/com/example/demo/MemberServiceTest.javapackage com.example.demo;import org.junit.jupiter.api.Test;import static org.assertj.core.api.Ass..

Spring boot 2025.04.22

[회고록] REST API 규칙

🔵 REST API란?REST는 REpresentational State Transfer의 약자쉽게 말하면, "웹 자원(Resource)을 규칙에 맞게 주고받는 방법"API는 "프로그램끼리 통신하는 방법"👉 REST API = "REST 원칙을 지켜서 만들어진 API"🔵 REST의 기본 원칙1. 자원(Resource) 기반서버는 자원(데이터) 를 중심으로 다룸예를 들어, 상품, 회원, 주문 같은 게 다 "자원"2. HTTP 메서드(Method)로 의도를 표현한다무슨 작업을 하고 싶은지는 HTTP 메서드로 표현대표적인 메서드:메서드의미GET자원을 조회한다 (읽기)POST자원을 새로 만든다 (추가)PUT자원을 수정한다 (전체 수정)PATCH자원을 수정한다 (부분 수정)DELETE자원을 삭제한다👉 예를..

회고록 2025.04.22

[머신러닝 & 딥러닝] 랜덤 포레스트 (RandomForest)의 특성 중요도 사용

01. 랜덤 포레스트(RandomForest)앙상블 기법 중 하나앙상블에 참여한 모든 결정트리에서 계산한 평균적인 불순도 감소로 특성 중요도를 측정사이킷런의 랜덤 포레스트 구현: 특성 중요도 값을 이미 수집함RandomForestClassifier의 feature_importances 속성에서 확인 가능SelectFromModel: 사용자가 지정한 임계값을 기반으로 특성 선택트리 기반 모델은 표준화나 정규화가 필요 없음 → 랜덤 포레스트를 훈련하고 각각의 상대적 중요도에 따라 특성에 순위를 매기기 때문특성 중요도의 합: 1결정 트리에서 평균적인 불순도 감소를 기반으로 이 데이터셋에서 가장 판별력이 좋은 특성을 찾을 수 있음중요한 참고 사항모델 해석을 고려할 경우, 랜덤 포레스트에서 두 개 이상의 특성이 ..

[머신 러닝 & 딥러닝] 랜덤 포레스트 (Random Forest)

01. 랜덤 포레스트 (Random Forest)앙상블(ensemble): 뛰어난 분류 성능 + 과대적합에 안정적종류: 배깅(bagging), 부스팅(bosting)랜덤 포레스트: 결정 트리 기반의 앙상블아이디어: 여러 개의 (깊은) 결정 트리를 평균을 내는 것, 즉 개개의 트리는 분산이 높은 문제가 발생하지만 견고한 모델을 만들어 일반화 성능을 높이고 과대 적합의 위험을 줄임단계 요약n개의 랜덤 한 부트스트랩(bootstrap) 샘플을 뽑음(훈련 데이터셋에서 중복을 허용하면서 랜덤 하게 n개의 샘플을 선택)부트스트랩 샘플에서 결정 트리를 학습, 각 노드에서 다음과 같이 진행중복을 허용하지 않고 랜덤하게 d개의 특성을 선택정보 이득과 같은 목적 함수를 기준으로 최선의 분할을 만드는 특성을 사용해서 노드를..

[머신러닝 & 딥러닝] 결정 트리 (Decision Tree)

01. 결정 트리(Decision Tree)설명이 필요할 때 유용한 모델일련의 질문에 대한 결정을 통해 데이터를 분해결정 알고리즘트리의 루트(root, 즉 제일 상위에 있는 노드)에서 시작해서 정보 이득(Information Gain, IG)가 최대가 되는 특성으로 데이터를 나눔반복 과정을 통해 리프 노드(leaf node, 즉 마지막 노드)가 순수해질떄까지 모든 자식 노드에서 이 분할 작업을 반복즉, 각 노드의 모든 훈련 샘플은 동일한 클래스에 속함노드가 많은 깊은 트리의 문제점: 과대 적합의 문제 발생 → 일반적으로 트리의 최대 깊이를 제한하여 트리를 가지치기(pruning)함 02. 정보 이득 최대화: 자원을 최대로 활용트리 알고리즘으로 목적 함수를 사용하는 이유: 가장 정보가 풍부한 특성으로 노드..

[회고록] 패스트캠퍼스 부트캠프 3

기간: 2025.04.14 ~ 2025.04.2101. 학습 블로그[머신러닝 & 딥러닝] 적응형 선형 뉴런(ADAptive Linear NEuron, ADALINE)[머신러닝 & 딥러닝] K-최근접 이웃(K-Nearest Neighbor, KNN)[Python] 시각화[머신러닝 & 딥러닝] K-means 알고리즘[머신러닝 & 딥러닝] 퍼지 C-평균(Fuzzy C-Means, FCM)[머신러닝 & 딥러닝] 비지도 학습에서의 성능 평가 (1) - 엘보우 방법[머신러닝 & 딥러닝] 비지도 학습에서의 성능 평가 (2) - 실루엣 그래프[머신러닝 & 딥러닝] 딥러닝을 시작하기 전에[머신러닝 & 딥러닝] K-Means 튜닝 하이퍼파라미터

회고록 2025.04.21