목록회고 (8)
나의 독학은
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/dzOBIx/btsAy6wJHrn/sJSNrNLXpPpqlZsmoJgemK/img.png)
😊4주차 목표 1, 2, 3주차에 학습한 모든 것들을 코드에 녹여내서 아쉬움이 남지 않도록 최선을 다하기! 😊4주차 목표 ☆ 코드의 전문입니다. ✅ 어려울 수록 빛났던 테스트 코드 이번 주차도 을 지키면서 테스트 코드의 장점인 코드에 대한 피드백을 빨리 받고자 했다. 그렇게 다음과 같은 것들을 누리게 되었다. 람다식으로 예외를 터뜨리거나 map 을 순회하는 람다식을 올바르게 사용할 수 있었던 이면에는 초록불이 들어올 때까지 테스트 코드를 돌려봤기 때문이었다. 테스트 코드를 처음 학습했던 2주차에서 알게된 "코드를 작성하면서 '어떻게 테스트를 할 것인가?' 를 자문하기" 를 지키게 되었다. 구현 전에 어떻게 테스트를 작성할지 미리 생각하게 되었고, 이는 테스트 코드를 작성하기 어려운 기능을 더 작은 단위의..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/JDLpv/btszK6M7fGm/tEsi0Kd0C3rKFr5ekqNmK1/img.png)
😊 3주차 목표 순서 지키기 객체지향 코드를 위해 노력하기 1주차 및 2주차 피드백반영하기 손이 가는대로 코드를 작성하지 말고 미리 생각하기 😊 로또 게임 구현 ☆ 코드의 전문입니다. ✅ 사용자를 위한 어떤 프로그램을 만들건지 생각하기 이번 요구사항은 1등 당첨금(20억)만큼의 돈을 쓰면 얼만큼의 수익률이 생길지 궁금해하는 사용자가 이 로또게임을 많이 이용할 것이라 생각했고 이에 맞게 설계와 예외처리를 진행했다. ✅ MVC 사용 [학습] 3주차 요구사항에 "도메인 로직에 대해 단위테스트 하기, 도메인 로직과 UI 로직을 분리해라" 가 나왔기 때문에 도메인 로직에 대해 알아봤다. 이 글에서 은행 업무를 예시로 어떤 로직이 도메인이고, UI 인지 설명 해줘서 도움을 많이 받았다. 도메인로직에 대해 정확히 모..
♧학습한 글의 원본 ▷ 기본 규칙 ✅ [S-I-D] 따르기 기억하기 쉽게 Short 자연스럽게 읽히도록 Intuitive(직관적으로) 무엇을 하고 소유하는지 가장 효과적인 방법으로 Descriptive(서술하기) ✅ 축약형 이름 피하기 - onItmClk (x) - onItemClick (o) ✅ 자료구조를 포함한 이름 피하기 - List itemList (x) - List items (o) ✅ 문맥 상 중복이 있는 이름 피하기 class MenuItem{ handleMenuItemClick = ... (x) handleClick = ... (o) } MenuItem.handleMenuItemClick (x) MenuItem.handleClick (o) ✅ 예상된 결과 반영하는 이름 짓기 /* Bad *..
▷ 커밋 메시지를 의미 있게 작성한다. ✅ 좋은 커밋 메시지 작성법 : 어떻게 했는지 보다는 무엇을 했고 왜 했는지를 설명하기 1. 제목과 본문을 빈 행으로 구분하기. - 제목은 변경사항의 요약, 본문은 변경사항의 세부내용을 설명 2. 제목을 50글자 이내로 제한 3. 제목의 첫 글자는 대문자로 작성하지 않기 4. 제목의 끝에는 마침표, 느낌표 넣지 않기 5. 제목은 명령문으로 하고, 과거형 사용하지 않기 6. 본문의 내용은 72글자 내로 작성하기 ✅ 커밋 유형 feat: 새로운 기능 추가 fix: 버그 수정 docs: 문서 수정 style: 코드 스타일 수정 - 공백과 들여쓰기를 사용해 코드를 정리 - 코드에 주석을 작성 - 변수 이름을 명확하게 작성 refactor: 코드 구조 개선 - 중복된 코드를..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bqPw2H/btszi5UTUev/Du6mm44pOdoCgCNyv4OBL1/img.png)
😊 2주차 목표 요구사항에 충실하고, 2주차 목표인 함수 분리하기와 함수별로 테스트 작성에 익숙해지기! 1주차 공통 피드백 적용하기! 코드를 한 줄 한 줄, 고민하며 프로그램을 구현하기! 오류를 무서워하지 말고 성장의 과정이라 믿기! 천천히 그리고 꼼꼼히 문서 읽기! 😊 자동차 경주 게임 구현 ☆ 코드의 전문입니다. ✅ 좋은 프로그램이란? 2주차는 요구사항 마다 "~할 수 있다." 로 끝나서 참 애매했다. 어떻게 예외처리를 해야할지 씻을 때도, 자기 전에도, 구현 도중에도 진짜 계속 고민했다. 그 과정에서 Console.readLine() 내부 안을 들어가 보기도 했고, escape 문자는 출력과 다르게 그대로 입력이 되는지 알게 되고, BigDecimal와 BigInteger 자료형의 함수들도 찾고, ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/uid6E/btsyVa8rpMa/MGaWJkfdiF6YsJ9HjWzyyk/img.png)
[❓자바 코딩 컨벤션 왜 지켜야 하는가? ] 예를 들어, 대학생 시절에 조별과제 ppt를 만들기 위해 5명이 모였다고 가정을 합니다. ppt를 5분할 해서 각자 맡을 파트를 정하고, 3일 뒤에 각자 ppt를 완성하여 만났습니다. 그런데, ppt의 배경 색, 글자 크기와 색등을 통일하지 않고 각자 취향껏 만들어왔습니다. 이 상태로 ppt를 합친다면 좋은 점수를 못 받을 것은 분명합니다. 코딩도 똑같습니다. 여러 개발자가 협업하는 과정에서 내가 작성한 코드를 다른 개발자가 작업하거나, 반대로 다른 개발자가 작업한 코드를 내가 작업할 때도 있습니다. 이 때, 자바 코딩 컨벤션을 통일해서 코드를 작성했다면 어려움 없이 상대방의 코드를 읽고, 추가 작업을 할 수 있습니다. 즉, 자바 코딩 컨벤션는 개발자들의 협업..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cDZZ4b/btsyMOfyNKz/3FhzUl1CnxqbHw0gZPw0D0/img.png)
😊 1주차 시작 전 취준 기간 중 1달이란 시간을 프리코스에 투자하는 만큼 꼭 성장하고 싶었기에 어떻게 하면 프리코스의 전보다 성장할 수 있을지 고민했고 이번 주에는 2개의 목표를 세웠다. ✅목표 첫 번째는 프리코스를 진행하며 모르는 용어들을 다 찾아보고 이해 하기. 두 번째는 최근에 학습한 람다식과 객체지향을 활용해서 1주차 보내기. 최소 이 2개를 취준생이어서 프리코스에만 집중할 수 있는 시간과 독학이란 길을 걸어온 노력과 근성을 가지고 이루고자 한다. 분명히 성장해있겠지!? 😊 숫자 야구 게임 구현 ✅ 구현 중에 만난 오류 해결과 아쉬움 나는 이전 기수 프리코스 문제들 중 유일하게 딱 한 문제를 하루동안 풀어봤었는데, 그게 숫자 야구 게임이었다. 그러나, 구현하면서 계속 에러를 마주했었지만 해결하지..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bPcIxh/btsyIITgwqb/efa1mSnkHkmdR9xEJNBd10/img.png)
❗각 용어마다 깊이 들어가는 정도는 비전공자가 프리코스를 하는데에 어려움이 없을 정도까지만 들어갑니다. ❗ 각 용어들은 프리코스에 맞춰 설명드림을 미리 알려드립니다. 🕶️[프리코스 과제 제출 문서 깃허브 용어 정리] ▷ fork 우아한 코스 깃허브에 있는 Repository를 자신의 깃허브로 가져오기 *자신의 깃허브로 가져오지 않으면 Repository안에 있는 코드를 수정할 수 있는 권한이 없다. ▷Repository 코드가 들어있는 폴더(파일)을 말한다. 5기 프리코스에서는 java-baseball, java-onboarding 같은 것들을 말한다. ex) 흔히 알고 있는 바탕화면의 폴더를 예시로 들었습니다. 자소서 폴더에 다양한 워드 문서들이 있다. 자소서 폴더가 Repository, 워드 문서들이..