2025/01 7

업장 CRUD 완성 및 3계층 아키텍쳐 형식으로 분할 - 본캠프 TIL 01/10

이번 프로젝트에서 내가 담당했던 업장 CRUD를 전에 TIL에서 설명하였던 3계층 아키텍쳐 형식으로 분할하고 작동까지 성공하였다. 자세한 내용을 지금부터 서술하겠다. 일단 CRUD에 대한 기본적인 API명세서는 이렇게 된다. owner 즉 사장님으로 로그인하여야 업장에 접근할 권한이 부여되고 로그인한 상태에서 업장 등록과, 조회, 수정과 삭제가 가능하다. 파일은  업장과 관련된 api파일은 총 4가지로 구성되어 있으며src/repositories/restaurant.repository.js 파일에서 디비로 접근하여 crud를 구현하는 로직을 담당한다.src/services/restaurant.service.js 파일로 비지니스 로직을 담당한다.src/controllers/restaurant.control..

Joi라이브러리 사용법과 사용하는 이유 본캠프 TIL 01/09

코딩에서 유효성 검사라는 것이 존재한다 유효성 검사란 내가 서버에게 전달하는 데이터에 여러 제약조건을 걸어 해당 조건들을 모두 충족한 경우에만 서버로 전달한다는 의미이다.  그 중에 joi라이브러리를 사용하여 유효성 검사를 진행하는 방식을 알아보겠다.  일단 조이라이브러리를 다운하는 방법은npm i Joi터미널에 이러한 명령어로 조이 라이브러리를 사용할 수 있다. 조이라이브러리를 사용하는 간단한 코드를 먼저 살펴보겠다.// 조이 라이브러리를 사용합니다.import Joi from 'joi';// ../../constants/message.constant.js에 선언되어 있는 메시지 값을 가져와서 사용합니다.import { MESSAGES } from '../../constants/message.const..

OSI 7계층에서 네트워크 계층 본캠프 TIL 01/08

일단 OSI 7계층에 대하여 한번 복습! POINT 1.   OSI 7 계층이란?( Open Systems Interconnection Reference Model)의 약자로 컴퓨터 네트워크의 통신을 계층으로 나누어 설명한 것! 쉽게 풀어 설명하자면 네트워크에서 통신이 발생할 때 일어나는 모든 과정을 7단계로 분할한 것을 의미한다! POINT 2. 그렇다면 왜 개발자는 OSI7계층을 알아야 하는가? 왜 알아야 하는가? 에 대한 대답은 일단 네트워크 통신 과정을 왜 7계층으로 나누어야 했는지를 이해해야한다. 통신이 일어나는 과정을 단계별로 알 수 있고, 7 단계 중 특정한 곳에 이상이 생기게 되면 다른 단계와 독립적으로그 단계만 수정이 가능하기 때문이다!! 따라서 개발자들은 이러한 7 계층의 자세한 이해가..

Layered Architecture Pattern 이란? 본캠프 TIL 01/07

오늘은 Layered Architecture Pattern 즉 계층형 아키택쳐에 관한 til이다 1. 계층형 아키텍처 패턴 (Layered Architecture Pattern) 계층형 아키텍쳐란?시스템을 여러 계층으로 분리하여 관리하는 아키텍처 패턴이다. 현재 가장 널리 채택되고 있는 아키텍처 패턴 중 하나이다계층형 아키텍쳐를 사용하는 목표는 각 계층을 명확하게 분리해서 유지하고, 각 계층이 자신의 바로 아래 계층에만 의존하게 만드는 것이다. 일반적으로 계층형 아키텍처 패턴의 경우 규모가 작은 어플리케이션의 경우 3개의 계층, 크고 복잡한 경우는 그 이상의 계층으로 구성된다. 이번에 사용한 패턴은 3계층 아키텍쳐 패턴이다. 2. 3계층 아키텍쳐 패턴 프레젠테이션 계층 (Presentation Layer..

프로젝트 SA 작성 본캠프 TIL 01/06

이번 백오피스 프로젝트의 기본적인 SA를 작성하였다 ! 프로젝트의 개요실제로 서비스 한다고 생각하고 배달 서비스 웹페이지를 만들어보자! 우리는 왜, 개발자가 되기로 결심하였는가? 를 다시금 상기하고 마음을 다잡을 시간입니다.이론 못지않게 실전 겸험이 중요합니다. 근데 백 오피스라는 단어는 무엇인가? 통상적인 백오피스는 일반적으로 회사의 뒷 단에서 일어나는 인사, 재무 등의 관리적 업무를 담당하는 부분을 의미하거나, 특정 프로젝트의 어드민 기능을 구현하는 소프트웨어를 일컫는다. 그러나 이번 '백오피스 프로젝트 주간'에서의 '백오피스'는 이러한 의미보다는 직접 개발 환경을 마련하고 실제 서비스를 개발하면서 '실무적 경험'을 쌓는 것에 더 가깝게 연결된 의미라고 생각하여야한다. 기초 와이어프레임 기본적인 메인..

프로젝트 트러블슈팅 본캠프 TIL 01/03

이번 프로젝트를 진행하면서 겪었던 트러블 슈팅에 대한 기록이다. 1. 앱비밀번호 설정 먼저 nodemailer를 사용하기위해, .env파일에 비밀번호를 설정할때 사용할 이메일과 비밀번호 정보를 저장하여야 한다. 이런식으로 저장하고  사용하는 js 파일에 발신자의 정보를 만든다.이제 해당 로직을 이용하여 메일을 보냈는데 비밀번호가 올바르지 않다는 에러가 발생하였다. 분명 사용하는 비밀번호이고, 틀리지 않았는데 에러가 발생하여 여러 문서들을 찾아보았다.알고보니 nodemailer같이 보안 수준이 낮은 어플리케이션을 사용할 때는 , 앱비밀번호를 사용해야 보안성이 올라가고 gamil프로그램과 엑세스가 가능해진다! 따라서  이렇게 2차 인증후에 앱 비밀번호를 발급받고 이런식으로 .env 파일을 수정하여야 한다. ..

팀 발표와 kpt 회고록 본캠프 TIL 01/02

드디어 대장정의 막을 내릴 팀발표 날이 다가왔다.   먼저 뉴스 피드가 무엇인지 시청자 분들에게 설명드렸다. 뉴스 피드란 여러사람의 게시물과 내 게시물을 볼 수 있는 공간으로 간단하게 생각해서 SNS와 블로그 등 커뮤니티가 뉴스피드이다 우리 조의 아이디어는 다양한 플랫폼의 게임들에 관한 소식을 서로 공유하는 커뮤니티를 만드는 것이다. 게임 소식을 배달한다는 의미로 배달의 민족에서 아이디어를 얻어 게임의 민족이라고 작명하였다.  기초 와이어 프레임이다 홈화면에서 모바일관련 게시글들이 로드되고 위의 탭으로 다양한 플랫폼의 게시글을 로드할 수 있도록 구상하였다. 추가한 도전 기능으로는 회원가입시 이메일 인증 기능, 게시글 작성시 파일 첨부 기능, 소셜 로그인 기능 등이 있다.  이번 발표에서 겪었던 트러블 슈..