묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
무한스크롤(React Infinite Scroller)의 pageStart
16-02-infinite-scroller 강의 중에 이해가 가지 않는 코드가 한줄 있어서 질문드립니다! InfiniteScroll에 pageStart 옵션이 걸려있는데, 이게 어디에 영향을 주는건가요? 초기 페이지 번호라기에는 이 옵션을 999999 처럼 의미 없는 값을 줘도 문제 없이 작동하고 그러네요..딱히 의미가 없는 코드 같은데 pageStart라는게 어떤식으로 작동되는건지가 좀 궁금합니다..
-
해결됨개발 입문을 위한 실무자가 알려주는 Spring Boot
안녕하세요 추가구현사항에 대해 질문이있습니다.
강의 잘 들었습니다!추가로 질문이 있어서 글 남기겠습니다 ~강의를 듣는 목적은 프로젝트에서 회원가입 시 이메일 인증 및 id/password 찾기에 대한 인증번호 전송이었습니다. 사용자의 이메일로 인증번호(ex 6자리 007007) 를 보내 그 사용자가 사이트에 입력 후 번호가 맞으면 이메일인증 , password 찾기 서비스를 이용할수 있게끔 하고싶습니다. 검증유효시간 그런거는 다 제쳐두고 위의 인증 기능만 단순히 구현해보고싶은데요 1. 인증번호 6자리를 어떻게 서버에 보관할수 있을까요?2. 보관 후 그것이 특정 사용자에게 맞는 인증번호인지 확인할까요?? 제가 지금 생각해본 방식입니다. temp_user 테이블 생성하고 pk(email), column(verify_code) 컬럼을 만든다사용자가 이메일 인증요청을 하면 temp_user 테이블에 email,verify_code보관 및 verify_code 전송사용자가 인증번호 확인하려고 입력을 하면 email값에 맞는 verity_code인지 temp_user table에서 꺼내와서 확인 인증번호 검증 후 회원가입 완료 로직 -> temp_user 삭제 후 입력 정보 user 테이블에 저장하는 방법입니다 . 긴 글 읽어주셔서 감사합니다. 생각의 방향이 맞는지 아니면 더 좋은 방법이 있는지 알려주시면 감사하겠습니다 !!
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
프로젝트 환경설정 오류
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]강의 보면서 프로젝트 환경 설정하고 있는데 사진처럼 오류가 뜹니다. 도와주세요 ㅠㅠ
-
해결됨실리콘밸리 엔지니어가 가르치는 파이썬 장고 웹프로그래밍
urls.py에 라우팅 하는 부분에서요.
config/urls.py가 있고, 앱을 만든다면 apps/urls.py가 꼭 필요한가요? config/urls.py 안에 다 넣을 수 있지 않을까요?
-
해결됨오브젝트 - 기초편
왜 선배개발자님들은 절차지향이였을까?
궁금한게 있습니다. 생각보다 많은 선배개발자님들은 강의에서 말하는 절차지향프로그래밍을 하고 있습니다. 심지어 우리나라에 네카라쿠배라고 하는 회사에서도 비슷한 장면이 자주 목격되는데요. 그분들이 잘못되었다고 생각하지는 않지만, 어떻게 그렇게 코딩을 하게 된건지 그 뒷배경이 궁금합니다..! 저는 개발한지 이제 7년밖에 되지 않아, 더 과거에 대한 이야기를 알지 못합니다. 조영호님께서는 오랜시간 연구하면서 왜 그렇게 된 것인지 알고 계시지 않을까 싶어 여쭤봐요!
-
해결됨한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
error lens -오류문구 영어로 뜸
vscode에 korean pack과 error lens를 설치하였는데 오류문구가 영어로 뜹니다ㅜㅜ 한글로 바꿀 수 있는 방법이 있을까요?
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
구조체 질문
질문은 동영상 강의에 들어가서 오른쪽에 커뮤니티 버튼을 통해 해주세요. 그래야어떤 강좌에서 질문하셨는지 알 수 있습니다.영상에서 몇 분 몇 초 대를 알려주셔야 제가 한 번에 질문 내용 확인이 가능합니다.이미 다른 누군가가 질문을 한 이력이 있을 수 있습니다. 질문 게시판을 한 번 확인 부탁드립니다.학교의 과제나 타 강사의 코드 등 외부 수업 자료에 대해서는 답변하지 않습니다.제가 다루는 커리큘럼 외의 이론이나, 너무 디테일한 컴퓨터 이론에 대해서는 답변 드리지 않습니다.시험에 안 나오는 경우가 많고, 나와 봤자 1문제 나오는데 외워야 할 부분이 많은 것 등 (예시: 서브넷 마스크 계산)질문을 올릴 때 이 글은 모두 지우고 내용을 입력해주세요.
-
미해결
MongoDB TypeError: Cannot read properties of undefined (reading 'User')
export const User = mongoose.models.User || mongoose.model("User", userSchema) import mongoose from "mongoose"; interface Connection { isConnected?: boolean; // 선택적으로 isConnected 필드 } const connection: Connection = { isConnected: false, // 기본값 false로 설정 }; export const connectToDB = async (): Promise<void> => { try { if (connection.isConnected) return; // 이미 연결된 경우 const db = await mongoose.connect(process.env.MONGODB_URI as string); connection.isConnected = db.connections[0].readyState === 1; console.log("Connected to MongoDB:",db.connections[0].readyState ); } catch (error) { console.error("Error connecting to MongoDB:", error); throw new Error("Failed to connect to MongoDB"); } }; 맨 위는 models에 스키마 정의 해놓은 부분을 가져온거구요밑에는 DB에 연결하는 connectToDB입니다.import {redirect} from "next/navigation"; import {auth} from "@/server/auth"; import {getRoleStatus} from "@/server/actions/get-role-status"; import {User} from "@/lib/models"; import AnalyticsCard from "../../components/dashboard/analytics-card"; import TeamList from "../../components/teams/team-list"; import {z} from "zod"; import {TeamSchema} from "@/types/team-schema"; import {connectToDB} from "@/lib/utils"; export type Team = z.infer<typeof TeamSchema>; export default async function Page() { connectToDB() const team = await User.find(); const plainTeam = team.map((member) => { const memberObj = member.toObject(); // Convert to plain object return { _id: memberObj._id.toString(), // Convert ObjectId to string name: memberObj.name, username: memberObj.username, email: memberObj.email, createdAt: memberObj.createdAt ? memberObj.createdAt.toISOString() : null, // Convert Date to ISO string updatedAt: memberObj.updatedAt ? memberObj.updatedAt.toISOString() : null, // Convert Date to ISO string isAdmin: memberObj.isAdmin !== undefined ? memberObj.isAdmin : false, // Provide default isApproved: memberObj.isApproved !== undefined ? memberObj.isApproved : false, // Provide default isPending: memberObj.isPending !== undefined ? memberObj.isPending : false, // Provide default location: memberObj.location || "N/A", // Provide default // Add other fields as necessary }; }); console.log("Plain Team Data:", plainTeam); const session = await auth(); const role = await getRoleStatus(); if (!session) { redirect("/"); } return ( <AnalyticsCard title="Team" subTitle="Approved Member and Pending Member"> <div className="p-6"> <TeamList data={plainTeam} role={role!} /> </div> </AnalyticsCard> ); } 이건 team페이지인데 여기가 로드가 안되네요 값들은 다 잘불러와지는데..모델도 다 잘불러와지는 상태입니다.챗지피티가 하라는것도 다 했는데도 안되네요 도와주세요 이건 models.tsx입니다import mongoose from "mongoose"; const userSchema = new mongoose.Schema( { name: {type: String, required: true, unique: true}, username: {type: String}, hashedPassword: {type: String}, email: {type: String, required: true, unique: true}, image: {type: String}, orders: {type: Number}, revenue: {type: Number}, isAdmin: {type: Boolean, default: false}, // Ensure this field exists isApproved: {type: Boolean, default: false}, // Ensure this field exists isPending: {type: Boolean, default: false}, // Ensure this field exists location: {type: String}, // Ensure this field exists }, {timestamps: true} ); const productSchema = new mongoose.Schema({ isAdmin: { type: Boolean, }, name: { type: String, }, image: { type: String, }, isApproved: { type: Boolean, }, email: { type: String, }, id: { type: String, }, }); export const User = mongoose.models.User || mongoose.model("User", userSchema); console.log("User model:", userSchema); export const Product = mongoose.models.Product || mongoose.model("Product", productSchema); 이건 teams-actions 파일입니다."use client"; import {revalidatePath} from "next/cache"; import {sendApprovalEmail, sendDeclineEmail} from "./email"; import {actionClient} from "@/lib/safe-action"; import {TeamSchema} from "@/types/team-schema"; import {User} from "@/lib/models"; import {connectToDB} from "@/lib/utils"; export const approveTeamMember = actionClient .schema(TeamSchema) .action(async ({parsedInput: {email, name}}) => { try { await connectToDB(); await User.findOneAndUpdate({email: email}, {set 필요 없음 await revalidatePath("/", "layout"); // 비동기 함수, await 필요 await sendDeclineEmail(name!, email); } catch (error) { console.error("Error declining team member:", error); throw error; } }); export const updateTeamMember = actionClient .schema(TeamSchema) .action(async ({parsedInput: {email, isAdmin}}) => { try { await connectToDB(); await User.updateMany({email: email}, {$set: {isAdmin: isAdmin}}); await revalidatePath("/", "layout"); // 비동기 함수, await 필요 } catch (error) { console.error("Error updating team member:", error); throw error; } }); export const deleteTeamMember = actionClient .schema(TeamSchema) .action(async ({parsedInput: {email}}) => { try { await connectToDB(); await User.findOneAndDelete({email: email}); await revalidatePath("/", "layout"); // 비동기 함수, await 필요 } catch (error) { console.error("Error deleting team member:", error); throw error; } }); 혹시나 문제가 있을것같은 부분있으면 답변 부탁드립니다!
-
미해결내 마음대로 되지 않는 백엔드 테스트코드 - 희망편 & 현실편
테스트 데이터 관련 질문입니다.
게시글과 게시글 카테고리가 존재해야만 댓글을 작성할 수 있는 구조에서, 다음과 같은 시나리오를 테스트하고자 합니다.사용자가 댓글을 10개 작성하면 뱃지가 발급되는 시나리오를 테스트하려고 합니다.댓글을 작성하려면 게시글과 게시글 카테고리가 먼저 저장되어 있어야 하며, 댓글에는 post_id가, 게시글에는 post_category_id가 각각 존재합니다.이 상황에서 다음 질문이 있습니다: 댓글에 있는 post_id와 게시글에 있는 post_category_id를 nullable 하게 설정해도 괜찮을까요?
-
미해결
v1/index.html이란 파일이 어디에 있나요? 화면UI에 관한 파일을 어디서 제공받았나요?
http://localhost:5000/v1/index.html위처럼 입력하려면 v1이라는 폴더에 index.html이라는 파일이 있어야 하지 않나요?그게 제 파일에는 없는데, 어떻게 해야하나요?아까주신 답변을 읽어보았습니다.UI 화면 관련스프링 부트 서버에 미리 만들어진 UI 화면을 추가할 때, 일반적으로 정적 리소스(HTML, CSS, JS 등)를 src/main/resources/static 폴더에 넣으면 됩니다. 브라우저에서 http://localhost:5000/index.html과 같이 접근할 수 있습니다.static이란 폴더도 없고, 제공받은 HTML, CSS, JS등의 파일도 없습니다. 어디에 그 파일이 있나요?질문이 자꾸 지워져요!
-
미해결
v1/index.html이란 파일이 어디에 있나요?
http://localhost:5000/v1/index.html위처럼 입력하려면 v1이라는 폴더에 index.html이라는 파일이 있어야 하지 않나요?그게 제 파일에는 없는데, 어떻게 해야하나요?아까주신 답변을 읽어보았습니다.UI 화면 관련스프링 부트 서버에 미리 만들어진 UI 화면을 추가할 때, 일반적으로 정적 리소스(HTML, CSS, JS 등)를 src/main/resources/static 폴더에 넣으면 됩니다. 브라우저에서 http://localhost:5000/index.html과 같이 접근할 수 있습니다.static이란 폴더도 없고, 제공받은 HTML, CSS, JS등의 파일도 없습니다. 어디에 그 파일이 있나요?질문이 자꾸 지워져요!
-
미해결
v1/index.html이란 파일이 어디에 있나요?
http://localhost:5000/v1/index.html위처럼 입력하려면 v1이라는 폴더에 index.html이라는 파일이 있어야 하지 않나요?그게 제 파일에는 없는데, 어떻게 해야하나요?아까주신 답변을 읽어보았습니다.UI 화면 관련스프링 부트 서버에 미리 만들어진 UI 화면을 추가할 때, 일반적으로 정적 리소스(HTML, CSS, JS 등)를 src/main/resources/static 폴더에 넣으면 됩니다. 브라우저에서 http://localhost:5000/index.html과 같이 접근할 수 있습니다.static이란 폴더도 없고, 제공받은 HTML, CSS, JS등의 파일도 없습니다. 어디에 그 파일이 있나요?
-
해결됨초보자를 위한 Dart Practice
console Application 예제에서 한글 입력하면 깨지는데..
안녕하세요?아래 코드에서 입력을 한글로 하면 깨지는데 뭔가 설정을 따로 해줘야 하나요?import 'dart:io'; void main(List<String> arguments) { stdout.write("입력해보세요 :"); var inputString = stdin.readLineSync(); stdout.write('입력된 값: $inputString'); }
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
ASCII코드 질문
11:57 쯤 나와있는 예제 에서char lower = ‘a' 는a라는 문자를 문자형태로 lower에 입력한다 로 이해했습니다.char upper = (char)(lower -32) 는lower-32의 문자값을 upper에 입력한다. 로 이해했습니다. lower-32에서 왜 lower은 숫자 97로 대입해서 괄호를 풀어야 하나요? 위에서 a로 입력된 게 아닌가요?(char) 과 같이 괄호를 써주는 이유가 뭔가요? char upper와 같이 띄어쓰기로 구분을 안해주는 건가요? 17:25 예제 관련하여printf("%s\n“, p+1) 질문입니다.문장을 출력할땐 널값을 만날때까지 출력이므로 KOREA 로 나오는건 이해가 갑니다.p+1의 경우 어떻게해석해야하나요. ? 문장의 시작점을 한칸뒤로가서 잡고 출력하라..로 이해해야하나요? 아직 선언, 변수 등 표현이 익숙치않아 질문에서 사용한 표현이 강사님께서 사용한 표현과 다를 수 있습니다...양해 부탁드립니다.
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
7-Q 질문있습니다 :)
안녕하세요 선생님 🙂 어려운 문제는 아니었던거 같지만 모르겠는 부분이 생겨서 질문 드립니다. visual studio에서는 배열의 범위가 초과되었다는 에러가 계속 뜹니다. 선생님 코드와 다른 점이 없는지 여러 번 검증해보았지만 차이가 없어서 백준에 제출해봤는데요, 맞았다고 하더라구요.. arr의 크기를 18이 아닌 20으로 잡아도 동일한 에러가 잡힙니다. 컴파일러에서 왜 에러가 뜨는건지 모르겠습니다.. http://boj.kr/f91936720fc54768adb00def9dc32b35 메모이제이션 범위가 이해되지 않아 다른 숫자들로 넣어봤는데요, 0.0까지는 문제가 없더라구요. 메모이제이션 범위를 -0.5로 두신 이유가 궁금합니다.
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
동영상 강의에서 이러한 기능을 갖춘 UI화면을 미리 만들어서 저희가 셋팅했던 서버에 넣어놨다고 하는데, 포트번호를 8080으로 똑같이 해야하나요?
그리고 질문이 자꾸 지워져요. 그래서 다시 작성하게 되었네요. 질문올리면 첫번째에는 글이 지워지고, 다시 작성한 두번째는 글이 올라가는데, 이런 현상은 왜 일어나나요? 포트번호를 5000번으로 했는데, 자꾸 오류가 걸리네요.강사님이 이러한 기능을 갖춘 UI화면을 미리 만들어서 저희가 셋팅했던 서버에 넣어놨다고 했는데, 이게 무슨 말씀인가요?7강 유저 생성 API개발에서 1분 20초부터 1분 31초까지에서 강사님의 말씀이 자꾸 생각나네요.아까 답변주신 방법으로는 해결이 안되요!프로젝트를 클린 빌드하고, 다시 실행해보세요.라는 말은 무슨 뜻인가요? 클린 빌드는 어떻게 해야하나요?application.properties밖히 없어요!spring.application.name=library-app server.port=5000애플리케이션.프로펄티즈에는 위에처럼 작성되어 있어요. 뭔가 잘못되어 있는게 있나요? 강사님이 주신 파일입니다. URL 설정이 올바르게 되어 있는지 확인하려면 어떻게 하나요?Controller 클래스가 없거나 잘못 매핑됨:URL 경로와 매핑된 @RequestMapping 또는 @GetMapping, @PostMapping이 제대로 설정되지 않았을 수 있습니다.1번은 어디를 말하는건가요? CalculatorController에는 아래 코드가 있습니다. 잘못된 부분이 있으면 알려주세요!package com.group.library_app.controller.calculator; import com.group.library_app.dto.calculator.request.CalculatorAddRequest; import com.group.library_app.dto.calculator.request.CalculatorMultiplyRequest; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; @RestController public class CalculatorController { @GetMapping("/add") // GET /add public int addTwoNumbers(CalculatorAddRequest request) { return request.getNumber1() + request.getNumber2(); } @PostMapping("/multiply") // POST /multiply public int multiplyTwoNumbers(@RequestBody CalculatorMultiplyRequest request) { return request.getNumber1() * request.getNumber2(); } }
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-F 코드 확인 부탁드립니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.안녕하세요~ http://boj.kr/e9c207f2a03a40c58f133d577488e3a3 *0 일때 반례 까지 추가 했는데 틀렸다고 나와서 질문 드립니다!
-
미해결[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)
Twice 앱 cardview 오류
다음과 같이 build.gradle 파일에 implementation을 입력하고 sync 할 경우 에러가 납니다.입력 형식을 바꾸어 보아도 에러가 납니다.
-
해결됨[리뉴얼] 맛집 지도앱 만들기 (React Native & NestJS)
ios 빌드 시간에 관하여
프로젝트 빌드 시, 안드로이드는 곧바로 시뮬레이터가 열리고 앱이 빌드되는데, iOS는 시뮬레이터가 열리고 시간이 한~~~~~참 지나야 앱이 빌드됩니다. 원래 이렇게 시간차이가 많이나나요? 안드로이드는 1분만에 되는것같던데 iOS는 거의 5분정도 걸리네요.. 참고로 코드는 아무것도 없고 프로젝트 초기화 시 입니다. m1 air 16GB, 512입니다.❗질문 작성시 꼭 참고해주세요최대한 상세히 현재 문제(또는 에러)와 코드(또는 github)를 첨부해주셔야 그만큼 자세히 답변드릴 수 있습니다.맥/윈도우, 안드로이드/iOS, ReactNative 버전 등의 개발환경도 함께 적어주시면 도움이 됩니다. 에러메세지는 일부분이 아닌 전체 상황을 올려주세요. (일부만 잘라서 올리지 말아주세요.)
-
미해결
동영상 강의에서 셋팅했던 화면 UI를 미리 넣어뒀다고 했는데, 어디에 넣어두신건가요?
동영상강의에서 샛팅했던 화면 UI를 미리 넣어 뒀다고 했는데 어디에 넣어놨다는 말씀인가요?강사님이 8080으로 셋팅해놨는데, 저만 포트번호 5000으로 접속하려고 하니까 달라서 접속이 안된다는건가요? 도서앱애플리케이션이라는 부분에는 별다른 UI가 없습니다. 강사님이 강사님의 저와는 다른 서버에 8080포트번호로 연결시킬 수 있게끔 한건가요? 아까전에 주신 답변으로는 해결이 안되요!인프런 al답변:안녕하세요, 인프런 AI 인턴입니다. Tkhp Sch님.Whitelabel Error Page는 Spring 애플리케이션에서 발생하는 일반적인 404 오류입니다. 이 오류는 애플리케이션에서 사용 가능한 매핑된 경로가 없거나 잘못 설정된 경우 발생합니다.기본적으로 다음과 같은 원인으로 발생할 수 있습니다:Controller 클래스가 없거나 잘못 매핑됨:URL 경로와 매핑된 @RequestMapping 또는 @GetMapping, @PostMapping이 제대로 설정되지 않았을 수 있습니다.애플리케이션 URL 설정 문제:application.properties 또는 application.yml 파일에서 URL 설정이 올바르게 되어 있는지 확인합니다.프로젝트 빌드 문제:인텔리J나 이클립스 같은 IDE에서 프로젝트가 제대로 빌드되지 않았을 수 있습니다. 프로젝트를 클린 빌드하고, 다시 실행해보세요.관련된 유사한 기존 질문과 답변을 참고하시기 바랍니다:404 오류 해결 방법:@RestController 어노테이션을 사용하여 컨트롤러를 정의하면 오류가 해결될 수 있습니다.일반적으로 스프링에서 @Controller 만 사용하면 문자열 반환 시 뷰를 찾으려고 하기 때문에, @RestController를 사용하여 REST API 컨트롤러임을 명확히 합니다.application.yml 파일 설정 문제 해결:설정 파일에서 드라이버 클래스 네임을 제대로 설정하고, H2 데이터베이스 콘솔이 올바르게 설정되었는지 확인합니다.배포 오류 해결 방법:application.yml 파일에서 MySQL 비밀번호 설정을 확인하고, 연결 설정이 제대로 되어 있는지 검토합니다.위의 링크들을 참고하여, 설정을 다시 확인해 보시기 바랍니다. 특히 아래 사항을 체크해 보세요:@RestController와 매핑 경로 설정이 올바른지 확인.application.yml 또는 application.properties 에서 URL 및 데이터베이스 설정이 정확한지 확인.프로젝트를 클린 빌드하고 다시 실행.저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.