우테코 회고록

[우테코 회고록] 우아한테크코스 5기 AOS 프리코스 1주차

서노리 2022. 11. 4. 17:14
반응형

1주차 미션 - 온보딩(Onboarding)

https://github.com/Lee-Sunho/kotlin-onboarding/tree/Lee-Sunho

 

GitHub - Lee-Sunho/kotlin-onboarding: 온보딩 미션을 진행하는 저장소

온보딩 미션을 진행하는 저장소. Contribute to Lee-Sunho/kotlin-onboarding development by creating an account on GitHub.

github.com


배운 점

1. Kotlin

이 때 동안 안드로이드 프로젝트를 할 때 자바만 사용해 왔기 때문에 이번 미션을 통해 코틀린을 처음 접했다. 뭔가 자바랑 파이썬을 반반씩 섞은 느낌이라 익숙하면서도 어색했다. 미션을 수행하기 전에 유튜브로 대충 기본 문법을 공부하고 문제를 풀면서 모르는 것이 나올 때마다 구글링을 통해 해결할 수 있었다. 

 

※ 코틀린 기본 문법 강의

https://www.youtube.com/watch?v=IDVnZPjRCYg 

 

※ 코틀린에서 String 사용하기

https://keykat7.blogspot.com/2021/07/kotlin-string.html

 

[Kotlin] 코틀린에서 String 사용해보기

알고리즘, 코딩 테스트, C++, java, 파이썬, AI, 백준, 기업 코딩 테스트, 자료구조, 프로젝트, codeforces, unity, android

keykat7.blogspot.com

 

※ 코틀린 리스트 중복 제거

https://ponyozzang.tistory.com/519

 

코틀린 리스트 중복값 제거하기 distinct

