개발 알다가도 모르겠네요

우아한테크코스 5기 프리코스 1주차 본문

학습일지/우아한 테크코스

우아한테크코스 5기 프리코스 1주차

이재빵 2022. 11. 1. 18:48
728x90

프리코스 첫 주 과제는 기존에 많이 접했던 코딩테스트 유형의 문제들이었기에 풀이 자체는 그렇게 어렵지는 않았다.

하지만 기존에는 신중하게 생각하지 않았던 개발 내외적인 부분들이 많았기에, 이를 하나하나 보완해나가는 것에 중점을 두었다.

이 과정에서 대표적으로 세 가지 토픽에서 깨달은 점이 있었다.

 

Javascript Syntax

기존에 자바스크립트를 접했기 때문에 기본 문법은 숙지한 상태였지만 includes, flat, from, spread, reduce, forEach, map과 같이 숙달되지 않은 문법들이 많았기에 최대한 적용하여 숙련도를 높이고자 노력했다. 세부적으로는 splice와 slice의 차이점을 파악하였고, Map과 Object의 장단점을 파악해서 상황에 맞게 적용하는 법을 학습했다.

 

[JavaScript] 배열 slice( ) vs splice( )

배열리스트 일부를 자르거나 이어붙을 때 사용할 수 있는 slice와 splice 함수에 대해 알아보겠습니다. sli...

blog.naver.com

 

[ES6] Map vs Object 비교 [번역]

Map 과 Object를 잘 비교해서 정리해놓은 글이 있어서 나름(?) 번역해서 정리해놓고자 합니다. [개념] Map 이란 무엇인가?: Map은 data collection 유형으로 ( 좀 더 있어보이게 말하면 - 추상적 데이터 구조

kim-born-in-mapo.tistory.com

 

var, let, const 차이점

JavaScript에서 변수 선언 방식인 `var, let, const` 의 차이점에 대해 알아보자. 1. 변수 선언 방식 우선, `var`는 변수 선언 방식에 있어서 큰 단점을 가지고 있다. 변수를 한 번 더 선언했음에도 불구하

velog.io

 

Code Refactoring

이번 과제를 진행하면서 대부분의 시간을 코드 리팩토링하는데 투자했다. '우아한테크세미나' 에서 진행한 리팩토링 강의를 참고하여 최대한 각각의 메서드가 한가지의 일을 처리하도록 하였고, else 문과 depth를 특히 신경을 썼다. 변수 선언 시 재할당이 필요한 변수를 제외하고는 const를 사용하여, 의도하지 않은 변수 값 변경을 방지했다. 문제에서 제시된 리턴값이나 점수값과 같은 전역적으로 쓰이는 값들은 상수 처리해서 추후 유지보수가 수월하도록 적용했다. 'JavaScript Standard Style' 과 'Airbnb JavaScript Style Guide' 를 참고하여 코드 스타일을 일관화시켰고, 특히 변수나 함수명을 작성할 때, 코드를 처음 접하는 개발자들이 별다른 주석 없이도 직관적으로 이해할 수 있도록 작성하고자 노력했다.

 

JavaScript Standard Style

English • Español (Latinoamérica) • Français • Bahasa Indonesia • Italiano (Italian) • 日本語 (Japanese) • 한국어 (Korean) • Português (Brasil) • 简体中文 (Simplified Chinese) • 繁體中文 (Taiwanese Mandarin) 이것은 Ja

standardjs.com

 

GitHub - parksb/javascript-style-guide: Airbnb JavaScript 스타일 가이드

Airbnb JavaScript 스타일 가이드. Contribute to parksb/javascript-style-guide development by creating an account on GitHub.

github.com

 

[우아한테크세미나] 리팩토링 정리 (By 자바지기 박재성님)

• 안녕하세요~ 이전에 운영하던 블로그 및 GitHub, 공부 내용을 정리하는 Study-GitHub 가 있습니다! • 네이버 블로그 • GitHub • Study-GitHub • 🐔 ✔ 우아한테크세미나 190425 TDD 리팩토링 by 자바지기

zzang9ha.tistory.com

 

Git Commit Message Convention

문제별로 기능들을 나눠서 기능목록을 작성하는 것이 처음에는 어색했지만, 하나둘 작성해나가다 보니 구현해야 할 기능들이 명확히 보였고, 체계적으로 구현해 나갈 수 있었다. 각각의 기능을 구현하고 나서 커밋하는 과정에서 기존에 알고는 있었지만 제대로 활용하지 못했던 'git commit message convention' 을 자세히 학습했고, 각각의 상황에 맞는 메시지 작성법을 파악해 적용했다.

Style: 코드를 건드리지 않은 경우

(들여쓰기 조정, 코드 문간 간격 조정)

 

Refactor: 코드를 건드린 경우

(변수명 수정, 로직 개선)

 

 

 

 

 

 

 

 

 

과제 시작 전에 먼저 노드 버전을 14로 맞췄다.

 

[Node] Homebrew에서 node 버전 변경하기

요새 다시 Node JS를 공부해 보던 중, mongoose require 시 아래와 같은 에러가 발생했습니다.ㅠㅠQueryCursor원인을 찾아보니, 최신 node 버전(저 당시에는 v17.5.0)에서 발생하는 에러이며, 버전을 낮추면 해

velog.io

 

 

1주차 소감

첫 프리코스 과제를 진행하면서 가장 크게 느낀 점이 두 가지 있다.

첫 번째로, '기존의 습관을 고치는 것이 쉽지 않다' 라는 것이다. 이번 과제를 하면서, 다른 사람들이 제 코드를 보더라도 한 번에 이해할 수 있도록 의식적으로 코드를 짜보려 노력했다. 그 과정에서 코드의 가독성과 생산성을 고려하지 않고 편한 코딩 방식만을 추구하던 나 자신을 발견했고, 이것을 고쳐나가기 위해서는 큰 노력이 필요함을 느꼈다. 앞으로는 사소한 코드라도 생산성을 고려해서 작성해야겠다는 생각이 들었다.

두 번째로, 4주간의 프리코스를 통해 많은 성장을 할 것이라는 확신이 들었다. 프리코스 참여 전까지는 분야와 목표가 비슷한 사람들과 정보를 공유하고 토론할 기회가 많지 않았지만 이번에 프리코스에 참여하면서, 관심사가 비슷한 사람들과 정보를 공유하고 다양한 문제 접근방식을 접할 수 있었다. 또한 모르는 것을 하나하나 주도적으로 학습해 과제에 적용해보면서, 조금이나마 학습의 즐거움을 알게 되었다. 앞으로 남은 3주 동안 성실히 프리코스 활동에 임한다면, 기술적인 성장뿐만 아니라 다양한 사람들과의 소통으로 시야의 폭이 넓어진 나 자신을 발견할 것이라고 확신한다.