스프링 입문을 위한 자바 객체지향의 원리와 이해를 읽다 개발자라면 꼭 알고있어야 하는 디자인 패턴에 대해 기록하면 좋을것 같아 글을 작성하게 되었습니다. 디자인 패턴이란? 디자인 패턴은 비슷한 상황에서 많은 개발자들이 고민하고 정제한 사실상의 표준 설계 패턴입니다. 아래와 같이 비유할 수 있습니다. 요리 객체 지향 프로그래밍 (OOP) 요리도구 4대 원칙 - 캡!상추다 요리도구 사용법 설계 원칙 - SOLID 레시피 디자인 패턴 스프링은 다양한 디자인 패턴을 활용하고 있습니다. 디자인 패턴을통해 스프링을 이해하는데 큰 도움이 될 것입니다. 스프링의 정의 스프링의 공식 정의는 자바 엔터프라이즈 개발을편하게 해주는 오픈소스 경량급 애플리케이션 프레임워크 입니다. 하지만 책에서는 간단히 아래와 같이 정의하고있..
스프링 입문을 위한 자바 객체지향의 원리와 이해를 읽다 개발자라면 꼭 알고있어야 하는 객체지향에대해 기록하면 좋을것 같아 글을 작성하게 되었습니다. 객체지향의 4가지 특징은 아래 링크에 기록해 두었습니다. 객체지향의 4가지 특징 스프링 입문을 위한 자바 객체지향의 원리와 이해를 읽다 개발자라면 꼭 알고있어야 하는 객체지향에대해 기록하면 좋을것 같아 글을 작성하게 되었습니다. 우선 객체지향의 4가지 특징은 아래 sol-b.tistory.com SOLID 응집도(관련성)는 높이고 결합도(의존)는 나춰라 SOLID는 아래5가지 원칙의 앞머리 알파벳을 따서 부르는 이름입니다. SRP : 단일 책임 원칙 - 어떤 클래스를 변경해야 하는 이유는 오직하나뿐이여야 한다. OCP : 개방 폐쇄 원칙 - 자신의 확장에는 ..
팀프로젝트를 진행하면서 로그인, Oauth, 알림기능을 구현하였습니다. 알림기능을 구현하다보니 순간 실시간 알림이 있으면 좋겠는데?라는 생각을 하였고 실시간 알림을 구현하기 위한 방법이 여러개 있다는 것을 알게되었습니다. 여러개의 방법 중 저는 실시간 알림기능을 SSE를 사용해 구현하기로 했습니다. 그 이유는 알림같은경우는 알림이 발생했을 경우에만 해당 클라이언트에게 응답해주면 되는 단방향 소통이기 때문입니다. 요청이 필요 없기때문에 웹소켓을 사용하지 않았고, 서버에 Traffic을 생각해 polling방식을 사용하지 않았습니다. 그럼 실시간 알림을 구현하는 방법들을 알아봅시다. 💡 실시간 알림 구현방법 1. polling 실시간을 흉내내는 방식입니다. 클라이언트가 일정한 시간마다 request 요청을 ..
[Refectoring] Sse로직을 재사용을 해보자 (Static, 메소드 오버로딩(overloading)) 국비를 통해 처음 프로그래밍을 배우면서 팀프로젝트 진행하였습니다. 프로젝트의 기능은 잘 구현해서 해커톤 우수상을 받았지만, 코드는 당연히(?) 엉망이였습니다. 그리고 몇개월이 지난 지 sol-b.tistory.com 이전 글에서 이어지는 Sse 실시간 알림 기능을 리펙토링하는 글입니다. 이전에는 Static으로 Sse기능을 Static영역에서 공통으로 관리하여 사용했습니다. 이후 Sse기능을 Strategy pattern으로 리펙토링하였습니다. 그 이유는 각 서비스마다 Sse를 사용하여 알림을 보내는것을 전략으로 생각한다면 Strategy Pattern으로 적용하면 되지 않을까? 라는 생각에서부..