티스토리 뷰

회고

꼭 읽고싶은 개발서적 정리 📚

통통푸딩 2022. 5. 8. 00:27
반응형

1. 객체지향의 사실과 오해

 
객체지향의 사실과 오해
『객체지향의 사실과 오해』는 객체지향이란 무엇인가라는 원론적면서도 다소 위험한 질문에 답하기 위해 쓰여진 책이다. 안타깝게도 많은 사람들이 객체지향의 본질을 오해하고 있다. 가장 널리 퍼져있는 오해는 클래스가 객체지향 프로그래밍의 중심이라는 것이다. 객체지향으로 향하는 첫 걸음은 클래스가 아니라 객체를 바라보는 것에서부터 시작한다. 객체지향으로 향하는 두 번째 걸음은 객체를 독립적인 존재가 아니라 기능을 구현하기 위해 협력하는 공동체의 일원으로 바라보는 것이다. 세 번째 걸음을 내디딜 수 있는지 여부는 협력에 참여하는 객체들에게 얼마나 적절한 역할과 책임을 부여할 수 있느냐에 달려 있다. 객체지향의 마지막 걸음은 앞에서 설명한 개념들을 프로그래밍 언어라는 틀에 흐트러짐 없이 담아낼 수 있는 기술을 익히는 것이다. 객체지향이란 무엇인가? 이 책은 이 질문에 대한 답을 찾기 위해 노력하고 있는 모든 개발자를 위한 책이다.

 

저자
조영호
출판
위키북스
출판일
2015.06.17

객체지향에 관해 배울 수 있는 굉장히 유명한 책이다.

저자분이 이 책과 '오브젝트' 라는 책을 쓰셨는데 '오브젝트'를 읽기전에 먼저 읽기를 추천하시는 책이다.

객체지향에 관해 가볍게 다룬다음, '오브젝트'에서 제대로 다루는 것 같았다.

'오브젝트'를 읽기 전, 어떤 것을 강조하고 싶은지 큰 흐름?을 알 수 있어서 좋았다.

이전에 잘못 생각했던 객체지향에 관한 지식들을 바로잡고 진짜 객체지향이 무엇인지 배울 수 있었다.

 

 

 

2. 오브젝트 (강추)

 
오브젝트
객체지향으로 향하는 첫걸음은 클래스가 아니라 객체를 바라보는 것에서부터 시작한다. 객체지향으로 향하는 두번째 걸음은 객체를 독립적인 존재가 아니라 기능을 구현하기 위해 협력하는 공동체의 존재로 바라보는 것이다. 세번째 걸음을 내디딜 수 있는지 여부는 협력에 참여하는 객체 들에게 얼마나 적절한 역할과 책임을 부여할 수 있느냐에 달려 있다. 객체지향의 마지막 걸음은 앞에서 설명한 개념들을 여러분이 사용하는 프로그래밍 언어라는 틀에 흐트러짐 없이 담아낼 수 있는 기술을 익히는 것이다. 《객체지향의 사실과 오해》가 첫번째 걸음과 두번째 걸음인 객체와 협력에 초점을 맞췄다면 《오브젝트: 코드로 이해하는 객체지향 설계》는 세번째와 네번째 걸음인 책임의 할당과 그 구현에 초점을 맞춘다. 이 책을 읽고 나면 객체에 적절한 역할과 책임을 부여하는 방법과 유연하면서도 요구사항에 적절한 협력을 설계하는 방법을 익히게 될 것이다. 나아가 프로그래밍 언어라는 도구를 이용해 객체지향의 개념과 원칙들을 오롯이 표현할 수 있는 방법 역시 익힐 수 있을 것이다. ★ 이 책에서 다루는 내용 ★ ◎ 역할, 책임, 협력에 기반해 객체지향 프로그램을 설계하고 구현하는 방법 ◎ 응집도와 결합도를 이용해 설계를 트레이드오프하는 방법 ◎ 설계를 유연하게 만드는 다양한 의존성 관리 기법 ◎ 타입 계층을 위한 상속과 코드 재사용을 위한 합성의 개념 ◎ 다양한 설계 원칙과 디자인 패턴
저자
조영호
출판
위키북스
출판일
2019.06.17

