728x90
1. 오늘 공부한 내용 📝
- ES6 복습
- Object Shorthand
function getName(first, last) { let fullName = first + " " + last return { first : first, last: last, fullName: fullName } } function getName(first, last) { let fullName = first + " " + last return { first, last, fullName } }
- Array Destructuring
const arr = [1, 2, 3, 4, 5]; const [a, , , b] = arr; const [, , , , , c] = arr; const [, , , , , d=10] = arr; const [e, f, ...restArr] = arr; let name1 = "철수"; let name2 = "영희"; [name1, name2] = [name2, name1];
- Object Destructuring
const obj = { a: 1, b: 2 }; const { a, b } = obj; const a = obj["a"]; const b = obj["b"]; const { a: x, b: y } = obj; const x = obj["a"] const y = obj["b"]
const obj = { a: 1, b: { c: 2, d: 3 } }; const { a, b: { c, d} } = obj; const { a, b: { c: e } } = obj;
- Node.js란?
- V8이란 자바스크립트 엔진 위에서 동작하는 프로그램
- 자바스크립트를 브라우저 뿐만이 아니라 서버에서도 사용하기 위해 만들어짐
- 논블로킹(Non-blocking) I/O(데이터를 읽어오는 역할)와 단일 스레드(코드를 실행하는 역할 + 이벤트 루프)를 통한 높은 처리 성능을 가짐
- V8 엔진
- 구글이 주도하여 C++로 작성된 고성능의 자바스크립트 & 웹 어셈블리 엔진
- 오픈 소스로 공개되어 있고, ECMAScript 표준에 맞게 구현됨
- 대표적으로 크롬과 Node.js에서 사용되고 있음
- 내부적으로 동작하는 쓰레드가 별도로 있는 멀티쓰레드
- 2017년 초에 나온 v5.9 버전부터 현재 구조 방식으로 변경됨
- CommonJS
- 자바스크립트를 서버에서 사용할 수 있게 해준 모듈화 명세를 만든 대표적인 그룹 중 하나
- node.js의 표준으로 채택되어 있음
- 구글이 주도하여 C++로 작성된 고성능의 자바스크립트 & 웹 어셈블리 엔진
- V8이란 자바스크립트 엔진 위에서 동작하는 프로그램
// CommonJS
module.exports['add'] = (a, b) => a + b;
module.exports['subtract'] = (a, b) => a - b;
// ECMAScript2015 (ES6)
export const add = (a, b) => a + b;
export const subtract = (a, b) => a - b;
2. 어려웠던 내용 🤯
지난 주 배웠던 ES6를 복습했던게 오늘 수업의 주 내용이라 크게 어려운건 없었다.
3. 궁금한 내용 / 부족했던 내용 🧐
Node.js를 지금껏 써왔는데 논블로킹이나 단일 스레드와 같은 개념적인 부분은 잘 알지 못했던 것 같다. 당장 이걸 모른다고 해서 개발을 못하는건 아니지만 더 좋은 개발자, 시니어 개발자로 가기 위해서는 결국 알아야 될 내용이니 따로 찾아보고 학습해야겠다.
4. 느낀 점 🤔
직무 특강을 들으면서도 느꼈지만 단순히 기술을 잘 사용하는 것보다는 왜 이 기술을 사용해야 하는가, 어떻게 동작하는가와 같은 개념적인 부분에 의문을 던지면서 학습 해나가는 것이 장기적으로 좋은 방향인 것 같다. 지금까지는 단순히 다른 사람들이 많이 쓰니까, 좋다고 하니까 해서 사용한 느낌도 많다.. 그리고 결국 그 기반에 있는 자바스크립트에 대한 이해도가 가장 중요하다. 라이브러리, 프레임워크 보다는 기본기!
'엘리스 SW 엔지니어 트랙' 카테고리의 다른 글
[엘리스 SW 엔지니어 트랙 2기 / TIL] Week 06 - Express, API (0) | 2022.05.18 |
---|---|
[엘리스 SW 엔지니어 트랙 2기 / TIL] Week 06 - NPM, Node.js, express (0) | 2022.05.18 |
[엘리스 SW 엔지니어 트랙 2기 / TIL] Week 05 - 타입스크립트 (0) | 2022.05.18 |
엘리스 SW 엔지니어 트랙 2기 합격 후기 (1) | 2022.03.24 |