엘키의 주절 주절

소소한 개발 이야기

2021 한해 회고

2021년 한해도 이렇게 갔다. 코로나는 작년도, 올해도 여전하고 실은 더 심각해져, 재택 근무 기간이 훨씬 길어지고 있다. 재택 근무가 길어지다보니, 업무와 여가 시간의 경계가 불분명해지기도 했지만, 출퇴근 시간을 아낄 수 있었던 점은 또 장점이었다. 이렇게 보낸 2021년은 어떠했을까? 2021년 새해는 개인적으로 정신없게 시작됐다. ...

리더의 덕목 - 01. 빠른 의사 결정

개요 나는 가능하다면 리더의 포지션보다는 실무자의 포지션을 선택해왔다. 그것이 책임의 무게 때문이라기보다는, 항상 어떻게 하면 좀 더 성장 할 수 있나를 고민했는데, 내가 성장하고 싶은 포인트가 실무자로써의 역량에 가까운 부분에 있었기 때문이다. 그렇다보니 대부분의 상황에서는 관리자나 리더가 있었다. 조금씩 다른 롤을 가지고 계셨지만, 리드 프로...

Fork - Git Client 추천

Git Client는 셀 수도 없이 많이 존재한다. git의 수 많은 command line 기능을 GUI화 했을 때 직관적이게 녹여내는 것이 쉽지 않기도하고, 개발자의 의도나 용법이 묻어나기도 하다보니 그 결과물은 매우 달라진다. 그 중에서도 개인적으로 검토하고 꽤 오랜 시간 (3개월 이상씩은 다 사용했다) Git Client를 소개하고 추천해보고...

2020년 회고

2020년 회고 2020년은 재난의 한해 였다. 새해 초 부터 코로나가 창궐했고, 그로 인해 마스크를 쓰는 일상을 맞이했다. 연중에는 이직을 했고, 이직한 회사에서 코로나 대응으로 원격 근무를 강제하다보니 하반기에는 거의 원격 근무를 하게 됐다. 원래 퇴근 이후에도 컴퓨터를 자주 하는 편이고, 일이 많을 때에는 야근을 하기보다는 차라리 집에 가...

C# .NET CORE 기반 Web-Crawler

최근에 블로그 글이 뜸했는데, 이에는 여러가지 이유가 있었다. 첫번째로는 이직 후 적응도 하고 있었지만, 기본적으로는 Dev Toy를 많이 했다. 그 중 몇개를 운용해보고, 어느정도 버그가 잡힌 뒤에 Github 공개 프로젝트로 돌렸고, 이에 대한 얘기를 블로그에 써보고자 한다. 우선 내가 하루에 꽤 많은 시간을 쏟는 것이, News 찾아보기...

C# .NET CORE 기반 Lol-Crawler

Web-Crawler와 마찬가지로, 자동화의 일환으로 개발했다. elky84/lol-crawler: Notification from LOL friend game start & end. 지인 분들과 취미로 롤을 종종하는데, 직접 시간을 맞추지 않고선 지인들이 플레이 하는 중인 것을 확인하기 어려워 개발하게 됐다. MingweiSamuel...

게임 개발 에서의 git vs svn

개요 요즘에야 다들 대학생분들도 git과 github를 자연스럽게 사용하지만, 나는 부끄럽지만 학창 시절에 버전별로 압축해서 usb에 백업하고 개발했었다. 실무에서, 내가 처음 사용한 버전 관리 시스템은 CVS다. 툴도 불편했지만, 수동으로 파일 백업하던 시기보다 장점이 많았다. 그 다음으로 쓰게 된 버전 관리 시스템이 svn이다. 아직도 많이...

온라인 코드 리뷰에 대해서

코드 리뷰. 말만 들어도 시간도 많이 쓰고, 리뷰 중에 삼천포로 빠지기 쉬운 그런 절차. 졸려서 반쯤 잠든 상태에서 동의 하는척하고, 나중에 이 코드 누가짰냐고 리뷰때 건너뛴 코드 아니냐고 말하기 쉬운 절차. 그래서 몇번씩 오프라인 코드 리뷰를 하다가, 바빠지면 건너뛰고 그러다보면 자연스레 흐지부지되곤 하는 바로 그 절차다. 또한 눈에 보이지 않는...

게임 서버에서의 DB 사용 전략 - 1. DB를 사용하는 방식

게임 서버에서 DB를 사용하는 것은 당연히 필요하다. 여러번 언급한대로 게임 서버에서는 정적 데이터만으로 서비스를 구성하는 것이 애초에 거의 불가능 하기 때문에 그렇다. 그렇다면 게임 서버에서 DB를 다루는 방법은 어떻게 나뉠까? 극단적으로 저장소로서만 사용 게임 서버 메모리에 오랜 기간 캐싱하다, 특정 간격, 특정 이벤트 때만 기록 ...

게임과 웹에서 다른 프로토콜 하위 호환

Node.js가 모바일 게임에서 많이 쓰이며, 처음 의아했던 것은 v1, v2, v3와 같은 버전의 API 구조에 포함되었다는 점이다. API가 개별적으로 동작하고, 하위호환을 지원하는 것인데, 왜 게임은 이런 하위호환을 하지 못하는가? 우선 웹도 하위호환을 딱히 지원하지 않았던 과거가 있으나, REST API가 등장하면서 하위호환을 지원하는 Op...