일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 뉴스
- html
- 인앱결제
- 우테코
- 신문스크랩
- python
- SSAFY 7기
- SSAFY
- 백준
- 구글
- 코딩테스트
- 프로그래머스
- SSAFYcial
- 코테
- 백준위
- 카카오
- 리얼클래스
- java 객체지향 프로그래밍
- KT
- 네트워크 관리사 2급
- 네트워크 관리사
- 코딩테스트 연습
- 네트워크 관리사 2급 실기
- it 이슈
- 싸피셜
- 신문 스크랩
- 싸피
- Java
- IT 트렌드
- Today
- Total
개발자일걸요..?
[우아한 테크코스] 프론트엔드 최종 코딩테스트 본문
마지막 코딩테스트 역시 우아한 테크코스 측의 repository를 fork하여 코드를 작성한뒤 pull request를 보내는 방식으로 진행돼요. 마지막 코딩테스트의 저장소는 https://github.com/woowacourse/javascript-teammatching-precourse였답니다.
최종 코딩테스트 미션 : 크루관리 & 팀 매칭
최종 코딩테스트는 3주차와 비슷한 수준의 미션이었어요. 크루관리 탭과 팀 매칭 탭 두가지로 나눠서 각각의 기능을 수행 해야했습니다.
1) 크루관리 탭은 코스별(프론트엔드/백엔드)로 크루(학생)를 추가하고 삭제할 수 있고 이들을 table로 나타낼 수 있어야 합니다.
2) 팀 매칭 탭은 코스별(프론트엔드/백엔드), 미션별로 한 팀의 인원수를 받고, 그에 맞춰 팀을 매칭합니다. 단, 입력된 인원수보다 적은 수로 매칭되는 팀은 없어야 합니다.
<지켜야 하는 조건>
- 스크립트 추가 외에 주어진 index.html파일은 수정할 수 없다.
- 모든 예외 발생 상황은 alert메서드를 이용하여 처리한다.
- 외부 라이브러리(jQuery, Lodash 등)를 사용하지 않고, 순수 Vanilla JS로만 구현한다.
- 자바스크립트 코드 컨벤션을 지키면서 프로그래밍 한다. 정답이 없으므로, 다양한 컨벤션을 비교해보며 스스로 더 적절해보이는 컨벤션을 자율적으로 선택한다.
- indent(인덴트, 들여쓰기) depth를 3이 넘지 않도록 구현한다. 2까지만 허용한다.
- 함수(또는 메소드)가 한 가지 일만 하도록 최대한 작게 만들어라.
- 변수 선언시 var 를 사용하지 않는다. const 와 let 을 사용한다.
- import 문을 이용해 스크립트를 모듈화하고 불러올 수 있게 만든다.
- 함수(또는 메소드)의 길이가 15라인을 넘어가지 않도록 구현한다.
힘들었던 점
1) 구현할 기능이 많았고, 구상에서 실수했다.
지난 미션과 마찬가지로 구현할 기능이 많았습니다. 탭이 두 개일 뿐만 아니라 코스별, 미션별 요소를 고려해야했고, localStorage도 활용하여 이전 정보를 유지해야했기에 더 많은 생각이 필요했습니다. 실제로 구현과정에서 테스트라는 생각에 마음이 급해서 코스별로 크루를 나누지 않아 시간을 더 소모해야했습니다. 또한, 아직 javascript를 이용하여 html요소를 추가하는 것에 미숙하여 버튼을 누르면 다음 요소가 출력하고, 다른 버튼을 누르면 그 요소의 출력내용이 바뀌는 것을 구현하는 과정에서 html의 순서가 바뀌는 문제를 겪었지만 시간이 부족하여 미쳐 수정하지 못했습니다.
2) 시간 부족
실력이 부족해서 팀매칭 탭은 제대로 구현도 못해본 상태에서 제출해야했습니다. 중간에서 틀린 부분을 고치느라 크루 관리 탭에만 거의 4시간에 가까운 시간을 쏟아 팀 매칭 탭은 거드릴 시간도 없었던 것입니다. 이 부분에서 구상단계를 침착하고 꼼꼼하게 진행해야 했고, 구현을 좀 더 빠르게 할 수 있도록 연습해야 했다고 후회했습니다.(다른 분들은 그런 후회를 하지 않기를 바라요..ㅠ)
정리
제가 pull request를 보낸 branch는 https://github.com/NaRae-tech/javascript-teammatching-precourse/tree/narae입니다.
이번 코딩테스트를 통해 제가 실제 test에서 아직 침착하고 빠르게 코딩을 못 할만큼 실력도 깡도 부족함을 깨달았습니다. 게다가 pull request는 제시간에 했지만 우아한 테크코스 페이지에 제출을 못해서 급하게 공식 메일로 pull request 주소를 보냈습니다...ㅠㅠㅠ 포비님이 팀원 분들과 지각 요소까지 고려하여 채점하시겠다고 메일을 보내주셨는데... 아무래도 떨어질 것 같습니다..ㅜㅜ
이번 프리코스 3주 + 최종 코딩테스트를 겪으면서 엄청 힘들었고 솔직히 아쉬운 점도 많았지만 확실하게 내가 부족한 부분도 깨닫고 더 공부해야할 부분도 알게되어 결코 의미없는 시간을 아니었다는 것을 되짚으며 더 나은 미래를 위한 양분으로 삼기로, 좋은 경험했다고 생각하기로 했습니다.
<내가 부족했던 부분>
1) 시간 엄수
2) 기능 구상 과정에서의 꼼꼼함
3) 구현 연습 및 javascript 문법 공부
3주간 프리코스 진행해준 우아한 형제들 여러분 감사했고 많이 배웠습니다.
'교육 프로그램 > 우아한 테크코스' 카테고리의 다른 글
[우아한 테크코스] 최종 탈락 (2) | 2022.01.11 |
---|---|
[우아한 테크코스] 프론트엔드 프리코스 3주차 (1) | 2021.12.21 |
[우아한 테크코스] 프론트엔드 프리코스 2주차 (0) | 2021.12.21 |
[우아한 테크코스] 프론트엔드 프리코스 1주차 (0) | 2021.12.21 |
[우아한 테크코스] 지원부터 1차 합격까지 (1) | 2021.12.21 |