묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨React, Node.js, MongoDB로 만드는 나만의 회사 웹사이트: 완벽 가이드
매번 새로운 프로젝트를 실행할 때 cmd 설정문의
저희가 수업진행하면서 프론트엔드,백엔드에 많은 npm으로 설치하잖아요. 이런 라이브러리들을 매번 새로운 프로젝트마다설정해야할까요??비슷한 작업을 뽑아낸다고할때 기존 지금 폴더를 다시 연 다음에 이미지 및 텍스트 수정할때말고 다시 비슷한 프로젝트 폴더를 만들어서 한다고 하면 반드시 다시 전부 깔아야하는거죠? ㅠㅠ
-
해결됨아바타 커뮤니티앱 만들기 (React Native Expo)
백엔드 서버 실행하기에서 npm run start:dev입력후 에러가 떠요;
질문이 많아 죄송합니다 선생님 ㅠㅠ아래와 같이 오류메시지가 발생됩니다,,
-
해결됨한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
[해결완료] TodoItem을 import했지만, 코드에서 사용하지 않아서 발생하는 ESLint 경고
한 입 크기로 잘라먹는 리액트 책 잘 보고 있습니다.카운터앱 프로젝트는 완료 후,두 번째 할 일 관리 앱 실행 중에 문제가 발생해서 문의드려요. 1. 문제 : 326쪽까지 문제없이 잘 실행이 되었는데, 327쪽 <div>{it.content}</div> 이 코드를 넣었을때부터 327쪽 책과 동일하게 코드 넣었는데, 에러 문구가 아래처럼 나왔어요. WARNING in [eslint] src\component\TodoList.js Line 1:8: 'TodoItem' is defined but never used no-unused-vars webpack compiled with 1 warning TodoItem을 import했지만, 코드에서 사용하지 않아서 발생하는 ESLint 경고인 것 같은데, {todo.map((it) => ( <TodoItem key={it.id} content={it.content} /> ))}여기서 TodoItem이 개별 할 일을 나타내는 컴포넌트라고 가정하고 content를 props로 전달했습니다.(이때, key 값으로 it.id를 사용하여 React에서 리스트 렌더링 최적화를 도와야 합니다.)파란색 부분과 같은 조언을 받아 코드를 수정했더니 npm run start 실행하면 서버에서 지금까지 한 모든 화면이 안 보이고 백지화 되었어요. ㅠㅠ 기존에 html5로 이펍3 만들기 조금 배웠고, css개념 어느 정도 이해하는 수준의 초보인데,책 보고 프로젝트1 마치고, 프로젝트2도 거의 다 와가서 재미있게 하는 중에 날벼락이 ㅠㅠ; 혼자서는 도저히 해결이 안 될 거 같아서 강의등록 후 문의드려요.. 초보라 문의도 이렇게 하는게 맞는지 모르겠네요.답변 부탁드릴게요~ 참고 todoeditor.js return 이하App.js import "./App.css"; import Header from "./component/Header"; import TodoEditor from "./component/TodoEditor"; import TodoList from "./component/TodoList"; import { useState, useRef } from "react"; const mockTodo = [ { id: 0, isDone: false, content: "React 공부하기", createDate: new Date().getTime(), }, {id: 1, isDone: false, content: "빨래 널기", createDate: new Date().getTime(), }, {id: 2, isDone: false, content: "노래 연습하기", createDate: new Date().getTime(), }, ]; function App() { const idRef = useRef(3); const [todos, setTodos] = useState(mockTodo); const onCreate = (content) => { const newItem = { id: idRef.current, content, isDone: false, createDate: new Date().getTime(), }; setTodos([newItem,...todos]); idRef.current += 1; }; return ( <div className="App"> <Header /> <TodoEditor onCreate={onCreate} /> <TodoList todos={todos}/> </div> ); } export default App;
-
미해결코딩 몰라도 OK! CursorAI로 시작하는 개발 생활 (웹/초급)
교육 예시 파일들이 다운로드 안됩니다.
info 작성 예시 다운로드info 탬플릿 다운로드 두개의 파일들이 권한이 없네요???
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
새 강의쿠폰 질문있습니다
저번에 사놓고(2시간들음)다시 공부를 시작하려는데 혹시 새로운 강의로 들을수있을까요! 이번에는 꼭 완강 하겠습니다
-
해결됨아바타 커뮤니티앱 만들기 (React Native Expo)
백엔드 서버실행하기에서; 서버생성이 안됩니다;;
이런 붉은색 에러가 생기는데요,,,
-
미해결코드로 배우는 React 19 with 스프링부트 API서버
product image
안녕하세요 강의를 기반으로 작업을 하다 궁금한점이 생겨서 product - modify에서 사진을 모두 삭제하고 저장을 해두거나product - register에서 사진이 없는상태로 저장을 해두면 @Query("select p, pi from Product p left join p.imageList pi where pi.ord = 0 and p.delFlag = false ") Page<Object[]> selectList(Pageable pageable);ProductRepository에서 selectList 쿼리부분의 ord = 0인 설정만 만 호출하게 되버리는데 이때 이미지리스트 테이블에서 이미 ord가 없는 게시물은조회가 되지 않습니다..ord가 이미 없는 게시물은 delFlag가 false임에도 조회가 되지않습니다... 강의 목표는 아마도 default.jpeg 가 나와야 정상인거같은데 어떻게 해야 좋을까요 ?처음엔 서비스에서 imageStr이 없으니 imageStr을 강제로 default.jpeg로 설정해봤지만 어차피 조회되지 않아서 의미가 없었습니다.쿼리를 수정해봐야 할까요 ..??
-
해결됨Supabase, Next 풀 스택 시작하기 (feat. 슈파베이스 OAuth, nextjs 14)
Supabase CRUD 하기 또는 REST API화 하기 중 질문이 있습니다.
안녕하세요! 좋은 강의 잘 들었습니다!강의 중 내용에 관한 질문이 있어 여쭙니다.현업에서 작은 사이드 프로젝트를 운영중인데 기존에는 Firebase를 사용하다가 SQL DB가 필요해 Supabase로 이전을 고려하다 강의를 듣게 되었습니다.다름이 아니라 Supabase에서도 REST API 형태를 지원하는 것으로 알고 있는데강의 내용을 보면, REST API 형태를 사용하는 것이 아닌,직접 Supabase의 Database에 CRUD 하는 것으로 여겨집니다.보안이나 코드의 유지 / 보수, 또는 프론트 개발자와 백엔드 개발자의 역할 분리 등 여러 측면을 고려하였을 때 REST API 형태가 아닌 프론트 코드 내에 직접 CRUD 코드가 구현된 이유가 무엇인지 궁금합니다.
-
미해결실무 중심! FE 입문자를 위한 React
jotai로 변경했을 때 코드
Recoil과 비슷해 보이는 Jotai로 혼자 바꿔보고 있는 중입니다 ㅠㅠ 근데 이번 강의 코드는 어떻게 바꿔야 하는지 감이 안 와요....
-
미해결Next + React Query로 SNS 서비스 만들기
백엔드 서버 세팅하기에서 error TS2339에러 입니다.
npm run start:dev 명령어를 실행을 할 시 아래처럼 타입 에러가 나오고 있는데, 어떻게 해결을 해야 할까요? ㅠㅠ error TS2339: Property 'where' does not exist on type 'string | number | bigint | boolean | [] | { [K in keyof A]: Exact<A[K], any>; }'. Property 'where' does not exist on type 'string'.13 where: args.where, ~~~~~src/prisma.extension.ts:25:23 - error TS2339: Property 'where' does not exist on type 'string | number | bigint | boolean | [] | { [K in keyof A]: Exact<A[K], any>; }'. Property 'where' does not exist on type 'string'.25 where: args.where, ~~~~~
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
RTK에서 draft, state 차이가 있나요?
강의 들으면서 제로초님 RTK GitHub 코드도 보고 있는데요. RTK는 immer가 내부적으로 사용되어 state를 써도 불변성을 자동으로 처리하는 걸로 알고 있습니다. 그런데 https://github.com/ZeroCho/react-nodebird/blob/master/toolkit/front/reducers/user.js에선 리듀서 마다 state를 쓰는 곳이 있고 draft를 쓰는 곳이 있어서 질문합니다!역할은 같지만 단지 코드를 명시적이고 의도를 나타내기 위해 구분해서 쓰는 것이라고 생각되는데 구분해서 쓰는 다른 이유가 있는지 궁금합니다.
-
해결됨React, Node.js, MongoDB로 만드는 나만의 회사 웹사이트: 완벽 가이드
선생님 잘듣고있습니다.
여기 이 강의를 다듣고 회사 및 기업 홈페이지리를만들고,1. FIREBASE 강의도 들어서 로그인 기능 더 추가하면 되는거죠?2. 결제기능도 넣고 싶은데 강의 만들 계획이 있으신가요? 있다면 언제쯤일까요? 3. 카카오지도 API 끌고와서 호갱노노나 부동산지인 같은 홈페이지도 만들어 보고싶습니다. 한국부동산원 API 이런 API를 들고와서 설정하는 방법도 알고싶어요!아마 1,2,3이 합친다면 웬만한건 다 만들 수 있지않을까요?? 감사합니다
-
미해결한 입 크기로 잘라먹는 Next.js(v15)
개발 모드에서 캐시 로깅 사용방법
"4.2) 데이터 캐시" 강의 진행시npm run dev 로 진행시 { cache: "force-cache" } 설정하여도 캐싱이 안되는거 같은데요 npm run buildnpm run start로 진행시에는 캐싱이 동작하고있는걸로 보이나 로깅이 안되는것 같습니다. 강의 영상처럼 캐싱 동작 상태를 로깅을 하려면 어떤 옵션값을 설정 해야하나요 ?제가 놓친거 같아서 돌려보거나 검색을 해봤는데 못찾아서 질문드립니다. 감사합니다.
-
해결됨한 입 크기로 잘라먹는 Next.js(v15)
데이터 페칭 로직의 분리 방식이 궁금합니다.
안녕하세요, 강의 잘 듣고 있습니다. 하나의 페이지에서 두 개 이상의 데이터를 불러와야 할 때, 리액트에서 그래왔듯이 자연스럽게 데이터를 페칭하는 api 로직을 services/api 폴더로 분리할 것이라고 생각했는데요, 강의에서는 데이터에 따라 데이터를 페칭하여 렌더링하는 전체 로직을 각각의 컴포넌트로 분리하는 것을 보고 질문 드리게 되었습니다. 데이터를 기준으로 관심사를 분리할지, 기능을 중심으로 분리할지는 선호의 영역인가요? 아니면 어떤 사전 렌더링의 특수성으로 데이터 페칭 로직은 따로 분할하지 않는 것인가요? 그러면서 동시에 각각의 컴포넌트(AllBooks, RecoBooks)를 별도의 components 폴더로 분리하지 않는 이유도 궁금합니다! 곧 넥스트를 사용한 프로젝트에 참여하게 되는데 폴더 구조를 어떻게 가져가야 할지 고민이 많습니다 ㅠㅠ 팀원들이 모두 넥스트는 처음이라 아직 이렇다 할 기준이 없어서요.정답이 있는 문제는 아니겠지만 조언 부탁드립니다!!
-
미해결Next + React Query로 SNS 서비스 만들기
인터셉팅 라우팅 폴더 위치 경로 지정 관련 질문
우선 인터셉팅 라우팅을 버튼, 링크 등을 통해 이동 시 인터셉트된 page를 렌더링하고 새로고침이나 주소창을 통해 이동했을 때 정상(?)적인 page를 렌더링하는 것으로 이해했습니다. 인터셉팅 라우팅 폴더를 만들어야 할 위치가 궁금해서 /test1/test2 에서 Link태그를 통해 /test1 으로 이동할 때 새로고침 시 표시 되는 test1과 intercepted test1을 구분하는 코드를 작성했습니다 "(.)test1" 폴더 위치를 바꿔보면서 어떻게 동작하는 지 확인해보는 과정에서 이해가 되지 않는 부분이 있어서 질문드립니다. 이 폴더구조로 해야 작동하고, 이 폴더 구조는 작동이 안되는게 이해가 안됩니다.뭔가 (.), (..), (..)(..) 이런식으로 경로 지정이 가능하면 인터셉팅 라우팅 폴더는 어디 있든 상관없어도 될 것 같았는데... 아래 폴더구조가 작동을 안되니 디게 혼란스럽네요 ㅠㅠ
-
미해결한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
오픈 그래프 적용이 안되네요..
오픈 그래프가 아무것도 적용이 되지 않는데 문제를 못 찾겠습니다..index.html 에서<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <link rel="icon" type="image/svg+xml" href="/favicon.ico" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>감정일기장</title> <meta property="og:title" content="감정 일기장" /> <meta property="og:description" content="나만의 작은 감정 일기장" /> <meta property="og:image" content="/thumbnail.png" /> </head> <body> <div id="root"></div> <script type="module" src="/src/main.jsx"></script> </body> </html> 으로 작성을 하고 배포를 했는데 오픈 그래프 3가지 중 아무것도 적용이 안되네요..카톡말고도 티 스토리 블로그 글쓰기에서도 적용이 안 되는걸로 보아 캐시 문제는 아닌 것 같은데.. 오타가 있는지도 다른 분들 코드 보면서 비교해봤고 이미지도 public 폴더에 잘 있습니다..뭐가 문제일까요?..배포링크: https://emotion-diary-dfgr3t44x-watnus-projects.vercel.app/배포링크에서 썸네일 확인:https://emotion-diary-dfgr3t44x-watnus-projects.vercel.app/thumbnail.png
-
해결됨한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
9.2 useReducer 체크박스 관련질문입니다.
문제상황: 수정을 위해 체크박스를 체크해도 아무 변화도 생기지 않는 상황reducer 내용 const reducer = (state, action) => { switch(action.type){ case 'CREATE': return [action.data,...state]; case 'UPDATE': return state.map((item) => { console.log(action, item.id, item.isDone) return item.id === action.targetId ? {...item, isDone: !item.isDone} : item }) case 'DELETE': return state.filter((item) => item.targetId !== action.targetId) default: state } } const onUpdate = (targetId) => { dispatch({ type:"UPDATE", targetId }) } 예상 문제: console.log(action.targetId, item.id, item.isDone)을 해본결과action.targetId가 내가 원하는 id값만 가져오는것이 아닌 저렇게 객체 전체를 가져오기 때문에 action.targetId와 item.id가 일치하지 않아 체크가 되지않는 현상인것 같습니다. 어디를 보면 좋을지 및 무엇을 수정해야하는지 알려주시면 감사하겠습니다.
-
해결됨아바타 커뮤니티앱 만들기 (React Native Expo)
공통 인풋 컴포넌트 구현하기에서 variant가 계속 빨간색 오류뜨는데요;
import React from 'react'; import { colors } from "@/constants"; import {StyleSheet, TextInput, View,Text, TextInputProps} from 'react-native'; interface InputFieldProps extends TextInputProps{ label?:string; variant?: "filled" | "standard" | "outlined"; } function InputField({label, variant = "filled", ...props }: InputFieldProps) { return ( <View> {label && <Text style={styles.label}>{label}</Text>} <View style={[styles.container, styles[variant]]}> <TextInput style={styles.input} {...props} /> </View> </View> ); } const styles = StyleSheet.create({ container:{ height:44, borderRadius:8, paddingHorizontal:10, justifyContent:"center", alignItems:"center", }, label:{ fontSize:12, color: colors.GRAY_700, marginBottom:5, }, filled:{ backgroundColor: colors.GRAY_100, }, standard: {}, outline: {}, input: { fontSize:16, padding: 0, flex:1, }, }); export default InputField; 도와주세요,,선생님 ㅠㅠ
-
미해결한 입 크기로 잘라먹는 Next.js(v15)
supabse 연결 불가
npx prisma db push명령어 실행시, 아래와 같은 오류가 발생합니다. Error: P1001: Can't reach database server at aws-0-ap-northeast-2.pooler.supabase.com:`5432`.env 파일 루트 경로에 생성DATABASE_URL, DIRECT_URL 오타 없이 알맞게 입력위의 두 조건 모두 만족하고 있는데,왜 이런 오류가 발생하는 걸까요? 추가로,가이드에 따라 supabase에서 생성한 db가현재 활성화 상태이거나 running상태인지 어떻게 알 수 있을까요?
-
해결됨한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
만약 비동기 작업이 완료되었을 때는 넘겨주는 콜백 함수가 없다면 어떻게 되나요?
제가 이해한 내용이 맞는지 궁금하여 질문드립니다! 콜백 함수 없이 비동기 작업을 Web APIs에게 넘겨준다면 비동기 작업이 처리되고 넘겨줄 콜백 함수가 없으므로 아무일도 일어나지 않는다.개발자가 자바스크립트에서 비동기적으로 어떠한 코드를 처리하기 위한 목적으로 비동기 코드와 콜백 함수를 같이 작성한다. 라고 생각해도 될까요?