일반적인 프레임워크는 개념이 단순하고 정의는 정밀하고 구현이 우아함 자바 프레임워크 JUnit의 코드 살펴보기 JUnit의 저자는 많지만 그 시작은 켄트 벡과 에릭 감마이다 켄트는 자바를 배우고 싶었고 에릭은 켄트의 스몰토크 테스트 프레임워크를 배우고 싶어하여, 두 사람이 함께 비행기를 타고 아틀란타로 가다가 JUnit을 만들었음 "비좁은 기내에서 엔지니어 둘이 랩탑을 꺼내 코드를 짜는 일 밖에 다른 무엇을 하겠는가?" ^^.. JUnit의 개선할 점 1. 변수 접두어 'f-' 없애기 2. 의도를 명확히 표현하기 위해 조건문을 캡슐화하기 if(shouldNotCompact()) { ... } private boolean shouldNotCompact() { return expected == null ||..
arr.findIndex(함수) 함수를 만족하는 첫 번째 요소의 인덱스 리턴 arr.find(함수) 함수를 만족하는 첫 번째 요소를 리턴 객체 추가, 갱신하기 // 반복문 사용 for (let prop in addObj) { preObj[prop] = addObj[prop] } // spread 사용 preObj = {...preObj, ...addObj} app과 router(서버 설정) 경로를 목적에 맞게 여러 파일로 분리하여 유지보수하기 쉽게 함 app 처음 도달하는 경로 router 세부경로 const app = express(); app.use() ... module.exports = app; const router = express.Router(); router.use() ... module...
조건을 설정하여 를 나타낼 지 결정할 수 있음 return문 안에서 삼항연산자 조건 ? 참일 때 실행 : 아닐 때 실행 &&연산자 조건 && 참일 때 실행 -> false일 때는 실행하지 않음(컴포넌트를 렌더링하지 않음) -> falsy값을 리턴하면 falsy값을 나타냄 → 조건이 너무 길다면 컴포넌트로 분리할 것 컴포넌트 안에서 컴포넌트 내에서 렌더링하지 않도록 조건 넣기 null if (조건) { return null } return ... // false일 경우 실행할 엘리먼트 22.12.11
MERN stack : JS 프레임워크 MongoDB, Express, React, Node.js를 지칭 Node.js HTTP 모듈과 비교하면 Express는 라우터를 제공하며 미들웨어를 추가할 수 있음 Express 설치 // 터미널 npm install express const express = require('express') const app = express() // express의 인스턴스 const port = 3000 // app.메서드(경로, 핸들러) 형식으로 사용 app.get('/', (req, res) => { res.send('Hello World') }) app.listen(port, () => { console.log('연결되었습니다') }) 라우팅 : 클라이언트의 요청에 해..
기본적으로 SOP를 따라 다른 출처 리소스를 제한하지만, CORS를 사용해 접근 권한을 얻을 수 있음 SOP(Same-Origin Policy, 동일 출처 정책) : 모든 브라우저가 기본적으로 적용 중 같은 출처(프로토콜+ 호스트+ 포트)의 리소스만 공유 가능함 -> 해로울 수 있는 문서를 분리함으로써 공격(해킹 등)받을 수 있는 경로를 줄여줌 다른 출처의 리소스를 받아오고 싶다면 CORS 사용 CORS(Cross-Origin Resource Sharing, 교차 출처 리소스 공유) 추가 HTTP 헤더를 사용하여 다른 출처의 특정 자원에 접근할 수 있는 권한 부여 CORS 동작 방식 1. 프리플라이트 요청(Preflight Request) 실제 요청을 보내기 전 OPTIONS 메서드로 사전 요청을 보내 ..

