일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- it 뉴스
- 네트워크 관리사
- IT 트렌드
- SSAFY
- 네트워크 관리사 2급
- 구글
- 카카오
- 인앱결제
- html
- 프로그래머스
- 코딩테스트 연습
- 우테코
- 백준위
- python
- 신문스크랩
- 리얼클래스
- 싸피
- 네트워크 관리사 2급 실기
- SSAFYcial
- java 객체지향 프로그래밍
- 신문 스크랩
- SSAFY 7기
- it 이슈
- 코테
- 백준
- 코딩테스트
- KT
- Java
- IT 동향
- 싸피셜
- Today
- Total
개발자일걸요..?
[우아한 테크코스] 프론트엔드 프리코스 1주차 본문
프리코스는 우아한 테크코스 측의 repository를 fork하여 코드를 작성한뒤 pull request를 보내는 방식으로 진행돼요. 1주차 프리코스의 저장소는 https://github.com/woowacourse/javascript-baseball-precourse였답니다.
1주차 미션 : 숫자 야구게임
1주차 미션은 숫자 야구게임을 구현하는 미션이어서 쉬워보였지만 미션을 수행하는 과정에서 아래의 조건들을 지켜야 했기에 마냥 쉬운 과제는 아니었습니다.
- 외부 라이브러리(jQuery, Lodash 등)를 사용하지 않고, 순수 Vanilla JS로만 구현한다.
- 자바스크립트 코드 컨벤션을 지키면서 프로그래밍 한다
- indent(인덴트, 들여쓰기) depth를 3이 넘지 않도록 구현한다. 2까지만 허용한다.
- 함수(또는 메소드)가 한 가지 일만 하도록 최대한 작게 만들어라.
- 변수 선언시 var 를 사용하지 않는다. const 와 let 을 사용한다.
- import 문을 이용해 스크립트를 모듈화하고 불러올 수 있게 만든다.
- 함수(또는 메소드)의 길이가 15라인을 넘어가지 않도록 구현한다.
힘들었던 점
1) 의미있는 commit 만들기
git을 사용하는 것이 처음은 아니지만 commit을 어떻게 보내야 좋은지는 생각해본 적이 없기에 이번 미션에서 특히 신경 쓴 부분이었습니다. commit은 단순히 뭘 수정했다만 보내면 되는 메시지인줄 알았는데 많은 개발자들이 멋진 commit을 보내기 위해 노력하고 있더라구요! 그래서 저도 좀 더 명확하고 기능 단위의 commit을 보내기 위해 노력했는데 쉽지 않은 과정이었습니다. ㅠㅠ
2) README에 구현할 기능 목록 정리
그 전에도 구현 전에, 구현할 기능들을 미리 적어놓고 구상한 후에 코딩을 하는 습관은 있었습니다. 하지만 우테코에서 원하는 기능 목록은 좀 더 구체적이고 세세한 조건들까지 적고, 예외의 경우를 다양하게 고려해야했습니다. 그래서 목록을 정리하는 과정에서 과연 이게 정말 끝인가를 많이 고민해야했습니다.
3) 함수를 한 가지 기능만 하게 하여 길이 규정 지키기
함수가 하나의 기능만 수행해야 한다는 것은 이전에도 많이 들은 이야기이고 그런 식으로 코딩을 해왔지만, 이번 미션에는 함수의 길이 제한이 있었기때문에 더더욱 기능을 잘게 쪼개 함수로 구성해야 했습니다.
ex) 사용자의 input이 지켜야 하는 조건이 (1)입력의 길이가 3인가? (2)모두 숫자로 이루어져 있는가? (3)모두 다른 숫자로 이루어져 있는가? 일 때, 만든 함수는
(1) 입력의 길이를 확인하여 true/alert를 return 하는 함수
(2) 모두 숫자로 이루어져있는지 확인하여 true/alert를 return 하는 함수
(3) 모두 다른 숫자로 이루어져 있는지 확인하여 true/alert를 return 하는 함수
(4) 위의 3가지에서 모두 true를 받았는지 확인하여 true/false를 return 하는 함수
4) 기말고사 시작
4학년 2학기에 18학점 듣는 사람 나야 나... 프리코스 시작이 기말고사 시작기간&팀플 마무리 기간과 겹치면서 솔직히 프리코스에 많은 시간을 쏟는 것이 어려웠습니다. 물론 프리코스도 매우매우 중요하고 우테코에도 꼭 참여하고 싶지만 성적을 포기할 순 없으니까요..ㅠㅠㅠㅠ 그래서 적절히 시간을 분배해 가며 해야했는데 의외로 git 사용에서 시간을 많이 소요하게 되어 매우 버거운 한 주 였습니다 ㅠㅠ
정리
제가 precourse에서 pull request를 보낸 branch는 https://github.com/NaRae-tech/javascript-baseball-precourse/tree/baseballGame이고, 추가로 코딩 테스트 전에 혼자 연습해본 branch는 https://github.com/NaRae-tech/javascript-baseball-precourse/tree/retry입니다.
촉박하고 정신없는 일정이었지만 이번 precourse를 통해
1) 멋진 commit을 보내기 위해 어떤 점을 지켜야 하는가?
2) 기능을 얼마나 작게 나눠야 하고, 예외 사항들은 어떤 것들이 있는가?
3) 각각의 기능을 구현하는 과정에서 함수를 얼마나 분리할 수 있는가?
에 대해 고민하고 공부할 수 있게 되었습니다. 바쁘고 정신 없지만 이번 precourse를 통해 더 많은 부분을 배우고 앞으로 어떤 부분을 공부해야하는지 알아 갈 수 있었으면 좋겠습니다.
'교육 프로그램 > 우아한 테크코스' 카테고리의 다른 글
[우아한 테크코스] 최종 탈락 (2) | 2022.01.11 |
---|---|
[우아한 테크코스] 프론트엔드 최종 코딩테스트 (0) | 2021.12.21 |
[우아한 테크코스] 프론트엔드 프리코스 3주차 (1) | 2021.12.21 |
[우아한 테크코스] 프론트엔드 프리코스 2주차 (0) | 2021.12.21 |
[우아한 테크코스] 지원부터 1차 합격까지 (1) | 2021.12.21 |