묻고 답해요
156만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
서버가 안열려요
코드캠프 서버가 안 열려요 실습해야 하는데
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
db가 이미 존재한다는 오류가 뜹니다
graphql 방식이 아닌 rest로 변경하면서 다시한번 복습중인데 rest의 경우 app.module.ts에서 TypeOrmModule.forRoot({})에서 synchronize: true, 가 되어있을 시 db오류가 나는데 제가 다른 것을 잘못 설정한 것인가요?
-
미해결[리뉴얼] 처음하는 파이썬 백엔드와 웹기술 입문 (파이썬 중급, flask[플라스크] 로 이해하는 백엔드 및 웹기술 기본) [풀스택 Part1-1]
로그아웃 기능 관련해 질문있습니다.
안녕하세요. 로그아웃 관련 질문있어서 글 남깁니다.브라우저: safari구독 후safari 브라우저 완전 종료safari 브라우저 재실행 및 재접속구독 상태 유지 (session 365일 설정)'구독취소'버튼 클릭시 AttributeError: 'AnonymousUserMixin' object has no attribute 'id'에러 발생혹시 위 현상 관련해서 해결방법이 뭔지 알 수 있을까요? PS.확인해보니, safari를 완전히 종료하고 재실행하면, remember_token 값은 이전 값과 일치하게 존재하는데,session 값만 바뀌고 있습니다.이 때문에, 기존의 user 객체를 가져오지 못하는 거 같은데, 이런 현상이 왜 발생하는걸까요? - 본 강의 영상 학습 관련 문의에 대해 답변을 드립니다. (어떤 챕터 몇분 몇초를 꼭 기재부탁드립니다)- 이외의 문의등은 평생강의이므로 양해를 부탁드립니다- 현업과 병행하는 관계로 주말/휴가 제외 최대한 3일내로 답변을 드리려 노력하고 있습니다- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
-
해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part6: 웹 서버
웹서버로 턴제 카드게임 구현가능할까요?
본인의 턴에 카드를 구매하고 카드의 효과로 점수를 얻는 식의 멀티플레이 게임을 구상중입니다. 혹시 웹서버로 이정도 게임의 서버를 구현하는 것이 적절할 지 궁금해 여쭈어봅니다. 제가 판단하기로는 가능하다고 생각하는데 서버공부를 한지 얼마 안된 초보다 보니 루키스님의 의견이 궁금해 강의 직접적인 관련은 없지만 이렇게 질문을 남깁니다. 그리고 하스스톤, 문명 등 참고할 만한 게임이 어떤 식으로 구현되었는지 정보를 찾아보고 싶은데 적절한 키워드가 떠오르지 않네요.. 혹시 이런 정보를 찾을 때의 팁을 여쭈어봐도 될까요?감사합니다.
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
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비동기적인 성질(?)때문이라고 하기에 영향이 있는건지.. 근본적인 이해가 되지 않아서요..ㅠㅜ 도움 부탁드리겠습니다 ㅠㅜ!!!!
-
해결됨비전공자를 위한 풀스택 맛집지도 만들기 프로젝트!: Front, Back-end 그리고 배포까지
카카오맵 API, 윈포윈도우 디폴트값 해제 방법
안녕하세요. 재미있게 수업 수강하고 있습니다.현재 [섹션 5. 카카오맵에 여러개의 맛집 위치를 찍는 방법]을 수강하고 있는데요. 카카오맵에서 인포윈도우를 설정하면 기본으로 div를 생성하고 border에 회색 테두리를 생성하는 것 같습니다. 수업에서 만드는 infowindow 뒤쪽으로, 회색 테두리가 하나 더 보여서요.우리가 만드는 infowindow만 표시되도록 할 수 있는 방법이 있을까요? 카카오에서 생성하는 인포윈도우를 제거하거나, 혹은 해당 css를 제어할 수 있는지 궁금합니다.(저는 테두리가 없이 box-shadow로 표현하려고 시도하고 있습니다.)
-
해결됨Svelte REST-API 프로젝트
[보기모드 변경 구현] 코멘트 리스트 조회 후 문제
특정 게시글의 코멘트 리스트를 조회하는 화면에서뒤로 가기를 하거나 글 목록 보기를 하면 이전 화면으로 잘 이동합니다. 그러나 코멘트 리스트 조회 화면(게시글 상세조회)에서 보기모드(모두/좋아요/내글)를 클릭해도 화면에 아무 변화가 없습니다. (API는 정상적으로 요청) 그래서 ArticleHeader 컴포넌트에서 onChangeMode 메소드를 다음과 같이 수정하여 정상적으로 동작하는 것을 확인했습니다.[변경 전] const onChangeMode = (mode) => { if ($articlesMode !== mode) articlesMode.changeMode(mode); }; [변경 후] const onChangeMode = (mode) => { if ($articlesMode !== mode) { articlesMode.changeMode(mode); router.goto("/articles"); } }; 위와 같이 수정한 것이 올바른 방법이 맞을까요?
-
해결됨Svelte REST-API 프로젝트
[보기모드 변경 구현] 좋아요 보기 구현에서 문제 발견
user7@user7.com이라는 계정을 만들어서,총 3개의 게시물에 좋아요를 클릭하였습니다.아래 스크린샷을 보면 알 수 있듯이,user1이 작성한 게시물 2개에 좋아요를 클릭했고나머지 1개는 user7이 작성한 게시물에 좋아요를 클릭했습니다.그러면 좋아요 보기를 클릭하면, 3개의 게시물만 화면에 나와야하고 user1이 작성한 게시물 2개 user7이 작성한 게시물이 1개 나와야 합니다.그러나 아래 스크린샷을 보면, 좋아요를 클릭한 게시물의 작성자가 모두 user7인 것을 볼 수 있습니다.확인을 해보니 백엔드 API(GET /likes)에서 날리는 쿼리에 문제가 있었습니다.likeArticles = await db.like.findMany({ where: { userId: userId, }, include: { article: { select: { id: true, content: true, commentCount: true, likeCount: true, createdAt: true, }, }, user: { select: { id: true, name: true, email: true, }, }, }, orderBy: { id: "desc", }, skip: skip, take: pageSize, });위에서 user를 조인하여 정보를 가져오는데해당 user는 article 작성자가 아니라 좋아요를 클릭한 사용자의 정보입니다.그러므로 아래와 같이 article의 작성자 정보를 가져오도록 aritcle 내부에 user를 추가해줘야 합니다. likeArticles = await db.like.findMany({ where: { userId: userId, }, include: { article: { select: { id: true, content: true, commentCount: true, likeCount: true, createdAt: true, user: true, }, }, }, orderBy: { id: "desc", }, skip: skip, take: pageSize, }); 그리고 가져온 정보를 평탄화하는 로직에서 userId, userName, userEmail 부분을 수정해줘야 합니다. flattenArticles = likeArticles.map((article) => { let newArticle = { id: article.article.id, content: article.article.content, commentCount: article.article.commentCount, likeCount: article.article.likeCount, createdAt: article.article.createdAt, userId: article.article.user.id, userName: article.article.user.name, userEmail: article.article.user.email, likeMe: true, }; return newArticle; }); 그럼 다음과 같이 정상적인 결과를 가져올 수 있습니다.
-
미해결비전공자를 위한 풀스택 맛집지도 만들기 프로젝트!: Front, Back-end 그리고 배포까지
workbench에서 접속이 안되고있습니다.
안녕하세요. 금일 메일로도 문의드렸던 학생입니다.mail 첨부이미지대로 설정을 다 했는데도 불구하고 인스턴스 규칙 추가bind address 주석처리root도 %로 IP대역 변경또한 sudo를 넣어 관리자권한으로 mysql restart까지 완료했습니다.하지만 여전히 workbench에서 test connection fail팝업창이 나와서 진도가 더이상 진행되지 않고있네요..구글링하여도 답을 찾을 수 없어 문의 다시 드립니다.
-
해결됨Svelte REST-API 프로젝트
[인증 구현 - 컴포넌트] error 처리 관련 질문
2분 12초인증 컴포넌트를 테스트해보는 과정에서 질문이 생겼습니다.만약 백엔드 서버가 작동하지 하고 있다면,이메일/패스워드 입력 후 로그인 버튼을 클릭하면auth 스토어의 login 메소드에서 에러가 발생합니다.그럼 이때 try/cath로 인해 "오류가 발생했습니다. 로그인을 다시 시도해 주세요."라는 alert 문구를 띄우게 됩니다. 만약에 AuthLogin 컴포넌트에서 정의한 try/catch으로alert를 보여주고 싶다면 Auth 스토어의 login 메소드에서 try/catch를 하지 않으면 되는데, 이는 좋은 방법같지 않은거 같습니다. 아니면 on:click 이벤트 정의 메소드에서는 try/cathc를 안해는게 나을까요? error를 catch 하는 것을 한 곳에서 관리(?)하여 에러 발생시 내가 원하는 동작(화면)을 보여주고 싶다면 어떻게 코드를 작성하는게 좋을까요?
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
mongo 실행 불가
안녕하세요 몽고디비를 다시 복습하고자 공부하던중 저번에 brew update를 통해 해결 된줄 알았지만 또 다시 같은 오류가 발생하였습니다... 이 에러는 어떠한 에러인지 찾아보고 gpt에다가 물어봐도 안나오는데.. 혹시 무엇 때문에 몽고가 brew services start mongodb-community 를하게 되면 이 오류가 발생하게 됩니다.. 도와 주세요..ㅠㅠ
-
해결됨Svelte REST-API 프로젝트
[인증 구현 - store] setAuth 메소드 구현
setAuth 메소드 구현 과정(6분 34초) 중 try/catch문에서resetUserInfo 메소드를 호출할 때왜 resetUserInfo()가 아닌 auth.reserUserInfo()인지 궁금합니다.
-
해결됨Svelte REST-API 프로젝트
[스토어 배치] 강의 내용 중 수정이 필요한 부분
[40초 - src/stores/index.js]service 폴더에 있는 api.js 파일을 임포트 시키는 것이므로상대주소를 다음과 같이 작성해야 합니다."../service/api.js"
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
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)
-
미해결[리뉴얼] 처음하는 파이썬 백엔드와 웹기술 입문 (파이썬 중급, flask[플라스크] 로 이해하는 백엔드 및 웹기술 기본) [풀스택 Part1-1]
logout시에 database delete -> 새로운 입력에 대해 user_id 증가
안녕하세요, logout 기능 구현할 때 database에서 delete를 통해 구독 취소한 메일을 제거해주는 내용을 봤는데요,db에 구독으로 데이터를 쌓고 취소한 뒤에 다른 메일을 넣으면, user_id가 1이 되어야 할 거 같은데, 2로 남습니다. 구독 & 구독취소 과정을 반복해서 수행하면 db table에 1줄만 입력되어있더라도 user_id가 계속 증가하는 것을 볼 수 있는데, 어떻게 방지할 수 있을까요? 혹은 많은 user가 구독 & 구독취소를 하게 되는 경우에 구독취소된 user_id는 공백으로 두고 계속해서 user_id를 쌓는 것이 사용상에 이점이 있는걸까요?
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
문의 드립니다
안녕하세요 백엔드쪽로 준비하는 사람이면 로드맵으로 두개다 구매해도 우선 백엔드쪽 강의 수강만 집중하는것이 나을까요?아님 프론트-> 백엔드 순으로 하면 더 도움이될까요?
-
해결됨Svelte REST-API 프로젝트
[라우터 설정] 강의 내용 중 수정이 필요한 부분
[3분43초 - router.svelte]첫 번째 Route에서 리다이렉트 경로를"/ariticles"가 아닌 "/articles/all"이 맞는 것 같습니다.6분 41초 영상에서 테스트 장면을 보면 리다이렉트 경로가 /articles/all인 것을 볼 수 있습니다. [3분50초 - router.svelte]강의 영상처럼 타이핑을 하고난 후에에디터(vscode)에 다음과 같은 에러가 나타날 수 있습니다.임시로 해결할 수 있는 방법은 node_modules 폴더 내부에 있는 tinro 라이브러리의 타입 정의(index.d.ts)를 수정해주시면 됩니다.참고: https://github.com/AlexxNB/tinro/pull/121/commits/d2251ffed630aac6e76e71856204ead5dd2f6661
-
미해결스프링 기반 REST API 개발
이벤트 Repository강의 중 Event 클래스에 private Integer Id; 위치 질문
이벤트 Repository강의 중 Event 클래스에 private Integer Id; 이 한줄의 위치가 맨 위가 아니면 에러가 납니다.왜 그런건가요? (저는 강의 순서대로 입력하느라 아래쪽에 입력했었습니다.) 에러내용은 : org.springframework.orm.jpa.JpaSystemException: Unknown integral data type for ids : java.lang.String
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
graphQL에서 @apollo/server의 port번호는 4000번으로 default가 되어있는것 같습니다.
v3버전 이후로는 server.listen에 대한 값이 없는것같아서 port번호를 4000번으로 기본설정해놓는걸 console.log로 확인할 수 있는 방법과 혹시 port번호를 변경하고자 할때는 어떻게 해야하는지 알 수 있을까요?계속 해메고 있네요,,,
-
미해결비전공자를 위한 풀스택 맛집지도 만들기 프로젝트!: Front, Back-end 그리고 배포까지
강의자료/완성사이트 접속 모두 안되네요. 서비스 안하시는건가요?
강의자료/완성사이트 접속 모두 안되네요. 서비스 안하시는건가요?