WINK-(Web & App)/Express.js (Node.js) 스터디 (56) 썸네일형 리스트형 [2024-2 Node.js 스터디] 류상우 #6주차 웹 API 서버 만들기원래는 9장과 연계돼서 진행되는 분량인데 나는 9장을 따로 만들었어서 기존 서버에 10장 내용의 기능들을 추가하고, 프론트를 수정하는 방식으로 진행해보려고했다.근데 내가 만든 SNS 서비스와 책에서 나온 예제가 너무 달라서 정상적으로 안되는 부분이 많아서... 실습은 우선 두고 개념만 정리해보았다. API 서버 이해하기API: Application Programming Interface의 약어로, 다른 애플리케이션에서 현재 프로그램의 기능을 사용할 수 있게 허용하는 접점.웹 API: 서버에 API를 올려서 URL을 통해 접근할 수 있게 만든 것.크롤링: 표면적으로 보이는 웹 사이트의 정보를 일정 주기로 수집해 자체적으로 가공하는 기술이다. 웹 사이트가 제공하는 API가 없거나 API.. [2024-2 Node.js 스터디] 김민재 #6주차 API 서버 이해하기API: 다른 애플리케이션에서 현재 프로그램의 기능을 사용할 수 있게 허용하는 접점을 의미웹 API는 다른 웹 서비스의 기능을 사용하거나 자원을 가져올 수 있는 창구이다크롤링: 표면저그올 보이는 웹 사이트의 정보를 일정 주기로 수집해 자체적으로 가공하는 기술자체적으로 제공하는 API가 없거나 API이용에 제한이 있는 경우 사용프로젝트 구조 갖추기다른 서비스가 nodebird의 데이터나 서비스를 이용할 수 있도록 만들 것이다.{ "name": "nodebird-api", "version": "0.0.1", "description": "NodeBird API 서버", "main": "app.js", "scripts": { "start": "nodemon app", "t.. [2024-2 Node.js 스터디] 김민재 #5주차 프로젝트 구조 갖추기npm initnpm i sequelize mysql2 sequelize-clinpx sequelize init템플릿을 넣을 views라우터를 넣을 routes정적파일을 넣은 public 위 코드와 파일들을 생성하며 폴더 구조를 형성한다routes/page.jsconst express = require('express');const { renderProfile, renderJoin, renderMain } = require('../controllers/page');const router = express.Router();router.use((req, res, next) => { res.locals.user = null; res.locals.followerCount = 0; .. [2024-2 Node.js 스터디] 류상우 #5주차 익스프레스로 SNS 서비스 만들기 프로젝트 구조 갖추기기능회원 정보: 아이디/나이/성별 정보를 조회할 수 있고, 작성한 글과 댓글을 볼 수 있다.게시글: 제목과 본문 그리고 작성자를 확인할 수 있다. 또한 multer를 사용해 본문에 이미지를 추가할 수 있다.댓글: 각 게시글 별로 댓글을 남긴다. 댓글 작성자를 확인할 수 있다.기술 스택프론트엔드: React백엔드: express데이터베이스: MySQLAPI 명세서기능HTTP 메서드API PathRequestResponse회원 가입POST/register회원 정보 회원 탈퇴DELETE/users/{userId}UID 회원 정보 수정PATCH/users/{userId}UID, 수정할 정보 회원 정보 조회GET/users/{userId}UID회원 정보전체 회.. [2024-2 Node.js 스터디] 류상우 #4주차 7장 MySQL예전에 노드로 랭킹 서버를 만들었는데 서버를 재실행할 때마다 랭킹이 초기화됐었다. 그래서 데이터베이스를 구축하고 싶었는데 어떻게 하는지 몰라서 그냥 재실행 할 때마다 깃허브에 있는 JSON 파일을 갱신해줬던 기억이 있다. 2년이나 지났으니 이제는 할 수 있기를 바란다. 7-1. 데이터베이스란?데이터베이스: 관련성을 가지며 중복이 없는 데이터들의 집합DMBS( DataBase Management System ): 데이터베이스를 관리하는 시스템RDMBS (Relational DMBS): 관계형 DMBS. Oracle, MySQL, MSSQL 등이 있음 7-2. MySQL 설치, 7-3. 워크벤치 설치하기Server File Permissions 부분은 교재에 없길래 그냥 첫 번째 옵션을 선택.. [2024-2 Node.js 스터디] 김민재 #4주차 데이터베이스란?데이터베이스관련성을 가지며 중복이 없는 데이터들의 집합데이터베이스를 관리하느 시스템 DBMSDBMS 중 관계형 DBMS인 MySQL을 사용데이터베이스 및 테이블 생성데이터베이스 생성CREATE SCHEMA [데이터베이스명]데이터베이스를 생성하는 명령어이다스키마는 데이터베이스와 같은 개념이라고 보면 된다데이터 베이스 생성CREATE SCHEMA `nodejs` DEFAULT CHARACTER SET utf8mb4 DEFAULT COLLATE utf8mb4_general_ci;'nodejs'라는 이름의 데이터베이스를 생성하고use nodejs;를 이용해 nodejs 데이터베이스를 사용하겠다고 알린다- CREATE SCHEMA 같은 구문은 예악어로 MySQL이 기본적으로 알고 있음, 대문자로 쓰.. [2024-2 Node.js 스터디] 류상우 #3주차 6장 익스프레스 웹 서버 만들기 6-1. 익스프레스 프로젝트 시작하기익스프레스: 서버를 제작하는 과정에서 겪게 되는 불편을 해소하고 편의 기능을 추가한 웹 서버 프레임워크. http 모듈의 요청과 응답 객체에 추가 기능들을 부여함. 기존 메서드 외에도 편리한 메서드들을 추가해 기능을 보완함.express 외에도 koa나 hapi 등의 웹 서버 프레임워크가 있지만 express 사용량이 압도적이다. 본격적으로 들어가기 앞서 프로젝트를 생성한다. 4번: express 모듈을 실행해 app 변수에 할당한다.5번: app.set('port', port)로 서버의 포트를 설정한다. env에 PORT가 있다면 해당 값을, 없다면 3000을 이용한다.7번: app.get('path', router), 주소에 g.. [2024-2 Node.js 스터디] 김민재 #3주차 - 익스프레스 웹 서버 만들기 익스프레스 프로젝트 시작하기서버를 제작하는 과정에서 겪게 되는 불편을 해소하고 편의 기능을 추가한 웹 서버 프레임워크Express는 http 모듈의 요청과 응답 객체에 추가 기능을 부여했다. 또한, 코드를 분리하게 쉽게 만들어 관리하기 용이하다초기 설정을 위해 package.json 과 app.js를 작성했다html 파일을 사용하기 전index.html 파일을 만들고 난 후 이다res.sendFile 이라는 명령어를 사용해 응답을 지정된 경로에 있는 파일로 보낼 수 있다 자주 사용하는 미들웨어미들웨어(미들웨어가 익스프레스의 전부라고 해도 과언이 아니라는데 한번 느껴보겠다..)요청과 응답의 중간에 위치하며, 요청과 응답을 조작해 기능을 추가하기도 하고, 나쁜 요청을 거른다app.use에 매게변수가 req,.. 이전 1 2 3 4 ··· 7 다음