리스트를 사용하다 보면 값이 중복되어 있는 경우가 있습니다.중복된 값을 삭제하는 방법으로 distinct 메서드를 사용할 수 있습니다. 리스트 중복값 제거 fun main(args: Array) { val iterable = listOf(1, 2, 1

ponyozzang.tistory.com

 

※ 코틀린 map 사용법

https://kumgo1d.tistory.com/53

 

[Kotlin] Collections Map 사용법

안녕하세요 골드입니다. Kotlin의 Collections 중 Map에 대해서 글을 쓰도록 하겠습니다. Map은 다른 자료구조와 다르게 조금 특이하게 직접 정의한 Key와 Value를 쌍으로 데이터를 저장하는 방식입니다.

kumgo1d.tistory.com

 

2. Git

깃은 학교 생활을 하면서 수업 시간에서도 배웠고 다양한 프로젝트를 하면서 많이 사용해보았기 때문에 clone, commit, push 등 기본적인 명령어들은 이제 꽤 익숙해졌다고 생각한다. 하지만 이번 미션을 하면서 느낀 점은 체계적이고 규칙적인 커밋 메세지를 작성하는 것의 중요성이다. 일관되지 않은 커밋 메세지를 작성하면 다양한 개발자가 협업하는 프로젝트에서 어느 위치에서 어느 부분을 작업했는지 명확하게 알 수 없고 가독성을 떨어뜨려 히스토리를 파악하는데 어려움을 줄 수 있다. 따라서 좋은 커밋 메세지가 무엇이고, 어떻게 작성해야하는지 알아보았다.

 

※ 좋은 커밋 메세지 작성법

https://xtring-dev.tistory.com/entry/Git-%EA%B7%9C%EC%B9%99%EC%A0%81%EC%9D%B8-Commit-%EB%A9%94%EC%84%B8%EC%A7%80%EB%A1%9C-%EA%B0%9C%EB%B0%9C%ED%8C%80-%ED%98%91%EC%97%85%ED%95%98%EA%B8%B0-%F0%9F%91%BE

 

[Git] 규칙적인 Commit 메세지로 개발팀 협업하기👾

규칙적인 Commit 메세지로 개발팀 협업하기 👾 TL;DR 개발자들은 Github를 통해 git에 대한 활동을 확인할 수 있습니다. 코드의 최신화 유지와 문제 원인 발견, 신규 기능 추가에 대한 branch 분리 전략

xtring-dev.tistory.com

 

3. Clean Code

지금까지 작성한 웬만한 코드는 나만을 위한 코드였다. 따라서 내가 알아볼 수 있다면 문제 될 것이 없었다. 하지만 앞으로의 코드들은 많은 개발자들이 읽고 같이 작성하게 될 것이므로 클린 코드의 중요성을 깨닫게 되었다. 클린 코드는 단순히 짧은 코드가 아니라 원하는 로직을 빠르게 찾을 수 있고, 모든 팀원이 이해하기 쉽도록 작성된 코드이다. 그 방법으로는 명확한 이름 짓기, 중복 코드 줄이기, 가독성 높이기 등이 있고 클린 코드를 실천한다면 유지보수 시간을 단축할 수 있다. 다음은 우테코 프리코스에서 권장하는 클린 코드 작성법과 자바 코드 컨벤션에 대한 포스팅이다. 

 

※ 우테코 클린코드 원칙

https://github.com/woowacourse/woowacourse-docs/blob/main/cleancode/pr_checklist.md

 

GitHub - woowacourse/woowacourse-docs: 우아한테크코스 문서를 관리하는 저장소

우아한테크코스 문서를 관리하는 저장소. Contribute to woowacourse/woowacourse-docs development by creating an account on GitHub.

github.com

'모든 원시값과 문자열을 포장했는가?', '콜렉션에 대해 일급 콜렉션을 적용했는가?' 라는 체크리스트가 있는데 솔직히 무슨 말인지 몰랐다. 이것에 대해서는 공부해서 2주차 회고록에 작성해야겠다.

 

 

※ 자바 코드 컨벤션

https://myeonguni.tistory.com/1596

 

[코딩규칙] 자바 코딩 규칙(Java Code Conventions)

[코딩 규칙] 자바코딩 규칙(Java Code Conventions) 자바 프로그래밍 언어 코딩 규칙원문 : Oracle / Code Conventions for JavaTM Programming Language / 1999-4-20번역 : Kwangshin's Positive Blog, Java Code Conventions / 자바 코딩

myeonguni.tistory.com


아쉬운 점

프리코스 1주차 미션기간과 중간고사 기간이 겹쳐 사실 상 제출날 당일에 미션을 시작하게 되었다. 제출 전 10시간동안 미션을 벼락치기로 수행하였고 23시 55분이 되어서야 겨우 제출할 수 있었다.  사실 처음 접하는 언어로 7문제를 그냥 풀기만해도 부족한 시간이었지만 클린 코드와 기능을 여러 함수로 쪼개서 코딩하는 것을 신경쓰다보니 더욱 시간이 부족하였다 ㅜㅜ.. 결국 마지막 7번 문제는 오류를 고치지 못하고 제출해서 11 / 12 라는 score를 받았다.. 개인적으로 1주차 미션은 미션의 난이도가 많이 어렵다기 보다는 앞으로 우테코 과정을 위한 기본 요소인 깃 사용, 클린 코드 연습, 코드 리팩토링, 사용 언어의 숙달 등이 목표라고 생각했다. 그런만큼 몸에 체화시킬 수 있도록 시간 여유를 충분히 가지고 신경썼어야했는데 그러지 못하고 시간에 쫒겨 문제 풀이에만 집중했던 것이 너무 아쉽고 후회스럽다..


다음 주차 다짐

  • 시간 여유롭게 가지고 시작하기!
  • 1주차에 배우고 느꼈던 점 숙달, 체화하기!
  • 원시값, 문자열 포장과 일급콜렉션에 대해 공부하기!
  • 피어 리뷰 도전..?

 

반응형