Javascript 4

DAY01 - 학습정리

1. IDE란 무엇인가? IDE란, Integrated Development Environment의 준말로 통합 개발 환경이라고 번역할 수 있다. 일반적으로 IDE는 텍스트 편집기, 빌드 자동화, 디버깅이 가능한 툴을 말하며 자동완성이나 하이라이트 기능이 있어 소스코드 작성에 도움을 준다. 2. console.assert을 비롯한 console의 다양한 함수 console 객체가 가지고 있는 메서드는 굉장히 다양하다. 그 중에서 assert, table 메서드가 log를 제외하고 활용성이 높다고 생각하여 공부해보았다. 우선, console.assert의 경우 기본적으로 2가지 값을 인자로 받는다. 첫번째 인자는 검증하고 싶은 boolean이 들어가게 되고, 두번째는 검증에 실패했을 때 로그에 남길 메시지..

배운 것 2022.07.18

자바스크립트의 this란?

자바스크립트의 this는 파이썬의 self와 비슷하다. 그렇지만 미묘하게 다르게 작동하는 부분이 있는 것 같아서 자바스크립트의 this에 대해서 공부해보려 한다. class Test: def __init__(self,_num): self.__num = _num @property def num(self): return self.__num def increaseInner(self): self.__num += 1 return self.__num test = Test(1) increaseGlobal = test.increaseInner increaseGlobal() print(test.num) # 2 increaseGlobal() print(test.num) # 3 increaseGlobal() print(te..

배운 것 2022.06.06

항해 99 12주차를 끝내며

이번 주에는 promise에 대한 이야기를 조금 적어볼까 한다. Javascript는 논 블로킹 IO를 채택한 언어로 다른 블로킹 IO 언어처럼 한줄 한줄 읽어나가며 실행 코드가 콜 스택에 쌓이고, 이것이 하나씩 하나씩 실행하는 구조로 이루어져 있다. 다만, 비동기 code를 만날 경우, 이런 코드들을 백그라운드로 넘기고, 백그라운드에서 실행이 되어 콜백 큐에 쌓인다. 테스크 큐에 쌓인 동작들은 콜 스택이 빌 경우, 콜 스택으로 이동하여 실행되게 되고, 이 과정은 콜백 큐에 쌓인 동작들이 모두 완료될 때까지 반복된다. 이것을 이벤트 루프라고 하는데, 이런 이벤트 루프가 작동하기 때문에 Javascript에서는 손쉽게 비동기 코드를 작성할 수 있는 큰 장점이 있다. 내가 promise에 대해서 오해했던 것..

항해 99 2022.04.04

항해 99 11주차를 끝내며

항해 99 11주차를 끝마쳤다. 이번 주차는 프론트 엔드 서버와 본격적으로 합치는 과정이었다. 그 과정 중에 NestJS에서 지원하는 스웨거 문서 제작 툴?을 이용해 API 문서를 기초적이나마 만들었다. NestJS에서는 Data Transfer Object의 준말인 DTO를 만들어 이를 활용해 프론트엔드 서버에서 송신한 데이터를 검증할 수 있고, 이는 validationPipe를 통해 이루어진다. 이외에도 parseIntPipe, parseUUIDPipe 등등 다양한 pipe들이 존재하여 controller단에서 데이터를 안정적으로 받아올 수 있으며, 이것은 자동적으로 스웨거 문서에서 보여진다. 현재는 컨트롤러를 기준으로 하여 API들을 분류해두고, 기초적인 input에 대한 instruction만이 ..

항해 99 2022.03.28