Skip to content
isdnetworks
Go back

도메인을 옮겨 다녔다

한 해 동안 성격이 다른 일을 여럿 했다. 게임 서버와 정보 시스템과 통신 장비였다.

Table of contents

Open Table of contents

새로 배워야 했던 것

기술 스택도 다르고 쓰는 말도 달랐다. 게임 서버 쪽은 C++IOCP를 다루는 일이고 정보 시스템 쪽은 PHPCodeIgniterMySQL이며 장비 쪽은 오가는 바이트와 CRC를 보는 일이다. 옮길 때마다 처음부터 배우는 느낌이었다.

몇 번 겪고 나니 매번 새로 배우는 것과 그대로 가져가는 것이 나뉘는 것이 보였다. 그 구분을 알고 나면 새 도메인에서 무엇에 시간을 써야 하는지가 정해진다.

새로 배워야 하는 것은 그 분야의 말과 규칙이었다. 같은 단어가 도메인마다 다른 것을 가리키고 그 분야에만 있는 제약이 있다.

이런 것은 지름길이 없다. 코드를 아무리 읽어도 왜 그 값을 그렇게 다루는지가 안 나온다. 규제 때문에 그렇게 해야 하는 것인지 그냥 그렇게 만든 것인지가 코드에는 안 적혀 있다.

접근 방식은 옮겨진다

반대로 그대로 가져가는 것도 분명했다. 자료를 먼저 보는 것과 확인 순서를 정해 두는 것과 되돌릴 준비를 하고 손대는 것이었다.

MySQL이면 DESC로 컬럼부터 보고 장비면 오가는 것을 먼저 잡는 식으로 대상만 바뀐다. 되돌릴 준비도 SVN에 무엇이 커밋돼 있는지 확인하는 것에서 크게 다르지 않다.

문서를 그대로 믿지 않고 실제와 대조하는 것도 마찬가지다. 이런 것들은 도메인과 상관없이 통했다. 새 도메인에서 빨리 자리를 잡는 것은 이 부분이 이미 있기 때문이었다.

새 도메인에서 먼저 하는 것

그래서 새 도메인에 들어가면 하는 순서를 정해 두게 됐다. 용어부터 정리하고 SHOW TABLES 수준에서 자료를 훑고 흐름을 하나 따라가 보고 위험한 것을 확인한다.

위험한 것을 확인하는 단계에서 무엇을 하면 안 되는지를 물어본다. MySQL에서 지우면 안 되는 표나 장비에 보내면 안 되는 명령 같은 것이다. 도메인마다 절대 건드리면 안 되는 것이 있고 그것은 코드에 안 적혀 있다. 이 질문을 초기에 하는 것과 사고를 낸 뒤에 아는 것의 차이가 크다.

물어보기 전에 확인한 것을 정리한다

도메인 지식은 사람에게 있으므로 물어보는 것이 가장 빠르다. 코드를 며칠 읽는 것보다 삼십 분 물어보는 것이 낫다.

다만 그냥 물어보면 답도 두루뭉술하게 온다. 내가 무엇을 확인했고 어디서 막혔는지를 정리해서 물으면 답이 정확해진다. 결국 어려운 것은 기술 스택이 아니라 왜 그렇게 돌아가는지였다.

정리


Share this post on:

Previous Post
먼저 읽는 쪽을 바꾸니 조회가 줄었다
Next Post
직접 만들었는데 이미 방식이 있었다