일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 국비지원취업
- 자바스크립트
- git
- 야놀자
- Javascript
- 너비우선탐색
- 코테
- 부트캠프
- 백준
- 코딩테스트
- js
- DFS
- 패스트캠퍼스
- 컴퓨터공학
- 컴퓨터과학
- 국비지원
- 호이스팅
- 프론트엔드개발자
- computerscience
- BFS
- LinkSnap
- 알고리즘
- cpu
- html/css/js
- 그리디
- CS
- KAKAO
- github
- CSS
- nodejs
- Today
- Total
목록BackEnd (21)
My Boundary As Much As I Experienced
보호되어 있는 글입니다.
Process, Global, __dirname, __filename, module, exports, require(), console, ... setTimeout/clearTimeout, setInterval/clearInterval
미리보기말 그대로 댓글기능이다. express + mongoDB로 구현하였다. 구현해야됐던 로직이다.1. 글마다 밑에 input이랑 전송버튼이 있고 누르면 서버로 댓글이 전송2. 그럼 서버는 댓글을 DB에 저장3. 상세페이지 방문시 댓글을 가져와서 보여주기 어떻게 구현해야할까? 1. 글 문서에 댓글도 같이 있는 경우이렇게 한다고 경찰서에 잡혀가진 않지만... 댓글이 1억개 달릴 시 조회에 매우 큰 리소스가 들게 된다.또한 DB에 있는 array 자료형에서 원하는 항목 하나만 수정, 삭제하는게 매우 어렵고, (1억개 다 들고 와야함)document 하나는 16MB의 데이터까지 저장할 수 있다는 점도 유의해야된다.{ _id: @!@#, title : '어쩌구', content : '어쩌구', com..
검색기능을 구현하려한다.어떻게 구현해야할까? 구현하려고 하는 스펙을 정리해보자면,프론트1. 검색창과 검색 인풋이 있는 리스트 페이지2. 검색 시 get요청으로 검색어를 쿼리스트링에 포함하여 조회3. 응답을 받아 리스트를 재갱신백엔드1. 프론트의 요청을 받으면 제목, 본문에서 해당 문자열이 포함된 것들을 모두 db조회2. 중복 배열이 있는 것은 제거하고 배열에 담아 프론트에 다시 반환 라고 정리할 수 있을 것이다.프론트엔드 먼저 어떻게 구현했는지 보여주겠다. 잠깐, 프론트에서 get요청이 아니라 post요청이 자연스럽지 않나?라고 생각이 들 수 있다. 나도 처음에 post요청으로 구현할뻔했으니까.프론트 입장에서 body에 정보를 포함하여 서버에 요청보낼 땐 본능적으로 post를 떠올리는게 자연스럽다. 그..
공부하게 된 계기:현재 듣는 express 강의에서 지금까지 App객체로 모든 라우트를 관리하다가페이지 별로 분리하여 router로 분리하는 법을 알려주었다.그리고 학생한테 강의에서 분리하지 않은 로직들도 모두 모듈화해보라는 숙제를 내주어서이를 수행하고 있었는데... passport와 express-session 코드 부분을 분리할 때 조금 애를 먹었다. 왜냐하면 강의에서 이들 라이브러리에 대해 대강 추상적인 설명만 듣고 넘어갔던터라각각의 import/export, 호출 시점, 동작 흐름에 대해 엄밀히 알지 못했기 때문에파일로 분리하기가 힘들었던 것이다. 그래서 이제 엄밀하게 공부해보면서 세션에 대한 이해도를 올렸는데, 이를 설명해보겠다. 1. express-session과 passport의 차이는 무엇..
공부하게 된 계기:별거 없다.. 요새 듣는 Node.js 강의에서 사용해보길래 사용해봤고,까먹기 전에 블로그 포스팅으로 남겨보려 한다. S3란?AWS S3(Amazon Simple Storage Service)는 AWS에서 제공하는 대용량 객체 스토리지 서비스다.S3는 여러가지 목적으로 쓸 수 있지만 주로 웹 어플리케이션의 이미지 및 동영상 등 대용량 데이터를 저장하기 위해 쓰인다.Firebase의 Firebase Cloud Storage와 거의 같은 용도로 쓰인다고 보면 된다. Multer란?multer는 Node.js에서 파일 업로드를 처리하기 위한 미들웨어 라이브러리이다.이 라이브러리는 특히 Express.js와 함께 사용되며, HTTP 요청을 통해 전송된 파일 데이터를 쉽게 다룰 수 있게 해준다...
AWS S3란?Amazon S3(Simple Storage Service)는 AWS(Amazon Web Services).AWS가 제공하는 확장 가능한 객체 스토리지 서비스다. S3는 대량의 데이터를 안전하게 저장하고언제 어디서나 이를 빠르게 접근할 수 있는 클라우드 스토리지 솔루션이다.그냥 쉽게 말해 이미지같은 대용량 파일들을 crud할 수 있는 서비스이다.파이어베이스로 치면 Firebase Cloud Storage에 속하는 포지셔닝. S3를 설정하기 전에 IAM 설정하기IAM 서비스는 말그대로 Authentication 서비스이다.접근할 수 있는 유저를 생성하고 권한 설정하는 곳. 1. 엑세스 관리 - 사용자에 들어가서 사용자 생성을 클릭IAM 서비스를 검색해서 들어간 뒤 - 사용자 - 사용자 생성을..
미들웨어란?미들웨어(Middleware)는 Express.js와 같은 웹 애플리케이션 프레임워크에서HTTP 요청(Request)과 응답(Response) 사이에 실행되는 함수이다.미들웨어는 요청 객체, 응답 객체, 그리고 다음 미들웨어 함수를 제어할 수 있다. 할 수 있는 것:요청 처리: 요청을 분석하고 필요한 데이터를 추가하거나, 요청을 변경할 수 있다.응답 처리: 응답을 생성하거나 수정할 수 있다.요청 흐름 제어: 특정 조건에 따라 다음 미들웨어로 요청을 전달하거나, 요청 처리를 종료하고 응답을 보낼 수 있다.공통 기능 처리: 인증, 로깅, 에러 처리, 정적 파일 제공 등의 기능을 공통으로 처리하는 데 자주 사용된다.미들웨어는 app.use() 또는 특정 라우트에 연결하여 사용되며,여러 개의 미들웨어..
.env 파일에 환경변수 보관하려면?dotenv 라이브러리 설치express 환경에서 환경변수를 서보자.환경변수들은 보통 .env 파일에 보관하는데 그걸 쓰려면 아래처럼 npm install dotenv를 한 다음 import시켜줘야한다.npm install dotenv dotenv를 불러온다음 바로 config메소드를 체이닝해서 실행..require('dotenv').config() .env파일 생성그리고 .env파일을 루트단에 생성하고 아래처럼 환경변수를 '='를 구분하여 적어주면 된다.string을 입력할거면 ""혹은 ''필수!# .env파일PORT=1234DB_URL="mongoose..."SECRET="암호시드..." 실제 서버파일에서 사용자 이제 서버코드에서 process.env 안에서 환경..
express로 회원가입 API를 만들었다.코딩애플 선생님이 너가 알아서 만들어보라고 해서 알아서 만들어봤다. signup.ejs파일로그인이나 글작성 UI랑 똑같은거 가져와서 api만 바꿔줬다.fetch api로 찔러보고 성공하면 alert창으로 성공 메시지를 띄워준다. --> 회원가입 전송 signup get, post APIget요청 시 페이지만 단순히 던져준다.errors 객체에다가 에러가 생길때마다 하나씩 담아주고errors가 0일 때만 성공 플로우를 타게한다. 사실 아무렇게나 해도 다 성공 플로우를 타게 했는데지피티킁한테 보완할거 있냐고 하니깐 예외처리 코드들을 보충해주었다.app.get("/signup", ..