엘키의 주절 주절

소소한 개발 이야기

예외처리 03 - try-catch 그리고 throw

예외 처리를 잘 하기 위해선, try-catch, throw를 잘 하는 것이 중요하다. 혹자는 try-catch 구문이 코드가 지저분해 보이거나, 복잡해 보인다고 기피하는 경향을 보이기도하고, C++을 오래 써온 개발자는 throw가 성능 저하를 가져다 주는 무거운 동작이라고 기피하기도 한다. 하지만, 지금 시대에 와서 예외는 수 많은 표준 라이브...

리더의 덕목 - 02. 비전 제시

좋은 리더에는 다양한 자질이 필요하다. 가능하면 단점이나 부작용이 적을 수록 좋다. 파급력이 구성원보다 훨씬 크기 때문이다. 그럼에도 모든 면에서 훌륭한 리더는 상상속의 존재다. 그렇기에 리더에게 중요한 일부 덕목이라도 잘 지녔으면 하는 바램을 가지는 것이 현실적일 것이다. 대부분의 리더도 평범한 사람이다. (슬프게도, 그럼에도 아주 높은 비...

성장을 위한 환경 (Feat. Dev Toy)

개발자에게 성장이라는 말은 꼬리표 같이 따라다닌다. 개발자라는 직업을 선택해서 일수도 있고, 성장을 좋아해서 개발자가 됐을 수 있다. 꽤 많은 주니어 개발자 분들과 대화를 하게 되면 성장에 대한 갈증을 많이 느낄 수 있었다. (나 역시 그렇지만) 내 기준에서, 성장만 가능한 환경은 흔치 않다. 회사란 결과 지향적인 측면이 있기도 하고, 심지어 여...

마음껏 실패하기 (Feat. Dev Toy)

사실 회사에서 다양한 시도를 하기란 쉽지 않다. 보통 대부분의 프로젝트는 기술 리딩을 누군가 하게 되어있고, 기술 리더가 기술 스택과 코드의 전반적인 구조를 결정짓게 된다. 프로젝트 구조와 규칙에서 중요한 것은, 낮은 학습 코스트로 문제 없는 코드를 생산하기 쉽게 하는 것. 가능하다면 강제, 정적 코드 분석 등을 통해서 실수를 미연에 방지하는 것이...

똑똑한 동료, 일 잘하는 동료

모든 직군이 그렇지만, 협업이 많은 직군일수록 동료는 무척이나 중요한 존재다. 대부분의 회사에서 프로그래머는 협업을 하게 되어있고, 나 혼자만의 제품이 아닌 우리의 제품이 되기 때문이다. 지금까지 일해오면서 수 많은 동료를 만났다. 직군이 다른 케이스에 앞서, 같은 직군인 프로그래머에 대한 이야기를 해보고 싶다. 사실 프로그래머 대 다수는 똑똑했...

예외처리 02 - 로그 잘 남기기

예외처리에 대한 글에 왠 로그냐고 물을 수 있지만, 로그야 말로 예외 처리의 결과를 극대화 하는 수단 중 하나다. 현재 로그는 모든 상황에서, 최대한 많은 데이터를 수집하는 것을 목표로 하고 있는 시대다. 물론 모든 데이터를 수집하는 것은 비용과 관리 코스트를 포함하기에 쉽지 않은 선택이지만, 그 코스트를 감내하고 최대한 많은 사용자 지표를 얻어내...

예외처리 01 - 결과 코드 주고 받기

예외 처리. 우선 순위가 떨어지기 쉬운 주제다. 내가 주니어 시기를 게임 개발에서만 보내왔고, 또 속도 전이 중시되던 2000년대 중반에 주니어 경험을 했다보니 (슬프게도 지금도 아니라고 말하긴 어렵지만), 우선 개발 속도를 끌어 올리고 시간이 남으면 예외 처리를 하거나, QA나, 플레이 테스트 중에 과도하게 불편할 경우에만 한정적으로 예외처리를 하...

NoSQLBooster for MongoDB

MongoDB 편집기 최고봉. NoSQLBooster다. 다양한 MongoDB 편집 툴을 사용해봤는데, 그 중 가장 사용 경험이 좋고, 오래 사용중인 툴이 바로 NoSQLBooster다. 이름이 NoSQLBooster지만, MongoDB만 지원한다. Download Page 윈도우는 물론이며, 맥과 리눅스 데스크탑에서도 ...

게임 서버를 웹 서버와 같이 쓰기

왜 게임 서버를 온전히 웹서버로 구축하기가 아닐까? 바로 여전히 게임은 소켓 서버 (또는 TCP 서버라 부르는 사람도 있지만… 용어적 올바름은 논외로하고, 이 글에서는 소켓 서버라고만 사용하겠다)가 필요하고, 이 소켓 서버라는 것은 웹 소켓과 같은 데이터 릴레이의 용도가 아닌, 상태 기반 서버가 필요함을 의미한다. 상태 기반 서버(소켓 서버)가 필...

트랜잭션 이야기 02 - 만능이 아닌 트랜잭션

트랜잭션 이야기 - 개발자 마다 다른 DB를 대하는 자세 · Elky Essay → 전편에서 이어진다. 당연한 말이지만 DB는 데이터 저장소다. 데이터 저장소로써의 효율은 무엇인가? 바로 쓰루풋이다. 쓰루풋을 저하 시키는 원인은 다양하게 존재하는데, 이 중 주요 원인중 하나인 트랜잭션이 무엇인지 살펴보자. 트랜잭션은 종종 언급한대로, 동시...