Super Kawaii Cute Cat Kaoani
본문 바로가기

{Extracurricular Activities}/Codeit Boost-Node.js27

10주차 스터디 Express 유저 기능 구현하기 [코드잇 부스트 백엔드 스터디 ] MVC 패턴이란?   MVC(Model-View-Controller)MVC 패턴은 각각의 역할과 관심사를 분리함으로써 모델, 뷰, 컨트롤러가 독립적으로 작동하도록 하는 것이 목적  🔹모델: 주로 데이터베이스와 상호작용 및 비즈니스 로직을 관리🔹뷰: 레이아웃과 화면처리🔹컨트롤러: 모델과 뷰로 명령을 전달하는 역할  블로그 서비스🔹사용자가 블로그에 글을 작성하려고 할 때 뷰는 입력양식 제공          사용자가 글을 작성하면 컨트롤러가 입력을 받아 모델에 업데이트     컨트롤러는 작성된 글의 내용을 모델로 전달하여 블로그의 글 목록에 추가 🔹사용자가 작성한 글을 수정하거나 삭제하려고 할때→ 뷰는 해당 글을 편집하거나 삭제할 수 있는 인터페이스를 제공    사용자의 동작에 따라 컨트롤러가 모델을.. 2024. 8. 18.
10주차 스터디 웹 API 디자인 [코드잇 부스트 백엔드 스터디 ] REST 살펴보기 API 디자인과 REST REST (Representational State Transfer)🔹표현된 자원의 상태를 주고 받는 방법을 정리한 아키텍처 스타일🔹  REST API는 REST를 준수하여 만든 API를 말한다🔹web과 http의 장점을 최대한 활용할 수 있게 된다 REST를 잘 준수한 API를 RESTful하다고 한다 (RESTful API) REST 제약 조건🔹클라이언트 서버🔹무상태성🔹캐시🔹일관화된 인터페이스 → 가장 큰 영향을 주는 제약 조건🔹계층화된 시스템🔹주문형 코드  일관화된 인터페이스🔹자원에 대한 식별🔹표현을 통한 자원에 대한 조작🔹자기 서술적 메세지🔹하이퍼미디어를 사용한 애플리케이션 상태표현  REST의 제약조건  첫 번째 제약 조건: Cl.. 2024. 8. 18.
9주차 스터디 유저 기능 원리 [코드잇 부스트 백엔드 스터디 ] 1. 인증과 인가 유저 기능이란? 리퀘스트를 보낸 사용자가 누구인지를 파악하는 인증 리퀘스트마다 할 수 있는 걸 제한하는 인가 → 유저기능 인증(Authentication) 유저기능의 기본 🔹인증을 하기 위해선 서버에 유저에 대한 정보가 저장되어 있어야함 🔹유저를 나타내는 모델이라는 걸 만든다 모델이란? 🔹 클래스랑 비슷하게 특정 리소스에 대한 정보를 관리하기 편하게 코드로 표현해놓은것 인증 🔹 유저별로 각각 다 다른 인증서를 가지고 있기 때문에 모두 구별 지을 수 있다 🔹인증서는 보통 만료 기간이 있다 → 특정 시간이 지나면 무효화돼서 더 이상 사용할 수 없게 된다 (로그아웃) 쿠키 인증 쿠키 🔹서버 리스폰스나, 클라이언트 코드에 따라 브라우저에 저장되는 작은 단위의 문자열 파일 🔹속성엔 서버에서 정한.. 2024. 7. 31.
9주차 스터디 Express 핵심 기능 [코드잇 부스트 백엔드 스터디 ] 1. express란? 💡 Express는 Node.js로 웹서버를 만들 때 사용할 수 있는 프레임워크     웹서버를 만들 때 필요한 기본적인 기능 제공  Express 구성요소🔹미들웨어🔹리퀘스트 리스폰스 객체🔹라우터🔹에러 핸들러🔹파일       2. 미들웨어   미들웨어란?     미들웨어란?🔹리퀘스트와 리스폰스 사이에 위치하여 어떠한 동작을 하는 함수🔹Express를 미들웨어의 집합이라고도 부른다 ***리퀘스트를 받고 리스폰스를 보내는 것이 웹 기본 동작  클라이언트로부터 리퀘스트를 받아서 리스폰스를 만들어 전달  미들웨어의 구조 function greeting(req,res){ console.log(req); res.json({message:'안녕, 코드잇 (;'});}//이름.. 2024. 7. 31.
8주차 스터디 Git 명령어 및 개념 정리 [코드잇 부스트 백엔드 스터디] Git 명령어 및 개념 정리 ✍️ Git 정리  git init : 현재 디렉토리를 Git이 관리하는 프로젝트 디렉토리(=working directory)로 설정하고 그 안에 레포지토리(.git 디렉토리) 생성 git config user name 'codeit' : 현재 사용자의 아이디를 'codeit'으로 설정(커밋할 때 필요한 정보) git config user.email 'teacher@codeit.kr' : 현재 사용자의 이메일 주소를 'teacher@codeit.kr'로 설정(커밋할 때 필요한 정보) git add [파일 이름] : 수정사항이 있는 특정 파일을 staging area에 올리기 git add [디렉토리명] : 해당 디렉토리 내에서 수정사항이 있는 모든 파일들을 staging ar.. 2024. 7. 16.
6주차 스터디 관계형 데이터베이스를 활용한 자바스크립트 서버 만들기(2) [코드잇 부스트 백엔드 스터디] Prisma와 관계    일대다 관계 정의하기   User(1)와 Order(n)사이의 일대다 관계 정의model User { id String @id @default(uuid()) ////uuid는 36자로 이루어진 id형식 email String @unique firstName String lastName String address String createdAt DateTime @default(now()) updatedAt DateTime @updatedAt **orders Order[] // 다 모델 배열을 정의한다** }model Order { id String @id @default(uuid()) status O.. 2024. 7. 3.
6주차 스터디 관계형 데이터베이스를 활용한 자바스크립트 서버 만들기(1) [코드잇 부스트 백엔드 스터디] 💡저장하려는 데이터의 명확한 구조가 있고 데이터 간의 관계가 여러 개 있을 때 관계형 데이터베이스를 주로 사용한다  DBMS(Database Management System)   javascript의 ORM 라이브러리를 사용하면 데이터베이스와 소통할 수 있고 객체처럼 사용할 수 있다  Prisma 기본기 Prisma 초기화  prisma는 npx로 시작한다→ npx prisma init -- datasource-provider postgresql  .env는 postgreSQL에 접속하기 위한 환경변수 파일   User 모델 만들기   model이란 데이터베이스 테이블을 나타낸다필드 이름 필트 타입으로 코드를 작성한다model User { id String @id @default(uui.. 2024. 7. 3.
6주차 스터디 자바스크립트 백엔드 개발 (2) [코드잇 부스트 백엔드 스터디] MongoDB 데이터베이스 사용하기  스키마 정의하기       • 스키마는 다룰 객체의 틀을 제공한다•  모델은 스키마를 기반으로해서 객체를 생성,조회,수정,삭제할 수 있다import mongoose from "mongoose";const TaskSchema = new mongoose.Schema( { title:{ type:String, }, description: { type:String, }, isComplete: { type: Boolean, default: false, }, }, { timestamps:true, .. 2024. 6. 30.
6주차 스터디 자바스크립트 백엔드 개발 (1) [코드잇 부스트 백엔드 스터디] Express로 API 만들기     프론트 엔드 : 웹사이트 화면 + 인터랙티브한 요소들백엔드: 필요한 데이터 관리+ 프론트엔드에 전성  API💡 HTTP 메소드+ URL= 엔드포인트   Node.js• 웹 브라우저 바깥에서 자바스크립트를 실행하는 환경• API를 제공하는 프로그램은 웹 브라우저 바깥에서 실행됨 Express• 자바스크립트 백엔드 개발 쪽에서 가장 유명한 라이브러리• 리퀘스트와 리스폰스를 쉽게 다룰 수 있음• 다른 라이브러리(파이썬 장고, 자바 스프링)에 비해 특정 구조를 고집하지 않고 최소한의 기능들만 제공  mongoDB• 데이터를 테이블에 저장하지 않고 문서 형태로 저장• 문서 하나= 도큐먼트, 문서의 모음= 컬렉션• 셋업 과정도 간단하고 도큐먼트를 다루는 방법이 직관적임    .. 2024. 6. 28.