분류 전체보기

6월 3주차 회고 및 4주차 목표
지난주 목표는 지난 주에는 메인으로 스프링만 집중적으로 목표로 설정하고 스프링 공부만 집중적으로 했다. 스프링 서적은 토비의 스프링 vol.1과 인강은 인프런 김영한님의 스프링 핵심 원리 완주가 주 목표였고 서브로 리팩토링이나 포스팅이나 HTTP 인강였지만... 토비의 스프링 vol.1을 읽다보니 다른 것은 전혀 하지도 못했다. 토비의 스프링 vol.1 읽는데만 일주일이나 소비되었다. 토비의 스프링 vol.1 대부분의 개발자가 추천하는 스프링 책은 토비의 스프링이다. 지금도 토비의 스프링으로 스터디를 많이하는 것을 보면 얼마나 좋은 책인지 알 수 있다. 토비의스프링이 궁금해서 후기를 찾아보기도 했다. 내용이 어려워 접었다거나, 너무 오래된 내용이라 현재에는 안쓰는 기술들이 많다고 비권장한다는 후기가 종종..

토비의 스프링 포스팅을 시작하며
스프링 관련 서적을 추천 받으면 대부분 토비의스프링을 추천한다. 스프링에 대한 원리와 이해를 가장 잘 설명하고 지금까지도 변함이 없기 때문이다. 극소수의 사람은 옛날 스프링3.0 버전이라고 필요없는 내용이라 평가한다. 하지만 직접 읽어보면 단순히 스프링 내용이 아니다. 객체지향 설계에 대한 핵심 내용만 가득찬 좋은 책이다. 이 책은 겉표지 제목인 스프링이란 단어 속에 엄청난 내용들이 숨겨져 있다. 객체지향 개념, 디자인 패턴, 리팩토링, 단위테스트 등의 모든 내용을 스프링이란 단어에 가려져있었다. 토비의스프링은 객체지향 설계를 다양한 측면에서 다루는 내용들이 핵심이다. EJB 시절의 객체지향 설계 예제를 시작으로 어떻게 스프링(IoC/DI, 서비스 추상화, AOP)으로 변해왔는지 변화를 모두 경험한다. ..
6월 2주차 회고 및 3주차 목표
지난 주의 목표는 무엇이였는가 지난 주 주간 목표는 4가지였다. 1. 오브젝트 포스팅 (완료) 'OOP/오브젝트: 코드로 이해하는 객체지향 설계' 카테고리의 글 목록 새싹? 개발자의 블로그 loopstudy.tistory.com 지난 주 오브젝트 포스팅을 시작하고 완료했다. 생각했던 완료 시점은 이번주 였는데, 3일동안 오브젝트만 매달리고 집중해보니 일찍 마무리가 되었다. 오브젝트 처음 읽었을 땐 시간이 꽤 소요되었는데, 지금은 객체지향에 대한 학습이 진행된 상태로 빨리 진행이 되어서 놀라웠다. 한 동안 객체지향에만 매달린 덕분일까. 다시 읽는데 빨라지고 처음에 비해 알지 못한던 부분까지 생각하는걸 보니 어제보다 발전된 모습에 뿌듯함이 느껴졌다. 2. 리팩토링과 클린 아키텍처 읽기 (리팩토링 완료, 클린..

오브젝트 포스팅을 끝내며
오브젝트 마지막인 마치며, 나아가기에 이런 문구가 있다 어떤 기술을 처음 학습하려는 사람은 '따라가는 수준'에서 시작한다. 나는 객체지향을 코드로 이해하기 위해서 오브젝트를 읽기 시작했다. 처음엔 객체지향 개념도 제대로 안 잡힌 상태여서 오브젝트 내용을 잘 이해하지 못했다. 말 그대로 글과 코드를 보면서 따라갔다. 그러다가 중반부터 한달정도 멈췄다가 다시 읽으면 첫 완주를 했다. 첫 완주 했을 때의 심정은 드디어 다 읽었구나, 나도 이제 객체지향에 대해 좀 알게 된 거 같은 기분이다. 객체가 무엇인지 검색을 해보면 객체란 상태와 행동을 가진 거라 정의하는 사이트가 많았다. 오브젝트 초반 부분도 객체는 행동과 상태를 같이 가진 것이라고 표현한다. 하지만 초반 이후엔 객체는 협력이라는 문맥 안에서 적합한 책..

오브젝트 15_ 디자인 패턴과 프레임워크
디자인 패턴과 프레임워크에 대한 내용이다 자세한 내용이 궁금하면 오브젝트를 펼쳐보는 걸 추천드립니다.📖 오브젝트 역할, 책임, 협력을 향해 객체지향적으로 프로그래밍하라!객체지향으로 향하는 첫걸음은 클래스가 아니라 객체를 바라보는 것에서부터 시작한다. 객체지향으로 향하는 두번째 걸음은 객체를 www.yes24.com 시작하면서 디자인 패턴은 소프트웨어 설계에서 반복적으로 발생하는 문제에 대해 반복적으로 적용할 수 있는 해결 방법이다. 디자인 패턴의 목적은 설계를 재사용하는 것이다. 프레임워크는 설계와 코드를 함께 재사용하기 위한 것이다. 한마디로 디자인 패턴과 프레임워크는 모두 협력을 일관성 있게 만들기 위한 것이다. 디자인 패턴과 설계 재사용 소프트웨어 패턴 패턴이란 무엇인가 논의되면 반복적으로 언급되는..

오브젝트 14_ 일관성 있는 협력
일관성 있는 협력에 대한 내용이다 자세한 내용이 궁금하면 오브젝트를 펼쳐보는 걸 추천드립니다.📖 오브젝트 역할, 책임, 협력을 향해 객체지향적으로 프로그래밍하라!객체지향으로 향하는 첫걸음은 클래스가 아니라 객체를 바라보는 것에서부터 시작한다. 객체지향으로 향하는 두번째 걸음은 객체를 www.yes24.com 시작하면서 객체지향 설계의 목표는 적절한 책임을 수행하는 객체들의 협력을 기반으로 결합도가 낮고 재사용 가능한 코드 구조를 창조하는 것이다. 개발하다 보면 유사한 요구사항을 반복적으로 추가하거나 수정할 수 있다. 유사한 요구사항을 추가하는 상황에서 협력마다 서로 다른 패턴으로 변경되면 전체적인 설계의 일관성이 무너지게 된다. 객체지향 패러다임의 장점은 설계를 재사용할 수 있다는 것이다. 재사용을 위해..

오브젝트 13_ 서브클래싱과 서브타이핑
서브클래싱과 서브타이핑에 대한 내용이다 자세한 내용이 궁금하면 오브젝트를 펼쳐보는 걸 추천드립니다.📖 오브젝트 역할, 책임, 협력을 향해 객체지향적으로 프로그래밍하라!객체지향으로 향하는 첫걸음은 클래스가 아니라 객체를 바라보는 것에서부터 시작한다. 객체지향으로 향하는 두번째 걸음은 객체를 www.yes24.com 시작하면서 동일한 메시지에 대해 서로 다르게 행동할 수 있는 다형적인 객체를 구현하기 위해서는 객체의 행동을 기반으로 타입 계층을 구성해야 한다. 타입 사이의 관계를 고려하지 않은 채 코드 재사용을 위해 상속하면 여러 문제를 갖게 된다. 개념 관점의 타입 우리가 인지하는 세상의 사물의 종류를 개념 관점의 타입이라 하며, 어떤 대상이 타입으로 분류 될 때 그 대상을 타입의 '인스턴스(instanc..

오브젝트 12_ 다형성
다형성에 대한 내용이다 자세한 내용이 궁금하면 오브젝트를 펼쳐보는 걸 추천드립니다.📖 오브젝트 역할, 책임, 협력을 향해 객체지향적으로 프로그래밍하라!객체지향으로 향하는 첫걸음은 클래스가 아니라 객체를 바라보는 것에서부터 시작한다. 객체지향으로 향하는 두번째 걸음은 객체를 www.yes24.com 시작하면서 객체지향 패러다임이 주목받기 시작한 초기에 상속은 계층 타입과 다형성을 구현하는 유일한 방법이었고, 상속을 이용하면 코드를 재사용할 수 있다는 '과대광고'가 널리 생겨 상속에 대한 맹신과 추종이 생겼다. 현재는 다양한 방법으로 다형성을 구현할 수 있어서 상속의 비중은 많이 사라졌다. 다형성(Polymorphism) 다형성은 많은 형태를 가질 수 있는 능력을 의미하며, 객체지향 프로그래밍에서 다형성은 ..