서버간 통신을 할 때 서버간에 다이렉트로 소켓 연결이나, rest call 연결을 할 경우 복잡성이 매우 증가 할 수 있습니다. (최악의 경우 N^2)

예를 들어 128대의 서버간 망형태로 연결이 필요 할 경우 16,384개의 연결이 필요합니다. 보통 이를 해결 하기 위해 중계 서버를 만들거나 메세지큐 형태의 서비스를 이용하는데 이러한 서비스를 제공하는 것이 Kafka라는 서비스입니다.

Continue reading

대용량 서비스에서 각 장비에서 발생하는 로그를 한 장소에 모으고 해당 정보를 통합 모니터링 할 수 있는 시스템은 반드시 필요합니다. 장비가 몇 대 안될 경우 직접 장비에 접근하여 파일 로그를 살펴보며 이슈 대응이 가능하지만, 물리 장비가 수백, 수천대 일 경우는 참 난감한 상황입니다.

이러한 상황을 해결하기 위한 로그 분석 모니터링 서비스를 구축 할 때 ElasticSearch + ( LogStash or FluentD ) + Kibana를 조합하여 많이 사용합니다.

Continue reading

Google이나 Naver에 블로그나 사이트를 노출시키기 위해서는 검색엔진 제공 업체의 검색콘솔 등에 직접 등록하는 것이 좋습니다.

등록해야 하는 파일은 비슷하지만, 회사마다 방법이 조금 달라 그 방법과 Hugo 기반 블로그에서 필요한 파일을 생성하는 방법을 소개합니다.

Continue reading

SVN의 blame 기능은 소스코드 형상관리시 누가 언제 커밋을 했고 해당 소스코드의 어떤 변경내역이 있었는지

한눈에 파악 할 수 있는 기능을 제공합니다. Perforce에도 비슷한 기능이 있는데 바로 Time Lase View입니다.

Continue reading

코딩 컨벤션이란 협업 관계에서 프로그래머 사이의 규칙입니다.

컨벤션이 잘 되어 있을 경우 그 구조만으로 의도 파악이 쉽고(내부에서 Lock을 사용하는 함수를 바로 알아본다거나) 유지보수 비용과 버그를 줄일 수 있습니다.

컨벤션 규칙은 다양하며 본인 스타일이 있더라도 회사에서 정하는 규칙이 있을 경우 따르는 것이 좋습니다.

Continue reading

Author's picture

Developing life

다시 보기 위한 공간입니다.

Game Developer

South Korea