전체 글

"As engineers, you don't really understand something unless you can design and implement it."
문제&해결

Spring WebSocket 애플리케이션에 Spring Security 적용하기(simpUser, Interceptor, handler) - 0518 업데이트

Spring Security를 이용하여 websocket 설정하는 부분 추가했습니다.서론프로젝트에서 실시간 채팅 기능을 구현하면서 WebSocket을 사용시 JWT를 인증을 처리하는 방법을 작성해보았습니다.혹시 글을 읽고 해결이 안되시는 분들은 댓글로 남겨주시면 도와드릴게요 !! 라이브러리 버전Spring boot 3.2.5Spring security 3.2.5jwt 0.12.3websocket 10.1.20spring security messaging 6.2.4 build.gradle implementation 'org.springframework.boot:spring-boot-starter-websocket' implementation 'org.springframework.boot:spring-..

회고

스타트업 평가단이 되어 배운 발표의 기술

서론아는 개발자 선배분이 스타트업에 계시는데, 시에서 next 유니콘을 뽑는 최종 발표회에 시민평가단으로 참여할 수 있는 기회가 있다고 하셨다. 꿀알바이기도 하고 생각보다 규모가 있는 프로그램이라서 발표를 듣고 싶어 참여했다. 최종 평가 발표회이고, 심사위원분들과 시민평가단이 평가를 해서 가장 많은 점수를 받은 기업이 3억원의 상금을 얻고 지원 프로그램에 참여할 수 있다. 시민평가단은 5개의 기업에 대해 자율적으로 2500만원의 돈을 나누어 투자하며, 많은 투자금을 받은 회사는 평가 점수를 높게 받는다. 평가 기준기술, 사업 모델의 독창성 및 차별성글로벌 진출 가능성지역 청년 일자리 창출 계획 및 가능성 발표 평가  & 심사위원 질문평가를 받는 사람이 아닌 평가를 하는 사람으로서 참여하며 여러 인사이트를..

회고

[취준] 3-4월 KPT 회고

서론벌써 5월이 되었다..!두달동안 열심히 한 것 같긴한데 input은 있었지만 그만큼의 output은 나오지 못했던 것 같다.KPT 방식의 회고를 통해 나에게 가장 잘 맞는 성장 계획을 세우기 위해 글을 작성한다. KPT 회고란?KPT 회고는 Keep(잘한점, 유지할 점), Problem(문제점, 개선이 필요한 점), Try(앞으로 시도해볼 점)으로 나누어 회고하는 방식이다. Try는 Keep, Problem을 기반으로 계획을 세우는 것으로, 다음 회고때 판별 가능한 것이어야하고, 당장 실천 가능한 것이어야한다.회고의 목적이 좀 더 나은 방식으로 간다는 것을 고려할 때 가장 중요한 부분이다.  자세한 내용은 아래 글에서 볼 수 있다.https://techblog.woowahan.com/2677/ 팀 문..

설계

[설계] Okky ERD 분석하기

OverviewOkky2000년에 만들어진 국내 최대 개발자 지식공유 플랫폼이다.erdcloud 사이트에 Okky ERD가 공유되어 있어 학습 목적으로 분석해보려고 한다.https://www.erdcloud.com/d/PK2Ae7d4asTRqHpHx OKKYokky erdwww.erdcloud.com 그 전에 왜 존재하는 erd를 분석하게 되었는지 설명해보고자 한다. ERD 분석 이유ERD는 Entity Relationship Diagram의 약자로 Entity들의 관계를 나타낸 도표이다.설계된 ERD 분석을 통해 데이터베이스 설계와 시스템 아키텍처에 대한 이해도를 높일 수 있다. 잘 설계된 ERD는 개발 과정에서 큰 도움이 되는데, 데이터베이스 구조를 명확하게 이해할 수 있어 개발의 효율성이 올라간다...

Spring/객체지향

스프링 삼각형 : AOP(Aspect-Oriented Programming), PSA(Portable Service Abstraction)

스프링 삼각형 스프링을 이해하는 데는 POJO(Plain Old Java Object)를 기반으로 스프링 삼각형이라고 불리는 IoC/DI, AOP, PSA의 이해가 필수이다. 이전 게시글에서 IoC/DI에 대해 다루었다. https://shout-to-my-mae.tistory.com/425 스프링 삼각형 : IoC(제어의 역전) / DI(의존성 주입) 스프링 삼각형 스프링을 이해하는 데는 POJO(Plain Old Java Object)를 기반으로 스프링 삼각형이라고 불리는 IoC/DI, AOP, PSA의 이해가 필수이다. 스프링 프레임워크는 스프링 삼각형의 조합으로 이해할 shout-to-my-mae.tistory.com AOP (Aspect-Oriented Programming) 관점(Aspect)..

Spring/객체지향

스프링 삼각형 : IoC(제어의 역전) / DI(의존성 주입) + POJO 지향

스프링 삼각형 스프링을 이해하는 데는 POJO(Plain Old Java Object)를 기반으로 스프링 삼각형이라고 불리는 IoC/DI, AOP, PSA의 이해가 필수이다. 스프링 프레임워크는 스프링 삼각형의 조합으로 이해할 수 있다. IoC/DI IoC (Inversion Of Control : 제어의 역전) 이라고도 하는 DI(Dependency Injection : 의존성 주입)을 알아보자. 우선 의존성이란 무엇일까? 의존성 의존성은 new이다. 의사 코드 : 운전자가 자동차를 생산한다. 코드 : new Car(); 의사 코드 : 자동차는 내부적으로 타이어를 생산한다. 코드 : Car 객체 생성자에서 new Tire(); Car는 Tire에 의존한다. 즉 전체가 부분에 의존한다. 의존관계 집합 관..

문제&해결

[Test] @Mock, @InjectMocks 동작 원리 및 주의 사항

@Mock과 @InjectMocks @Mock Mock 객체(가짜 객체)를 생성한다. @InjectMocks Mock 객체를 해당 필드에 주입한다. @Mock 어노테이션이 붙은 필드와 일치하는 생성자를 찾아 객체를 자동으로 생성해준다. @InjectMocks 동작 원리 @Mock private MusicRepository musicRepository; @InjectMocks private MusicService musicService; @InjectMocks는 테스트 대상 클래스의 인스턴스를 생성하고, @Mock 필드를 생성자나 setter 메서드를 통해 주입한다. musicRepository라는 mock 객체를 musicService 생성자에 주입한다. 추가 매개변수가 있는 생성자 하지만 만약 @Inj..

Spring

[Test] void 메서드 테스트 및 Stubbing (모의 동작 지정하기)

void 메서드 테스트하기 void 메서드를 테스트하려고하는데 구글링으로 찾기 어려워 정리했다. doNothing() doNothing().when(mockObject).voidMethod(); void 메서드 호출 시 아무것도 하지 않도록 설정한다. voidMethod()부분에는 실제 void 메서드 명을 적어주어야한다. doThrow() doThrow(new RuntimeException()).when(mockObject).voidMethod(); void 메서드 호출 시 특정 예외를 던지도록 설정한다. doCallRealMethod() doCallRealMethod().when(mockObject).voidMethod(); mock 객체의 void 메서드 호출 시 실제 메서드를 호출한다. mock ..

mint*
Minty Box