분류 전체보기

Call by value / Call by reference는 프로그래밍 언어에서 사용되는 평가 전략(Evaluation Strategy) 중 하나이다. 평가 전략(Evaluation Strategy)은 프로그래밍 언어에서 함수 호출 시 전달한 인자(argument)의 순서를 언제 결정하고 함수에 어떤 종류의 값을 통과시킬지 결정하는 것이다. 근래의 대부분의 프로그래밍 언어들은 값에 의한 호출(call-by-value)과 참조에 의한 전달(pass-by-reference)가 통합되고 있다. 출처 위키백과 - 평가 전략 (컴퓨터 프로그래밍) 💡 다루기 전에 이것들을 다루기 전에 Javascript의 데이터 타입에 대해서 알아야 한다. 기본형 (Primitive Type) Number String Boole..
· TIL
가끔보면 package 앞에 @가 붙는 경우가 있는데 평소엔 그냥 무심코 지나갔던 부분이라 별로 신경을 안썼지만 오늘 모듈 설치하다가 문뜩 궁금해서 찾아봤다. ( ex. @meterial-ui/core ) 몇몇의 package는 scope를 가지는데 scope를 가지고 있는 패키지는 이름을 정하는 룰이 있다. 바로 @ symbol과 / 를 사용하는 것! 이것을 scoped packages 라고 부르며 npm에 새로 추가된 기능 npm 패키지에 네임스페이스를 적용하여 아래와 같은 규칙을 정한다. global modules : 현재 존재하는 컨벤션 네임을 따른 모듈. (일반적인 패키지 작명 컨벤션을 따른다는 뜻인듯) scoped modules : 조직이나 그룹에 “scoped” 된 새로운 모듈. @조직이름/..
자바스크립트에서 데이터 타입은 크게 2가지로 나뉘는데 기본형(원시형)과 참조형이 있다. 1. 기본형 or 원시형 (Primitive Type) 기본형 데이터가 할당된 변수는 자기 자신만의 고유한 값을 가진다. 기본형 데이터는 변경 불가능한 값으로 한 번 생성된 기본형 데이터는 변경할 수 없다. (불변성) 기본형 데이터를 할당한 변수는 재할당 이외에는 변수값을 변경할 수 없다. call-by-value (값에 의한 호출)의 형태로 전달된다. 기본형 종류 Number String Boolean null undefined Symbol (ES6 추가됨) 기본형 예시 1️⃣ 변수 생성 과정 변수 a를 선언하면 컴퓨터는 메모리 안에 데이터가 담길 공간을 확보한다. 아래의 이미지에서는 임의로 주소 1003의 공간을 ..
· TIL
📌 Json Web Token (JWT) 인증에 필요한 정보들을 암호화시킨 토큰 JSON Web Token (JWT) 은 웹 표준 (RFC 7519)으로서 두 개체에서 JSON 객체를 사용하여 가볍고 자가 수용적인 (self-contained) 방식으로 정보를 안전성 있게 전달하기 위한 방법이다. self-contained (자가 수용적) → JWT는 필요한 모든 정보를 자체적으로 지니고 있다. 토큰에 대한 기본정보, 전달할 정보(유저 인증의 경우 유저 정보), 검증된 토큰임을 증명하는 signature를 포함하고 있다. → JWT는 자가 수용적이기 때문에 두 개체 사이에 손쉽게 전달할 수 있다. HTTP 통신에서 헤더에 넣어서 전달하거나, URL의 파라미터(쿼리), body 등 다양한 방식으로 전달할 ..
과거에는 body-parser 모듈을 설치해 json() 메소드를 호출하여 body값 파싱을 하였는데 v4.16.0 기준 버전부턴 Express body-parser 모듈이 내장되어 있다. ❓ 그래서 왜 사용하는 것이야? 클라이언트에서 POST request를 보내면 요청 데이터가 req.body 객체에 담겨서 전달되는데 이 때 express.json()을 사용하지 않고 값을 출력하게 되면 undefined가 반환된다. body-parser 미들웨어 express.json() 사용 전 import express from "express"; const app = express(); app.post("/login", (req, res, next) => { try { console.log("req.body:"..
mongoose.connection.on() 과 once()의 차이? mongoose.connect(uri, options); const db = mongoose.connection; db.once('open', () => { console.log('connection success'); }); db.on('error', () => { console.log('connection error'); }); 주어진 이벤트가 생성될 때 실행할 콜백이다. db.on('error', 콜백함수)은 error 이벤트가 발생할 때마다 콜백함수가 호출됨을 의미한다. db.once('open', 콜백함수)는 사용하면 이벤트가 한 번만 호출됨을 의미하며, mongodb에 대한 연결이 열려 있을 때, 즉 연결이 성공하면 콜백함수..
· TIL
프로젝트를 진행하면서 당연하듯이 사용하고 있던 쿠키와 세션인데 정작 원리를 제대로 이해하고 사용하지 않았다. 대충 감만 잡은 상태로 사용하는 것은 그다지 어렵지 않았는데 이것들을 사용자 인증, 인가의 목적으로 사용하게 되니까 굉장히 복잡했던 경험이 떠오른다. 그러다 보니 면접 때 질문이 들어왔는데 긴가민가한 상태로 대답을 하게 되었고 결과는 뭐.. 눈물만 나네. 다시는 이런 일이 없도록 정리하면서 온전히 내 것으로 만들어보자! 💡 cookie와 session을 다루기 전에 먼저 HTTP의 특징에 대해 알아보자. 📌 HTTP의 특징 HTTP는 클라이언트와 서버 사이에 이루어지는 요청/응답(request/response) 프로토콜이다. 1. 비연결성 (Connectionless) - 클라이언트가 요청을 한 ..
📌 미들웨어 express 프레임워크의 장점 중 하나로 미들웨어를 사용함. 미들웨어란 요청에 대한 응답 과정 사이에서 어떠한 동작을 하는 프로그램. 즉, express는 요청이 들어오면 그에 대한 응답을 보내주는데 클라이언트가 보내는 요청을 받고 응답을 보내주는 과정의 중간(middle)에 개발자가 개입·간섭하여 로직 생성, 요청 및 응답 객체에 대한 변경과 흐름 제어 등을 한다. 현재의 미들웨어 함수가 요청-응답 사이클을 종료하지 않는 경우에는 next()를 호출하여 그다음 미들웨어 함수에 제어를 전달해야 한다. 만약 next()를 호출하지 않았을 경우 해당 요청이 정지된 채로 미들웨어에 머무르게 된다. 📌 미들웨어 함수 호출의 요소 다음 이미지는 미들웨어 함수 호출의 요소가 표시된 예제이다. app...
한우콩
'분류 전체보기' 카테고리의 글 목록 (7 Page)