개발관련 책

    면접을 위한 CS 전공지식 노트 1장

    디자인 패턴과 프로그래밍 패러다임 라이브러리 - 공통으로 사용될 수 있는 특정한 기능들을 모듈화한 것을 의미한다. 프레임워크에 비해 자유롭다. 프레임워크 - 공통으로 사용될 수 있는 특정한 기능들을 모듈화한 것을 의미한다.폴더명,파림여 등에 대한 규칙이 있으며 라이브러리에 비해 좀 더 엄격하다. 디자인 패턴이란? - 프로그램을 설계할 때 발생했던 문제점들을 객체 간의 상호관계 등의 이용하여 해결할 수 있도록 하나의 "규약" 형태로 만들어놓은 것 입니다. 1. 싱글톤 패턴 - 하나의 클래스에 오직 하나의 인스턴스만 가지는 패턴, 하나의 클래스를 기반을 여러개의 개별적인 인스턴스를 만들 수 있지만, 그렇지게하지않고 하나의 클래스를 기반으로 단 하나의 인스턴스를 만들어 이를 기반으로 로직을 만드는데 쓰이며 ,..

    clean code 3장 요약

    3장 함수 함수를 만드는 첫번 째 규칙은 "작게" 다 . 함수를 만드는 둘째 규칙은 "더 작게"다. service 로직에서이나 보통 도메인주도설계를하시는분은 Entity안에서 로직을 작성하시곤 하는데 함수가 가지고있는 의미있는 이름을 갖고 함수를 자잘자잘하게 짜르고 명확한 이름을 가지고 작성하는 것이 중요한 것 같다. 블록과 들여쓰기 if 문/else 문/while 문 등에 들어가는 블록은 한 줄이어야 한다. => 중첩 구조가 생길만큼 함수가 커져서는 안 된다 => 함수에서 들여쓰기 수준은 1단이나 2단을 넘어서면 안 된다. 한 가지만 해라! 함수는 한 가지를 해야한다. 그 한 가지를 잘 해야 한다. 그 한가지만을 해야한다. 지정된 함수 이름 아래에서 추상화 수준이 하나인 단계만 수행해야함 의미 있는 이..

    clean code 2장 요약

    sw마에스트로에서 여러 사람들이 많이 주문한 책이고 개발자는 거의 필수코스라고봐도 무방할 정도로 사람들이 많이 읽는다. 좀 오래 걸리긴 했지만 읽은 것을 바탕으로 내용을 정리해보려고한다. 2장 의미있는 이름 의도를 분명히밝혀라 "의도가 분명하게 이름을 지으라" 이 부분은 정말 공감되는 부분이다 좋은이름으로 함수명 클래스명을 지으려면 시간이 걸리지만 좋은이름으로 절약하는 시간이 더 많아질 것이다. 변수나 함수 그리고 클래스 이름은 존재 이유, 수행 기능과 사용 방법과 같은 굶직한 질문에 모두 답해야 한다. 의미 있게 구분하라 - 읽는 사람이 차이를 알도록 이름을 지어라 - 컴파일러를 통과할지라도 연속된 숫자를 덧붙이거나 불용어를 추가하는 방식은 적절하지 못하다. 이름이 달라야한다면 의미도 달라져야한다. -..

    Effetive java 3장 정리

    10. euals 는 일반 규약을 지켜 재정의하라 각 인스턴스가 본질적으로 고유하다. 값을 표현하는 것이 아니라 동작하는 객체를 표현하는 클래스가 해당한다. ex) Thread 인스턴스의 '논리적 동치성(logical equality)'을 검사할 일이 없다. 상위 클래스에서 재정의한 equals가 하위 클래스에도 해당된다. ex) AbstractSet → Set 구현체, AbstractList → List 구현체, ... 클래스가 private거나 package-private고 equals 메서드를 호출할 일이 없다. 혹시라도 equals를 호출하는 위험을 막고 싶다면 AssertionError를 던지자. @Override public boolean equals(Object o) { throw new A..