묻고 답해요
167만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
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의 리턴값도 몇 번째 게시물로 생성된 것인지 알려주므로 둘 다 게시물의 개수를 알려주는 게 아닌가요 ?
-
해결됨Svelte REST-API 프로젝트
[앱 완성도 높이기3 - URL을 통한 보기모드 변경] 로그인 성공 후 라우팅 문제
현재 강의 내용대로라면, 로그인 성공 후 /articles path로 이동하기 때문에 404 Not Found 페이지가 나타납니다.그러므로 auth 스토어의 login 메소드에서도/articles에서 /articles/all로 router.goto의 path를 변경해야할 것 같습니다.const login = async (email, password) => { try { const options = { path: "/auth/login", data: { email: email, pwd: password, }, }; const result = await postApi(options); set(result); isRefresh.set(true); router.goto("/articles/all"); } catch (error) { throw error; } };
-
해결됨Svelte REST-API 프로젝트
[앱 완성도 높이기2 - 날짜보기] 타임존 관련 설정 문제
23년 05월 9일 22시 32분에 게시글을 작성했지만,아래 이미지를 보면 알 수 있듯이,API로 가져온 createdAt은 UTC 기준 날짜로 DB에 저장되어 있습니다.강의 영상대로 dateView 메소드를 구현한 후게시글 작성날짜를 보면 다음과 같습니다.위 결과를 보면 알 수 있듯이 상대시간 계산이 제대로 이뤄지지 않고 있음을 확인할 수 있습니다.검색을 해보니 day.js에서 utc 플러그인을 사용할 때 timezone 플러그인을 함께 사용해야 하는 것 같습니다. (참고: Dayjs 로 타임존을 다룰 때 주의해야 할 사항 2가지 (velog.io)) 위 내용을 참고하여 dateView 메소드를 다음과 같이 수정했습니다.import dayjs from "dayjs"; import relativeTime from "dayjs/plugin/relativeTime"; import utc from "dayjs/plugin/utc"; import timezone from "dayjs/plugin/timezone"; import ko from "dayjs/locale/ko"; function dateView(date) { dayjs.extend(utc); dayjs.extend(timezone); dayjs.locale(ko); dayjs.extend(relativeTime); return dayjs().to(dayjs(date).tz().format("YYYY-MM-DD HH:mm:ss")); } export default dateView; 그리고 결과를 확인해보면,한국 시간을 기준으로 상대시간이 올바르게 계산되는 것을 확인할 수 있었습니다.
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
서버가 안열려요
코드캠프 서버가 안 열려요 실습해야 하는데
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
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"