엘키의 주절 주절

소소한 개발 이야기

Java 적응기 03 - Akka

개요 Java에서 또 인상적이었 던은 Actor 모델로 유명하고, Scala에서 더 유명한 Akka다. Actor 모델의 근간은, 모든 통신을 Message로 하고, Actor 별로 단일 큐를 사용해 동시 접근 우려를 제거한다이다. 위는 Akka에 대한 간략한 설명을 그린 그림이다. 출처 몇가지 주의 사항을 잘 지키면 손쉽게 비동기 프로그...

Java 적응기 02 - Netty

개요 Java에서 가장 만족한 것이 무엇이냐고 물어본다면 나는 단연 Netty라고 말할 것이다. (그 다음은 Akka) 네트워크 라이브러리 작업을 많이 해본 나로썬, 같은 포지션의 Netty (같은 퀄리티라고 안했다)를 보면서 여러가지 감정이 들었다. 네트워크 라이브러리 작업시 고찰 내가 네트워크 라이브러리 작업을 하며 고민한 것은 아래와 같다...

Java 적응기 01

개요 사실 여러 번 밝힌대로, 나는 Java를 싫어했다. 내가 프로그래밍을 배우던 시기에 Java는 느려도 너무 느린 존재였다. 그렇다고 여타 스크립트 언어들 만큼 가볍게 쓰기에도 적합하지도 않았고. 내 뇌리에 박힌 어중간한 언어라는 인식이 꽤나 오랜 시간 Java를 선택하지 않게 했다. 이제와 고백하자면, C++ 부심도 상당했다. C++의 ...

변화에 뒤쳐지지 않기

2013년 즈음이었다. 그 해 여름날도 여느 때와 다름없이, C++로 게임 서버를 열심히 개발하던 날이었다. 시장은 대격변을 맞이하여 모바일 게임으로 시대가 변해 있었고, 빠른 반응성보다는 결과 저장만 필요한 웹 서버만 있어도 충분한 시대가 되어있었다. 반응성 보장에 조금만 실패해도, 부정적인 게임 플레이 경험을 주기에 ns (나노 세컨드) 단위로...

나의 업무 기록과 관리

나는 실수가 많은 편이었다. 그리고 한가지 업무만 주어졌을 때와, 여러가지 업무가 주어졌을 때의 편차가 컸다. 실제로 QA나 크런치 모드같은 상황에서 주로 난감했는데, 여러가지 작업을 바쁘게 진행하고 버그가 여럿 발생해 한번에 몰아 닥칠 때는 악몽 같았다 그렇게 몇 번을 고생하고 나니 일을 정리하는 습관이 필요했다. 타인에 의해 강제로 사용했던...

경험에 의한 편견에서 벗어나기

누구나 편견을 가지고 산다. 나 역시 그렇다. 개발 과정에서 많이 나오는 얘기가, 내가 해봤는데 라는 말이다. 하지만 그게 실제 근거이기에 반박은 나도 해봤는데 가 되는게 대다수다. 내가 해봐서 안된다, 내가 해봐서 된다라는 레퍼런스는 장점이기도 하지만, 단점이 되기도 한다. 여러가지 의견이 모두 설득력 있는 이야기일 경우가 가장 문제다. 누...

핵심 C++ 표준 라이브러리 - 우리 C++이 달라졌어요!

내가 처음 프로그래밍을 시작한 언어는 C언어였다. 아니 정확히는 난 시작부터 C++이었다. 즉, 1 2 3 4 5 6 #include <stdio.h> int main(int argc, char* argv[]) { printf("Hello, World!\n"); return 0; } 이 아닌 1 2 3 4 5 6 #...

Rust 이야기

최근 Rust를 살펴보고 있다. 새로운 언어 학습을 위한 시도로, 여러가지 글들로 접해본 Rust의 포지션은 Go와 비교되는 일이 많았다. 특히 C++의 대체자로 Go와 Rust가 꼽히는 글을 많이 접했고, 그래서 상대적으로 많은 분들이 추천하셨던 Go를 먼저 시작하게 됐었다. 그러던 중, 즐겨찾기 동기화 오류가 극심하던 엣지를 버리고, 주 사용...

Ruby vs Python

루비와 파이썬. 2000년대 초반을 후끈 달군 스크립트 언어계의 아이돌인 두 언어. 의외로 두 언어를 다 하는 사람은 별로 없다. 포지션이 비슷해서인걸까? 몇년전 재밌는 블로그 글을 본적이 있다. 루비와 파이썬에서 함수 호출과 함수 참조에 대한 차이 Django VS Rails PHP vs Python vs Ruby 펼친 글과, 글 말미에...

스크립트 언어 이야기

나는 프로그래밍을 C언어로 시작했다. C언어는 정적언어다. 메모리를 다루기 위해 변수의 타입과 크기가 아주 아주 중요한 언어다. 심지어는 C99이전 C언어에서는 (C++을 비롯한 뒤를 잇는 대다수 C 계열언어는 그렇지 않지만) 사용할 변수는 모두 상위에 선언해야 한다. 즉, 계획하에 선언되지 않은 변수는 낭비로 여겨지는 문화권에서 개발을 시작했다...