전체 글 (177) 썸네일형 리스트형 [TIL] [20221210] JavaScript, 프로토타입 기반(prototype-base) 객체지향(Object Oriented Programming) 💡 Q1. Class는 대체로 추상화를 위해 사용됩니다. ES5 자바스크립트에서 Class는 어떻게 동작할까요? 프로토타입 기반(prototype-base) 객체지향 프로그래밍(OOP) JS는 명령형(imperative), 함수형(functional), 프로토타입 기반(prototype-based) 객체지향 언어다. 보통 사람들이 객체지향 프로그래밍(**OOP)**라고 하는 것은, 사실상, JAVA/C++과 같은 클래스 기반 객체지향 프로그래밍을 말한다. JavaScript에서는 클래스 기반이 아닌, 프로토타입 기반의 객체지향 프로그래밍이 가능하다. JS에서 Class 문법은 ES6에서 등장하였고, 사실상 JAVA/C++과 같이 Class 기반 객체지향 프로그래밍에 익숙한 사람들을 위해 만들어진 Synt.. [5주차] soket.io 경험하기 soket.io Socket.IO is a library that enables low-latency, bidirectional and event-based communication between a client and a server. Socket.IO Reliable Rest assured! In case the WebSocket connection is not possible, it will fall back to HTTP long-polling. And if the connection is lost, the client will automatically try to reconnect. socket.io GitHub - socketio/socket.io: Realtime application fra.. [TIL] [5주차] [20221209] object literal에서 spread operator Spread Operator Spread syntax (...) - JavaScript | MDN The spread (...) syntax allows an iterable, such as an array or string, to be expanded in places where zero or more arguments (for function calls) or elements (for array literals) are expected. In an object literal, the spread syntax enumerates the propert developer.mozilla.org In an object literal, the spread syntax enumerates the propertie.. [TIL] [4주차] [20221208] 4주차 회고 - 코드리뷰와 리팩토링 / package.json, EC2 set locale, express sanitizer 오늘은 4주차 마지막 날로, 주차 시험을 치뤘다. 끝나고 나니까 그렇게 어려운 문제는 아니었는데, 에러 메세지에 낚여서 SQL row query 문법을 찾느라 시간을 많이 버렸다. 그래도 시간 내에 잘 풀었다. 오후에는 조별과제 포스팅을 했고, 저녁부터 어제 기술 매니저님께 받은 리뷰 대로 코드를 수정했다. 아래는 코드리뷰를 받은 내용이다. app.js에서 router 불러 오는 것은 ./routes/index.js만 index에서 나머지 라우터를 계층 순서에 맞게 라우팅 해주기 app -> index -> user / posts / comments 순으로 계층구조 정리할 것 app.js에서 최종 error handdling 미들웨어 추가 보통 파일 이름은 단어 하나로 사용 authAndUser -> a.. [4주차] [20221208] node.js의 require() 작동 방식 Node.js에서 리팩토링시 사용하며, npm을 통해 다운로드 했던 모듈을 불러오는 require 함수는 어떻게 동작하나요? IIFE (Immediately Invoked Function Expression)와 연결지어 찾아보고 정리해보세요 Node.js에서 require 함수는 모듈을 불러오는 node.js의 내장 함수인데, require()를 호출하면, 즉시실행(Immediately Invoked)하여 모듈 파일인 JS 파일을 읽고, 실행시키고, 반환한다. 아래와 같은 example.js 파일이 있다 console.log("evaluating example.js"); const invisible = function () { console.log("invisible"); } exports.message.. [4주차] [20221207] express에서 Router : Middleware와 Router Q. express.js의 라우터는 미들웨어입니다. 어떤 원리로 동작하기 때문에 미들웨어로 라우터를 구현할 수 있나요? 오늘은 질문에 답하기 위해, 미들웨어란 무엇인지와 함께 express에서 Router를 알아보려고 한다. Using Middleware Express 공식 홈페이지에서는 라우팅과 미들웨어 웹 프레임워크라고 express를 소개하고 있는데, express는 기본적으로 미들웨어 함수의 연속적인 호출을 처리하는 프레임워크다. Middleware function은 어플리케이션의 request-response cycle에서 request object, response object, next middleware 함수에에 대한 액세스를 가진 함수를 가리키며, 아래의 네가지 기능을 수행할 수 있다. .. [4주차] [20221206] thunder client에서 req.cookies 넘기기 오늘은 게시판 CRUD 과제에서, 회원 로그인 및 인증 api를 access/refresh token을 이용하여 인증 middleware를 업그레이드 했다. api를 모두 짜고, thunder client에서 테스트를 하고 싶었는데, 도무지 req.cookies 값을 넣어주는 방법을 찾지를 못했다. 사용자가 로그인을 하면 서버에서는 accessToken과 refreshToken을 발급해서 res.cookie로 클라에 넘겨준다. 쿠키로 토큰 값을 전달 받은 클라는 사용자가 인증이 필요한 서비스를 사용할때마다 저장해서 가지고 있던 토큰이 담기 쿠키를 req.cookies로 서버에 날린다. 서버에서는 cookie-parser 미들웨어를 사용해서 req.cookies에 담긴 토큰 값을 가져온다. 프론트 없이 서.. [4주차] [20221205] Joi validation & Sequelize를 이용한 mySQL 설정 오늘은 기존에 빌드한 게시판 db를 mySQL로 바꾸고, 회원가입 및 로그인 인증 기능을 추가하기 위한 기초 작업을 진행했다. 지난 주차에서는, request.body를 검증하기 위해서, 별도의 함수를 만들어 처리해 주었는데, 이번 주차부터는 Joi를 사용하여 검증을 더 쉽게 구성할 수 있게 되었다. Joi를 사용하여 데이터 검증하기 The most powerful schema description language and data validator for JavaScript. - npm Joi JavaScript를 위한 가장 강력한 schema description language이자, data validator라고 설명하고 있다. Joi에서는 데이터 검증을 위한 강력한 함수들을 제공하고 있는데, api.. 이전 1 2 3 4 5 6 7 8 ··· 23 다음