본문 바로가기

전체 글

(22)
5. 테스트 (jest, supertest) [express] 1. 테스트 코드 코드의 신뢰성 확보와 예상치 못한 버그를 미리 찾아내기 위해 테스트 코드 작성은 중요하다.테스트를 거치치 않은 코드는 기존 기능에 까지 영향을 미칠 수 있다.  2. 테스트 종류 a. 단위 테스트 (Unit Test) : 가장 작은 단위(함수, 컴포넌트 등)에 대한 테스트일반적인 테스트, 세분화 테스트, 중요도가 높은 테스트코드를 수정하거나 기능을 추가할 때, 수시로 빠른 검증이 가능하다.리팩토링 시에 안정성을 확보할 수 있다.개발 및 테스팅에 대한 시간 비용을 절감할 수 있다.b. 통합 테스트 (Integratin Test) : 테스트를 모아서 진행하는 통합 테스트 c. E2E 테스트 (End to End Test) : 애플리케이션의 전체 워크플로우 테스트(로그인 후 특정 페이지로의 ..
4. 웹 API 서버 [express] 오늘은 ~크롤링과의 맞다이에서 뚜까맞고 체념한 개발자의 아량으로 볼 수 있는 웹 API를 알아보자 1. 웹 API 서버 어차피 데이터를 긁어 갈거라면 여기에서! 정상적인 방식으로 데이터를 가져가!라는 의미로 열어둔 여기에서!가 "웹 API" 되겠다. 웹 API 서버를 통해서 제공자는뚜까맞던 것을 적당히 때려달라고 할 수도 있고, (사용량 제한) 뚜까맞는 것에 대해 요금을 청구할 수도 있고, (유료 서비스 도입)어떤 정보를 많이 찾는지 데이터를 얻을 수도 있다. (요청에 대한 데이터 확보) 제작에 있어서는 보통 서버와 동일하게 제작하면 된다. (로그인, 세션, 미들웨어, DB, 에러처리 모두 동일)자격을 가진 사용자에게 API 서버는 요청에 맞는 데이터를 담아 res.json을 전달한다.// promise..
3. passport [express] 로그인 기능만 제대로 구현할 수 있어도,백엔드의 9할은 끝난 것이다.- 취준생 삼다수🤔 - 0. 세팅npm initnpm i sequelize mysql2 sequelize-climysql2는 노드와 mysql DB 연결을 위한 드라이버 (mysql X)npx sequelize init config, migrations, models, seeders 파일 자동 생성파일 생성 - public, .env, views, routes, controllers, passport 파일 수동 생성npm i express cookie-parser express-session morgan multer dotenv nonjucksnpm i -D nodemonapp.js 제작scripts에 "start" : "nodemon..
2. MongoDB 1. MongoDB? https://samdasoo2l.tistory.com/11 0. 데이터베이스 개요0. 더는 안된다. 파일시스템.데이터베이스의 등장 이전,데이터들을 저장하기 위해서 파일시스템을 사용했었다. 하지만 파일시스템은 여러 문제를 야기했다.통합되지 않으니까 따로따로 관리해samdasoo2l.tistory.comNoSQL의 대표주자이다.빅데이터, 메시징, 세션관리 등 비정형 데이터의 저장소로 적합하다. 2. 설치 몽고디비 설치 (컴파스 함께 설치 (워크벤치와 유사)) 후,몽고디비 연결 후,몽고디비 셸 설치 (mongosh) 후,어드민 설정 (admin 권한설정) 하면 끝. 3. 생성과 삭제 관계형 데이터베이스에서는 데이터를 테이블에 저장하지만,비관계형 데이터베이스에서는 데이터를 컬렉션에 저장한..
SPA? CSR? SSR? 알아보자!SPA, MPA, CSR, SSR, SSG! (사실은 Next.js 학습에 대한 강한 동기부여를 위한 포스팅...) 0. 용어 정리 SPA : 단일 페이지 어플리케이션, 사용자가 웹 애플리케이션을 이용할 때 페이지를 새로 로드하지 않고, 한 번 로드된 페이지 내에서 동적으로 콘텐츠를 업데이트하는 방식, 한번 로드된 웹 페이지 내에서 사용자 상호작용에 따라 동적으로 콘텐츠를 변경하는 방식MPA : 전통적인 웹 애플리케이션 구조, 사용자가 페이지를 요청할 때마다 서버에서 새로운 HTML 페이지를 전송받는 방식CSR : 브라우저에서 렌더링을 처리하는 방식SSR : 서버에서 렌더링을 처리하는 방식SSG : 빌드 시 HTML을 생성하여 제공하는 방식 + SPA & CSRSPA는 애플리케이션의 구조적 특성..
1. MySQL 0. DB? 데이터를,서버 메모리에 저장하는 방식은 일시적 저장을 의미한다. (서버 재시작시 데이터 증발)데이터베이스(DB)에 저장하는 방식은 영구적 저장을 의미한다. (지우지만 않는다면..) 1. MySQL?https://samdasoo2l.tistory.com/11 0. 데이터베이스 개요0. 더는 안된다. 파일시스템.데이터베이스의 등장 이전,데이터들을 저장하기 위해서 파일시스템을 사용했었다. 하지만 파일시스템은 여러 문제를 야기했다.통합되지 않으니까 따로따로 관리해samdasoo2l.tistory.com MySQL은 기본적으로 3306번 포트를 사용한다. 2. 설치 오라클 가입 후MySQL 설치 (서버, 워크벤치) 후환경변수 설정 (path) 후설치 확인 (cmd에서 mysql --version) 하..
0. 데이터베이스 개요 0. 더는 안된다. 파일시스템.데이터베이스의 등장 이전,데이터들을 저장하기 위해서 파일시스템을 사용했었다. 하지만 파일시스템은 여러 문제를 야기했다.통합되지 않으니까 따로따로 관리해야했다.통합되지 않으니까 여기 저장한데이터를 저기에도 저장해야했다. (데이터 중복성)통합되지 않으니까 여기에서 수정한 데이터가 저기에는 반영이 안됐다. (데이터 무결성(정확성, 일관성))이외에도 다양한 문제들을 야기했다. 이러한 상황을 극복하고자 개발자들은데이터베이스 관리 시스템을 만들었다.데이터 저장을 전문적으로 하는 데이터 베이스를 만들고,그 데이터베이스를 전문적으로 관리하는 시스템을 만들었다. 데이터베이스(DB)를 통해서 응용시스템들 마다 가지고 있던 파일들을 하나의 데이터 집합으로 통합하고,(데이터 중복성, 불일치, 호..
2. express (서버제작 level 2) [express] 프로젝트가 거대해짐에 따라조건문 라우팅! 헷갈려서 못해 먹겠다!http모듈로는 못해 먹겠다!  1. express이에 따라,코드 가시성과 확장성을 고려한 다양한 기능을 제공하는 서버제작 프레임워크가 등장했다.그 이름 express!라우팅과 로직 모듈화 측면에서 큰 편리함을 제공한다.(+ express도 패키지를 까보면 궁극적으로는 http로 돌아간다!) 라우트 : 특정 URL 경로와 HTTP 메소드에 대한, 경로 처리 함수를 연결한 하나의 규칙을 의미한다.              사용자가 요청할 수 있는 경로와 그 경로에 대해 어떤 처리를 할지 정의하는 것이다.              (여기로 이 요청이 오면! 이렇게 처리해!)라우터 : URL 경로와 처리할 핸들러(함수) 또는 미들웨어를 연결하는 역할을..