tbnso***
2024-02-21

책 표지의 현장에서 바로 써먹는 40가지 핵심 기술이란 카피가 눈에 띄어 읽게 됐다. 과연 나는 최소한의 실무 지식을 갖췄을까? 그렇지 않다면 어떤 점을 더 갖춰야 할까 라는 마음으로 읽었다.
책의 예상 독자는 개발자로 취업을 준비 중인 사람, 이제 막 커리어를 시작한 신입 개발자, 그리고 어느정도 개발 경험이 있는 주니어 개발자를 대상으로 한다. 책을 읽어보니 어느정도 아는 내용에 대해선 더 자세히 알수 있어 유용했고, 새롭게 배운 내용은 배운다는 마음으로 읽을 수 있어 좋았다.
1부에서는 학업에서 배운 데이터베이스, 보안, 자원관리, 성능 등 다양한 이론을 현장에서 적용할 수 있는 실무적 관점을 제공한다.
데이터베이스의 중요한 개념을 실무에 녹인 관점을 보여주고, 소프트웨어 특징에 따라 왜 다양한 DBMS 를 사용하는지 알 수 있다.
2부는 더 나은 소프트웨어를 만들기 위해 필요한 사항을 소개한다. 깃허브, 젠킨스 등 현업에서 흔히 사용하는 개발 툴을 배울 수 있다. 뿐만 아니라 소프트웨어 품질 검증을 위해 필요한 다양한 테스팅 도구에 관한 내용도 다루고 있다.
3부에선 반듯한 코딩 작성을 위한 코딩 규칙과 시큐어 코딩 규칙, 에러 처리 방법 등을 설명한다. 더 나아가 소프트웨어가 다양한 국가에서 사용될 수 있도록 국제화 개념을 소개하고, 소프트웨어의 구독형 서비스 시대에 상식적으로 알아야 하는 클라우드 컴퓨팅 개념을 배울 수 있다. 3부 chapter8의 내용은 코드를 깔끔하게 작성하는 최소한의 규칙을 설명하는데 클린코드의 내용과 어느 정도 상통하지 않나 생각했다.
"chapter9 글로벌 소프트웨어 개발하기" 에서 현지화와 국제화에 관한 내용에서 글로벌 소프트웨어를 개발하기 위해 고려해야 할 내용을 소개한다. 현업에서 다국어 적용을 고려하며 개발 중이기에 해당 챕터의 내용을 더 흥미롭게 읽을 수 있었다. 필자는 국제화와 현지화의 명확한 개념이나 차이를 잘 모르고 사용했는데 책에서는 이 부분을 잘 정리해준다.,
| 국제화(i18n) | 현지화(L10n) |
| 코드와 리소스 분리 로케일에 따른 다국어 언어 표시 문자 인코딩(유니코드) 등 | 숫자, 정렬, 통화 날짜와 시간 키보드 레이아웃, 색상, 아이콘 등 |
Internationalization(국제화) 을 단어의 글자수가 많아 i18n 이란 축약어를 사용한다는 알아두면 좋을 내용도 책에서 꿀팁처럼 설명해준다. Internationalization의 글자수가 20자라 맨앞과 맨뒷 글자를 제외하여 18로 축약했다고 한다. Localization(현지화) 도 마찬가지로 L10n으로 축약한다.
현업에서 국제화는 현재도 적용중이지만 아직 현지화에 대한 개발은 적용하지 않은 상태다. 사실 현지화의 개념도 책에서 새로 배운터라 업무에서 현지화 개념을 도입할 때 잊지않고 떠오를 것 같다.
책에서 현지화에 관한 몇가지 사례를 소개한다. 예를 들어 사용자 인증을 영어로 번역하면 'user authentication' 이 옳은데 'user certification' 으로 오역하는 경우가 있다. 영어가 모국어인 사용자는 문맥에 따라 authentication과 certification 을 다르게 사용하기 때문에 이런 사소한 번역 실수에 신뢰도가 크게 떨어진다는 사례를 소개했다. 콩글리시에 익숙한 개발자라면 심각하게 생각하지 못하고 넘길 수 있는 부분이지만 책에서 이러한 사례를 소개해준 덕분에 현지화 시 고려해야 할 점을 배울 수 있었다.
책에서는 이외에도 스레드풀이나 웹서버의 동작 원리 등 어렴풋이 알고 있던 내용을 쉽게 풀어 설명한다. 책 제목대로 정말 최소한의 실무지식을 넓고 다양하게 읽어볼 수 있는 책이라 이제 막 현업을 시작하는 분들에게 추천드리고 싶다.
"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."