작성 이유혼자서 열심히 카프카를 해보기위하여 강의를 보던 중 EDA (Event-Driven Architecture)를 구성하는 내용이 있었다. 거기서 EDA가 어떤 아키텍처인지? 어떤 특성들을 가지고 있는지 궁금하여 이 글을 작성하게 되었다. EDA (Event-Driven Architecture)란?소프트웨어 아키텍처의 한 패턴으로, 시스템 내 발생하는 이벤트를 기반으로 컴포넌트들이 통신하는 구조.특정 이벤트가 발생하면 이를 구독하고 있는 각각의 컴포넌트들이 동작 EDA 특징?높은 비동기성, 느슨한 결합=> 이벤트 생산자와 소비자 사이의 직접적인 의존 관계를 제거하여 구현됨.=> 시스템의 확장성/유연성이 향상됨 EDA 장점1. 시스템간의 결합도가 낮다. - 이벤트 메시지를 통해서 통신..
BE
작성이유최근 팀 프로젝트를 진행하면서 모놀로틱으로 구성을 진행하였었다. 다만 추후에 MSA로의 마이그레이션 작업을 할 수도 있을 것 같다는 생각에 구조는 MSA 구조와 유사하게 작업을 하였었다. 그렇게 작업을 하다가 문득 MSA가 어떤 아키텍쳐길래 다들 선호하는 것이며, 어떤 장점과 단점들을 가지고 있는지, 어떤 관점으로 설계를 해야되는지에 대해 궁금증을 풀기 위하여 작성을 하게 되었다. 모놀리틱(Monolithic) 란?우선 MSA를 알기 전에 과거부터 존재해오던 모놀리스(Molith) 구조를 먼저 알아야 한다.모놀리스는 하나의 단위로 개발되는 일체식 어플리케이션 이다.즉, 소프트웨어의 모든 구성요소(사용자 인터페이스, 데이터베이스, 어플리케이션 3티어)가 한 프로젝트에 통합 되어 있는 형태 이다. ..
작성 이유Softeer 문제를 풀다가 단순 구현 문제인데 시간초과가 나는 부분이 있어서 한참을 헤매다가 알게되어 작성하게 되었다. String, StringBuffer, StringBuilder 특징String 이란?Java에서 String은 불변(immutable)한 문자열을 처리하기 위한 클래스입니다. 즉, String 객체가 생성되면 그 값은 변경되지 않습니다. “새로운 객체”로 추가 및 변경이 됩니다. StringBuffer 란?Java에서 StringBuffer는 가변(mutable)한 문자열을 처리하기 위한 클래스입니다. 즉, 새로운 문자열을 추가하거나 변경하게 되면 “기존의 객체”로 추가 및 변경이 됩니다. StringBuilder 란?Java에서 StringBuilder는 가변(muta..
Access Token은 아래글로..2024.06.25 - [BE/Java] - Springboot3 + Swagger + Jwt (4) Springboot3 + Swagger + Jwt (4)DB, SpringSecurity, 회원가입은 아래 글로....2024.06.21 - [BE/Java] - Springboot3 + Swagger + Jwt (3) Springboot3 + Swagger + Jwt (3)Swagger 초기 셋팅2024.06.20 - [BE/Java] - Springboot3 + Swagger + Jwt (2) Springboot3 + Swagger + Jwt (2)프tistory.slowtuttle.co.kr 진행할 내용공통 응답/에러코드 작성Refresh Token 발급 및 ..
DB, SpringSecurity, 회원가입은 아래 글로....2024.06.21 - [BE/Java] - Springboot3 + Swagger + Jwt (3) Springboot3 + Swagger + Jwt (3)Swagger 초기 셋팅2024.06.20 - [BE/Java] - Springboot3 + Swagger + Jwt (2) Springboot3 + Swagger + Jwt (2)프로젝트 진행 이유 및 개발 환경2024.06.20 - [BE/Java] - Springboot3 + Swagger + Jwt (1) Swagger란?REST API 개발을 진행하tistory.slowtuttle.co.kr 진행할 내용1. JWT 적용 (아마 직접적으로는 처음 적용해보는 내용이..
작성 이유SpringSecurity + Swagger + jwt 초기 셋팅을 진행하던 도중 JwtAuthorizationFilter 와 SecurityConfig 를 작성하다가 문득 나는 왜 BasicAuthenticationFilter > OncePerRequestFilter 를 사용하게 되었으며, BasicAuthenticationFilter 클래스와 UsernamePasswordAuthenticationFilter 클래스의 차이는 무엇일까? 궁금하였다. Spring Security Filter Chain Flow공식 문서 : https://docs.spring.io/spring-security/site/docs/4.2.1.RELEASE/reference/htmlsingle/#filter-ord..
문제SpringSecurity를 적용한 이후 이전까지 잘 접속되던 h2 콘솔에 접속이 안되고 403 에러가 나왔다.h2 콘솔 관련 filter 설정을 안해서 그런것 같다고 생각은 하였지만 간단하게 해결되지 않아서 해당 기록을 정리하려고 작성함 에러 확인- 처음 필터에 console을 추가하지 않았던 경우에 접속 페이지부터 403이 나왔다. filter 적용 1단순히 config에서 설정만 해주면 될 것으로 판단해서 아래와같이 Security에 한줄만 추가했다.httpSecurity.authorizeHttpRequests(config -> config // h2 접속 설정 .requestMatchers(PathRequest.toH2Console()).permitAll() ..
Swagger 초기 셋팅2024.06.20 - [BE/Java] - Springboot3 + Swagger + Jwt (2) Springboot3 + Swagger + Jwt (2)프로젝트 진행 이유 및 개발 환경2024.06.20 - [BE/Java] - Springboot3 + Swagger + Jwt (1) Swagger란?REST API 개발을 진행하는경우 Restful한 서비스를 만들때 @RestController를 읽어서 API 문서를 자동으로 생성해tistory.slowtuttle.co.kr 진행할 내용1. JPA 셋팅2. SpringSecurity 셋팅3. DB 셋팅4. 사용자 Entity 생성5. 단순 회원가입 테스트 (swagger, security, db, jpa 이..
프로젝트 진행 이유 및 개발 환경2024.06.20 - [BE/Java] - Springboot3 + Swagger + Jwt (1) Springboot3 + Swagger + Jwt (1)❔ 해당 프로젝트(?) 를 하게 된 이유로그인 기능 구현을 할 일이 있어서 작업을 하다가 한번도 JWT를 사용해본적이 없어서 공부 + 실무 적용을 위해 진행 ⚙️ 개발 환경JDKopenJDK 17Spring Boot3.3.0Gtistory.slowtuttle.co.kr 진행할 내용1. Swagger 셋팅 Swagger란?REST API 개발을 진행하는경우 Restful한 서비스를 만들때 @RestController를 읽어서 API 문서를 자동으로 생성해주고, API를 테스트 할 수 있는 UI를 제공하는 라..
❔ 해당 프로젝트(?) 를 하게 된 이유로그인 기능 구현을 할 일이 있어서 작업을 하다가 한번도 JWT를 사용해본적이 없어서 공부 + 실무 적용을 위해 진행 ⚙️ 개발 환경JDKopenJDK 17Spring Boot3.3.0Gradle8.8DBH2Swagger(Springdoc)2.0.2IDEIntellij ℹ️ 초기 build.gradle 정보plugins { id 'java' id 'war' id 'org.springframework.boot' version '3.3.0' id 'io.spring.dependency-management' version '1.1.5'}group = 'org.jjuni'version = '0.0.1-SNAPSHOT'java { toolc..
LIST