엘키의 주절 주절

소소한 개발 이야기

게임 서버에서의 DB 사용 전략 - 02 NoSQL

개요 RDB는 데이터 저장소를 선택할 때, 가장 기본이 되는 선택지이다. 한국에서 가장 자주 선택되는 웹 서버 프레임 워크인 Spring만 봐도 과거에는 JDBC나 MyBatis, 지금은 JPA가 필수 기술에 포함되는 것만 봐도 알 수 있을 것이다. 살펴보기 그렇다면 NoSQL의 입지는 어떨까? 요즘은 정말 많은 채용 공고에서 MongoDB...

C# LINQ 함수들의 작동 방식 (with skeches)

최근에 읽게된 글 중에서, LINQ의 편리한 메소드들을 시각화 해 준 글이 있었다. LINQ의 함수들의 작동 방식 💡 LINQ explained with sketches Select : 특정 값을 선택 (또는 변환 역할도 가능) like Projection Where : 추출 SelectMany : 병합 Zip : 두 목...

Ubuntu 22.04에 .NET 6 공식 탑재

공식 문서 및 소개 .NET 6 is now in Ubuntu 22.04 요약하자면, .NET 6가 Ubuntu 22.04에 포함되었다는 것이다. 아시다시피 캐노니컬과 MS의 협력은 꽤 오래된 편이며, WSL2를 이용해서 윈도우에서의 우분투 동작은 이미 검증되었다. 상호 협력의 방향이 우분투까지도 넘어간 모양새로 볼 수 있을 것이다. 활용 방안...

Meta (Facebook)에서 서버 사이드 언어로 Rust를 승인

일부 내용 발췌 What is a supported language at Meta? Meta’s primary supported server-side languages are Hack, C++, Rust, and Python. 성능에 민감한 백엔드 서비스의 경우 C++ 및 Rust를 권장합니다. Rust는 이 목록에 새로 추가된 것입니다. 우...

Google이 C++ 호환 언어 Carbon 출시

소개 C++의 실험적 후계자라는 이름으로 어필하고 있다. 특징 빠르고 C++에서 작동 LLVM을 이용하기 때문이며, C++ 코드와 상호 작용이 가능한 수준이라고 한다. 기존 C++ 빌드 시스템에서 작동하는 빠르고 확장 가능한 빌드를 만들 수 있다고 한다 현대적이고, 진화함 배우...

MongoDB 6.0 릴리즈와 7가지 핵심 변경 사항

7가지 MongoDB 6.0 업그레이드 이유 Even more support for working with time series data 시계열 데이터 작업에 대한 더 많은 지원 A better way to build event-driven architectures 이벤트 기반 아키텍처를 ...

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

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

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

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

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

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

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

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