분류 전체보기
-
[Webflux] Reactor Hot And Cold PublisherSpring 2023. 2. 22. 20:32
Hot and Cold Publishers는 데이터 스트림을 생성하는 Publisher의 두 가지 유형입니다. Cold Publishers Subscription이 이루어지기 전까지 데이터를 생성하지 않는 Publisher를 Cold Publisher라고 합니다. 이것은 HTTP 요청과 유사하게 생각해볼 수 있습니다. 호출을 하지 않으면 결과도 없습니다. 각 Subscription은 해당 Publisher의 데이터를 처음부터 시작합니다. Cold Publisher는 데이터를 생성하고 Subscriber가 Subscription을 요청할 때 데이터를 제공합니다. Flux source = Flux.fromIterable(Arrays.asList("blue", "green", "orange", "purple"..
-
JWT 란기타 2023. 2. 20. 23:13
JWT(JSON Web Token)는 웹 토큰으로써, 인증 정보를 JSON 형태로 표현하고, 해당 정보에 대한 디지털 서명을 제공하여 안전하게 전달하는 방식입니다. 이를 통해 사용자 인증 및 권한 부여를 간편하게 구현할 수 있습니다. JWT는 세 파트로 이루어져 있습니다. 첫 번째 파트는 Header로, 암호화 알고리즘과 토큰 타입을 명시합니다. 두 번째 파트는 Payload로, 실제 전달하고자 하는 정보가 담겨 있습니다. 마지막으로 세 번째 파트는 Signature로, 이전 두 파트를 합친 후 비밀키로 서명한 값입니다. 이를 통해 토큰이 변조되지 않았는지 검증할 수 있습니다. JWT는 HTTP 요청 헤더, 쿠키 등 다양한 방식으로 전달될 수 있으며, 클라이언트와 서버 간에 인증 정보를 안전하게 전달하기..
-
Spring IoC와 DI에 관하여Spring 2023. 2. 20. 00:49
HTML 삽입 미리보기할 수 없는 소스 IoC와 IoC 컨테이너 IoC (Inversion of Control)은 객체 지향 프로그래밍에서 사용되는 디자인 패턴 중 하나로, 객체 생성과 관리에 대한 제어권이 프레임워크에 있음을 의미합니다. 일반적으로 객체 생성 및 관리는 개발자가 직접 수행하지만, IoC에서는 프레임워크가 객체를 생성하고, 관리하는 역할을 수행합니다. 이를 통해 개발자는 객체 생성 및 관리에 대한 부분에서 자유로워지고, 코드의 유연성과 확장성을 높일 수 있습니다. Spring Framework에서 IoC는 BeanFactory와 ApplicationContext 인터페이스를 통해 구현됩니다. BeanFactory는 Spring의 가장 기본적인 IoC 컨테이너이며, Bean을 생성하고 관리..
-
Spring Boot 구글 OAuth2 로그인 구현 방법(spring-securify-oauth2)Spring 2023. 2. 16. 14:04
Spring을 사용하여 Google에 로그인하려면 Google 인증을 위한 OAuth2 프로토콜 구현을 제공하는 Spring Social Google 라이브러리를 사용할 수 있습니다. 먼저 Spring Security OAuth2 클라이언트와 Google 라이브러리를 pom.xml에 종속성으로 추가해야 합니다 org.springframework.security.oauth.boot spring-security-oauth2-autoconfigure 2.5.4 org.springframework.boot spring-boot-starter-security org.springframework.security.oauth spring-security-oauth2 2.5.4 org.springframework.soc..
-
Spring에서 Service class를 만들때 반드시 Interface를 구현해야할까Spring 2020. 2. 28. 16:05
일반적으로 Spring에서 xxxService를 만들 때 아래와 같은 방식을 주로 사용한다.interface UserService { }class UserServiceImpl implement UserService { }하지만 아래와 같이 만들면 안되는걸까?class UserService { }의존관계 주입(DI)의 기본 개념에 따르면, 인터페이스를 사이에 둬서 클래스 레벨에서는 의존관계가 고정되지 않게 하고,런타임 시에 의존할 오브젝트와의 관계를 다이나믹하게 주입해주는 것이 맞다. 따라서 인터페이스를 사용하지 않았다면엄밀히 말해서 온전한 DI라고 볼 수 없다.그러나 스프링의 DI는 넓게 보자면 객체의 생성과 관계설정에 대한 제어권한을 오브젝트에서 제거하고외부로 위임했다는 IoC라는 개념을 포괄한다. 그..
-
지역 별 주정차단속 알림 서비스기타 2019. 8. 25. 21:54
주정차단속알림시스템불법 주 · 정차지역의 차량에 대한 CCTV(고정식, 이동식)의 단속내용이 신청자 조회시스템과 연동하여 운전자에게 불법 주 · 정차에 대한 사전경고 안내 메시지를 발송하여 차량의 신속한 자진 이동을 유도하고, 주 · 정차 질서를 정착시켜주는 솔루션입니다. 서비스 지역 구로구청에서 설치한 고정식 및 이동차량 CCTV 단속지역 인력단속 및 서울시 단속 제외 서비스 내용 CCTV 주차 단속지역임을 운전자의 휴대폰으로 문자안내0 서비스 신청 URL : http://parkingsms.wizshot.com/www/contents/join_online.php
-
Git FlowGit 2019. 6. 20. 11:47
- GIT FLOW 1. Feature 개발 (현재 제품 기능 추가) 1. 새 기능(new feature)는 'develop' 브랜치에서 시작한다. 2. 기능 개발이 완료되면 새 기능 브랜치(new feature)를 'develop'에 merge 한다. 3. 새 기능 브랜치(new feature)를 삭제한다. 4. 'develop' 브랜치로 전환(checkout) 한다. 2. Release 개발 (새로운 제품 출시) 1. 'develop' 브랜치에서 'release' 브랜치를 생성한다. 2. 개발이 완료되면 'release' 브랜치를 'master' 브랜치에 merge 한다. 3. 해당 master 브랜치에 relase 이름으로 tagging 한다. (tag) 4. 'release' 브랜치를 'devel..