본문 바로가기
바닐라코딩/Boot Camp

바닐라코딩 1주차 정리

by Dev_Dank 2021. 11. 6.

강의

이번주의 강의는 바닐라 자바스크립트의 비동기함수와 프로미스에 관한 부분이었습니다. 

비동기 함수
- 자바스크립트는 메모리힙, 콜스택, 이벤트큐, 이벤트 루프로 구성되어있으며 비동기함수의 경우 이벤트 큐에 저장되었다가 동기함수가 콜스택에서 전부다 실행되어 콜스택이 비었을때 이벤트루프가 해당 비동기 실행 함수를 콜스택으로 옮겨와 실행하게됩니다. 

Promise
- 자바스크립트에서 비동기를 처리할 수 있는 방법중 하나이며 new Promise와 같은 형태로 promise 객체를 생성할 수 있습니다. 
- promise 객체생성시 resolve와 reject라는 콜백함수를 인자로 받아올 수 있으며 resolve 실행시 해당 promise는 resolve되고 reject시 해당 promise는 reject됩니다. 
- then으로 체이닝하여 이전 promise에서 resolve된 값을 가져와 또 resolve하거나 reject 할 수 있는게 특징입니다. 

참고할수있는 자료

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise

 

Promise - JavaScript | MDN

The Promise object represents the eventual completion (or failure) of an asynchronous operation and its resulting value.

developer.mozilla.org

https://blog.sessionstack.com/how-does-javascript-actually-work-part-1-b0bacc073cf

 

How JavaScript works: an overview of the engine, the runtime, and the call stack

As JavaScript is getting more and more popular, teams are leveraging its support on many levels in their stack - front-end, back-end…

blog.sessionstack.com


과제

이번주 과제는 async라는 자바스크립트 비동기 함수 라이브러리를 직접 구현해보는것이 목표였습니다.  이번주 코드리뷰의 경우 로직상의 커다란 부분은 개선사항을 전달 받지 못했으며 변수명이나 함수의 위치 관련내용이었습니다. 

프렙과정을 진행할때 promise의 주된역할은 "콜백헬의 해결이라기보다는 비동기함수의 결과값을 받아와서 사용할수있는 부분이다"라고 말씀하신 부분이 잘 이해가 안갔는데 이번 주 과제를 수행하면서 해당 부분에 대해 드디어 공감이 되어서 기뻤습니다!

추가로 드디어 git을 많이 써볼수 있는 기회가 주어져서 좋았습니다. 지금까지 아무리 생활코딩이나 깃 공식문서의 학습 자료들을 보면서 혼자서 공부해도 실질적으로 어떻게 돌아가는건지 이해가 안되는 부분이 많았는데 이번에 과제를 진행하며 여러번 직접 써보니 드디어 이해가 잘되는 느낌입니다. 


부족하다고 느낀점

과제에서 mocha 테스트유닛 라이브러리를 사용했는데 mocha의 공식문서를 가봐도 별다른 설명이 없어서 과제 코드파악이 어려웠습니다. 처음 과제를 받고 해당부분때문에 2~3시간은 갈팡질팡 한것 같습니다.

(assert, describe, spy, it)등의 함수가 아직 무엇을 의미하는 것인지 정확히 파악하기가 좀 어렵습니다. 시간날때마다 테스트 코드 작성에 대한 학습이 필요해 보입니다. 

또한 커밋메세지를 작성할때도 컨벤션을 지킬 필요가 있어보입니다.

현재 작성한 커밋메세지는 대충이런데.....

이래서는 나중에 무엇을 바꾸었는지 찾을때 어려울것 같습니다.

아래의 유다시티 커밋 컨벤션을 참고하여 커밋 메시지를 작성해야겠습니다. 

https://udacity.github.io/git-styleguide/

 

Udacity Nanodegree Style Guide

Introduction This style guide acts as the official guide to follow in your projects. Udacity evaluators will use this guide to grade your projects. There are many opinions on the "ideal" style in the world of development. Therefore, in order to reduce the

udacity.github.io

 

'바닐라코딩 > Boot Camp' 카테고리의 다른 글

Geospatial data and B-Tree  (0) 2022.03.31
바닐라코딩 6주차 정리  (0) 2021.12.12
바닐라코딩 5주차 정리  (0) 2021.12.05
바닐라코딩 3주차 정리  (2) 2021.11.20
바닐라코딩 2주차 정리  (0) 2021.11.14

댓글