코딩 30

express) Cookie와 Session쓰기

HTTP 프로토콜 두가지 특징 - 무상태(Stateless) : 서버는 클라이언트의 상태를 보존하지 않는다(클라이언트의 상태를 모른다) - 비연결성(Connectionless) : 클라이언트 요청에 대해 서버가 응답을 마치면 맺었던 연결을 끊어 버린다. 을 보충하여 상태를 계속 유지하기 위해 위해 사용하는 기능 쿠키 - 쿠키는 웹사이트 접속시 접속자의 개인장치에 다운로드 되고 브라우저에 저장되는 작은 텍스트 파일 - 클라이언트의 상태 정보를 로컬에 저장했다가, 요청할 때 참조된다. - 세션 관리(Session management)서버에 저장해야 할 로그인, 장바구니, 게임 스코어 등의 정보 - 관리개인화(Personalization)사용자 선호, 테마 등의 세팅 - 트래킹(Tracking)사용자 행동을 ..

코딩/expressJs 2022.04.16

Sequelize를 적용해보자(진행중)

✔ 사전적 의미 : 속편화 하다. 후속작을 만들다. ✔ 공식 홈페이지의 설명(https://sequelize.org/) Sequelize는 Postgres, MySQL, MariaDB, SQLite 및 SQL Server 등을 위한 최신 TypeScript 및 Node.js ORM입니다. 견고한 트랜잭션 지원, 관계, 열망 및 지연 로딩, 읽기 복제 등을 제공합니다. ORM(Object Relational Mapping) - 객체 지향 프로그래밍 언어 를 사용하여 호환되지 않는 유형 시스템 간에 데이터를 변환 하는 프로그래밍 기술 - 여기서는 객체와 RDBMS의 데이터를 자동으로 연결해주는 것 즉, ORM을 통해 객체 간의 관계를 바탕으로 SQL을 자동으로 생성하여 객체 지향적인 코드를 생산할 수 있다...

코딩/expressJs 2022.04.04

Nginx에서 reverse proxy 설정중 문제(해결중)

의문점 express 서버에서의 index.js nginx서버에서 reverse_proxy 설정을 위해 타이핑한 코드 server_name을 입력하고 진입했을때 '/' 경로는 정상 노출되나 애플리케이션 단계에서 '/post' 와 '/users'로 URL을 분리하여 처리 했는데, 이걸 server_name/post 으로 접근 했을 경우 경우 404 not found error 가 노출 된다. 이 상태에서 라우트 경로를 사용할 수 있는 방법 무엇이 있을까? 1. /user 와 /post에 대한 location을 지정한다 location /user { proxy_pass http://(ip주소:포트번호)/user } location /post { proxy_pass http://(ip주소:포트번호)/post ..

코딩/expressJs 2022.03.20

Nodemon

- node monitor의 약자 - Node.js에 기반한 웹 어플리케이션 개발 시, 파일이 수정되면, 자동으로 애플리케이션이 재 실행 되도록 도와주는 node.js 패키지(확장모듈) - 이 모듈을 설치하면, 코드를 실행 할 때, 코드 수정 후 저장(Ctrl+S)하면 다시 시작할 필요 없이 애플리케이션이 저절로 실행된다. 수정 결과를 바로 확인 할 수 있으니 좋다! 1. 터미널에 npm install nodemon -g 입력(전역으로 설치할 경우) npm install nodemon -g #전역설치 npm install --save-dev nodemon #로컬설치 2. 터미널에서 nodemon index.js (각자 폴더의 메인 파일 입력) 명령 입력 후 실행 혹은 하단의 두개로 해도 된다 nodemo..

코딩/JavaScript 2022.02.28

expressjs의 mergeParams 사용해보기(매우 간단)

- 계층 구조의 라우터를 사용 할 때 사용 - 하위 라우터(혹은 자식 라우터)가 상위 라우터(부모 라우터)의 req.params 값을 유지하는 것 - 라우터로 별개의 파일에서 라우팅을 하는데, 상위 라우터의 파라미터가 필요한 경우에 사용함 ex) 포스트와 댓글 달기 / 여러개의 카테고리와 그 카테고리에 속한 게시글 등등 https://expressjs.com/ko/api.html 에서는 이렇게 설명 하고 있다. 1) 선언하기 child router 파일에 선언 const router = express.Router({ mergeParams: true }); 2) 사용하기(게시글과 그 게시글에 속한 댓글을 만들 경우) /*post.js 라우터(parent) */ const commentroute = requ..

코딩/expressJs 2022.02.03

nodejs express 로 아~주 기본적인 라우팅 설정 해보기(with Mysql)

- Route : 노선 - 라우팅(routing)이란? 1) 어떤 네트워크 안에서 통신 데이터를 보낼 때 최적의 경로를 선택하는 과정 2) 기본적으로 어플리케이션 서버에서 목적지 까지 경로를 제어하는 것 3) 클라이언트로부터 요청받은 URL과 뷰를 매칭시키는 것 index.js var express = require('express'); const router = express.Router(); const mysql = require('mysql'); const db = mysql.createConnection({ host: 'localhost', user: '아이디입력', password: '비밀번호입력', database: '사용하고자하는 db입력', port: 포트입력 }); /* GET home ..

코딩/expressJs 2021.12.23

scanf_s로 배열 문자열을 입력

scanf_s() 함수 - 기존 scanf에서 취약한 부분인 'buffer오버플로우' 방지를 위해 보안하고자 만든 것(s는 security) 배열의 범위를 벗어나면 출력을 안한다. - VS2021 이상 컴파일러에서는 scanf_s사용을 권장한다. int scanf_s(const char *format[, argument]...); 사용방법 1) scanf_s는 변수를 입력할 때 배열 이름 앞에 &기호를 붙이지 않음 2) 문자열을 입력할 때 입력받을 인수의 크기를 지정해 줘야 함 char str[5]; scanf_s("%s", str, sizeof(str)); //sizeof 혹은 바이트 숫자값 입력 //참고 int a; scanf_s("%d", a, sizeof(a)); //sizeof 혹은 바이트값(4..

코딩/C++ 2021.11.26

Visual Studio 1개의 확인할 수 없는 외부 참조 입니다.(미해결)

LNK 1120, 2019 오류 원인(매우 다양함) 1) main 함수 정의가 안됨 2) 미리 정의되지 않은 변수/함수 사용 3) 함수/변수의 선언과 정의가 일치하지 않을 때 4) x86/x64가 혼재된 솔루션을 사용 확인 1) 잘 정의 됨 2) 다 정의 함 3) Debuging이 32bit로 되어 있어 빌드-구성관리자에서 x64로 바꿈 모르겠다 하고 새 프로젝트를 만드는데 이상한걸 발견했다. .cpp 파일을 만들고 프로젝트를 닫고 다시 열었는데? 프로젝트 불러올 때 문제가 생겼는지 ㅎㅎ;

코딩/C++ 2021.11.26

[코딩테스트] 숫자의 총 개수(large)

1. 문제 자연수 N이 입력되면 1부터 N까지의 자연수를 종이에 적을 때 각 숫자는 몇 개 쓰였을까요? 예를 들어 1부터 15까지는 1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 0, 1, 1, 1, 2, 1, 3, 1, 4, 1, 5으로 총 21개가 쓰였음을 알 수 있습니다. 자연수 N이 입력되면 1부터 N까지 각 숫자는 몇 개가 사용되었는지를 구하는 프로그램을 작성하세요. 2. 입/출력 조건 - 입력 : 첫 번째 줄에는 자연수 N(3 length; if ((length 100000000)) return 0; // length = 256 1번째 max = 9 while (sum + 9 < length) { max = max + (re * nine); sum = s..