Til

    9주 5일차 - JSON

    9주 5일차 - JSON 1. 배운 것 JSON ↔ 객체 2. 내용 정리 코플릿 14번 복습 재귀 호출의 결과가 true일 경우에만 리턴을 주어야 이차원 배열이 있는 일차원 배열의 다음 요소로 넘어간다. 코플릿 15번 복습 for문 안에서 이차원 배열과 이차원 배열이 아닌 경우를 front, mid, end 세 변수에 나눠서 담고 1차원 배열로 합친다. 과정도 [1, 2, [3, 4], 5] 인 경우 [1, 2] [3, 4] [5] 로 만들고 […[1, 2], …[3, 4], …[5]] concat 또는 spread로 하나의 배열로 합친다. [1, 2, 3, 4, 5] function flattenArr(arr) { for (let i = 0; i < arr.length; i++) { if (Array...

    9주 4일차 - 재귀, dp

    9주 4일차 - 재귀, dp 1. 배운 것 데일리코딩 1번 내장함수 sort 사용하여 오름차순/내림차순 정렬하기 Math.max() 코플릿 재귀 재귀로 배열 관련 문제에서 head, tail 활용 arr.slice(1) : 맨 앞 요소 하나 빠진 나머지를 리턴. Object.keys(obj).length === 0 이면 빈 객체. dp - 별도 포스팅으로 정리. 2. 내용 정리 데일리코딩 1번 브루트 포스 방법으로 푸신 분들도 있었다. 아직 안배워서 난 모름 오름차순으로 기존 배열 정렬. 3개의 요소를 곱해야 하므로 오름차순 정렬 시 왼쪽 끝에서부터는 음수 쪽 최댓값, 오른쪽 끝에서 역순으로는 양수 쪽 최댓값 이므로 양수 쪽 최댓값은 오른쪽 끝부터 3개를 곱하고 음수 쪽 최댓값은 왼쪽끝부터 2개 곱하고 ..

    9주 3일차 - 섹션2 회고, 재귀, dp

    9주 3일차 - 섹션2 회고, 재귀, dp 1. 배운 것 동적 프로그래밍 재귀 복습 2. 내용 정리 재귀, DP 별도 문서로 정리중. https://handsome-parcel-51e.notion.site/DP-b9c9f5bf69594e768f652057fbfbd709 백준 10870번 피보나치 수 5번 const fs = require('fs'); const filePath = process.platform === 'linux' ? '/dev/stdin' : './input.txt'; let input = fs.readFileSync(filePath).toString(); input = Number(input); function fib(n) { if (n === 0) return 0; if (n ===..

    9주 1일차 - state airline server

    9주 1일차 - state airline server 1. 배운 것 req.body req.params req.query 딥다이브 17장 - 생성자 함수에 의한 객체 생성(깃에 정리) 2. 내용 정리 종합퀴즈 app.use가 다른 라우터보다 위에 있어야 아래 라우터의 요청들에 app.use의 미들웨어가 적용된다. 단순 요청(Simple Request)은 프리플라이트 요청(Preflight Request)을 생략하는 요청으로 Express 미들웨어와를 사용하는 상황으로 보기는 어렵습니다. 단순 요청은 만족시켜야 하는 조건들이 많습니다. GET, HEAD, POST 요청 중 하나여야 합니다. 자동으로 설정되는 헤더 외에, Accept, Accept-Language, Content-Language, Conte..

    8주차 주말 - express로 api 서버 만들기

    8주차 주말 - express로 api 서버 만들기 1. 배운 것 req.query req.params 2. 내용 정리 2.1 req.params로 분기하기 // 1. 객체 디스트럭쳐링 할당 사용 예시 app.get('/api/users/:type', async (req, res) => { let { type } = req.params; if (type === 'seoul') { let data = [ { name: '김철수', city: 'seoul' }, { name: '이철수', city: 'seoul' }, ]; res.send(data); } else if (type === 'jeju') { let data = [ { name: '이동근', city: 'jeju' }, { name: '박동근',..

    8주 5일차 - Refactor Express

    8주 5일차 - Refactor Express 1. 배운 것 express 단일 연결 리스트 개념정리, 문제풀이 2. 내용 정리 줌세션 buffer : 로딩중일때 우리는 데이터 하나 하나의 조각인 chunk를 받아오는데 이 것이 buffer객체 형태로 온다. on 메서드: end 메서드: 요청 메세지의 구성 응답 메세지의 구성 EventEmitters, Streams - 깊게 알기엔 시간상 지금 하기엔 비효율적임. 뭔지만 알자. http모듈 불러오기 리슨메서드가 server객체에서 호출되어야 함. 요청의 응답처리(response.end()) request 객체에서 메서드, url, 헤더를 받아오기(객체 구조분해할당) 분기 - cors, 경로별 분기, 에러 요청 바디 받아와서 응답 분기에 쓰기(비동기라서 ..

    8주 4일차 - CORS, express

    8주 4일차 - CORS, express 1. 배운 것 CORS, SOP CORS 동작 방식 CORS 설정 방법 과제 - Mini Node Server 2. 내용 정리 ch 1-1 CORS, SOP sop: 동일 출처 정책. cors: 교차 출처 리소스 공유 cors 요청으로 교차 출처 리소스 사용의 권한을 얻어야 sop원칙에 의해 방해 없이 의도대로 웹앱 구동. 과제 - Mini Node Server 요청은 구현되어 있다. 응답을 구현하면 된다. OPTIONS 메소드: 서버가 어떤 메서드를 수행할 수 있는지 확인. 응답으로 입력값을 대문자 처리, 소문자 처리 각각 다른 경로로 처리. 모든 경로에 따른 분기가 메소드와 url로 이루어지므로 이 둘을 통해 분기시킬수 있다. if (메소드가 OPTIONS) ..

    8주 3일차 - StatesAirline Client

    8주 3일차 - StatesAirline Client 1. 배운 것 객체 디스트럭처링 할당을 함수의 매개변수에 사용하기 단일 연결 리스트 2. 내용 정리 순수함수는 외부환경에 영향을 받거나 영향을 끼치지 않는다. 따라서 외부의 변수를 함수 안에서 사용하는 함수는 반환값이 외부 변수의 값을 변경시키지 않더라도 비순수함수이다. 객체 디스트럭처링 할당 - 함수의 매개변수에서 사용 예시 function func1(filteredBy = {}) { if (filteredBy.num) return filteredBy.num; if (filteredBy.str) return filteredBy.str; return filteredBy; } let obj1; func1(obj1); // {} let obj2 = {nu..

    8주 2일차 - Effect Hook

    8주 2일차 - Effect Hook 1. 배운 것 데일리코딩 14번 자식이 부모 state 변경(역방향 데이터 흐름) Side Effect Effect Hook - 조건부 실행 클래스 복습 - 인스턴스 메서드, 정적 메서드 자료구조 - 단일 연결 리스트 2. 내용 정리 데일리코딩 14번 문제의 요구사항을 처음에 잘 이해하지 못했는데 reduce 메서드 없이 반복문으로 비슷한 기능을 한 문제였다. 조건문으로 false, 아니면 전부 true를 리턴. 리액트 역방향 데이터 흐름 하나의 컴포넌트는 하나의 일만 하게 만들어라. 두 개의 자식 컴포넌트가 하나의 상태에 접근하고자 할 때는 두 자식의 공통 부모 컴포넌트에 상태를 위치할것. 예시: 전체 트윗 목록을 상태로 가지는 부모 컴포넌트와 자식 컴포넌트들인 새..

    8주 1일차 - HTTP/네트워크 실습

    8주 1일차 - HTTP/네트워크 실습 1. 배운 것 rest api 모던 자바스크립트 딥 다이브 16장 유데미 React 완벽 가이드 by Maximilian Schwarzmüller fetch api로 GET 요청 보내기 async/await 실사용 try-catch문 에러 핸들링 2. 내용 정리 종합 퀴즈 1번 : REST 원칙을 준수하지 않은 GET 요청 수정하기 PUT 메서드는 서버에 요청 메시지의 본문을 저장해야 할 경우에 사용한다. root-endpoint( root-URL ): 클라이언트가 API로 서버에 요청 시 서버가 요청을 수락하는 시작점. 엔드포인트에는 행위에 대한 명사가 아닌 리소스를 지칭하는 명사를 사용한다. (inquiry:문의) 요청 메세지이기 때문에 응답에 Location ..