리팩토링

    토비의 스프링 포스팅을 시작하며

    스프링 관련 서적을 추천 받으면 대부분 토비의스프링을 추천한다. 스프링에 대한 원리와 이해를 가장 잘 설명하고 지금까지도 변함이 없기 때문이다. 극소수의 사람은 옛날 스프링3.0 버전이라고 필요없는 내용이라 평가한다. 하지만 직접 읽어보면 단순히 스프링 내용이 아니다. 객체지향 설계에 대한 핵심 내용만 가득찬 좋은 책이다. 이 책은 겉표지 제목인 스프링이란 단어 속에 엄청난 내용들이 숨겨져 있다. 객체지향 개념, 디자인 패턴, 리팩토링, 단위테스트 등의 모든 내용을 스프링이란 단어에 가려져있었다. 토비의스프링은 객체지향 설계를 다양한 측면에서 다루는 내용들이 핵심이다. EJB 시절의 객체지향 설계 예제를 시작으로 어떻게 스프링(IoC/DI, 서비스 추상화, AOP)으로 변해왔는지 변화를 모두 경험한다. ..

    6월 2주차 회고 및 3주차 목표

    지난 주의 목표는 무엇이였는가 지난 주 주간 목표는 4가지였다. 1. 오브젝트 포스팅 (완료) 'OOP/오브젝트: 코드로 이해하는 객체지향 설계' 카테고리의 글 목록 새싹? 개발자의 블로그 loopstudy.tistory.com 지난 주 오브젝트 포스팅을 시작하고 완료했다. 생각했던 완료 시점은 이번주 였는데, 3일동안 오브젝트만 매달리고 집중해보니 일찍 마무리가 되었다. 오브젝트 처음 읽었을 땐 시간이 꽤 소요되었는데, 지금은 객체지향에 대한 학습이 진행된 상태로 빨리 진행이 되어서 놀라웠다. 한 동안 객체지향에만 매달린 덕분일까. 다시 읽는데 빨라지고 처음에 비해 알지 못한던 부분까지 생각하는걸 보니 어제보다 발전된 모습에 뿌듯함이 느껴졌다. 2. 리팩토링과 클린 아키텍처 읽기 (리팩토링 완료, 클린..

    [CHAPTER 15] 실용주의 장인정신

    좋은 품질이 되기까지 오랜 시간이 걸린다는 고정관념이 있다. 시작부터 저자의 말이다. 이전까지의 이야기를 몰라도 개발 경험이 있다면 좋은 품질이 대충 무엇인지 알 수가 있다. 나도 여러번의 비현실적인 일정 속에서 품질을 신경 쓸 수가 없었고, 좋은 품질이란 시간이 필요해야겠다는 관념이 있었는데 저자는 고정관념이라 표현한다. 안타깝게도 대부분 저급 품질의 싸고 빨리 만들 수 있는 코드를 선택하는 상황이 현실이다. 누구나 흔하게 접할 수 있는 상황이다. 이런 상황에 저자는 다음과 같이 말한다. '고품질은 고비용'이라는 것이 편견임을 설명한다. 시간이 필요하지 않더라도 코드의 품질을 유지할 수 있다는 저자의 말이다. 품질은 선택사항이 아니다 비용이나 시장 타이밍 같은 트레이드 오프같은 문제만 없다면 누구든 품..

    [CHAPTER 7] 기술적 실행 관례

    지금까지 읽은 내용으로 기술적 실행 관례가 얼마나 중요한지 알 것이다. 그렇지만 관리자 입장은 비지니스로 체감을 못하는 경우가 많다. 이번 챕터에서는 기술적 실행 관례를 도입할 때 동료나 관리자를 설득하는데 도움이 될 내용으로 구성되어있다. 올바르 일 vs 올바른 실행 애자일 방법론은 빠르고 짧은 피드백 루프를 제공하여 우리가 올바른일을 실행하고 있는지 점검하도록 도와준다... 이러한 실행 관례들이 애플리케이션의 품질 사애가 어떠한지는 알려주지는 않기 때문에 이 부분에서 문제가 된다. 품질 상태가 비즈니스의 발목을 잡을 정도로 나쁘다는 사실을 깨달았을 때는 이미 많이 늦었을 가능성이 높다. 코드가 망가지고 있는지를 비즈니스 담당이 눈치채기는 대단히 어렵다, 반면에 개발자가 그것을 숨기는 것은 너무나 쉽다..

    [CHAPTER 6] 동작하는 소프트웨어

    소프트웨어 프로젝트가 실패하는 원인은 아주 다양하다. 잘못된 비즈니스 의사 결정, 우월한 경쟁자, 잘못된 프로젝트 관리 등 매우 많다. 소프트웨어 프로젝트에는 중요한 일들이 많아서 덜 중요해 보이는 것들이 있다. 어떤 조직에서는 유능한 관리자, 깊은 계층구조, 마이크로 매니지먼트, 엄격한 절차, 대량의 문서들이 프로젝트의 성공을 좌우한다고 생각한다. 많은 조직들이 소프트웨어 개발을 공장 라인으로 취급한다. 직접 경험한 SI 업계가 대다수 이런식으로 많이 진행한다. 이러한 조직에서 훌륭한 개발자를 끌어들이고 유지할 수 있는 경우는 거의 없다. 그저 그런 개발자들의 손에 전체 비즈니스를 맡기게 된다. 어떤 프로젝트에서는 개발자만 70~80명 있었는데, 대다수가 그저 그런 개발자였다. 함수선언도 못하던 10년..

    이규원님의 현실 세상의 TDD 기초, 6편 : 정리된 코드(리팩토링)

    이전 시간에 실습한 코드 기능 명세, 테스트 우선 개발을 중심으로 코드를 정리하는 시간이다. 강의에선 자바스크립트로 진행되지만 자바로 해석하며 진행했다. 📖 원본이 궁금하면 이규원 님의 TDD 수강하는 걸 추천드립니다. 👍 The RED : 이규원의 현실 세상의 TDD : 안정감을 주는 코드 작성 방법 | 패스트캠퍼스 그동안 우리나라에는 TDD를 제대로 다루는 책도 강의도 없었죠. 그래서 제가 개발 현장에서 활용하는 TDD를 정확하게 알려드리고자 강의를 만들었습니다. 이제 TDD에 대한 잘못된 인식은 버리고, ' fastcampus.co.kr 작업 환경 정리 1) 생산성 : 정리된 환경과 어지럽혀진 환경에서의 작업 생산성 차이 2) 지속성 : 작업 환경의 생산성이 일정 수준 미만으로 떨어지면 더 이상 그..