목록스프링 (12)
임대일
1. 배경오늘날 회원 가입에서 휴대전화번호 혹은 이메일 인증 그리고 서드 파티 애플리케이션 인증을 흔하게 볼 수 있다. [회원, 인증] 도메인 담당한 경험이 있다면 언급한 세 가지 인증 수단 중에서 한 가지를 공부하거나 구현한 경험이 있을 것이라고 생각이 든다. 가장 흔한 인증 방식인 서드 파티 애플리케이션을 활용한 로그인 방식은 책 혹은 강의에서 흔하게 공부할 수 있다. 대표적인 서드 파티 애플리케이션은 카카오톡 인증 서비스가 있다. 스마트폰 앱과 웹 페이지 모두 제공해야 하는 서비스에서 서드 파티 애플리케이션 인증은 무상태(Stateless)를 준수하기 위한 최소한의 환경이기 때문에 탁월한 선택이라고 생각이 든다.(지금까지 경험으로 Stateless를 완벽하게 만족하는 것은 어려운 것으로 보인다.) ..
1. 유효성 검사 시점DTO 레코드 타입을 작성하다가 유효성 검사를 어느 시점에 수행해야 가장 최적인지 고민하면서 공부한 내용을 정리한 글이다. 좀 더 구체적인 고민하게 된 배경을 살펴보고 유효성 검사에 대표적인 어노테이션들에 대해 학습한다. 클라이언트가 회원 가입에 필요한 정보를 포함하여 서버로 요청을 보내는 시나리오에서 생긴 고민이다. 해당 시나리오의 프로젝트는 계층형 아키텍처(Layerd Architecture) 구조로 Controller, Service, Repository, Model로 구성되어 있다. 이러한 계층형 아키텍처 구조에서 클라이언트로부터 받은 요청 데이터에 대해 유효성 검사를 어느 시점에, 어떻게 작성해야 가장 적절한지 고민하게 됐다. 2. DTO와 Service에서 유효성 검사결론..
0. 시작하기 전에 JWT(JSON Web Token): (이론) JWT 그리고 스프링 부트 적용하기0. 시작하기 전에강의 혹은 책에서 흔하게 JWT 토큰과 함께 OAuth2.0 을 함께 사용하여 네이버, 카카오, 구글, 애플 등 서드파티 애플리케이션에게 인증을 위임한다. 아쉽지만 현재 프로젝트에서는 Olimdae94.tistory.com지난 JWT 이론을 공부하면서 정리한 글이다. JWT 에 대해 자세한 내용을 정리했기 때문에 구체적인 설명은 해당 링크에서 공부할 수 있다. JWT(JSON Web Token)는 클라이언트와 서버 간의 정보를 안전하게 전송하기 위해 사용되는 JSON 기반의 토큰으로 문자열이다. JWT의 주요 특징은 다음과 같다. 1. 무상태성(Stateless)JWT 안에는 정보가 들어..
Getting Started | Using WebSocket to build an interactive web applicationIn Spring’s approach to working with STOMP messaging, STOMP messages can be routed to @Controller classes. For example, the GreetingController (from src/main/java/com/example/messagingstompwebsocket/GreetingController.java) is mapped to handle messages tspring.io Spring Framework Web Socket스프링에서는 Web Socket API 를 제공하여 WebSo..
RFC 147: Definition of a socket datatracker.ietf.org RFC 6455: The WebSocket ProtocolThe WebSocket Protocol enables two-way communication between a client running untrusted code in a controlled environment to a remote host that has opted-in to communications from that code. The security model used for this is the origin-based security modedatatracker.ietf.org 소켓소켓(Socket)은 네트워크 통신을 가능하게 하는 인터페이스..
1. 프레임워크프레임워크(Framework)는 소프트웨어 혹은 애플리케이션 개발을 간단하게 해주는 뼈대이다. 프레임워크 장점개발에 필요한 최소한의 기능 제공한다.애플리케이션 개발에 필요한 시간과 비용을 최소화할 수 있다.프레임워크 단점프레임워크 고유의 사용 방법에 대한 이해가 필요하다. 프레임워크와 라이브러리의 정의 프레임워크와 라이브러리는 소프트웨어 개발을 돕는 도구이다. 라이브러리는 특정 기능을 수행하는 코드의 집합으로, 개발자가 필요에 따라 선택적으로 사용할 수 있다. 반면, 프레임워크는 애플리케이션의 뼈대 또는 틀을 제공하며, 개발을 위한 기본적인 형태와 필수 요소를 포함하고 있다. 개발자는 프레임워크가 정한 규칙과 구조 내에서 개발을 진행해야 한다. 2. 스프링 프레임워크스프링 프레임워크(S..
1. JPQLJPQL(Java Persistence Query Language)은 JPA에서 사용하는 객체 지향 쿼리 언어로, SQL과 유사하지만 엔티티 객체를 대상으로 쿼리를 작성한다. JPQL 특징SQL과 유사하지만, 데이터베이스 테이블이 아니라 엔티티 객체를 대상으로 쿼리 수행JPQL 을 사용하면 엔티티 객체의 속성, 관계 등을 이용하여 복잡한 쿼리를 작성이 가능JPQL 은 EntityManager 를 사용하여 실행예: SELECT m FROM Member m WHERE m.name = :nameString jpql = "SELECT m FROM Member m WHERE m.name = :name";List members = entityManager.createQuery(jpql, Member...
Release 6.3.1 · spring-projects/spring-security⭐ New Features Clarify the behavior of Concurrent Session Management when an IdP is involved #15071 Mention all required dependencies in LDAP documentation #15245 Minor docs fix #15144 🪲 Bug Fixe...github.com2024.07.04 가장 최신 버전의 Spring Security 6.3.1 기준으로 SOP, CORS 를 소개합니다.코드 작성 방법부터 보고 싶다면, 가장 아래에 5. cors() & CorsFilter 를 참고하시기 바랍니다. 1. SOPSOP(동일..