위에 있는 '객체지향의 사실과 오해' 2편이라고 봐도 무방하다.

객체지향 언어를 사용하는 개발자라면, 이 책은 진짜 강추이다.

인생 책이라고 할 수 있을 정도로 객체지향에 관해서 많이 배운 책이다.

나쁜 예시와 좋은 예시를 보면서 어떻게 작성하는 것이 좋은 코드인지를 배울 수 있어서 좋았다.

긴 말 필요없다. 강추!

 

 

 

3. Effective Java 3/E (강추)

 
이펙티브 자바 3/E
자바 6 출시 직후 출간된 『이펙티브 자바 2판』 이후로 자바는 커다란 변화를 겪었다. 그래서 졸트상에 빛나는 이 책도 자바 언어와 라이브러리의 최신 기능을 십분 활용하도록 내용 전반을 철저히 다시 썼다. 모던 자바가 여러 패러다임을 지원하기 시작하면서 자바 개발자들에게는 구체적인 모범 사례가 더욱 절실해졌고, 관련 조언을 이 책에 담아낸 것이다. 3판에는 자바 7, 8, 9에서 자바 언어와 라이브러리에 추가된 특성들을 녹여냈다. 특히 그동안 객체 지향에 치중하던 자바에 새로 도입된 함수형 프로그래밍 요소도 자세히 알아본다. 람다(lambda)와 스트림(stream)만을 다룬 장을 포함하여 새로운 아이템도 많이 추가되었다. 새롭게 다루는 주제들 - 함수형 인터페이스, 람다식, 메서드 참조, 스트림 - 인터페이스의 디폴트 메서드와 정적 메서드 - 제네릭 타입에서의 다이아몬드 연산자를 포함한 타입 추론 - @SafeVarargs 애너테이션 - try-with-resources 문 - Optional T 인터페이스, java.time, 컬렉션의 편의 팩터리 메서드 등의 새로운 라이브러리 기능
저자
조슈아 블로크
출판
인사이트
출판일
2018.11.01

너무 너무 유명한 책이다.

자바 개발자라면, 꼭 읽는 것을 추천한다.

일반 자바 개념서에서는 볼 수 없는, 자바를 사용할 때 주의할 점들을 알 수 있다.

보면서 굉장히 많이 배울 수 있었던 책이다.

꼭 앞으로도 여러번 읽으면서 내 코드에도 적용시켜보고 싶다.

 

 

 

4. 클린코드

 
Clean Code(클린 코드)
『Clean Code(클린 코드)』은 오브젝트 멘토(Object Mentor)의 동료들과 힘을 모아 ‘개발하며’ 클린 코드를 만드는 최상의 애자일 기법을 소개하고 있다. 소프트웨어 장인 정신의 가치를 심어 주며 프로그래밍 실력을 높여줄 것이다. 여러분이 노력만 한다면. 어떤 노력이 필요하냐고? 코드를 읽어야 한다. 아주 많은 코드를. 그리고 코드를 읽으면서 그 코드의 무엇이 옳은지, 그른지 생각도 해야 한다. 좀 더 중요하게는 전문가로서 자신이 지니는 가치와 장인으로서 자기 작품에 대한 헌신을 돌아보게 된다.
저자
로버트 C 마틴
출판
인사이트
출판일
2013.12.24

클린 코드를 구현하기 위한 다양한 규칙들을 설명하는 유명한 책이다.

클린 코드를 작성하는 것은 매우 중요하기 때문에 꼭 공부해보고 싶은 책이다.

 

 

 

 

5. 테스트 주도 개발

 

테스트 주도 개발 - YES24

Test-Driven Development: By Example아름다운 코드와 즐거운 개발을 위한 테스트 주도 개발테스트 주도 개발은 학계와 업계에서 많은 주목을 받아온 프로그래밍 방법으로, 여러 연구 논문과 실례를 통해

