-
[항해4기] 스파르타코딩클럽 Node.js 기초반 1주차 회고록스파르타코딩클럽 Node.js 기초반 2021. 11. 15. 16:41
스파르타코딩클럽 Node.js 기초반
1주차 개발일지
수강목적
항해99 부트캠프로 시작하고 주특기 선택 중에 Node.js라는 언어가 흥미있을거 같고, 이 언어를 배웠을 때, 정말 재밌게 배워서 취업을 하고싶다는 생각이 들어서 Node.js를 주특기로 선택을 하고 수강을 하게 되었다.
목차
- 1. ES6 새로운 문법 이해하기
- node에 대해서 알아보기
- express에 대해서 알아보기
- 1주차 숙제
- 1주차 소감
1. ES6 새로운 문법 이해하기
ES6
ECMAScript 2015로도 알려져 있는 ECMAScript 6는 ECMAScript 표준의 가장 최신 버전이다. ES6는 새로운 언어 기능이 포함된 주요 업데이트이며, 2009년도에 표준화된 ES5 이후로 언어 기능에 대한 첫 업데이트이기도 히다. 현재 주요 JavaScript 엔진들에서 ES6 기능들을 구현 중에 있다.
- const and let
- Arrow functions(화살표 함수)
- Template Literals(템플릿 리터럴)
- Default parameters(기본 매개 변수)
- Array and object destructing(배열 및 객체 비구조화)
- Import and export(가져오기 및 내보내기)
- Promises(프로미스)
- Rest parameter and Spread operator(나머지 매개 변수 및 확산 연산자)
- Classes(클래스)
1. node에 대해서 알아보기
Node.js
- Chrom V8 Javascript 엔진으로 빌드된 Javascript 런타임이다.
- Node.js는 이벤트 기반, 논 블로킹 I/O 모델을 사용해 가볍고 효율적이다.
- Node.js 패키지 생태계인 npm은 세계에서 가장 큰 오픈 소스 라이브러리 생태계이기도 하다.
- npm은 node를 사용하는데 필요한 패키지를 설치해주는 프로그램이다.
3. express에 대해서 알아보기
express
Express.js는 Node.js의 핵심 모듈인 http와 Connect 컴포넌트를 기반으로 하는 웹 프레임워크다. 그러한 컴포넌트를 미들웨어 (middleware)라고 하며, 설정보다는 관례(convention over configuration)와 같은 프레임워크의 철학을 지탱하는 주춧돌에 해당한다. 즉, 개발자들은 특정 프로젝트에 필요한 라이브러리를 어떤 것이든 자유롭게 선택할 수 있으며, 이는 개발자들에게 유연함과 수준 높은 맞춤 식 구성을 보장한다.
- HTTP 요청 본문 파싱
- 쿠키 파싱
- 세션 관리
- URL 경로와 HTTP 요청 메서드를 기반으로 한 복잡한 if 조건을 통해 라우팅을 구성
- 데이터 타입을 토대로 한 적절한 응답 헤더 결정
4. 1주차 숙제
1주차에서는 앞서배운 용어들과 기본 문법 복습 형식으로 수업을 진행했다. 그래서 숙제를 기본 문법에 대한 복습 관련해서 코딩을 해서 제출을 하면 되는 숙제였다.
1. 객체 내용 출력하기
let personArray = [ {"name": "John Doe", "age": 20}, {"name": "Jane Doe", "age": 19}, ]; for (let i = 0; i < personArray.length; i++) { let person = personArray[i] console.log(`His/her name is ${person.name}. He/She is ${person.age} years old.`) } for (let they of personArray) { console.log(`His/her name is ${they.name}. He/She is ${they.age} years old.`) } for (let index in personArray) { let person = personArray[index] console.log(`His/her name is ${person.name}. He/She is ${person.age} years old.`) } personArray.forEach((person) => { console.log(`His/her name is ${person.name}. He/She is ${person.age} years old.`) }) // 위에서 배운 4가지 for문을 이용해서 아래 문장을 출력해봅시다 (console.log) // His/her name is John Doe. He/She is 20 years old. // His/her name is Jane Doe. He/She is 19 years old.
2. 홀수/짝수 구분 함수 만들어보기
function isEven(n) { // n이 짝수면 true, 홀수면 false 를 반환하는 함수를 만들어 봅시다 if ( n % 2 === 0) { return true } else { return false } } function isOdd(n) { // 반대로 n이 홀수면 true, 짝수면 false 를 반환하는 함수를 만들어 봅시다 if ( n % 2 !== 0) { return true } else { return false } } console.log(isEven(10)); // true console.log(isEven(3)); // false console.log(isOdd(5)); // true console.log(isOdd(8)); // false
3. John Doe만 마실 수 있는 맥주
function checkName(person) { // 사람의 이름이 "John Doe" 일때만 true 를 리턴해주도록 합시다. if (person.name === "John Doe") { return true } else { return false } } let personArray = [ {"name": "Mark Bae", "age": 30}, {"name": "John Doe", "age": 20}, {"name": "Jane Doe", "age": 19}, ]; for (let person of personArray) { if (checkName(person)) { console.log("Here is your beer! ", person["name"]); } else { console.log("Get out! ", person["name"]); } }
4. 미성년자만 찾아보기
function getChildrens(personArray) { // 20세이하의 사람들만 배열로 반환해봅시다 let child = [] for (let person of personArray) { if (person.age <= 20) { child.push(person) } } return child } let personArray = [ {"name": "John Doe", "age": 10}, {"name": "Jane Doe", "age": 29}, {"name": "Fred Doe", "age": 13}, {"name": "Chris Doe", "age": 22}, {"name": "Layla Doe", "age": 8}, ]; console.log(getChildrens(personArray)); // [ // {"name": "John Doe", "age": 10}, // {"name": "Fred Doe", "age": 13}, // {"name": "Layla Doe", "age": 8}, // ]
4. 1주차 소감
항해99 3주차에 접어들면서 본격적으로 내가 선택한 주특기에 대해서 배우기 시작했다. 그 전에 2주차 알고리즘 코딩테스트 때 주특기 언어인 Javascript와 가까워지는 시간을 가졌었는데, Node.js 기초반에 들어와서 다시 기초부터 훑고 지나가니까 코딩이 재밌는 느낌이 났다. 강의 영상을 보면서 직접 코딩도하고 숙제도 제출하면서 자기주도적으로 성장을 할 수 있을 것 같다.
'스파르타코딩클럽 Node.js 기초반' 카테고리의 다른 글
[항해4기] 스파르타코딩클럽 Node.js 기초반 5주차 회고록 (0) 2021.11.17 [항해4기] 스파르타코딩클럽 Node.js 기초반 3주차 회고록 (0) 2021.11.16 [항해4기] 스파르타코딩클럽 Node.js 기초반 2주차 회고록 (0) 2021.11.15