본문 바로가기
  • 컴공생의 공부 일기
  • 공부보단 일기에 가까운 것 같은
  • 블로그

💾 Backend/우아한 테크코스-프리코스19

🛸 일급 컬렉션 (First Class Collection) 이거 보고 정리 일급 컬렉션 (First Class Collection)의 소개와 써야할 이유 최근 클린코드 & TDD 강의의 리뷰어로 참가하면서 많은 분들이 공통적으로 어려워 하는 개념 한가지를 발견하게 되었습니다. 바로 일급 컬렉션인데요. 왜 객체지향적으로, 리팩토링하기 쉬운 코 jojoldu.tistory.com 정의 : Collection을 Wrapping하면서, 그 외 다른 멤버 변수가 없는 상태 이점 비지니스에 종속적인 자료구조 로또 과제에서 " 6개의 숫자로만 이루어져야 하고, 서로 중복되지 않아야 하는 " 자료구조 검증 로직 줄일 수 잇음 코드의 가독성 상승 Collection의 불변성을 보장 final은 불변이 아니고 재할당을 금지시킴 (추가 가능) => 컬렉션의 값을 변경할 수 없는 메.. 2023. 11. 12.
🪐우테코 프리코스🪐 - 4주차🚀 마지막..! 어느새 끝까지 화이팅 🚀 메일 🚀 클래스의 역할과 책임을 생각해 보고 클래스 작성 시 도메인 로직에 집중하는 방향으로 구현UI는 도메인 로직과 분리하는 방향으로 생각 1. 클래스(객체)를 분리하는 연습✅ 2. 도메인 로직에 대한 단위 테스트를 작성하는 연습✅ 이번 주 차부터는 새로운 미션 제출 방법이 적용됩니다. 비공개 저장소를 생성해 제출하는 방식이며, 자세한 내용은 아래 미션 제출 방법과 첨부된 제출 방법 문서를 잘 읽어주세요. 특히, woowa-course 계정을 collaborator로 초대하는 부분을 유심히 읽고 수행해 주세요. 프리코스 과제 가이드 - 비공개 저장소를 참고해 제출⭕️ 프리코스 과제 가이드 - 비공개 저장소 비공개 저장소 제출 방식 과제 가이드 진행 가이드 1. 과제.. 2023. 11. 10.
🪐우테코 프리코스🪐 - 4주차 과제🔭 (해당 주차 비공개했습니다) 으므므메메메 이번주의 모든 날에 일정이 있다니 믿을 수가 없군! 하지만 내 업보인걸 후회란없다 https://github.com/woowacourse-precourse/java-christmas-6 GitHub - woowacourse-precourse/java-christmas-6 Contribute to woowacourse-precourse/java-christmas-6 development by creating an account on GitHub. github.com 미션 - 크리스마스 프로모션 🚀 기능 요구 사항 이번 미션은 이메일 형식의 기능 요구 사항입니다. 문제를 구현하는 데 필요한 요구사항과 배경지식은 이메일 내용에 전부 담겨있으니, 꼼꼼하게 확인하고 필요하.. 2023. 11. 10.
🪐우테코 프리코스🪐 - 3주차 과제🔭 (해당 주차 비공개했습니다) 노티드 냠냠 쵝고다 인류는 언제쯤 맛있는 음식이 몸에 건강하게 받아들여지도록 진화할까 https://github.com/woowacourse-precourse/java-lotto-6 GitHub - woowacourse-precourse/java-lotto-6 Contribute to woowacourse-precourse/java-lotto-6 development by creating an account on GitHub. github.com 🚀 기능 요구 사항 로또 게임 기능을 구현해야 한다. 로또 게임은 아래와 같은 규칙으로 진행된다. 로또 구입 금액을 입력하면 구입 금액에 해당하는 만큼 로또를 발행해야 한다. 로또 1장의 가격은 1,000원이다.✅ 당첨 번호와 보너스.. 2023. 11. 7.
🛸 도메인 로직에 대한 단위 테스트 https://techcourse-storage.s3.ap-northeast-2.amazonaws.com/9b82d8a360c548fcadd14c551dbcbe06 단위 테스트를 위한 클래스 명명 규칙 "테스트 대상 클래스명 + Test" import static org.assertj.core.api.Assertions.*; assertThatThrownBy(() -> { // ... }).isInstanceOf(IndexOutOfBoundsException.class) .hasMessageContaining("Index: 2, Size: 2"); import static org.assertj.core.api.Assertions.assertThatExceptionOfType; assertThatExcep.. 2023. 11. 5.
🪐우테코 프리코스🪐 - 3주차🚀 (해당 주차 비공개했습니다) 이얍 이얍 방탈출했는데 재밌었다. 비트포비아 최고 고양이카페최고 🚀 메일 🚀 지난 2주 차 미션에서는 함수 분리와 함수별로 테스트를 작성하는 것을 목표로 했는데요. 3주 차 미션에서는 2주 차에서 학습한 것에 2가지 목표를 추가했어요. 1. 클래스(객체)를 분리하는 연습✅ 2. 도메인 로직에 대한 단위 테스트를 작성하는 연습✅ 도메인 로직과 단위 테스트와 같은 용어들이 낯설 수 있지만, 작은 기능부터 테스트를 작성하는 연습을 시작해 보는 것입니다. 1주 차 피드백에서 제공된 숫자 야구 피드백 강의 후반부에 단위 테스트를 작성하는 내용이 있으니 이를 참고해 주세요. 🚀 2주차 피드백 - 우테코🚀 2주 차 공통 피드백 문서 [6기] 프리코스 2주 차 웹 백엔드 피드백 2주 차 공.. 2023. 11. 2.
🛸 JUnit5, AssertJ 사용 테스트코드 🛸JUnit5 🛸 JUnit은 자바 프로그래밍 언어용 유닛 테스트 프레임워크 🛸AssertJ 🛸 AssertJ는 풍부한 assertions 세트와 유용한 오류 메시지를 제공하고 테스트 코드 가독성을 향상시키며, IDE내에서 매우 쉽게 사용할 수 있도록 설계된 Java 라이브러리 JUnit에서 많이 사용됨 🛸공부!🛸 [우테코] JUnit 5와 AssertJ로 테스트코드 작성하기 Java 에서 테스트 코드를 짤 때 특정 자료구조의 원소 값을 확인해야 하는 테스트가 있다.반복문을 돌면서 일일히 확인해야 하거나 그냥 코드 한줄 한줄 입력하는 방법도 있지만 org.assertj.core.api.A velog.io 🎀assertThat(결과).contains()🎀 중복여부, 순서에 관계 없이 값만 일치하면 테스트가.. 2023. 11. 1.
🛸 커밋 메세지 컨벤션 AngularJS Git Commit Message Conventions AngularJS Git Commit Message Conventions. GitHub Gist: instantly share code, notes, and snippets. gist.github.com [Git] Commit Message Convension (협업을 위한 git 커밋컨벤션) 이번 포스팅에서는 Git 의 커밋 메시지 컨벤션에 대해 알아보겠습니다. 각 회사마다 각자의 git flow 전략을 가지고 브랜치를 관리하듯이, 그에 따라가며 자연스래 commit 에 관한 규칙도 정말 중요 velog.io 🦑 커밋 메세지 구조 🦑 제목 + 본문 + 꼬리말 type(옵션): [#issueNumber-]Subject // 제목 b.. 2023. 11. 1.
🛸 Java 코드 컨벤션 ..ing 보호되어 있는 글 입니다. 2023. 10. 31.
🛸 객체지향 생활체조 원칙 🛸 ( if else 문도 사용 자체 ) 보호 절 ( gaurd clause ) 전략 패턴 ( strategy pattern ) 널 객체 패턴 ( null object pattern ) switch- case 문 사용 도 똑같은 문제!! ⭐️ 3. 모든 원시값과 문자열을 포장(wrap)한다. ⭐️ 원시 타입에 대한 집착 (안티 패턴) ❌ 원시타입을 객체로 만들기잘못된 타입 전달 시 컴파일 에러 방지 가능함 ⭐️4. 한 줄에 점을 하나만 찍는다. ⭐️ 디미터 원칙 : 낯선 이와 이야기하지 말라 / 최소 지식 원칙많은 점 사용 -> 객체가 다른 객체에 깊숙히 관여하고 있음 -> 캡슐화가 깨져있다는 것 "결합도"에 관련한 이야기! ⭐️ 5. 줄여쓰지 않는다(축약 금지). ⭐️ 단일 책임 원칙(SRP 원칙)을 위배.. 2023. 10. 29.