
오늘은 router()를 사용해 미리 만들어둔 2개의 파일(channel-demo, user-demo)을 통합해서 깔끔하게 정리를 해 볼 예정이다. 우선, express를 사용하는 가장 큰 이유가 라우팅을 깔끔하게 관리할 수 있다는 것이다.여기서 라우팅이란?Request(요청)이 날아왔을 때, 원하는 경로에 따라 적절한 방향으로 경로를 안내해주는 것이다. 일단 app.js를 만들어 통합을 시켜줄 것이다. app.js에 express 세팅과 포트연결을 해준 뒤, 불필요하게 중복된 코드들을 지워줄 것이다. 어제 포스팅으로 올렸던 코드 중 일부이다!! const express = require('express')const app = express()app.listen(7777)app.use(express.j..

2024.11.26 - [웹 개발 공부하기] - [11.26]회원가입 구현해보기2 + 로그인✨💥 API 설계 - 채널 "생성" : POST /channelsreq : body (channelTitle)res 201 : `[${channelTitle}] 채널을 응원합니다!` -> 다른 페이지 띄워주고싶어... ex) 채널 관리 페이지 - 채널 전체 "조회" : GET /channelsreq : Xres 200 : 채널 전체 데이터 list, json array - 채널 개별 "수정" : PUT /channels/:idreq : URL(id), body(channelTitle)res 200 : `[${channelTitle}] => [${channelTitle}] 채널명이 성공적으로 수정되었습니다...

💥 API 설계 (로그인) - 로그인 POST /login req : body (id, pwd)res : `${name}님 환영합니다.` 여기서 잠깐! get으로 하지않는 이유는??? 🙋♀️ 메소드를 GET으로 하게 되면 id,pwd 노출이 되기 때문!! 꼭 POST로 합시다😊 app.post('/login', (req, res) => { console.log(req.body) // userId, pwd // userId가 DB에 저장된 회원인 지 확인해야함 const { userId, password } = req.body // req.body에 전달된 userId, password 꺼내기 var loginUser = {} // 전역변수 + 아무리 텅텅 빈 중괄호여도 값..

💥 API 설계 - 회원가입 : POST /joinreq : body (id, pwd, name)res : `${name}님 회원이 되신 걸 축하드립니다!` - 회원 개별 조회 : GET /users:idreq : URL (id)res : id, name - 회원 개별 탈퇴 : DELETE /users:idreq : URL (id)res : `${name}님 다음에 또 뵙겠습니다.`// express 모듈 세팅const express = require('express')const app = express()app.listen(7777)app.use(express.json())let db = new Map()var id = 1 // 하나의 객체를 유니크하게 구별하기 위함// 로그인app.post('/..

💥 forEach()forEach() 메소드는 배열을 순회하는 방법 중 하나이다.배열을 순회하는 이유는, 각 요소를 콜백 함수로 처리하기 위함이라고 생각하면 될 것 같다.콜백 함수를 적용해서 순서대로 한 번씩 실행하기 때문에 배열을 순회한다고 한다. 그럼 for 문 사용하면 되지않나요? for문도 반복문이잖아요? 음.. 흔히 다들 말하길.. forEach()는 향상된 for문이다! 라고...그럼 향상된 걸 쓰겠는가.. 일반적인 걸 쓰겠는가...... 나라면 향상된 거 쓰겠다😃 forEach()는 코드가 간결해지고 가독성이 좋다 라는 장점이 있다. 백문이 불여일코... 일단 해보자!const arr = [1, 2, 3, 4, 5]arr.forEach(function(value, index, array)..

// express 모듈 셋팅const express = require('express')const app = express()app.listen(1234)// 데이터 셋팅let youtuber1 = { name : "Hyun", channelTitle : "Hyun Coding", date : "2024-11-20"}let youtuber2 = { name : "Ju", channelTitle : "Ju Coding", date : "2024-11-21"}let youtuber3 = { name : "Kim", channelTitle : "Kim Coding", date : "2024-11-22"}let db = new Map() // key,value쌍..

2024.11.20 - [웹 개발 공부하기] - 13일차 express 구조 총 정리😏💥 자바스크립트 함수function add1(x,y){ // 1번 return x + y }let add2 = function(x,y) { // 2번 return x + y}const add3 = (x,y) => { // 3번 return x + y}var add4 = (x,y) => x + y // 4번 console.log(add1(1,2))console.log(add2(1,2))console.log(add3(1,2))console.log(add4(1,2)) 여기서 보이는 1~4번... 전부 다 같은 값이 출력된다.1번은 언제나 보이는 기본 그 자체고, 2번은 1번보다 조금 더 모듈화된 느낌..

💥 express우선, 터미널에 npm install express-generator -g 를 쳐서 express를 설치한다! 음 뭐시기 저시기.. 깔렸다고 하는 것 같긴하다 🙄 그 다음, express를 치면 쫘라라라락 내려가면서 왼쪽 explorer 창에 폴더/파일 들이 생긴다! - bin/www : 서버를 실행할 수 있는 스크립트 파일 : HTTP 모듈에 express 모듈을 연결하고 포트를 지정할 수 있는 파일이다. - public : 외부에서 접근 가능한 파일들을 모아두는 폴더 - views : 템플릿 엔진을 기반으로 하는 템플릿 파일들을 모아두는 폴더 - routes : 서버의 라우터와 관련 로직 파일들을 모아두는 폴더 - app.js : express의 본체 역할! : 핵심 서버 ..
2024.11.19 - [웹 개발 공부하기] - 12일차 문자열을 숫자로 바꾸는 parseInt?2024.11.19 - [웹 개발 공부하기] - req.query는 뭐야?😲2024.11.19 - [웹 개발 공부하기] - 객체를 만들어서 API 테스를 해보자😀💥 kebab-case / snake_case- kebab-case폴더 ex. demo-api // 파일 ex. object-api-demo.js -> 알파벳 소문자 -> 두 개 이상의 단어를 합쳐서 쓸 땐, 단어 사이사이에 '하이픈' - 넣기 - snake_case폴더 ex. demo_api // 파일 ex. object_api_demo.js -> 알파벳 소문자 -> 두 개 이상의 단어를 합쳐서 쓸 땐, 단어 사이사이에 '언더바' - 넣기 ..

제목에선 웃고 있지만........ 사실 거의 다 쓴 글이 날라갔다 우울하다 임시저장 잘 하자.....★ let youtuber1 = { channelTitle : "채널십오야", sub : "593만명", videoNum : "993개"}let youtuber2 = { channelTitle : "차린건 쥐뿔도 없지만", sub : "398만명", videoNum : "50개"}let youtuber3 = { channelTitle : "테오", sub : "114만명", videoNum : "1.2천개"}3명의 유튜버(객체)를 모셔왔다👏이 유튜버(객체)들로 API 테스를 해볼 거시다. app.get('/:nickname', function(req, r..