www.yes24.com

테스트 주도 개발은 개발자의 생산성과 역량을 증폭시켜준다.

테스트 주도 개발은 테스트가 개발을 주도하는 방법이다.

테스트가 개발을 주도한다는 것은 테스트가 코딩의 방향을 이끌어 간다는 말이다.

 

 

 

6. 토비의 스프링

 
토비의 스프링 3.1 세트
『토비의 스프링 3.1 세트』는 스프링을 처음 접하거나 스프링을 경험했지만 스프링이 어렵게 느껴지는 개발자부터 스프링을 활용한 아키텍처를 설계하고 프레임워크를 개발하려고 하는 아키텍트에 이르기까지 모두 참고할 수 있는 스프링 바이블이다. 단순한 예제를 스프링 3.0과 스프링 3.1의 기술을 적용하며 발전시켜 나가는 과정을 통해 스프링의 핵심 프로그래밍 모델인 IoC/DI, PSA, AOP의 원리와 이에 적용된 다양한 디자인 패턴, 프로그래밍 기법을 이해할 수 있다. 또한 XML 대신 자바코드를 이용해서 스프링을 개발할 수 있는 최신 빈 설정 기법부터 편리한 RESTful 스타일의 웹 컨트롤러 작성 기법까지 스프링 3.0과 스프링 3.1의 최신 기술을 상세하게 소개하고 그 중에서 자신에게 맞는 최적의 기술을 선택하고 조합할 수 있는 기준과 활용전략을 안내하였다.
저자
이일민
출판
에이콘출판
출판일
2012.09.21

스프링 하면 굉장히 유명한 책이다.

자세히 스프링의 원리를 설명해서 딥하고 어렵지만, 자바 스프링 개발자라면 꼭 읽어보는 것을 추천한다고 한다.

조금 더 실력이 늘었을 때, 이 책을 하나하나 뜯어보면서 공부해보고 싶다.

 

 

 

7. 모던 자바 인 액션

 
모던 자바 인 액션
자바 1.0이 나온 이후 18년을 통틀어 가장 큰 변화가 자바 8 이후 이어지고 있다. 자바 8 이후 모던 자바를 이용하면 기존의 자바 코드 모두 그대로 쓸 수 있으며, 새로운 기능과 문법, 디자인 패턴으로 더 명확하고 간결한 코드를 구현할 수도 있다. 이 책은 함수형 언어의 영감을 받아 자바 8, 9, 10에 추가된 람다, 스트림, 함수형 프로그래밍, 자바 모듈 시스템, 병렬화와 공유 가변 데이터, 동작 파라미터화 등의 주요 기능을 자바 개발자에게 알려준다. 수정처럼 투명한 예제와 꼼꼼한 정보 제공으로 여러분의 노력에 보답할 것이다. 이 책은 『자바 8 인 액션』의 개정판으로서 1, 8, 10, 4, 17, 21장은 신규 추가되거나, 그에 준하는 큰 수정이 있었다. 부록을 뺀 나머지 모든 장도 수정 보강되었다.
저자
라울-게이브리얼 우르마, 마리오 푸스코, 앨런 마이크로프트
출판
한빛미디어
출판일
2019.08.01

자바는 8부터 큰 변화를 겪었다. 자바8은 새로운 기능과 문법, 디자인 패턴으로 더 명확하고 간결한 코드를 구현할 수 있다. 이 책은 함수형 언어의 영감을 받아 자바 8, 9, 10에 추가된 람다, 스트림, 함수형 프로그래밍, 자바 모듈 시스템, 병렬화와 공유 가변 데이터, 동작 파라미터화 등의 주요 기능을 자바 개발자에게 알려준다.

개인적으로 자바8에 추가된 것들(람다, 스트림, Optional 등)을 흥미롭게 쓰고 있기 때문에 이 책을 꼭 읽어보고 싶다.

결국 새로 추가된 좋은것들을 더 잘 배우고 적용할수록 한단계 더 발전할 수 있을 것이라 생각한다.

반응형
댓글
반응형
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday