전체 글 79

[Spring] Oauth 연동 - Oauth2 로그인 기능 구현하기

📌 참고 스펙Spring Boot 3.4.4JDK17Mysql 8.0.331. Oauth✅ Oauth란?애플리케이션이 특정 시스템의 보호된 리소스에 접근하기 위해, 사용자 인증을 통해 사용자의 리소스 접근 권한을 위임받는 것사용자가 클라이언트 서비스를 이용하기 위해 요청클라이언트는 검증 서버에 액세스 토큰을 요청검증 서버는 사용자에게 인가 동의를 요청인가 동의를 받은 검증 서버는 리소스에 접근할 수 있는 액세스 토큰을 생성해 클라이언트로 전송클라이언트는 액세스 토큰을 저장하고 리소스 서버에 요청리소스 서버는 액세스 토큰 검증 후 요청한 리소스를 클라이언트에 응답 2. build.gradleimplementation 'org.springframework.boot:spring-boot-starter-oau..

Spring 2025.01.22

[Spring] Oauth 연동 - JWT 로그인 기능 구현하기

📌 참고 스펙Spring Boot 3.4.4JDK17Mysql 8.0.331. JWT✅ JWT란?JSON Web Token은 JSON 객체로 정보를 안전하게 전송하는 자체적인 방법을 정의한 표준OAuth는 Token을 이용한 인증방식을 말하는 것이고 JWT는 TokenJWT를 생성할 때 헤더와 페이로드 정보를 인코딩하고, 이들을 합친 문자열에 대해 비밀 키로 서명을 생성한번 발급된 token은 수정, 폐기가 불가하여 Access token, Refresh token 사용1) JWT 라이브러리 📌 jjwt, java-jwtjjwt : Java 기반의 경량 JWT 처리 라이브러리로, JWT 생성, 파싱, 서명, 그리고 검증을 지원java-jwt : JWT 생성 및 검증뿐만 아니라 OAuth2, OpenI..

Spring 2025.01.21

[Error] Oauth 연동 - 이슈 정리

˙ 이슈 내용멀티 모듈인 환경에 api 모듈에서 core 모듈의 securityConfig 설정이 적용이 안됨 해결방법1. api모듈과 core모듈의 패키지 위치를 같은 위치로 맞춰준다.2. api모듈에서 실행되는 SpringBootApplication class의 패키지 위치를 core모듈의 securityConfig class의 패키지 위치보다 상위로 맞춰준다.3. @ComponentScan(basePackages = {"oauth.core.config"}) 또는 @SpringBootApplication(scanBasePackages = {"oauth.core.config"}) 처럼 명시적으로 선언한다. ˙ 오류 내용at org.springframework.aop.support.AopUtils...

오류 2025.01.17

[Spring] Oauth 연동 - Security6.x 정리

1. Filter용도 : 요청과 응답에 대해 전역적으로 처리할 작업에 주로 사용, 요청시 헤더를 검사해 인증 토큰 여부 및 검증하는데 사용동작 : DispatcherServlet 외부에서 요청이 전달되기 전과 후에 FilterChain을 통해 동작✅ 메소드init(), doFilter(), destroy()init() - filter가 생성될 때 수행되는 메소드doFilter() - 요청, 응답이 filter를 거칠때 수행되는 메소드, 파라미터로는 request, response, filterChain이 있음destroy() - filter가 사라질때 수행되는 메소드 2. Spring Security용도 : 인증과 인가에 대한 부분을 Filter의 흐름에 따라 처리하는데 사용✅ 동작과정사용자 요청Auth..

Spring 2025.01.15

[Chatbot] 챗봇 공부하면서 알게 된 용어 및 라이브러리 정리2

✅ Loss function머신러닝이나 딥러닝 모델이 예측한 값과 실제 값 사이의 차이를 측정하는 함수MSE, Cross-Entropy, CenterLoss, GMM등 다양한 Loss 함수가 있다.높은 정확도를 끌어내는 매개변수를 찾기위해 사용📌 MSE, Cross-Entropy , CenterLoss, GMMMSE - 평균 제곱 오차는 실제 값과 예측된 값의 차이를 제곱한 값들의 평균으로 계산, 큰 오차를 줄이는 데 사용Cross-Entropy - 모델이 예측한 확률과 실제 정답 간의 차이를 계산, 정답에 대해 얼마나 높은 확률을 예측했는지를 측정CenterLoss - Cross-Entropy는 정답을 맞추는 것을, Center Loss는 데이터를 잘 모으는 것에 사용 (그래서 보통 같이 사용)GMM..

코딩 2024.12.29

[코딩테스트] DFS 와 BFS 정리

1. DFS✅ DFS깊이 우선 탐색스택 자료구조 또는 재귀함수를 이용 2. BFS✅ BFS너비 우선 탐색큐 자료구조 이용 3. 문제https://school.programmers.co.kr/learn/courses/30/parts/12421 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 1) 타겟넘버정답 )더보기// DFS를 이용class Solution { int answer = 0; public int solution(int[] numbers, int target) { // 조건에 해당하는 재귀함수를 호출 (-/+) dfs(-1 * numbers[0], 1, n..

코딩 2024.12.28

[Chatbot] 챗봇 공부하면서 알게 된 용어 및 라이브러리 정리1

✅ Epoch이 전체 데이터 셋에 대해 한번의 학습 과정이 완료되면 한 번의 epoch가 진행하는것을 말함epochs = 40이라면 전체 데이터를 40번 사용해서 학습을 거치는 것epoch 값이 너무 작다면 underfitting이 너무 크다면 overfitting이 발생할 확률이 높다📌 언더피팅(underfitting), 오버피팅(overfitting)언더피팅 - 모델이 너무 간단하기 때문에 학습 오류가 줄어들지 않는 현상오버피팅 - 학습 데이터에 너무 과하게 적합하여, 새로운 데이터에 대해 정확한 예측을 하지 못하는 현상✅ Gensim텍스트 데이터에서 의미와 주제를 학습 하는데 특화된 라이브러리단어 임베딩할때 Word2Vec, FastText와 같은 모델을 사용하여 단어를 임베딩 벡터로 변환할때 사..

코딩 2024.12.22

[Hugo] 정적 포트폴리오 만들기

정적사이트 생성기 Hugo 사용 ( 같은 라이브러리로 Jekyll 등이 있음)장점속도가 빠르다다른언어 학습에 대한 부담이 적다 1. 윈도우 기준 Hugo 사이트로 가서 설치https://gohugo.io/installation/windows/ WindowsInstall Hugo on Windows.gohugo.io 2. Anaconda 가상환경을 이용한 설치conda install hugo# 설치후 확인 (0.139.3 사용)hugo version 3. hugo 프로젝트를 생성hugo new site 사이트 폴더명cd 사이트 폴더명# hugo-resume 사용hugo new theme 테마명 4. hugo 서버 실행 및 빌드# 서버 실행hugo server# 캐시 초기화후 실행hugo server --..

코딩 2024.12.10