분류 전체보기62 [BE] 알림 기능 리팩토링 - 분산 환경 지원을 위한 Redis 추가 단순한 기능만 만들려고 했는데, 자꾸 뭔가가 늘어난다.user1이 server1에서 SSE 연결이 맺어졌다.이 경우 Emitter 객체는 Server1의 인스턴스 내부에서 관리되고 있다.그런데 다중화된 서버에서는 User1의 파일 업로드 요청이 Server2로 전달되는 경우가 있다.지금 내 로직 구조에서는 이 경우 사용자에게 알림을 보낼 방법이 없다. 그래서 두 가지 방법을 생각해 봤다.1. SseEmitter 객체 그 자체, 혹은 내부의 Connection 정보를 DB나 Redis 등에 저장했다가, 메시지가 오면 해당 객체를 복원하거나 꺼내와서 쓸 수는 없는가? 2. Pub/Sub 구조를 이용한 메시지 발행과 수신으로 모든 서버에서 자신이 보관하고 있는 연결 중 해당 사용자가 있으면 응답 전송 1번은 .. 2025. 6. 10. [BE] 알림 기능 리팩토링 - 단일 책임 원칙 단일 책임의 원칙(Single Responsiblity Principle, SRP) - 하나의 클래스는 단 하나의 책임만 가져야 한다. SRP는 클래스의 '변경'에 효과적으로 대응하기 위해 만들어진 원칙이다.하나의 클래스가 위의 로직처럼 여러 가지의 책임을 갖고 있으면 다음과 같은 문제가 발생할 수 있다.높은 결합도 - 한 책임의 변경이 다른 책임에 영향을 미칠 수 있다. 낮은 응집도 - 서로 관련 없는 코드들이 섞여 있어 코드를 이해하기 어렵다. 어려운 테스트 - 하나의 기능을 테스트하기 위해 다른 기능과 관련된 불필요한 설정이 필요하다.코드 재사용성 낮음 - 여러 책임이 섞여 있어 원하는 기능만 떼어내어 사용하기 어렵다.팀 협업이 어려움 - 여러 개발자가 동일한 코드를 수정하면 충돌(Merge Com.. 2025. 6. 10. 기아자동차 PV5 와이프가 차에 관심이 많다.새로운 차가 나오면 구경 가고 싶어 하고, 마음에 드는 차가 있으면 계속 찾아보는 편이다.\그러다 보니 나 역시 차에 대해 요즘 많은 것을 알게 되었다. 원래 도로에 지나다니는 차들은 흰 차, 검은 차 이런 식의 구분밖에는 못했는데...이젠 대부분의 차들을 알아보는 것 같다.나는 전기차에 관심이 많은 편이다.그래서 전기차와 관련된 게 나오면 아내가 신나서 알려주는 편인데, 이번에 기아에서 새로운 모델을 출시하나 보다. 어제 시작한 따끈따끈한 이벤트로, 물량 때문인지 전국 전시장에서 돌아가며 차량을 전시한다고 한다.이 차는 좀 특이하게 생겼는데, 기아에서 실험적으로 출시하는 차량인 것 같다. 오늘부터 사전 예약을 받는다고 하는데, 일단 나는 살 돈이 없어서 패스하지만, 재미있는.. 2025. 6. 10. 교회의 구성원에게 - 4 오늘은 이 본문의 마무리 단계였다. 1. 너희 중 장로들에게 권하노니 나는 함께 장로 된 자요 그리스도의 고난의 증인이요 나타날 영광에 참여할 자니라2. 너희 중에 있는 하나님의 양 무리를 치되 억지로 하지 말고 하나님의 뜻을 따라 자원함으로 하며 더러운 이득을 위하여 하지 말고 기꺼이 하며3. 맡은 자들에게 주장하는 자세를 하지 말고 양 무리의 본이 되라4. 그리하면 목자장이 나타나실 때에 시들지 아니하는 영광의 관을 얻으리라5. 젊은 자들아 이와 같이 장로들에게 순종하고 다 서로 겸손으로 허리를 동이라 하나님은 교만한 자를 대적하시되 겸손한 자들에게는 은혜를 주시느니라6. 그러므로 하나님의 능하신 손 아래에서 겸손하라 때가 되면 너희를 높이시리라7. 너희 염려를 다 주께 맡기라 이는 그가 너희를 돌보.. 2025. 6. 9. [React] 참조 동일성 리액트 컴포넌트의 리렌더링이 발생하는 조건은 내가 알기로는 3가지이다. 1. 부모 컴포넌트가 리렌더링 되는 경우, return 부분이 재호출 되면서 자식 컴포넌트로 리렌더링 대상이 된다. - 이 경우 React.Memo로 감싼 컴포넌트는 리렌더링 대상에서 제외된다.2. 부모 컴포넌트에게 전달받은 props이 변하는 경우, 해당 상태값을 전달받은 자식 컴포넌트도 리렌더링 대상이 된다.3. 자신의 상태(State)가 변하는 경우, 리렌더링 대상이 된다. - useMemo, useCallback으로 2-3의 리렌더링 조건에서 내부의 변수, 함수를 제외할 수 있다. - react-query에서 data 값이 변하는 경우 역시 내부 상태가 변하는 것으로 간주한다. 리액트를 공부하면 리렌더링 조건은 항상 강조되는.. 2025. 6. 8. 이전 1 ··· 4 5 6 7 8 9 10 ··· 13 다음