Contents

자바 기반 공부하기

Study Habit

  • 좋은 학습 습관을 만들기

  • 개인적인 학습 프로세스를 만들기

  • 코딩 인터뷰 완전분석 영문

    , 번역본

  • 코딩 테스트에 대한 감이 없어서 공부

  • 자료구조와 해당 자료구조에 대한 접근법(알고리즘)을 차근차근 공부하면 좋아보임

  • 코딩 테스트 연습을 할 수 있는 사이트와 병행하는 것이 좋을 듯

  • LeetCode

    • 알고리즘 분류 별로 정리

    • 알고리즘의 핵심적인 접근 방법에 대한 내용이 많음

    • Cracking the Coding Interview 내용 안에 같은 유형이 많음

      Initial page

  • 서술적인 내용이 아닌 함축적인 내용으로 쉽게 이해하기 힘들고 예제 코드도 부족함

  • 빠르게 훑어보고 어떤 것이 있는지, 내게 필요한 부분이 어떤 것이 있는지 확인하는 용도로 써야 할 듯

  • Java8을 본격 공부하기 위한 책

  • 단순하게 코딩하기 위해서가 아니라 Java8에서 구현된 코드의 매커니즘을 공부해야 함

  • Java 8이 나오게 된 개발 환경, 상황적인 부분을 고려하여 이해 할 것

  1. JPA

  2. RDB

  3. Design Pattern & HTTP, REST API

  • nextstep 의 TDD, Clean Code with Java 11기 진행

  • TDD, OOP 관점에 대한 이해

  • 개발 자유도가 높아 구조적인 것 외에는 코드가 다 다를 수 있음

JUnit 학습 테스트

  • JUnit 연습

    • @DisplayName

    • @ParameterizedTest

    • @CsvSource

    • @MethodSource

    • @ValueSource

    • assertThatIllegalArgumentException()

    • assertThatIllegalStateException()

    • assertThatIOException()

    • assertThatNullPointerException()

단순한 로직으로 OOP 패턴 구현하기

  • 메서드의 분리

  • TDD 실습 및 습관화를 위한 연습

자동차 경주

  • 경험해야할 학습 목표

    • Github 기반으로 온라인 코드 리뷰하는 경험

    • JUnit 사용법을 익혀 단위 테스트하는 경험

    • 자바 code convention을 지키면서 프로그래밍하는 경험

    • 메소드를 분리하는 리팩토링 경험

  • 경험할 객체지향 생활 체조 원칙

    • 규칙 1: 한 메서드에 오직 한 단계의 들여쓰기만 한다.

    • 규칙 2: else 예약어를 쓰지 않는다.

    • 이 두가지 원칙을 통해 메소드를 분리해 메소드가 한 가지 작업만 담당하도록 구현하는 연습을 목표로 한다.

    • 이 같은 원칙 아래에서 메소드의 라인 수를 15라인이 넘지 않도록 구현한다.

로또

  • 경험해야할 학습 목표

    • TDD 기반으로 프로그래밍하는 경험

    • 메소드 분리 + 클래스를 분리하는 리팩토링 경험

    • 점진적으로 리팩토링하는 경험

  • 경험할 객체지향 생활 체조 원칙

    • 규칙 1: 한 메서드에 오직 한 단계의 들여쓰기만 한다.

    • 규칙 2: else 예약어를 쓰지 않는다.

    • 규칙 3: 모든 원시값과 문자열을 포장한다.

    • 규칙 5: 줄여쓰지 않는다(축약 금지).

    • 규칙 8: 일급 콜렉션을 쓴다.

사다리타기 - FP, OOP

  • 경험해야할 학습 목표

    • 자바8의 스트림, 람다를 사용해 함수형 프로그래밍하는 경험

    • In -> Out, Out -> In 방식으로 도메인 객체를 설계하는 경험

    • 책임주도설계 기반으로 인터페이스 활용해 프로그래밍하는 연습

  • 경험할 객체지향 생활 체조 원칙

    • 규칙 4: 한 줄에 점을 하나만 찍는다.

    • Clean Code 가이드의 디미터 법칙을 지키는 것을 의미한다.

    • 규칙 6: 모든 엔티티를 작게 유지한다.

    • 규칙 7: 3개 이상의 인스턴스 변수를 가진 클래스를 쓰지 않는다.

    • 규칙 9: 게터/세터/프로퍼티를 쓰지 않는다.

참고

keyword

  • KPI

  • MBO

Last updated

Was this helpful?