본문 바로가기
반응형

Dev105

웹소켓에서 데이터 유실 문제와 Redis Pub/Sub을 활용한 해결 방법 부제 : 다중 인스턴스 환경에서 웹소켓 통신 문제를 해결하기 위한 접근 방법🔍 문제 상황나는 카카오톡 채널 상담 서비스를 웹소켓 기반으로 개발 중이었다.로컬 개발 환경에서는 웹소켓 통신이 완벽하게 동작했으며,동시에 10,000건의 메시지를 보내도 유실 없이 전달되었다. 하지만 QA 서버에 배포하자 웹소켓 데이터가 간헐적으로 유실되는 문제가 발생했다.처음에는 비동기 처리나 네트워크 속도 문제로 의심했지만,웹소켓은 TCP 기반이라 신뢰성이 보장되는 프로토콜이기 때문에단순한 네트워크 이슈는 아니라고 판단했다.🔎 원인 분석 문제의 원인을 파악하기 위해 검색해보니,비슷한 사례가 해외 개발자 커뮤니티에서도 논의되고 있었다. 📌 결론:배포 환경에서는 PM2를 사용한 다중 인스턴스 구조로 운영되고 있었고,각 웹소.. 2025. 2. 16.
Git 파일 변경 추적 무시하기: --assume-unchanged Git을 사용하면서 특정 파일의 변경 사항을 로컬에서만 무시하고 싶을 때가 있습니다. 예를 들어, .env와 같은 설정 파일은 깃 이그노어에 추가하기 어려운 경우가 있는데, 이럴 때 사용하는 명령이 바로: --assume-unchanged  • 공유 설정 파일: .gitignore에 올리기 어렵지만 로컬 수정만 필요한 경우. • 환경 의존성: 개발 환경에 따라 다르게 유지해야 하는 설정 파일. • 프로젝트 설정 최적화: 변경 사항 추적에서 제외해 성능 개선.  # 파일 변경 사항 무시git update-index --assume-unchanged 경로/파일명  # 변경 사항 추적 복원git update-index --no-assume-unchanged 경로/파일명 2025. 1. 8.
엔터프라이즈 분야에서, 스스로에게 물어볼 수 있는 주요한 질문 스스로에게 물어볼 수 있는 주요한 질문엔터프라이즈 분야에서는 좀 더 실질적인 토론과 브레인스토밍이 필요한 시점이다.이 단계에서 스스로에게 물어볼 수 있는 주요한 질문은 다음과 같다. - 해결하려고 하는 진짜 문제는 무엇인가?- 현재 정보 전달 과정은 무엇인가?- 데이터 수집을 어떻게 해야 하는가?- 들어오는 데이터가 무결한가, 아니면 결함이 있는가?- 더 많은 변수를 손에 넣기 위해 어떤 데이터 소스를 추가적으로 더할 수 있는가?- 데이터는 주기적으로 받을 수 있는가, 아니면 실시간으로 얻을 수 있는가?- 이 문제해 대한 최소 시간 단위는 무엇이 돼야 하는가?- 데이터는 자주 변하는가, 아니면 시간에 따라 다소 안정적인 특징을 갖는가? 2024. 7. 13.
머신러닝 모델의 정확도 # 분류분류의 경우는 테스트에 있는 샘플을 정확하게 분류한 개수의 비율, 즉 정확도를 측정한다간단하게 말해서 정답을 맞힌 개수의 비율이다. # 회귀회귀에서는 정확한 숫자를 맞힌다는 것은 거의 불가능하다. 예측하는 값이나 타깃 모두 임의의 수치이기 때문이다.회귀의 경우에는 결정계수(R^2) 으로 평가한다. 결정계수 - 대상을 얼마나 잘 설명할 수 있는가를 숫자로 나타낸 것이 결정 계수이며, 설명력이라고도 한다. - (타킷-예측)^2의 합/(타킷-평균)^2의 합- 타깃의 평균 정도로 예측하는 수준이라면, 분자와 분모가 비슷해져서 R^2는 0에 가까워지고, - 예측이 타깃에 아주 가까워지면, 분자가 0에 가까워 지기 때문에 1에 가까워 진다. 2024. 7. 8.
반응형