본문 바로가기

Node

[드림코딩 앨리 강좌] 노드로 배우는 백엔드 A-Z 본 글은 드림코딩 앨리님의 노드로 배우는 백엔드 A-Z 를 수강한 후, MDN Web Docs 를 바탕으로 재정리해본 글이다. 강의 기간: 2021.05~2021.05 회사를 이직하면서 기술스택이 Spring -> Node 로 바뀌었다. 드림코딩 앨리님의 유튜브를 평소에 즐겨봐서 이 분 강의를 믿고 선택하게 되었다. 결론적으로 매우 잘한 선택이었다. 전반적으로 노드를 입문하며 흐름을 파악하기에 좋은 강의였다. Chap 8. Web 기초 지식 HTTP HTTP v1,v2,v3 HTTP v1 HTTP,HTTPS 둘다 사용 가능 text-based 로 주고받음 uncompressed headers (size 도 큼) one file at a time inefficient HTTP v2 HTTPS 만 사용 가능.. 더보기
[드림코딩 앨리 강좌] 타입스크립트 + OOP 마스터 과정 - Chap 4. 객체지향 프로그래밍 2021.07 ~ 2021.09 진행 본 글은 드림코딩 앨리 - 타입스크립트+OOP 마스터 과정 인강을 들은 후 정리한 내용입니다 Imperative and Procedural Programming 명령&절차적 프로그래밍 모든 함수가 전역변수에 접근 가능 정의된 순서대로 함수가 호출되는 형태 절차적 프로그래밍 단점 전체적인 애플리케이션 동작 방식을 이해해야 됨 하나를 코드 수정하면 → 사이드 이펙트 발생 확률 높아짐 한 눈에 애플리케이션 이해하기도 어렵 결국 유지보수, 확장성 떨어짐 Object Oriented Programming 객체 지향 프로그래밍 프로그램을 객체로 정의해서 객체들끼리 서로 의사소통하도록 디자인 객체 지향은 서로 관련있는 데이터와 함수를 Object 단위로 만들어나감 학생, 은행, .. 더보기
Node.js - Socket.IO 모듈을 이용한 채팅 프로그램 * 단방향성: 클라이언트의 요청에 대해서 응답만을 하는 방식 웹은 일반적으로 클라이언트에서 서버로 가는 단방향성이지만, 채팅과 같은 실시간 양방향 애플리케이나 쪽지와 같이 서버에서 클라이언트로 알림을 보내줘야 하는 요구 사항이 생겼다. Socket.IO는 자바스크립트 모듈로, 웹 클라이언트로의 푸쉬(알림)를 지원하는 모듈이다. (양방향성이 가능해짐) WebSocket을 지원하지 않는 어느 브라우져라도 푸쉬 메시지를 일관된 모듈로 보낼 수 있는 장점이 있다 이번 예제 point - 특정 클라이언트 소켓에 메세지를 어떻게 보내는지를 알 수 있다 서버쪽 코드 - app.js ⓛ socketIO를 지원하는 서버 생성 // httpServer 생성 var server = http.createServer(app)... 더보기
Passport 모듈로 회원가입 및 로그인 하기 - Passport 모듈화 적용 passport 모듈 설정 // passport 모듈 var passport = require("passport"); // 인증을 위해 필수 모듈 var flash = require("connect-flash"); // 사용자한테 메세지를 전달하는 모듈 //Passport 사용 설정 (반드시 세션설정 밑에 기술) //Passport 의 두개의 함수를 호출했을 때 반환하는 객체를 미들웨어로 사용 app.use(passport.initialize()); app.use(passport.session()); app.use(flash()); router 모듈 설정 var router = express.Router(); app.use("/",router); // 모듈화로 빠진 Passport routing부분 호출.. 더보기
Passport 모듈로 회원가입 및 로그인 하기 (모듈화 적용 X) 노드에서 사용할 수 있는 사용자 인증 모듈 ① 로컬인증 : 데이터베이스에 저장된 사용자 정보와 비교 ② OAuth인증 : 페이스북, 구글, 네이버, 카카오 계정으로 로그인 - key값을 받아야 하니깐 eclipse에서 쓰지말고 쓰는법은 각 홈페이지 API 참조하는게 나음 사용자 인증 처리를 위한 필수 모듈 npm install passport --save npm install passport-local --save - 로컬 인증 기능 (데이터베이스에 저장된 사용자 정보와 비교) npm install connect-flash --save - 요청객체에 메세지를 넣어둘 수 있는 기능, 다른 함수나 뷰 템플릿 처리 함수에 메세지를 전달, 사용자에게 메세지 전달 * node_modules에 passport-st.. 더보기
Node.js 에 View Template 적용하기 (1) - Semantic UI (미완) 대표적인 View Template - jQuery, Bootstrap 등이 있다 그 중 Semantic UI를 배워보겠다 1. Semantic UI 패키지 다운로드 https://semantic-ui.com/introduction/getting-started.html Getting Started | Semantic UI semantic-ui.com 압축파일 중 해당 두 파일을 Node.js용 이클립스의 ModuleExe > public1 > data 폴더로 copy 2. 홈페이지 왼쪽에 가져오고 싶은 테마 선택 3. Semantic UI를 사용하려면 html 파일 위에 기재 예제- Semantic-UI를 적용한 웹페이지 만들기 Semantic에 관련한 html 파일(view부분)은 public1 폴더에 .. 더보기
Node.js + Oracle 을 이용한 로그인/패스워드 웹서버 구축하기 1. DB 연결자, Router 연결자 - config.js 2. DB 관련 ① Schema 정보 (스키마생성&스키마메소드추가) - user_schema.js ② database 객체에 DB정보, Schema정보, Schema Model 정보 추가 - database.js (config.js, user_shema.js에 접근하여 모델객체 생성) 3. 라우팅 관련 ⓛ config.js 에 있는 Router 연결자 정보를 이용해 상황별 메소드에 접근 - router_loader.js ② UserModel 객체에 접근하여 결과 페이지 view단을 만듬 - user.js 4. 메인 파일 - app2.js 개발환경 - os: Window8.1 64x / 프로세서: Intel(R) Core(TM) i3-4020Y .. 더보기
Node.js + Oracle 1. Oracle 지원 모듈 설치 npm install oracledb --save *참고* .h => c언어 .dll - dynamic linked library vc - visual studio에서 c로만든 프로그램 (vc8 8버전) 2. ORACLE정보 cmd창에 등록 1) ORACLE의 lib를 등록한다 C:\Users\stu>set OCI_LIB_DIR = C:\app\stu\product\11.2.0\dbhome_1\OCI\lib\MSVC 2) C:\Users\stu>set OCI_LIB_DIR = C:\app\stu\product\11.2.0\dbhome_1\OCI\include *참고* 프로젝트 생성할 때 원래쓰던 패키지 가져오는법 방법1. node_modules 폴더 copy 해오기 방법.. 더보기