일정 로직을 계속 반복해서 실행하는 문법
for()로 시작하며, 소괄호 () 안에 문법을 작성한다. 문법에는 최초식, 조건식, 증감식이 있다
최초식은 반복문을 처음 실행할 때 선언 (어디서부터 시작하는지를 결정하는 시작점)
조건식은 반복문을 실행하는 조건을 설정 (해당 조건식이 true일 때만 로직을 실행)
증감식은 반복문을 실행할 때마다 최초식을 증감 (반복문의 실행 범위를 조절할 수 있음)
for 문법에서는 break와 continue 기능을 사용할 수 있다.
break - 원하는 구간에서 반복문을 종료 (함수안의 return과 유사함)
for (let i = 0; i < 5; i++){ if (i === 2) { break } console.log(i) // 0 1 }
continue - 해당 구간의 반복문을 실행하지 않음
for (let i = 0; i < 5; i++){ if (i === 2) { continue } console.log(i) // 0 1 3 4 }
이름 | 특징 | 사용 범위 | 문법 |
---|---|---|---|
for-in | 객체를 반복할 수 있다. | 문자열, 객체, 배열 | for (let key in object) |
for-of | 각각의 요소들을 가져올 수 있다. | 배열 | for (let key of object) |
forEach | 배열에만 사용할 수 있다. | 배열 | Array.forEach(function()) |
while | 최초식, 조건식, 증감식이 분할되어 사용 | for와 동일 | while() |
for-in문
const str = 'abcde' for (let data in str){ console.log(str[data]) // 'a' 'b' 'c' 'd' 'e' }
for-of문 - 비교적으로 시간이 걸린다
const arr = [1,2,3,4,5] for (let data of arr){ console.log(data) // 1 2 3 4 5 }
forEach - break나 continue 사용 불가 (반복이 중단된 것 처럼 보이게 가능)
const arr = ['a', 'b', 'c'] arr.forEach((data) => { console.log(data) // 'a' 'b' 'c' })
while - ()안에는 조건식이 들어감
let answer = 0 // 로봇이 움직인 획수 let current = 1 //로봇의 현재 위치 while(current !== 100) { answer ++ current ++ } answer // 99
브라우저(손님) -> 프론트엔드 서버(종업원) - HTML서빙
프론트엔드 서버 - 누군가의 접속을 24시간 기다리는 프로그램
백엔드 서버 - API 실행, 데이터베이스 저장
데이터베이스(DB) 서버 - 인터넷이 되는 엑셀, 백엔드 서버 접속을 24시간동안 기다림
포트번호 - 서버에서 필수로 있어야 하는 번호, 포트번호를 기준으로 요청(req)된다.
네이버 같은 곳에 포트번호가 없는 이유
- http://naver.com:80 -> http의 기본포트는 80이고, 생략 가능하다.
- https://naver.com:443 -> https의 기본포트는 443이고, 생략 가능하다.
CPU - 계산해줘
RAM - 변수에 저장해줘 -> 임시저장 (대신에 빠름)
DISK - 엑셀에 저장해줘 -> 완벽한 저장 (대신에 느림)
서버를 수정하고 저장하면 반영이 안되지만, 서버를 재시작하면 반영이 된다.
그 과정이 굉장히 비효율적이기 떄문에 노드몬을 사용한다.
$ yarn add nodemon
명령어 실행하는 두가지 방법
컴퓨터 전체에 설치
package.json에서 나만의 명령어 만들기 ( scripts에 명령어 추가하기 )
"scripts": { "나만의명령어": "nodemon index.js" }
app.use(express.json());
백엔드개발자는 API를 만들고 꼭 명세서를 작성해야 한다.
명세서를 작성을 하지 않으면 프론트엔드 개발자는 이 API가 어떤 일을 하는지 모르기 때문
명세서를 잘 작성해야 프론트엔드 개발자랑 협업하기 좋다
출처 : 코드캠프