IT, 기술 도서
-
'클린 아키텍처'를 읽고IT, 기술 도서 2022. 1. 8. 15:41
밥 아저씨의 책을 읽어보았다. 워낙 클린코드로 유명하신 분이라 저자에 대한 설명은 말이 필요없을 것 같다. 이 책을 읽는 내내 들었던 느낌은 decoupling, DIP였다. 용어는 바뀌어도 DIP의 확장 개념으로 생각됐다. DIP를 위해 중간 인터페이스 역할은 필수적이겠구나란 생각도 함께 들었다. 고수준 모듈이 저수준 모듈로 의존하지 않기 위해 중간 인터페이스 역할(모듈이 될 수도 있고 코드가 될 수도 있고)을 통해 저수준 모듈이 인터페이스로 의존성이 향하게 하고 고수준 모듈도 인터페이스를 통해 저수준의 모듈에 의존성이 얽매이지 않는 것이다. 후반부에는 밥 아저씨의 개발자 인생사를 써둔 목차가 있는데, 그 시대의 소프트웨어나 하드웨어를 잘 모르는지라 좀 건성으로 읽었다. decoupling, dip가 ..
-
Java 8 in Action을 읽고IT, 기술 도서 2022. 1. 8. 14:46
읽은지는 꽤 됐지만, 후기를 늦게서야 남긴다. java 8에 관해서 책으로 습득할 틈 없이 바로 실무에서 써야했기 때문에 따로 책을 보고 학습을 못했었다.(책을 보면서 이런 기능도 있었구나 하는 포인트들이 꽤 있었다) java 8을 학습하기 위해 추천이 가장 많았던 java 8 인 액션을 구입해서 읽었다. 알기론 jvm 내에서도 변화가 있었는데(permenant area가 meta space로 변경된 점이라든가.) jvm에 관한 책은 아니므로 따로 설명은 없었다. java 8의 가장 큰 변화점은 함수형 프로그래밍의 적용이 아닐까라고 개인적으로 생각한다. 처음 함수형 프로그래밍으로 코드를 짤 때는 복잡하고 어려워서 힘들었는데 익숙해지니 코드가 더 간결해지는 효과를 볼 수 있었다. 함수형 프로그래밍이 지닌 ..
-
'일관성 있는 웹 서비스 인터페이스 설계를 위한 REST API 디자인 규칙'을 읽고IT, 기술 도서 2020. 9. 6. 19:36
Rest API 디자인에 대해서 간결하고 깔끔하게 정리되어 있는 책이다. Representational State Transfer의 약자로 로이필딩의 박사 논문 주제로 세상에 소개 되었고 알려져있다. HTTP 통신을 위한 API 설계의 아키텍처 중 하나이다. 웹 개발자로 일하기 위해서는 REST API라는 말을 정말 많이 들어볼 것이다. 실상 그 속속까지 아는 사람은 많지 않다. 어디선가 아무곳에서나 REST API를 이야기하니 로이 필딩이 Http base의 인터페이스들을 모두 REST API라고 부르는 것에 좌절감을 느낀다든가(~이렇게 짜야 REST API라고 할 수 있어!라는 포스팅을 함), REST라는 단어에 대해 논쟁을 많이 한다는 이야기를 본 기억이 있다. 그래서 평화를 위해 그냥 Web AP..
-
Effective Java3(이펙티브 자바3)을 읽고IT, 기술 도서 2020. 9. 5. 12:16
좀 더 좋은 자바 코드 작성을 위해 자바 진영에서 유명한 이펙티브 자바를 사서 읽었다. 이펙티브 자바3이 가장 최신판이었고, 기존 이펙티브 자바2의 명맥을 이어가면서 더 보강했다고 해서 완전히 다른 책이 아니고 더 보강한 책이라 이펙티브 자바3을 구입했다. 처음에 하나하나 정리를 해볼까 생각했지만, 시간 소요가 많을텐데 다른 책들이 보고싶어 서평 정도만 남기기로 했다. 코드를 작성하는데 도움이 되는 조언이 많았다. 예를 들면, - 인자가 많은 생성자를 만들어야한다면 빌더 패턴을 고려하라 - 전통적인 for문보다 for-each문을 사용하라(이제는 for-each도 있지만 stream을 이용할 수도 있다) - 로 타입은 사용하지 말라 - 웬만하면 제네릭 타입, 메서드를 사용해라 - 상수 대신 열거타입을 사..
-
'소프트 스킬'을 읽고IT, 기술 도서 2020. 6. 28. 14:33
'소프트스킬'은 첫 회사를 나오면서 파트장이셨던 00선임님이 선물해주신 책이었는데, 업무적인 지식 습득에 급급해 읽는 것을 미루다 최근에서야 다 읽었다. 책에서 프로그래밍, 개발적인 기술을 하드스킬이라고 한다면 소프트스킬은 사람을 대하는 방법, 업무를 처리하는 방법, 일에 집중하는 방법, 건강관리, 재테크 등을 말한다. 개발자로서 개발 기술이 뛰어난 것도 중요하지만, 그 외에 소프트 스킬을 기르는 것도 중요하다고 저자는 이야기하는데, 이런 말을 하는 저자는 33살의 나이에 은퇴를 했다. 뭐랄까. 우직하게 한 우물만 파는 개발자 모습만 상상하던 내게 재테크, 처세술을 이야기하고 있는 이 책이 색다른 느낌이었다. '세상에 정답은 없다'라는 걸 말해주는 듯했다. 엄청난 개발적인 기술을 갖춰 스페셜 리스트가 되..
-
팀 내 북스터디로 보기 좋은 '함께 자라기'를 읽고IT, 기술 도서 2020. 3. 31. 19:41
고객! 고객! 고객! 이 책을 읽다보면 소프트웨어를 개발하는데 있어 가장 중요한 건 고객과의 커뮤니케이션이다. 다른 건 몰라도 고객과의 소통을 통해 내놓는 소프트웨어는 실패할 확률이 낮다는게 '함께 자라기'에서 강조하는 애자일이다. 애자일(agile)에 관한 책이라고 말하지만 정작 애자일에 대한 설명은 맨 마지막에 실려있다. 애자일보다는 팀이라는 조직이 어떻게 일해야하는가에 더 초점이 맞춰진 책이다. 어떤 조직이 더 빨리 성장하는가, 어떻게 협업을 해야하는가 등의 이야기가 있으며, 통계 분석을 통해 신뢰성 있는 주장을 내놓고자 한 책이다. 애자일 방법론은 개발 방법론 중에 하나인데, 지나친 형식절차와 계획에 의존하기보다 빠른 프로토타입을 개발해 개발주기를 짧게 가지면서 지속적으로 발전시키는 것이다. 애자..
-
실리콘밸리의 실상 '카오스 멍키'를 읽고IT, 기술 도서 2020. 3. 22. 17:10
정기구독으로 보고 있는 리디셀렉트에서 '카오스 멍키'를 보고 기술 서적 말고도 it 업계의 책도 봐야지 라는 마음으로 읽기 시작했다. 책이 꽤 두꺼워서 읽는데까지 시간이 좀 걸렸지만, 마냥 내가 가지고 있던 실리콘밸리의 환상을 깨준 책이다. 이제까지 실리콘밸리라하면 개발자에게 있어 파라다이스(?)일까 라고 생각했었다. 이 책을 읽고나면 '워라밸'을 중시하는 개발자에게는 실리콘밸리에서 일한다는게 좋아보이진 않을 것이다. 아직 기억나는게 변기에 앉아서 코딩을 하고 있었다는 장면이었는데, '와.... X 누면서 코딩을 하고 있다니.. 미쳤다!!'라고 생각했다. 그리고 저자도 프로젝트를 개발하며 정확히 기억은 안나지만 하루에 18시간(?) 정도를 몇 달 동안 일했다고 했다. 듣기만 해도 찌들것 같아... 마냥 ..
-
[운영체제] 운영체제와 정보기술의 원리 - 반효경IT, 기술 도서 2020. 3. 7. 09:59
CS(Computer science) 지식의 부족함을 느끼며 지냈기에 가벼우면서 간단하게 요약된 책을 찾고 있었다. 당장 일을 하기 위해 필요한 지식들을 습득하기에도 급급하기 때문에 흔히 OS를 한 방에 정리할 수 있는 '공룡책'을 읽을 시간적 여유, 마음적 여유가 없었고, 당장 내게 우선순위를 따졌을 때 OS의 깊이있는 공부는 우선순위가 높지 않았다. 그래서 찾은 책이 '운영체제와 정보기술의 원리'! (뵌적은 없지만 대단하다 생각하는 다른 개발자분의 블로그 글에서 칭찬하고 있었던 책이었다.) 책은 부담스럽게 두껍지 않고 약 300페이지 되는 분량이다. OS에 필요한 기본적인 목차들을 가져가며 이해하기 쉽게 설명하고 있다. '패스트캠퍼스'에서 OS 강의를 한 번 완강하긴 했지만, 공부란게 공부했던 것도 ..