java
📖4월 목표 및 3월 회고📖 (부제 : TDD, Clean Code With Java)
4월이 시작된지 열흘이 지나서 작성한다🙈 3월 목표 작성 이후 많은 변화가 있었다.👍 3월 회고 📖 변화의 요인 TDD, Clean Code With Java 11기 교육 📖 클린코드를 위한 TDD, 리팩토링 with Java edu.nextstep.camp 과정은 막 수료했지만 아직 진행중(03.01 ~ 05.04)이며, 처음부터 반복진행하면서 얻게 될 인사이트가 많이 남아있다. 그리고 이전까지 내가 한 공부가 잘못된 방식이란 걸 일깨워 준 고마운 교육 이다. 교육 후기 TDD, Clean Codw with Java - 미션1, 자동차 경주 후기 TDD, Clean Codw with Java - 미션2, 로또 후기 TDD, Clean Codw with Java - 미션3, 사다리 후기 TDD, Clea..
TDD, Clean Code with Java 시작하며..
TDD, Clean Code with Java 자바지기 박재성님이 운영하시는 교육플랫폼 NEXTSTEP 에서 진행하는 교육이다. 클린코드를 위한 TDD, 리팩토링 with Java edu.nextstep.camp 작년 초반에 알았지만 오프라인 교육에 수료율이 낮아 힘들다는 평에 고민을 하다가 신청을 안했다. 하반기에 회사를 퇴사하면서 꼭 신청해야지하면서 기다렸는데 기업교육인 우아한테크Pro, 카카오 신입교육, 11번가 신입교육이 진행되면서 TDD, Clean Code with Java 교육이 열리지 않았다. 하염없이 기다리다가 결국 이번 3월에 11기가 오픈하면서 신청한 교육이다. 수강비용은 70만원(22년부터 80만원으로 인상)이고, 기간은 8주(2달)이다. 다음은 TDD, Clean Code with..
테스트 코드를 작성하는 이유
지금 테스트 어떻게 하시나요? 이전까지 일해왔던 레거시 환경에서는 테스트가 서버를 띄우고 Postman 이나 화면에서 직접 입력폼 하나씩 입력하는 방식으로 다양한 use case 에 맞게 수작업 단순노동을 하면서 결과를 보내고 콘솔로 찍히는 로그가 정상인지 확인하는게 일반적인 테스트인줄 알았다. 이 방식은 경험상 단점이 존재한다 시간이 많이 필요 : 서버 띄우고 직접 입력폼 하나씩 입력하는 방식은 불필요한 행동이 많아 시간적 소비가 많다 유스케이스 기록 : 다양한 유스케이스에 대한 테스트를 기억하기 위해선 엑셀같은 문서에 남겨야한다. 최소 수십개의 테스트를 진행하다 까먹고 다시하거나 잊고 누락하는 경우가 생기기 때문이다 상황 대처 느림 : 운영중에 예상치 못한 에러가 발생하면 빠르게 파악하고 수정해서 반..
11주차 과제 : enum
11주차 과제: Enum · Issue #11 · whiteship/live-study 목표 자바의 열거형에 대해 학습하세요. 학습할 것 (필수) enum 정의하는 방법 enum이 제공하는 메소드 (values()와 valueOf()) java.lang.Enum EnumSet 마감일시 2021년 1월 30일 토요일 오후 1시까지. github.com 목표 자바의 열거형에 대해 학습하세요. 학습할 것 (필수) enum 정의하는 방법 enum이 제공하는 메소드 (values()와 valueOf()) java.lang.Enum EnumSet enum 정의하는 방법 Enum 는 열거형 혹은 상수집합으로 부른다 class 대신 enum 으로 정의한다 정의 방법은 3가지로 나눠진다 // 1. java 파일로 정의 ..
10주차 과제 : 멀티쓰레드 프로그래밍
10주차 과제: 멀티쓰레드 프로그래밍 · Issue #10 · whiteship/live-study 목표 자바의 멀티쓰레드 프로그래밍에 대해 학습하세요. 학습할 것 (필수) Thread 클래스와 Runnable 인터페이스 쓰레드의 상태 쓰레드의 우선순위 Main 쓰레드 동기화 데드락 마감일시 2021년 1월 23일 github.com 목표 자바의 멀티쓰레드 프로그래밍에 대해 학습하세요. 학습할 것 (필수) Thread 클래스와 Runnable 인터페이스 쓰레드의 상태 쓰레드의 우선순위 Main 쓰레드 동기화 데드락 Thread 클래스와 Runnable 인터페이스 프로세스와 스레드에 대해 알아보자 프로세스(Process) 운영체제에서 실행중인 하나의 애플리케이션을 프로세스라고 한다 프로세스는 운영체제로부터..
9주차 : 예외처리
9주차 과제: 예외 처리 · Issue #9 · whiteship/live-study 목표 자바의 예외 처리에 대해 학습하세요. 학습할 것 (필수) 자바에서 예외 처리 방법 (try, catch, throw, throws, finally) 자바가 제공하는 예외 계층 구조 Exception과 Error의 차이는? RuntimeException과 RE가 github.com 목표 자바의 예외 처리에 대해 학습하세요. 학습할 것 (필수) 자바에서 예외 처리 방법 (try, catch, throw, throws, finally) 자바가 제공하는 예외 계층 구조 Exception과 Error의 차이는? RuntimeException과 RE가 아닌 것의 차이는? 커스텀한 예외 만드는 방법 개발자의 고통... 그 이름..
자바 8주차 : 인터페이스
8주자 과제: 인터페이스 · Issue #8 · whiteship/live-study 목표 자바의 인터페이스에 대해 학습하세요. 학습할 것 (필수) 인터페이스 정의하는 방법 인터페이스 구현하는 방법 인터페이스 레퍼런스를 통해 구현체를 사용하는 방법 인터페이스 상속 인터 github.com 목표 자바의 인터페이스에 대해 학습하세요. 학습할 것 (필수) 인터페이스 정의하는 방법 인터페이스 구현하는 방법 인터페이스 레퍼런스를 통해 구현체를 사용하는 방법 인터페이스 상속 인터페이스의 기본 메소드 (Default Method), 자바 8 인터페이스의 static 메소드, 자바 8 인터페이스의 private 메소드, 자바 9 인터페이스 정의하는 방법 인터페이스는 추상클래스를 더 추상화한 것으로 공통적인 기능을 규격..
7주차 : 패키지
github.com/whiteship/live-study/issues/7 7주차 과제: 패키지 · Issue #7 · whiteship/live-study 목표 자바의 패키지에 대해 학습하세요. 학습할 것 (필수) package 키워드 import 키워드 클래스패스 CLASSPATH 환경변수 -classpath 옵션 접근지시자 마감일시 2021년 1월 2일 토요일 오후 1시까지. github.com 학습할 것 (필수) package 키워드 import 키워드 접근지시자 클래스패스 CLASSPATH 환경변수 -classpath 옵션 package 패키지란 클래스를 체계적으로 관리하기 위한 폴더 저장 방식이자, 패키지명과 클래스명을 합쳐(FQCN:full qualified class name) 클래스를 유일..