월 79,200원
5개월 할부 시다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
복습중 오류
복습을 통해 다시 공부을 하던중 오류가 발생하였습니다.해당 오류가 기존 수업과 충돌되어서 발생한 오류 인지 궁금합니다. 해달 오류 해결 방법이 있을까요?? 해당 오류는 [Nest] 76304 - 2023. 05. 17. 오후 5:45:23 ERROR [ExceptionHandler] Table 'board' already exists QueryFailedError: Table 'board' already exists나왔습니다.
- 해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
Docker hub를 보던 중 궁금한게 생겨 질문드립니다!
수업에서 사용한 node docker image의 경우 linux, node, npm, yarn이 설치된 이미지라는 것을 어떻게 확인할 수 있는지 궁금합니다.즉 docker hub에 있는 이미지를 보고 그 이미지가 어떤 컴퓨터인지 어떻게 확인할 수 있는지가 궁금합니다.
- 해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
구글로그인 review영상
client id와 client secret 받는 과정에 대해 노션을 참고하라는 영상내용이 있는데 혹시 어디서 참고하면 될까요?
- 해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
마이크로 서비스 운영시 DB는 하나 써도 되는 건가요?
마이크로 서비스로 다수의 서버들을 운영하려고 한다면 typeorm을 통해 entity 에서 1대1 관계 등에서 정의내린 것들은 어떻게 유지 해야 할까요?
- 해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
section 22. CORS 파트에서 궁금증이 생겨 질문드립니다!
origin이 같다는게 어떤 의미일까요? domain이 같다는 것인가요?같은 localhost인데 CORS가 발생한 이유가 궁금합니다.
- 해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
섹션 22 3-05 강좌가 편집이 제대로 이루어진 것 같지않아 보입니다.
40분에서 끊어져야 할 동영상 같은데 6시간이 넘어가게 업로드가 된 것 같습니다 빠르게 확인해야될 것 같은데요
- 해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
[섹션 22]Quiz 5 axios 질문
안녕하세요.프론트엔드와 api 를 연동하는 과정에서 axios를 import 하는 방법에 질문 있습니다. menu.js의 getCoffee 함수에서 axios를 이용해 /starbucks api를 호출하려는데,menu.js 파일에서 import axios from 'axios'를 하면 에러가 발생합니다.반면에 menu/index.html 에서 <script src="를">https://unpkg.com/axios/dist/axios.min.js"></script>를 하면 잘 작동합니다. 이렇게 index.html에서 axios를 다운받는게 맞는건가요?그렇다면, 실제로 axios를 사용하는 코드는 menu.js에 있는데, 왜 index.html에서 가져와야 하는 건가요? 감사합니다.
- 해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
도커 mysql 연결 안되는 문제
[section27] 08-06 도커 패키징 강의 관련 내용입니다.강의대로 똑같이 세팅하고 진행해보니, 빌드까지는 잘되지만 실행할 때 데이터베이스와 연결이 안되는 문제가 생깁니다.Unable to connect to the database, Retrying... 에러가 뜨는데, 강의에서 말씀하셨듯이 데이터베이스 서버가 늦게 켜지는 문제라고 생각하고 계속 시도해도 똑같이 연결이 안됩니다.세부 에러메시지가 다른 걸 보니 다른 문제같은데, 구글링해서 mysql 세팅도 바꿔보고 코드도 바꿔보고 이것저것 다 해봤는데 안돼서 이렇게 질문 남깁니다.
- 미해결[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
@JoinColumn() 관련 오류
@JoinColumn()@OneToOne(() => ProductSalesLocation)productSaleslocation: ProductSalesLocation; 코드가 들어가면 import { JoinColumn, JoinTable } from 'typeorm/browser'; 위 처럼 import가 되고 아래와 같은 오류가 뜹니다. Join Column OneToOne 부분만 지우고 코드를 돌리면 잘 돌아가는데, 저것을 추가하는 순간 아래와 같은 오류가 뜹니다. 이유를 알 수 있을까요? 16-01-mysql-relation2/node_modules/typeorm/browser/index.js:3import "reflect-metadata";^^^^^^SyntaxError: Cannot use import statement outside a module at internalCompileFunction (node:internal/vm:73:18) at wrapSafe (node:internal/modules/cjs/loader:1176:20) at Module._compile (node:internal/modules/cjs/loader:1218:27) at Object.Module._extensions..js (node:internal/modules/cjs/loader:1308:10) at Module.load (node:internal/modules/cjs/loader:1117:32) at Function.Module._load (node:internal/modules/cjs/loader:958:12) at Module.require (node:internal/modules/cjs/loader:1141:19) at require (node:internal/modules/cjs/helpers:110:18) at Object.<anonymous> (/Users/hychoi/WebstormProjects/backend-study/class/16-01-mysql-relation2/src/apis/products/entities/product.entity.ts:3:1) at Module._compile (node:internal/modules/cjs/loader:1254:14)
- 해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
회원가입 과제 정답 확인하고싶은데 전체 코드 올려주실수있나요?
정답 확인하고 싶어서요
- 해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
15-02 API-Gateway2 윈도우는 되는데 도커는 안됩니다
저의 개발 환경은 윈도우입니다.이렇게 코드를 실행하였을 시 로컬 개발환경에서는 잘 실행이 됩니다.그런데 docker로 실행시켰을 시 gateway만 아래의 오류가 뜹니다. 어떻게 처리 방법이 있을까요?
- 해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
상품카테고리 API 실행 후, respository.save() 오류
안녕하세요. 부트캠프 백엔드 강의를 수강하고 있습니다.강의 [섹션8. ORM활용 API구현 > 상품카테고리 등록 API] 에서 질문이 있습니다.ProductCategory 생성 API를 실행하면, ProductCategory의 Metadata가 없다는 오류가 뜹니다강의자료(노션)의 코드를 그대로 copy&paste 해줘도 동일한 오류가 나옵니다.상품카테고리 등록 API 통하여 {name} 인수는 제대로 서버에 들어옵니다.(Console.log에 제대로 나와요)디버깅해보니 아래 코드에서 에러가 발생합니다. const result = await this.productCategoryRepository.save({ name });=> 위 코드를 주석처리하면 오류발생 없이, DB 테이블들이 정상적으로 생성됩니다. {name} 에 인수도 잘 들어오는데, 터미널에서 보면 mysql 쿼리문도 생성이 안됩니다. 제가 어떤 부분에서 수정을 해줘야할까요? 댓글 부탁드립니다~좋은강의에 항상 감사드립니다!
- 해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
며칠 안으로 수강하는게 목표인가요?
이 강의는 며칠 안으로 끝내는게 목표인가요?
- 해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
login 기능 구현시 cookie가 서버에서 브라우저로 전달이 안됩니다.
라이브서버를 통해서 페이지를 열고(localhost:5501)로컬서버를 통해 서버를 돌리고(localhost:3000)버튼을 클릭하면 axios요청을 통해 서버에서 set-cookie를 응답 header에 작성해주도록했습니다. 크롬 개발자도구 network 탭에서 set-cookie가 잘 들어와있는걸 확인했는데 왜 application 탭에서 확인해보니 cookie가 들어있지 않는건가요?(corsenable origin, credentials 설정과 axios.post요청에도 credentials 설정을 해줬습니다.)
- 해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
grapnql fetchboardscount와 createboard
안녕하세요 데이터 통신 실습 중에 질문이 생겨 남깁니다. create board 실행 시 리턴값으로 number를 지정했을 때 나오는 게시물의 수와 fetchboardscount 실행 시 리턴값이 다른 이유가 궁금합니다. createboard의 리턴값도 몇 번째 게시물로 생성된 것인지 알려주므로 둘 다 게시물의 개수를 알려주는 게 아닌가요 ?
- 해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
서버가 안열려요
코드캠프 서버가 안 열려요 실습해야 하는데
- 해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
db가 이미 존재한다는 오류가 뜹니다
graphql 방식이 아닌 rest로 변경하면서 다시한번 복습중인데 rest의 경우 app.module.ts에서 TypeOrmModule.forRoot({})에서 synchronize: true, 가 되어있을 시 db오류가 나는데 제가 다른 것을 잘못 설정한 것인가요?
- 해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
nodejs express에서 type(commonjs,module) 관련 질문
서버작동을 위한 node app.js를 실행할때에 dotenv를 require, import를 하면서 문의점이 발생했습니다. //server.js import { creatApp } from "./app.js"; import database from "./models/database.js"; const startServer = async () => { try { await database; const app = creatApp(); const PORT = process.env.PORT; app.listen(PORT, () => { console.log(`server is listening on ${PORT}👌`); }); } catch (err) { console.log(`Failed server connect❌`); database.destroy(); } }; startServer(); //database.js import { createConnection } from "typeorm"; import dotenv from "dotenv"; dotenv.config(); const database = createConnection({ type: process.env.DB_CONNECTION, host: process.env.DB_HOST, username: process.env.DB_USERNAME, password: process.env.DB_PASSWORD, port: process.env.DB_PORT, database: process.env.DB_DATABASE, }); export default database; 이렇게 진행하면 정상적으로 서버가 정상적으로 작동하지만 database.js에서의 dotenv import 부분을 require방식으로 server.js에 옮겨놓으면 에러가 발생합니다.근본적으로 commonJS(require)방식과 module(import)방식에 대해서 dotenv를 불러올때에 require를 쓰면 server.js에 적용할때는 정상적으로 작동하는데 import를 똑같은상황에서 적용하려면 왜 database.js로 넘어가야하는지 그게 궁금해졌습니다!require와 import를 해올 때 전반적으로는 rquire는 동기적이고 import비동기적인 성질(?)때문이라고 하기에 영향이 있는건지.. 근본적인 이해가 되지 않아서요..ㅠㅜ 도움 부탁드리겠습니다 ㅠㅜ!!!!
- 해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
mongo 실행 불가
안녕하세요 몽고디비를 다시 복습하고자 공부하던중 저번에 brew update를 통해 해결 된줄 알았지만 또 다시 같은 오류가 발생하였습니다... 이 에러는 어떠한 에러인지 찾아보고 gpt에다가 물어봐도 안나오는데.. 혹시 무엇 때문에 몽고가 brew services start mongodb-community 를하게 되면 이 오류가 발생하게 됩니다.. 도와 주세요..ㅠㅠ
- 해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
axios를 활용한 데이터 통신
핸드폰 번호를 입력하면 페이지 상에서는개발자 도구에서 이렇게 잘 나오지만vscode console에 찍어보면 myphone 번호가 아니라 undefined로 나옵니다.아래는 phone.js 코드입니다. (length에서 자꾸 에러가 나서 그 부분만 수정된 코드입니다.)function checkPhone(myphone) { //1. 휴대폰 번호 자릿수 맞는지 확인하기(10-11자리) if (myphone && myphone.length < 10 || myphone && myphone.length > 11) { console.log("에러 발생!!! 휴대폰 번호를 제대로 입력해주세요."); return false; } else { return true; } } //2. 인증번호 6자리 만들기 function getToken() { const result = String(Math.floor(Math.random() * 1000000)).padStart(6, "0"); console.log(result); return result; } //3. 핸드폰 번호에 토큰 전송하기 function sendTokenToSMS(myphone, result) { console.log(myphone+ "번호로 인증번호" + result + "를 전송합니다."); } module.exports = { checkPhone, getToken, sendTokenToSMS };이건 signup.html<!DOCTYPE html> <html lang="ko"> <head> <title>회원가입 연습하기</title> <script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script> <script> function zzz(){ //1. 입력한 휴대폰 번호 가져오기 const myphone = document.getElementById("myphone").value console.log("나의 핸드폰 번호 : ", myphone) //2. 해당 휴대폰 번호로 인증번호 API 요청하기 axios.post("http://localhost:3000/tokens/phone", { qqq: myphone }).then((res) =>{ console.log(res.data) document.getElementById("result").innerText = res.data }) } </script> </head> <body> 휴대폰 번호 : <input id="myphone" type="text"/><button onclick="zzz()">인증하기</button> <div id="result">인증상태</div> <button>회원가입하기</button> </body> </html> index.js const express = require('express'); const { checkPhone, getToken, sendTokenToSMS } = require('./phone.js'); const swaggerUi = require('swagger-ui-express'); const swaggerJsdoc = require('swagger-jsdoc'); const {options} = require('./swagger/config.js'); const swaggerSpec = swaggerJsdoc(options); const cors = require('cors'); const app = express(); //use : 모든 메소드에서 작동한다. app.use(express.json()) app.use('/api-docs', swaggerUi.serve, swaggerUi.setup(swaggerSpec)); app.use(cors()) //GET 방식의 API를 만들겠다. //endpoint는 /로 하겠다. // /qqq이쪽 endpoint로 누군가 요청을 하면 아래 함수를 실행을 시키겠다. app.get('/boards', function (req, res) { //1.DB에 접속 후, 데이터를 조회. 조회한 데이터를 객체로 담아온다. const result = [ {number : 1, writer: "철수", title : "제목입니다.", contents: "내용이에요."}, {number : 2, writer: "영희", title : "제목입니다.", contents: "내용이에요."}, {number : 3, writer: "훈이", title : "제목입니다.", contents: "내용이에요."}, ] //2.DB에서 꺼내온 결과를 브라우저에 응답(response)으로 주기 res.send(result) }, function (req, res){ }) app.post('/boards', function (req, res) { //1. 브라우저에서 보내준 데이터 확인하기 console.log(req) console.log("=====") console.log(req.body) //2. DB에 접속 후, 브라우저에서 받은 데이터를 디비에 저장해야 함. //3. DB에 저장된 결과를 브라우저에 응답(response) 주기 res.send('게시물 등록에 성공하였습니다.') }) app.post('/tokens/phone', function(req, res){ const myphone = req.body.phone //1. 휴대폰번호 자릿수 맞는지 확인 (10-11자리) const isValid = checkPhone(myphone) if(isValid === false) return //2. 핸드폰 토큰 6자리 만들기 const myToken = getToken() //3. 핸드폰 번호에 토큰 전송하기 sendTokenToSMS(myphone, myToken) res.send("인증완료!!!") }) //포스트맨에서 send 버튼 누르는 것 = 기다린다 = listen app.listen(3000)