우테코 (35) 썸네일형 리스트형 [우테코-Lv1] 자동차 경주 간단한 회고 (계속 수정 예정) 1. 객체 안에 toString 오버라이딩 - 좋지 않다는 리뷰를 받음 class Car { public String toString() { return name + " : " + "-".repeat(score); } } - 출력은 도메인의 책임이 아니다. - 정해진 형식 이외에 출력을 위해 수정이 불가피하다 2. 전략패턴 - 확장성 및 테스트에 용이 - 객체지향의 장점인 다향성을 적극 활용한 패턴 💠 전략(Strategy) 패턴 - 완벽 마스터하기 Strategy Pattern 전략 패턴은 실행(런타임) 중에 알고리즘 전략을 선택하여 객체 동작을 실시간으로 바뀌도록 할 수 있게 하는 행위 디자인 패턴 이다. 여기서 '전략'이란 일종의 알고리즘이 될 수 inpa.tistory.com 3. 지네릭 메서드 .. List.of() vs Arrays.asList() 차이 / 갱신 가능 여부 우테코 미션을 수행하다가 배열을 List화 시켜야 하는 상황을 자주 마주했다. 그럴 때, 우리는 두 가지 대안을 고려해볼 수 있는데 Arrays.asList()와 List.of()가 그것이다. public class HelloApplication { public static void main(String[] args) { List asList = Arrays.asList("1", "2", "3"); List listOf = List.of("1", "2", "3"); System.out.println(asList); System.out.println(listOf); } } 두 메소드는 모두 List를 생성하는 기능을 수행하며, 각 원소를 인자로 받는다는 점에도 유사하다 그렇다면 어떤 차이가 있을까? 이 점.. [우테코-Lv1] TDD- AssertJ 라이브러리 목차 isEqualTo()/isNotEqualTo isNull() / isNotNull() isSameAs() / isNotSameAs() assertThatThrownBy().isInstanceOf() assertThatCode().doesNotThrownAnyException() asserThat -String관련 asserThat - Collection관련 Satisfy Match singleelement() Filtering extracting exception Handling JUnit 테스트코드를 먼저 학습하기를 권장합니다. https://hellobrocolli.tistory.com/137 [우테코-Level1] JUnit 단위 테스트 공부 JUnit5이란? : 자바 언어를 사용하는 소프트웨.. [Intellij IDEA] 페어 프로그래밍 공유 환경설정 / 같은 IDE 공유하기 >>문제상황 우테코 Lv1 단계에서는 같은 문제를 함께 해결하는 페어 프로그래밍을 한다. 그러나, 이 과정에서 다음과 같은 문제가 발생했다. 1. 맥 vs Window 유저에 따라 단축키가 익숙치 않다. 2. 페어 컴퓨터가 아니라 내 컴퓨터에서 코드를 보고 싶을 때가 있다 3. 집에 가서 혼자 고민한 내역을 빠르게 공유하고 싶다. 즉, 구글 공유 문서와 같은 역할을 해주는 기능이 Intellij에 있는지 궁금해졌다. >> Intellij에 공유 환경 설정하기 역시 있었다. Code With Me(EAP)를 다운받아 사용하면 된다. 지원버전은 `2020.03`버전이다 그럼 설치과정을 하나씩 톺아보자 >> Step1. Code With Me File> Settings > Plugins > MarketPlac.. [스크랩] git 커밋 메시지 타입 🔖 type (타입) 의 종류 : ✨ feat : 새로운 기능을 추가할 경우 🐛 fix : 버그를 고친 경우 📝 docs : 문서를 수정한 경우 🎨 style : 코드 포맷 변경, 세미 콜론 누락, 코드 수정이 없는 경우 ♻️ refactor : 프로덕션 코드 리팩토링 ✅ test: 테스트 추가, 테스트 리팩토링 (코드 변경 X) 📦 chore : 빌드 태스트 업데이트, 패키지 매니저를 설정하는 경우 (코드 변경 X) 💄 design : CSS 등 사용자 UI 디자인 변경 💡 comment : 필요한 주석 추가 및 변경 🚚 rename : 파일 혹은 폴더명을 수정하는 경우 🔥 remove : 사용하지 않는 파일 혹은 폴더를 삭제하는 경우 출처: https://velog.io/@gusdh2/%EC%A2%8.. POSIX new line : 파일 끝에 개행을 추가해야 하는 이유 우테코 1주차 미션을 하다가 POSIX new line에 대한 피드백을 받았다. 해당 부분의 코드는 다음과 같다. // then assertEquals(new ArrayList(List.of("carB", "carC")), Service.getWinnerNames(cars)); } } 처음에는 코드에 대한 피드백이 아니라 당황했고, POSIX라는 처음보는 단어에 2차적으로 당황했다. 그럼 차례대로 알아보자 POSIX란? - Portable Operating System Interface의 약자로 운영체제 사이의 호환성을 위해 IEEE에서 만든 표준 - 소스코드 호환을 위해 표준을 정한 것 // then assertEquals(new ArrayList(List.of("carB", "carC")), Serv.. [우테코-Lv1] JUnit 단위 테스트 공부 JUnit5이란? : 자바 언어를 사용하는 소프트웨어 개발자를 위한 테스트 프레임 워크 : 주로 단위 테스트를 작성하고 실행하는 데에 쓰인다. 참고 사이트 요약된 표 JUnit 테스트 프레임 워크 @Test 해당 메서드가 테스트임을 나타내는 애너테이션 @DisplayName 해당 테스트의 이름을 나타냄 @Nested 중첩 클래스임을 나타냄 @Disabled 해당 테스트를 비활성화 @assertEquals(expected, actual) 두 값이 같은지 비교(equals()) @asssertNotEquals(expected, actual) 두 값이 같지 않은지 비교(! equals()) @assertSame(expected, actual) 두 객체가 같은 객체인지(같은 메모리 주소를 가리키는지 확인) @a.. 우테코 4주차- [크리스마스 이벤트] 회고 우테코의 4주차 회고를 시작해보자. 이번 미션을 시작할 때 3주차 공통피드백에서 크게 신경을 썼던 점은 다음과 같다. - 무분별한 getter보다 객체에 메시지를 보내 객체가 로직을 수행하도록 노력하자 - 만약 getter를 통해 직접 멤버변수에 접근해야 한다면 외부에서 변강하지 못하도록 unmodifiableList를 설정해주자 - 테스트를 위한 코드는 구현 코드와 별개로 이루어져야 한다. - 메소드 시그니처 변형을 통해 테스트하기 좋은 메서드를 만든다. - 오류가 진행된 부분부터 다시입력을 받는다.=> 이 파트는 지난 주 요구사항에 제대로 반영되지 못해 더 신경썼다. 1) enum 클래스을 통한 관련있는 변수 관리 연관있는 변수끼리 같이 관리하기 위해 메뉴이름-가격-카테고리를 enum클래스로 만들어 .. 이전 1 2 3 4 5 다음