2025/03 4

[CS] 디자인 패턴의 개념

디자인 패턴프로그램을 설계할 때 발생했던 문제점들을 객체 간의 상호 관게 등을 이용하여 해결할 수 있도록 하나의 '규약' 형태로 만들어 놓은 것1. 싱글톤 패턴(singleton pattern)하나의 클래스에 오직 하나의 인스턴스만 가지는 패턴 - 원래는 하나의 클래스에 여러 인스턴스 만들기 가능- 보통 데이터베이스 연결 모듈에 사용 ( createConnection )- 하나의 인스턴스를 만들고 이를 다른 모듈들이 공유하며 사용 - 인스턴스 생성 비용이 줄어드는 장점- 의존성이 높아진다는 단점 자바에서의 싱글톤 패턴- 중첩 클래스를 이용해 만드는 방법이 대중적 MySQL의 싱글톤 패턴- Node.js에서 MySQL DB 연결 시- DB연결 인스턴스 정의- 다른 모듈 A,B 에서 해당 인스턴스 기반 쿼리..

CS 2025.03.14

[AWS] AWS 개발자님 초청 세미나를 듣고 나서

오늘은 학교에서 아마존 미국 본사 AWS 이종현 개발자님의 초청 세미나가 열렸다. 1시간 정도 진행되었던 세미나였는데, 재미있게 들을 수 있었고 이에 대해 정리해 보려고 한다. AWS EC2?EC2는 서버 임대 서비스로 전세계적으로 이용되고 있다.주로 서버, 네트워크, 시큐리티에 신경을 쓰고 있다고 하셨다. - 가상 서버 제공- 필요에 따라 서버 용량을 늘리거나 줄일 수 있다- 사용한만큼만 지불- 보안기능 제공- 다양한 인스턴스 유형- 스토리지 옵션 - ebs, local storage- 고성능 네트워크 기능- 모니터링 기능 서버 타입General (Intel, AMD, Gravition) Accelerated, Network/Storage optimized, High performance, Mac in..

AWS 2025.03.05

[Spring] JWT의 개념과 구조

서버가 클라이언트의 인증을 확인하는 방식에는 대표적으로 세션, 토큰 ,쿠키 방식이 있다.오늘은 JWT에 대해 알아보도록 하자JWT (JSON Web Token)인증에 필요한 정보들을 암호화시킨 JSON 토큰이다.  JWT는 헤더, 페이로드, 시그니처로 이루어져있다.각 부분을 base64로 인코딩해서 .(마침표)로 연결하면 우리가 아는 JWT가 된다.  1. 헤더(Header)- alg : 서명 암호화 알고리즘  (서명 값을 만드는데 사용되는 알고리즘)헤더 + 페이로드 + 서버의 시크릿키를 해당 암호화 알고리즘에 넣고 돌리면 서명 값이 나온다. - typ : 토큰 유형 (언제나 JWT가 들어간다.)  2. 내용(Payload)다음은 Base64로 디코딩해서 나타는 JSON형식 정보들이다.토큰에 담긴 사용자..

Spring/JWT 2025.03.03

[Spring] JWT 리팩토링 #1

전 프로젝트에서 JWT 기반 인증 방식을 구현했다.하지만 코드를 다시 뜯어보면서 리팩토링이 필요한 부분들이 눈에 보여 이를 시작해보려고 한다.리팩토링이 필요한 부분1. JWT기반으로 적용할 것이기 때문에 formLogin, httpBasic을 명확히 disable 해주도록 하겠다.2. 현재 로그인 방식은 Spring Security를 잘 이용하지 못했기 때문에 바꾸어주겠다. 현재 코드의 유저 동작 과정 1. 로그인을 하면api/users/login 컨트롤러로 가서 서비스에서 이메일을 기준으로 DB 회원 정보의 비밀번호와 비교하여일치한다면 Access Token과 Refresh Token을 생성해준다. 2. 그럼 응답으로 AccessToken이 온다. 3. 프론트에서는 해당 응답을 받아 세션 스토리지에 저..

Spring/Refactoring 2025.03.02