자바 최적화(Optimizing Java)
·
Review
어려운 책이지만 잘 읽힌다. 비교적 최근에 나온 책이어서 그런지 샘플 코드들도 부담되지 않는 선에서 적절하게 들어가 있고 그림 자료도 훌륭하다. 최신 GC들의 콘셉트와 원리, Lock에 대한 챕터가 좋았다. 이 책을 통해 뭔가 머릿속에 남는 무언가를 가져가고 싶다면 꽤나 천천히 읽어봐야 하지 않나 싶다. 느낌적인 느낌(?)으로 읽히는데 제대로 이해하려면 중간중간에 나오는 용어들에 대한 이해를 위해 구글링과 약간의(혹은 많은) 공부가 필요하다. 반대로 교양 느낌으로 훑으면서 읽기에는 굉장히 좋다. 몇 가지 키워드들만 머리에 가져 간 다음에 나중에 떠오를 때 찾아본다던가 하는 식의... 애플리케이션 개발자는 굉장히 추상화된 Layer에서 개발을 하는데 이 추상화가 어떤 구조로 이루어져 있고, 어떻게 작동하는..
라인(LINE)에서의 1년 후기
·
Diary
작년 상반기 입사 전형 이후 라인에서 보낸 1년에 대해 간략하게 정리해보려고 한다. [LINE] 라인 2021년 상반기 공채 후기(자소서, 코딩테스트, 필기테스트, 면접) 상반기 신입 공채는 크게 Client, Server, Cloud 직군으로 나누어 모집했습니다. 이번 채용은 라인 플러스, 라인 비즈 플러스, 그리고 라인 파이낸셜 플러스의 3개 법인에서 진행되었습니다. 쉽게 생각 doljae.tistory.com 글로벌 기업 라인은 본사가 일본에 있고 주 서비스 타깃 국가가 해외인 독특한 회사다. 한국의 라인 관련 회사는 한국 지사로 생각하면 되고, 그 메인 역할을 하는 회사는 라인플러스다. 그 이외에 핀테크 법인인 라인 비즈플러스, 파이낸셜 플러스, 블록체인 법인인 라인 넥스트 등 다양한 회사가 있다..
성능 테스트
·
Programming
지연 테스트(Latency test) 종단 트랜잭션에 걸리는 시간은? 처리율 테스트(Throughput test) 현재 시스템이 처리 가능한 동시 트랜잭션 개수는? 부하 테스트(Load test) 특정 부하를 시스템이 감당할 수 있는가? 스트레스 테스트(Stress test) 이 시스템의 한계점(breaking point)은 어디까지인가? 내구성 테스트(Endurance test) 시스템을 장시간 실행할 경우 성능 이상 증상이 나타나는가? 용량 계획 테스트(Capacity planning test) 리소스를 추가한 만큼 시스템이 확장되는가? 저하 테스트(Degradation) 시스템이 부분적으로 실패할 경우 어떤 일이 벌어지나?
자바 성능 튜닝 이야기
·
Review
2013년에 초판이 나온 책이다. 즉 최신 LTS인 Java 17은커녕 Java 8 관련 이야기도 없다. 그런데 놀라운 건 그럼에도 불구하고 읽을거리가 있었다는 점이다. 한 줄 요약하면 Java 애플리케이션과 JVM의 성능 튜닝의 콘셉트와 방향성을 잡아주는 책이다. 커맨드나 옵션이 변경되었을진 몰라도 원리와 콘셉트는 예나 지금이나 크게 달라지지 않았다고 생각이 드는 게 신기하기도 하고 그렇다. 개념에 대해서 이해할 수 있을 정도로만 최소한의 설명을 하고 이야기하듯이 글이 적혀있는데 그렇다 보니 읽으면서 막히는 부분도 많이 없어서 좋았다.
모던 자바 인 액션(Modern Java in Action)
·
Review
유명한 Java 서적 중 한 권. 사실 요 책이 나온 건 Java 8부터 추가된 많은 기능을 소개하기 위해서다. 그러다 보니 책에서 다루는 대부분의 내용이 요즘 Java 개발자가 익숙한 개념과 이미 사용하고 있는 기술들이다. 하지만 그래서 한번 읽어봄직한데, 예를 들어 개발할 때 익명 함수, 람다 등을 자연스럽게 사용하지만 개발 배경이나 원리, 활용법 등에 대해 잘 알고 있는 사람은 많지 않을 것이다. 요즘 IDE가 너무 좋아져서 웬만한 건 다 잡아주니깐... 책에선 이런 부분을 다뤄준다. 이 책을 읽은 이유는 딱 두 챕터 때문이다. 하나는 스트림과 ForkJoinPool, 또 하나는 CompletableFuture. 최근에 이 두 키워드 때문에 고생을 좀 해서 무슨 콘셉트인지 한 번쯤 알아두고 싶었는데..
실용주의 프로그래머(The Pragmatic Programmer)
·
Review
최근에 20주년 기념판이 나왔다고 해서 읽어본 책. 클린 코드가 코드에 포커스를 둔 책이라면 이 책은 개발 프로젝트를 전반적으로 다룬다. 몇 가지 기억에 남는 키워드와 개인적인 생각을 정리해보면... 시작 피로(start up fatigue) 한꺼번에 많은 것을 바꾸려면 필연적으로 발생하는 많은 준비 과정이 모두를 지치게 한다. 작은 부분을 고르고 그것을 잘 개발하는 것으로 시작해 변화의 촉매가 되어보자. 상속세 프레임워크 레벨로 사용하는 오픈소스는 확장성을 위해 어쩔 수 없다고 하지만 2단계 이상의 상속 구조를 특정 상황에 대해 직접 개발해 사용하는 것에는 의문이 든다. (특히 새로 만드는 프로젝트가 아닌 기존 프로젝트의 신규 기능을 개발할 때!) 테스트의 목표 테스트 코드를 작성하다 보면 종종 이 테..