서적
챕터2, 객체지향
📖책의 내용을 요약하니 자세한 부가설명이 궁금하시면 보시는걸 추천드립니다. 📖 객체 지향과 디자인 패턴 - 교보문고 ■ 책에서 다루는 내용- 객체 지향 (객체, 책임, 의존, 캡슐화)- 다형성과 추상화- 상속보단 조립- SOLID 설계 원칙- DI와 서비스 로케이터- 주요 디자인 패턴■ 베타 리더들의 서평책 전반에서 상황 www.kyobobook.co.kr 1. 절차지향과 객체지향 1.1 절차지향 데이터를 조작하는 코드를 별도로 분리해서 함수와 프로시저로 만들고, 데이터를 조작하는 방식으로 프로그램을 작성. 최초에 절차지향 방식 구현은 쉽다. 하지만 규모가 커질 수록 다음 같은 문제들이 발생 - 데이터 타입이나 의미를 변경할 때, 함께 수정해야할 관련 프로시저가 증가 - 하나의 데이터를 다른 의미로 사용..
객체지향과 디자인패턴을 시작하며
객체 지향과 디자인 패턴 - 교보문고 ■ 책에서 다루는 내용- 객체 지향 (객체, 책임, 의존, 캡슐화)- 다형성과 추상화- 상속보단 조립- SOLID 설계 원칙- DI와 서비스 로케이터- 주요 디자인 패턴■ 베타 리더들의 서평책 전반에서 상황 www.kyobobook.co.kr 현재 2번째 읽고 있는(포스팅하기 위해) 추천 받은 객체지향 책이다. 만약에 자바를 배운지 얼마 안되었거나, 객체지향을 모르고 개발 중이라면 추천드린다. 객체지향을 코드기반으로 손쉽게 접할 수 있고 다양한 상황에서 흔하게 접할 수 있는 디자인 패턴도 알려주는 책이다. 목차는 다음과 같다. 더보기 목차 Part 01 객체지향 Chapter 01 들어가기 1. 지저분해지는 코드 2. 수정하기 좋은 구조를 가진 코드 3. 소프트웨어의..
OOP 카테고리를시작하면서
나는 3년간 객체지향 언어인 자바를 사용하고 스프링 프레임워크를 사용했지만 객체지향에 대한 개념을 모르고 사용했었다. 아니, 언어나 도구를 이해하지 않아도 상관없는 환경에서 지내왔다. 오로지 사용만 해봤다면 ok라고 말하는 환경이다. 이전까지만 해도 나는 소프트웨어 장인 챕터14. 기술적 변화의 실행에서 언급되는 회의론 중에서 '무지'였다. 더 이상 설명은 TMI.. 생략한다. 최근에 재직자를 대상으로 진행하는 NextStep의 TDD, Clean Code With Java 를 교육 받았다. 클린코드를 위한 TDD, 리팩토링 with Java edu.nextstep.camp 이 교육 덕분에 나는 객체지향을 하나씩 깨닫게 되었고, 이전까지 사용만 해왔던 스프링 프레임워크가 무엇인지 이해하기 시작했다. (아..
[CHAPTER 16] 소프트웨어 장인으로서의 커리어 (마지막 챕터)
드디어 기나긴 여정의 마지막이다. 이번 챕터는 이전까지의 모든 주제를 총망라하는 포괄적인 주제다. 소프트웨어 개발자는 멋진 직업이다. 주변을 둘러보자. 오늘날 생산되는 거의 모든 것들이 소프트웨어의 뒷받침으로 가능하다. 언제나 우리 주변에는 소프트웨어의 흔적이 가득하다. 매일 손에서 뗄 수 없는 스마트폰부터 시작하여 매일 먹는 음식까지 모두가 소프트웨어의 도움을 받아 관리되고 이동되어 우리의 앞까지 오게 된다. 차가운 맥주를 마시거나 TV에서 수백 개의 채널을 볼 수 있는 것 또한 소프트웨어 덕분이다. 어떻게 우리의 일을 자랑스럽게 생각하지 않을 수 있을까? 어떻게 우리의 일을 그저 출퇴근하는 생계수단으로만 치부할 수 있나? 소프트웨어 개발자들은 우리가 살고 있는 세상이 진화해 나가는데 꼭 필요한 존재다..
[CHAPTER 15] 실용주의 장인정신
좋은 품질이 되기까지 오랜 시간이 걸린다는 고정관념이 있다. 시작부터 저자의 말이다. 이전까지의 이야기를 몰라도 개발 경험이 있다면 좋은 품질이 대충 무엇인지 알 수가 있다. 나도 여러번의 비현실적인 일정 속에서 품질을 신경 쓸 수가 없었고, 좋은 품질이란 시간이 필요해야겠다는 관념이 있었는데 저자는 고정관념이라 표현한다. 안타깝게도 대부분 저급 품질의 싸고 빨리 만들 수 있는 코드를 선택하는 상황이 현실이다. 누구나 흔하게 접할 수 있는 상황이다. 이런 상황에 저자는 다음과 같이 말한다. '고품질은 고비용'이라는 것이 편견임을 설명한다. 시간이 필요하지 않더라도 코드의 품질을 유지할 수 있다는 저자의 말이다. 품질은 선택사항이 아니다 비용이나 시장 타이밍 같은 트레이드 오프같은 문제만 없다면 누구든 품..
[CHAPTER 14] 기술적 변화의 실행
새로운 기술적 실행 관례나 도구를 도입하거나 그러한 것들에 대한 태도를 바꾸려 할 때 상사나 관리자를 설득하는 것보다 실무 개발자들을 설득하기가 훨씬 어려운 편이다. 시작부터 저자가 말하는 내용이다. 변화를 시도하기 위해선 같은 실무 개발자를 설득하는 게 더 어렵다고 한다. 기술 변화를 시도할 때 발생하는 회의론과 새로운 아이디어에 좀 더 열린 태도를 갖도록 설득하는 방법을 살펴본다. 변화를 반대하는 다양한 회의론과 그런 실무 개발자들을 설득하는 방법을 알려주는 게 이번 챕터의 내용이다. 회의론의 종류 새로운 문화, 실행관례, 도구, 절차를 도입할 때 가장 먼저 어떤 반발에 부딪힐지 미리 파악해야 한다. 테렌스 라이언은 그의 저서 [기술적 변화 추진하기]에서 회의론의 종류 를 다음과 같이 정리했다. - ..
[CHAPTER 13] 배움의 문화
구성원들이 동기가 부여되어 있지 않거나 자신의 일 자체에 별 관심이 없으면 그 어떤 변화도 효과적으로 일으킬 수 없다. ... 관리자들은 상황을 얼마든지 더 악화시킬 수 있다. 개발자들이 새로운 규칙을 준수하도록 업무 고과나 보너스를 연계시키는 것이다. 이전 챕터와 이어지는 내용이다. 관리자가 잘못된 방법으로 변화를 이끄려 한다면 더 안 좋은 상황이 될 거라 말한다. 이 장에서는 배움의 문화를 만들기 위해 개발자들이 할 수 있는 여러 활동들에 대해 살펴본다. 잘못된 방향으로 동기 부여하기 어느 유명한 투자 은행에서 회사에 일을 맡겼다. 고객사의 요구사항은 매우 특정적이었다. "우리의 레거시 코드 베이스에 단위 테스트를 역을 끼워 맞춰줄..." 작업을 고객사가 아닌 우리 회사의 사무실에서 하기를 바랐다. ..
[CHAPTER 12] 낮은 사기의 대가
개발자들의 낮은 사기는 소프트웨어 프로젝트 실패이 주된 이유 중 하나다. 애자일 절차들과 애자일 실행 원칙들을 기반으로 개발하고 있다고 전제한다. 이번에는 애자일이 실행되고 있는 상황에서 낮은 사기로 발생하는 사례를 다룬다. 애자일 행오버 : 낮은 사기 거의 대부분의 회사들이 나름대로 애자일 전환을 경험했다. 애자일로 전환하고 몇 년 후, 예외 없이 제품 개발 역량이 여전히 뒤떨어져 있다는 것을 깨닫고 있다. 이 깨달음을 애자일 행오버라고 부른다. 애자일로 전환되었고 몇년이 지났으면 구성원 모두가 변화에 발 빠르게 대응하지 않을까? 왜 개발 역량이 떨어진다고 할까... 애자일 행오버에 빠진 회사들의 흔한 문제는 사기가 낮다는 것이다. 개발자들이 불평할 때가 많아지고... 관리자들이 실제로 뭘 해야하는지 ..