1주차 미션 내용

1부터 9까지 서로 다른 수로 이루어진 3자리의 수를 맞추는 게임을 구현합니다.

9 x 8 x 7 = 504 개나 되는 경우의 수가 존재하기 때문에, 사용자의 입력에 따라 힌트를 제공합니다. (스트라이크 / 볼 / 낫싱)

그 힌트를 이용해서 먼저 상대방(컴퓨터)의 수를 맞추면 승리한다.

프로그램의 전체적인 실행은 아래와 같아야 합니다.

 


<다음의 조건을 지키며 구현한다.>

1. 자바 코드 컨벤션을 지키며 구현한다.

2. 커밋 메시지는 AngularJs 커밋 메시지 컨벤션을 지키며 구현한다.

3. indent depth는 2이하

4. 3항 연산자를 쓰지 않는다. ex) int min = min < value ? min : value;

5. 함수는 한 가지 일만 하도록 구현한다.

(그 밖에는 세팅관련 조건들)

 


어려웠던 점 & 배운점

1주차는 git 사용법을 익히고, 컨벤션을 적용해보는 주차였습니다.

미션을 보자마자 구현 자체는 쉬울 것 같다고 생각했지만, 미션은 생각보다 쉽지 않았습니다.

git을 사용해보는게 처음은 아니었지만, 정말 처음이 아니었을 뿐,, git 커맨드를 사용해서 플젝을 관리해 본 적은 없었기 때문에 익숙치 않아 고생 좀 했습니다.

이전에는 git desktop을 이용해서 거의 커밋만 했기 때문에, 명령어에 대해서는 대충 알고있기만 할 뿐 정확히 어떤 동작을 실행하는지 몰랐습니다.

그래서 fork, clone, add, commit, push, pull 등등 다 처음 사용해보며 배웠습니다!

"그냥.. 잘 입력만 하면 되겠지..?" 싶었지만, git을 사용하며 여러 오류와 어려움을 만날 수 있었습니다.

1. git -clone 에러

제시된 가이드대로 fork하고 clone했지만, 이클립스에서 실행되지 않았습니다.

clone까지 잘했다고 생각했지만, 폴더 옆에 S가 뜨고 jre-library가 보이지 않았어요. 버전 다운그레이드를 했으니 기존의 다른 프로젝트는 당연히 실행이 안되었고, 막막 그자체...

라이브러리가 없으니 ctrl+space (명령어 자동완성)도 당연히 안되고 에러가 났죠..

지금 생각해보면 당연한건데, 처음에는 어디서부터 잘못되었는지 모르겠어서 많이 당황했었습니다.

해당 문제를 어떻게 해결했는지는 포스팅한 적이 있기 때문에 링크로 첨부해놓겠습니다.

[우테코 1주차] 어려웠던 점(1)_git clone(eclipse): https://blog.naver.com/gkfla1017/222580589214

 

[우테코 1주차] 어려웠던 점(1)_git clone(eclipse)

git clone하고 eclipse에서 import하는데, 에러생김 [상황 설명] : clone까지 잘하고, 이클립스에서 import...

blog.naver.com

2. 기능별 커밋

현재 작성 시점은 2주차 미션이 끝났지만, 이 부분은 아직 어려움이 남아있습니다.

이전에 조금이나마 git을 사용했을 때는 커밋 메시지나 커밋을 어떻게 해야하는지 모르고 커밋을 했었습니다. (그냥 통째로 커밋하고 메시지도 제대로 안쓰고,,) 그런데 이번에는 프로그램 자체에서부터 기능별로 나눠서 클래스와 메소드를 구현하고, 커밋도 기능에 따라 하려니 어렵더라고요...

완벽하진 않았지만 그래도 이를 지키면서, 기능을 구현하고 커밋하려고 노력했더니 전보다 코드 가독성이 높아진 것을 느낄 수 있었습니다.

(프리코스가 끝날 때 쯤엔 더 발전해있겠죠..? 화이팅(。・∀・)ノ゙)

3. 커밋 메시지 작성

컨벤션을 지켜서 commit message를 잘 작성하기 위해서는 한 줄짜리 메시지가 아니라 여러줄의 자세한 메시지를 작성할 줄 알아야 했습니다. 그래서 템플릿을 써보려고 했으나, 띄워진 메시지 템플릿에서 편집기가 제대로 작동하지 않아서, 잘못된 커밋 메시지가 저장되었고 이를 수정하려고 amend를 쓰다가 파일이 섞였습니다....

그래서 1주차에는 메시지를 자세히 작성하진 못하고 컨벤션에 따라 head message만 작성했습니다.

(*스포: 이는 2주차에 해결하게 됩니다~~ ^0^)

+) 커밋 메시지 템플릿 설정하는 방법 포스팅

[git] commit 템플릿 설정하는 방법(윈도우 기준: cmd, notepad): https://blog.naver.com/gkfla1017/222588299960

 

 

 


- 관련 포스팅 -

[우아한 테크코스] 지원 후기(+1차 결과)

https://arinnh.tistory.com/89

 

[우아한 테크코스] 지원 후기(+1차 결과)

우아한 테크코스 소개 [우아한 테크코스란?] "배달의 민족" 개발자 크루인 우아한 형제들에서 지원하는 IT교육 프로그램. 웹 프론트앤드 / 웹 백앤드 코스가 있습니다. (지원 일정이나 교육 일정

arinnh.tistory.com

 

 

* 메인 블로그로 운영중인 네이버 블로그에 올렸던 포스팅을 뒤늦게 가져오게 되었습니다.

+ Recent posts