Jewoo Sin

채팅 애플리케이션 서버 설계

이번 포스팅에서는 특정한 비즈니스 상황 안에서 채팅 애플리케이션 아키텍처를 설계해보며, 다음과 같은 걸 배우는 것을 목표로 한다. 자본적인 limit을 가지고 고성능 애플리케이션을 만드는 방법 실시간 채팅 애플리케이션을 설계하는 방법 마치 실제 업무 환경에서 겪을 만한 배경이 주어지고, 그 안에서 설계를 진행할 것이다. 필자가 어떤 고민들...

MongoDB 성능이 RDBMS 보다 뛰어난 이유

MongoDB는 ‘MongoDB는 대용량 데이터 처리에 적합하다.’라고 표현되며 설명되곤 한다. RDBMS와 어떤 차이점이 있길래 그런 수식어가 붙는걸까? 궁금증에 그런 이유들을 알아보기 위해 서칭해보면 “스키마가 유연하다”, “대규모 분산 데이터를 효율적으로 처리할 수 있는 구조이다” 등등 그 이유에 관련된 키워드가 나오지만, 그래서 왜 더 뛰어난...

Dev Club 알고리즘 스터디, 이진 탐색

이번 포스팅에선 Dev Club 에서 참여한 알고리즘 스터디에서 함께 공부 했던 알고리즘 중, 이진 탐색에 대한 내용을 설명한다. 이 스터디는 코딩 테스트에서 일가견이 있으신 Jason 멘토님과 함께 했다. 멘토님께선 초등학교 때부터 알고리즘 문제를 취미로 푸셨고, 커리어에서 많은 코딩 테스트 경험, 라이브 코딩 테스트 경험을 가지고 계신 분이시다...

인덱스 설계 입문 - MySQL

이번 포스팅은 인덱스 설계에 필요한 밑바탕 지식을 습득하는 걸 목적으로 한다. 이 글에서 별도로 RDBMS를 통틀어 지칭하거나 특정 RDBMS 종류를 언급하지 않으면 모두 MySQL를 지칭하는 것이라 생각하면 된다. 1. 인덱스를 사용해야 하는 이유 RDBMS는 데이터를 저장하고 조회하기 위해 사용하는 소프트웨어이다. 이런 RDBMS는 쇼핑몰이나 ...

boolean은 당신에게 고통을 선사할지도 모른다.

최근 Don’t use booleans라는 글을 읽고, 저자와 같은 고민을 해볼 필요가 있다는 생각이 들어 작성하게 되었다. 해당 글에서는 함수 파라미터에 boolean을 사용하는 것이 코드 가독성과 유지보수성에 얼마나 부정적인 영향을 미치는지 이야기하며 열거형을 대안으로 제안하고 있다. 나도 boolean 파라미터를 사용할 때 유사한 문제에 직면할...

Preview Image

25년 새해, 데브클럽 네트워킹 행사 후기

지난 1월, 다른 개발자들과 네트워킹하는 기회를 얻으려 참여한 F-Lab의 Dev Club에서 열린 네트워킹 행사가 있었다. 나는 Dev Club에 합류한 이유가 네트워킹 기회를 얻고자 함이었기 때문에 참여하게 되었다. 막 바빠지던 시기라 참여할지 말지 고민했었는데, 상상했던 것보다 훨씬 다양한 개발자 분들과 좋은 네트워킹을 할 수 있었다. ...