Scroll indicator done

개발서적 (54)

  1. [서평] - Go 언어로 배우는 웹 애플리케이션 개발 2024.02.11

    Go에 대해서 아예 무지한 상태로 해당 책을 접하게되었다. 평소 다른 언어를 찍먹해보고 싶은 욕구가 가득하던 찰나에 서평의 기회가 찾아와서 책을 간단히 리뷰해본다. 항상 어떤 새로운 언어를 배울 때는 그 언어가 어떤 목적을 가지고 탄생했는지가 늘 궁금해진다. 나뿐만 아니라 다른 사람들도 똑같지 않을까하는 생각에 1장만 간단하게 요약해려고한다. 😃 Go가 탄생한 이유 Go의 탄생이유는 Go at Google에서 확인할 수 있고 개발 배경은 'Why did you create a new language?'에 있다. 2007년 구글이 개발한 프로그래밍 언어인 Go는 당시 구글이 겪던 아래의 문제들을 해결하기위해 탄생했다. 수십 분, 수 시간이 걸리는 빌드 동일한 내용의 표현 방법이 프로그래머마다 달라서 생기는..

  2. Unit Testing - 01장 단위 테스트의 목표 2022.01.16

    2022년 (처음이자) 새롭게 입사하게 된 맘편한세상(= 맘시터) 개발팀은 매주 1회 사내 스터디를 진행하고 있다. 자율적인 참여이지만, 필참이라는 마인드로 시간이 되는 선에서는 모두 참여하려고 한다. 내가 합류한 시점에는 클린 아키텍처 책 스터디가 막 끝난 상황이었고, 새로운 도서를 선정하게 됐다. 때마침 최근에 읽고있던 '오브젝트'도 희망 서적 중 하나로 언급이되었지만, 최근 SNS상의 많은 개발자분들이 책 구성이 좋다고 언급하는 Unit Testing 책이 선정되었다! 관심이 없지는 않던터라 ( 테스트는 항상 고민해야하는 녀석이기에.. ) 기쁜 마음으로 도서를 구매하였다! 단위 테스트는 단순히 테스트를 작성하는 것보다 더 큰 범주이다. 단위 테스트에 시간을 투자할 때는 항상 최대한 이..

  3. 아이템 37 - ordinal 인덱싱 대신 EnumMap을 사용하라 2021.06.09

    배열이나 리스트에서 원소를 꺼낼 때 ordinal 메서드로 인덱스를 얻는 코드가 있다. 예를들어 다음과 같이 식물을 간단히 나타낸 다음 클래스를 보자 class Plant { enum LifeCycle { ANIMAL, PERENNIAL, BIENNIAL } final String name; final LifeCycle lifeCycle; Plant(String name, LifeCycle lifeCycle) { this.name = name; this.lifeCycle = lifeCycle; } @Override public String toString() { return name; } }정원에 심은 식물들을 배열 하나로 관리하고, 이들을 생애주기별로 묶어보자. 생애주기별로 총 3개의 집합을 만들고 정..

  4. 아이템 36 - 비트 필드 대신 EnumSet을 사용하라 2021.06.01

    열거한 값들이 주로 집합으로 사용될 경우, 예전에는 각 상수에 서로 다른 2의 거듭제곱 값을 할당한 정수 열거 패턴을 사용해왔다. public class Text { public static final int STYLE_BOLD = 1

  5. 아이템35 - ordinal 메서드 대신 인스턴스 필드를 사용하라 2021.05.28

    대부분의 열거 타입 상수는 자연스럽게 하나의 정숫값에 대응된다. 그리고 모든 열거 타입은 해당 상수가 그 열거 타입에서 몇 번째 위치인지를 반환하는 ordinal이라는 메서드를 제공한다. 이런 이유로 열거 타입 상수와 연결된 정숫값이 필요하면 ordinal 메서드를 이용하고 싶은 유혹에 빠진다. 다음 코드는 합주단의 종류를 연주자가 1명인 솔로(solo)부터 10명인 디텍트(dectet)까지 정의한 열거 타입이다. public enum Ensemble { SOLO, DUET, TRIO, QUARTET, QUINTET, SEXTET, SEPTET, OCTET, NONET, DECTET; public int numberOfMusicians() { return ordinal() + 1; } } 동작은 하지만 ..

  6. 아이템 34 - int 상수 대신 열거 타입을 사용하라 2021.04.10

    열거 타입은 일정 개수의 상수 값을 정의한 다음, 그 외의 값은 허용하지 않는 타입이다. 자바에서 열거 타입을 지원하기 전에는 정수, 상수를 한 묶음 선언해서 사용하곤 했다. 정수 열거 패턴(int enum pattern) 기법에는 단점이 많다. 타입 안전을 보장할 방법이 없으며 표현력도 좋지 않다. 정수 열거 패턴을 사용한 프로그램은 깨지기 쉽다. 평범한 상수를 나열한 것뿐이라 컴파일하면 그 값이 클라이언트 파일에 그대로 새겨진다. 따라서 상수의 값이 바뀌면 클라이언트도 반드시 다시 컴파일해야 한다. 다시 컴파일하지 않은 클라이언트는 실행이 되더라도 엉뚱하게 동작할 것이다. 정수 상수는 문자열로 출력하기가 다소 까다롭다. 그 값을 출력하거나 디버거로 살펴보면 단지 숫자로만 보여서 별 도움이 안된다. 같..