분류 전체보기 65

업장 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와 블로그 등 커뮤니티가 뉴스피드이다 우리 조의 아이디어는 다양한 플랫폼의 게임들에 관한 소식을 서로 공유하는 커뮤니티를 만드는 것이다. 게임 소식을 배달한다는 의미로 배달의 민족에서 아이디어를 얻어 게임의 민족이라고 작명하였다.  기초 와이어 프레임이다 홈화면에서 모바일관련 게시글들이 로드되고 위의 탭으로 다양한 플랫폼의 게시글을 로드할 수 있도록 구상하였다. 추가한 도전 기능으로는 회원가입시 이메일 인증 기능, 게시글 작성시 파일 첨부 기능, 소셜 로그인 기능 등이 있다.  이번 발표에서 겪었던 트러블 슈..

nodemailer사용 후기 - 본캠프 TIL 12/31

이메일 인증 기능은 사실 기존에 다른 팀원분께서 맡아주셔서 훌륭하게 만들어 내주셨다nodemailer 패키지를 사용하여 실제로회원가입 진행시 메일을 발송하여 코드를 입력해야 최종 가입이 완료되는 로직인데,이번에 따로 복습하면서 다른 팀에도 알려주면서 학습한 내용들을 기록하려한다. 1. 패키지 설치일단 nodemailer패키지를 설치하여야 한다npm i nodemailer터미널에 npm을 사용하는 프로젝트라면 이러한 명령어로 다운 받을 수 있다.yarn을 사용하는 경우 yarn add nodemailer를 입력하면 된다! 2. 임포트로 패키지 사용하기nodemailer패키지를 다 다운 받았으면 본격적으로 사용할 수 있게 된다.일단 이번 팀프로젝트에서 nodemailer를 사용하는 router부분은 회원가입..

HTML과 JS에 관한 고찰 본캠프 TIL 12/30

기존에는 HTML파일 안에서 script를 사용하여 관련된 js 기능들을 넣었는데튜터님과 상의 후에 js 파일을 따로 분리하게 되었다.대신 이런 식으로 사용할 js 파일의 경로를 입력해 주어야한다.해당 js 파일에는 기존에 사용하던 모달이나 관련된 내용을 profile.js 파일에 옮겼다.이 부분은 닉네임 변경 부분인데 api를 사용하여 credentials 부분을 포함하여 내가 가지고있는 쿠키를 참고 하는 부분이다. 참고하는 쿠키라서 저런식으로 가능하고 헤더를 사용하면보다 복잡해진다고 한다.이건 profile을 조회하는 건데 html이 나타남과 동시에 실행되어 화면에 표시되는  기능이다api를 사용하여 응답으로 받은 post 데이터를 가공하여 브라우저 화면에 띄우도록 구성되어 있다. 이 코드를 사용하여..

카테고리 없음 2024.12.30

뉴스 피드 과제 프론트 기초 다지기 본캠프 TIL 12/27

기본적인 API들은 모두 구성되었고 이제 프론트를 만들기 위한 기초를 다지는 과정이다. 먼저 index.html파일을 만들어서 ! 를 사용하여 기본 세팅을 진행하고 pico를 사용하기 위하여 pico와도 연결하였다.pico란 html을 만들때 도움을 주는 css를 지원하는 패키지이다기본적인 빠른 상용법으로는 npm을 통하여 다운받거나 cdn을 연결하여 사용할 수 있다.예를 들어이런식으로 pico을 사용하면 아래 코드만 입력해도 저런 자연스럽게 입력박스가 나타나게 된다 !일단 프론트는 해본 적도 많이 없고 정보가 없는 상태라 기본적으로 이런 식으로 사용할거다! 라는 의미로 간단하게 완성한 초안이다 여기에 여러가지 기능들과 테마들을 더 추가해볼 생각이다.  그리고 여러가지 html을 서로 어떤 방식으로 연결..