[BOOK : 클린코드 2장] 의미있는 이름
·
카테고리 없음
2장은 우리가 변수명, 클래스 명 등 각 이름들을 붙일 때 어떻게 붙여야 하는지에 대해 이야기해주고 있었다. 물론, 하나하나 전부 중요하긴 하지만 나는 해당 챕터를 읽었을 때 다음과 같이 생각을 하였다. 직관적이고 명확하게 표현해야 한다. 각 변수 그리고 메서드들이 어떤걸 표현해야 하는지에 대해 명확하게 표현되어야 한다라고 생각했다. 이렇게 생각을 하다보니, 코드 컨벤션과도 엮어 생각해볼 수도 있었다. 코드 컨벤션 또한 누구나 쉽게 코드를 이해하고 사용할수 있게끔 즉, 해당 코드를 이해할 수 있게끔 하는것이 목표이기 때문이다. 해당 부분에 대해서 만약 다른 의견이 있다면 그 의견도 한번 들어보고 싶다. 해당 책에서는 다음과 같이 의미 있는 이름들을 이야기해주고 있었다. 의도를 분명하게 밝혀라 좋은 이름..
[BOOK : 클린코드 1장] 깨끗한 코드
·
BOOK
현재 나는 오브젝트, 클린 코드 이 두 권을 집중적으로 책을 읽고 있다.  클린 코드는 개인적으로 꼭 나중에 꼭 읽어야지 마음으로 생각했던 건데 몇 번 사이클을 돌리면서 읽어봐야겠다.  각 챕터별 모든 내용들에 대해 이야기하지 않고, 개인적인 견해가 마구섞인 회고를 작성해보고자 한다.  1장 : 깨끗한 코드 코드를 읽었을 때 해당 코드에 대해 의문점을 가지지 않고 이해가 되어야한다. 해당 파트를 읽으며 나는 다음과 같이 핵심을 뽑아 보았다.  각 사람들마다, 깨끗한 코드에 대해 다르게 정의를 하고 조금 더 포커스를 맞추는게 다르다는 걸 확인할 수 있었다.  바 야네 스트롭 스트룹 우아하고 효율적인 코드를 좋아한다.의존성을 최대한 줄여야 유지보수가 쉬워진다.오류는 명백한 전략에 의거해 철저히 처리한다.성능..
[BOOK : 오브젝트 2장] 객체지향 프로그래밍을 읽고
·
BOOK
해당 챕터에서는 영화 예매라는 예제를 초점으로 이야기를 이어가고 있다.  하나씩 살펴보자  요구 사항 해당 예제는 다음과 같이 요구사항을 구분지었다. 영화영화에 대한 기본정보 상영 실제로 관객들이 영화를 관람하는 사건 우리가 CGV등 각각의 영화를 예매할 때 해당 영화의 정보, 각 CGV별 할인정책이 다름을 알 수 있다.  위 예제를 사건으로 이야기 해보자면 큰 카테고리 두가지를 두고 그 밑의 ( 할인정책,  할인조건 ) 등을 생각해볼 수 있을것이다.  여기서 나는 아! 큰 상위 모듈을 기반으로 하위를 차례대로 생각하는구나 다른말로 마인드 맵이 떠올랐다.  객체지향 프로그래밍을 향해 객체지향은 객체를 지향한다.우리는 객체지향 프로그램을 작성할때 어떤 클래스가 필요한지 고민한다. 하지만 이는 객체지향의 본..
[BOOK : 오브젝트 1장] 객체, 설계를 읽고
·
BOOK
최근 블로그와 링크드인을 작성하는 재미에 푹 빠져 살고 있다.  항상 노션으로만 정리를 하였는데 오브젝트를 기점으로 읽고 있는 책들에 대해 하나하나씩 연재를 진행해보고자 한다.  (계속 글도 쓰다보면, 쓰는 능력도 늘겠지란 생각을 가지며)  해당 책은 확실한 이해를 돕기 위해 코드와 함께 설명을 이어간다. 코드에 대한 내용은 github에 적고 개인적 견해 및 이론에 대한 내용은 블로그에 적으며 진행하고자 한다.  객체 , 설계 로버트 글래스는 이론 , 실무 중 어떤 게 먼저일까에 대해 대한 물음에 실무가 먼저라고 이야기했다.  많은 사람들과 당장 개발을 접한지 얼마 안 된 친구들도 이론이 없어서.... 개발 전 이론을 탄탄히 잡고 시작할래라고 말하는 사람들이 대다수였다.  하지만 로버트 글래스는 다음과..
[DI,DIP] 의존성 주입에 대하여
·
Spring
오늘은, DI와 DIP 의존성 주입에 대해 알아보고 정리하고자 한다. 해당 글은 인프런:객체지향 프로그래밍 기초 강의와 검색 및 기존 알고있던 지식을 기반으로 작성하였다. 두 가지 전부 의존성 주입에 관련된 이야기지만 이 내용의 핵심은 어떻게 의존성을 주입하는가? 가 포인트인것 같았다. DI ( Dependency - injection ) 의존성 주입(Dependency Injection, DI)으로서, 외부에서 의존 객체를 주입함을 의미한다. 의존성 주입(DI)의 의도는 객체의 생성과 사용의 관심을 분리하는 것 이는 가독성과 코드 재사용성을 높여준다. 의존성 주입은 다음과 같은 문제를 해결한다고 한다. 어떻게 애플리케이션이나 클래스가 객체의 생성 방식과 독립적일 수 있는가? 어떻게 객체의 생성 방식을 ..
[OOP] 캡슐화
·
BOOK
최근 인프런 : 객체지향 프로그래밍 강의를 보며 객체지향에 대해 지식을 다시 한번 점검하고 쌓고 있다.  모든 내용이 중요하지만 그래도, 꼭 내기준에서 남겨놔야 할 것 같은 내용들에 대해 재 정리를 하며 기록하고자 한다. 캡슐화 ( Encapsulation ) 데이터 + 관련 기능 묶기  객체가 기능을 어떻게 구현했는지 외부에 감추기 구현에 사용된 데이터의 상세 내용을 외부에 감추는 것정보은닉 ( Information Hiding) 의미 포함 데이터를 외부에 감추는것을 의미 정보은닉과 캡슐화를 구분 지어 표현하였지만, 최근 캡슐화에 정보은닉을 포함하여 표현한다.왜쓸까? 외부의 영향 없이 객체 내부 구현 변경이 가능하기 때문  캡슐화를 하지 않는다면 어떻게 될까? 다음은 요구사항의 변경으로서, Accoun..
[늦은 9월 회고록] 정신없던 9월
·
회고
오... 정말 정신없었던 9월이 지나간다. 최근 Quartz + Batch 그리고 Jooq를 공부하는데 해당 내용이 어렵긴하지만 배우고 사용했을때 사용하는 맛들이 있어서, 이 내용들을 계속 공부하는 중이다. 정말... 알아도 알아도 부족하다는게 너무 느껴지는 요즘이다. 푸시알림 서버 구현에 대해 공부한 내용들을 토대로 구현 후, 해당 내용을 정리해 올려보고자한다. 추석도 있었고 황금연휴들이 있었지만 정말 ..... 정신없던 9월이었다. 최근 , OOP & 클린 아키텍처 등 공부하며 느끼는 점들은 개발에 대해 공부할수록 더 겸손해지고 많이 배워야함들이 많이 느껴진다. 내 코드를 보며 고칠점들이나 부족한 점들이 보이기 시작했다는건 좋은 징조가 아닐까 싶다. 당장의 앞을 내다보기보단 숲을 보는 마음과 여유를 ..
[OOP / 객체지향] 들어가며
·
BOOK
해당 내용들은 인프런 : 객체지향 프로그래밍 입문을 토대로 작성한 글입니다.  시간이 흘러갈수록, 작성 시간이 점점 증가하는 이유?코드 분석 시간의 증가코드 변경 시간의 증가소프웨어의 가치변화Software maintenance is not “keep it working it like before.” It is “Keep being useful in a changing world”낮은 비용으로 변화할 수 있어야 한다.이를 위한 방법패러다임객체지향 , 함수형 , 리액티브 등코드 , 설계 , 아키텍처DRY, TDD , SOLID , DDD ,…클린 아키텍처, MSA , …업무 프로세스 / 문화애자일 , DevOps, …객체지향에서 크게 비용을 낮추는 방법캡슐화 + 다형성(추상화)