강의대로 package.json에 scripts 내 start에 경로 추가 후("node src/index.js) 터미널에 npm run start 입력 시 아래와 같은 error가 발생됩니다. PS C:\Users\HOME\Desktop\oneBite-React\section03> npm run start > section03@1.0.0 start > node src/index.js npm error code ENOENT npm error syscall spawn C:\Program Files\Git\bin\git.exe npm error path C:\Users\HOME\Desktop\oneBite-React\section03 npm error errno -4058 npm error enoent spawn C:\Program Files\Git\bin\git.exe ENOENT npm error enoent This is related to npm not being able to find a file. npm error enoent npm error A complete log of this run can be found in: C:\Users\HOME\AppData\Local\npm-cache\_logs\2024-07-14T05_57_50_914Z-debug-0.log
안녕하세요~ 2.5) 원시타입 vs 객체타입 강의의 8분 6초 쯤에 객체의 얕은 복사와 깊은 복사에 대해 설명해주시는 부분이 있는데요. 중첩객체에서는 spread 연산자를 사용해서 복사를 해도 1 depth까지는 복사가 되는데, 2 depth 이상 부터는 복사되지 않는 걸로 알고 있습니다. 그래서 spread 연산자를 사용한 복사를 얕은복사, JSON.stringify() 등을 이용해서 하위 중첩된 객체들까지 복사하는 것을 깊은 복사라고 하는 걸로 알고 있는데 혹시 제가 잘못 알고 있는건지 궁금해서 질문남깁니다!
안녕하세요 section08까지 듣고 투두리스트 복습을 하던 중 할일이 한개는 추가가 되는데 그 뒤로는 추가된 할일에 덮어쓰기가 되어 추가가 안되는 문제가 발생하는 문제가 발생하여 어제부터 해결이 안되 질문남깁니다. onCreate함수 내부에 로그를 찍어보면새롭게 저장된 데이터가 아닌 매번 기존에 3개 만들어놓은 mockData가 불러와져서 데이터가 추가되는거 까진 확인하였습니다. 또한 useReducer를 사용하면 강의와 같이 정상적으로 되는데 useState를 이용하면 위와 같은 문제가 발생합니다. 몬가 Context를 사용해서 이런 현상이 발생하는 것으로 추측되는데 어떤 차이 때문에 이런 현상이 발생하는지 궁금합니다. App.jsx import './App.css' import Header from "./component/Header.jsx"; import Editor from "./component/Editor.jsx"; import List from "./component/List.jsx"; import {createContext, useMemo, useRef, useState} from "react"; export const ContextStateData = createContext(); export const ContextDispatchData = createContext(); const mockData = [{ id: 0, isDone: false, content: "Study react", date: new Date().getTime() }, { id: 1, isDone: false, content: "go to bed", date: new Date().getTime() }, { id: 2, isDone: false, content: "play game", date: new Date().getTime() },]; function App() { const [todos, setTodos] = useState(mockData); const idRef = useRef(3); const onCreate = (content) => { const newTodos = { id: idRef.current++, isDone: false, content: content, date: new Date().getTime() } setTodos([newTodos, ...todos]); } const memorizedDispatch = useMemo(() => { return {onCreate} }, []); return (<div className="App"> <Header/> <ContextStateData.Provider value={todos}> <ContextDispatchData.Provider value={memorizedDispatch}> <Editor/> <List/> </ContextDispatchData.Provider> </ContextStateData.Provider> </div>) } export default App 전체 코드 깃허브 주소 https://github.com/ironwhale1014/one-bite-react/tree/main/todo_list_train
[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
timezone: 'Asia/Seoul', // 한국 시간대 설정 로 변경하거나 timezone: '+09:00', // 한국 시간대 설정 로 변경을 해도 시간대가 UTC 시간으로 저장이 되는것 같아요 ! 한번 데이터베이스로 가서 select now() 로 찍어보니까 application 단에 작성한 timezone 과 다르게 utc 시간대로 설정되어있어서 그런것 같더라구요 디비의 시간대를 변경하면 되긴한데 , 그러면 취지와 맞지 않는것 같아서 어떻게 하면 될까요 ?
[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
custom 파이프 챕터를 듣고있습니다. 위의 강의에서 8 자 보다 긴 비밀번호는 throw new 반환을 적용한다고 했을때 파이프 라인으로 적용해도 될것같고 , request dto 로 적용할수있을것 같단 생각을 했습니다. 이럴때 어디서 적용할지에 대한 기준치는 어떻게 판별하시나요 ??
사진을 보니 이렇게 되있던데, 잘 되있더라구요! 3-component 브랜치를 만들면, 해당 위치에서 3-component/... 이렇게 만들 수 없더라구요. 강제로 만든건지?(강제 브랜치 생성 명령어) TabComponent같은 브랜치를 파서 작업한 다음, PR을 올려서 머지 시키면 자동으로 저렇게 바뀌는 건지? 답변 부탁드립니다.
[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
안녕하세요 ㅎ 강의 잘 보고 있습니다. 강의에서 access token 과 refresh token 을 사용하게 될때 postman 에서 Headers 탭을 이용하셨는데 이유가 있을까요 ? 옆에 Authorization 을 사용하지않고 Headers 를 사용하신 이유가 궁금합니다. !
안녕하세요 로펀입니다. 강의를 수강하시면서 공지사항과 질문을 편하게 관리하기 위해 슬랙 채널을 개설했습니다 🙂 강의와 관련된 질문이 있으실 경우 슬랙의 #supabase-nextjs-클론-강의 채널에서 질문 부탁드립니다. 💡 ”로펀의 인프런 상담소” 슬랙 채널 가입하기 제 강의를 수강하시는 모든 분들은 슬랙 채널에 들어오실 수 있습니다. 슬랙에 들어오시면 더 빠르게 질문에 답변을 받아보실 수 있어요! 😉
function solution(s) { let answer = ''; let current = s[0]; let repeat = 1; for (let i = 1; i < s.length; i++) { if (current === s[i]) { repeat++; } else { answer += `${repeat === 1 ? current : `${current}${repeat}`}`; current = s[i]; repeat = 1; } } return answer; }
[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
post Controller > postPosts에 @UseGuard(AccessTokenGuard) 할 경우 디펜던시 오류가 납니다. 앞에 강의 중에 대처법을 보고 따라 해봐도 잘 안되는데, 어디어디에 무엇을 작성해야할지 모르겠습니다ㅠ /////////////////////////// 앞에 강의 차분하게 다시 보면서 해결했습니다,
강의 듣고 복습하면서 과제도 푸는 중에 갑자기 인터넷 페이지로 보기 위해 실행을 하니, 500번 오류가 수업(example)랑 과제(practice) 둘다 뜨면서 아무것도 뜨지 않습니다.. import 해오는 부분은 아무 이상이 없고, 과제 같은 경우도 이전에 문제 없었던 페이지에서도 같은 500번 오류가 뜹니다 ㅠ
model 폴더에서 PostImage는 interface를 사용하시고 Post컴포넌트에서는 type을 사용하셨는데 두 개를 다르게 사용하는 강사님만의 기준이 있나요 ? 제가 공부한 바로는 간단한 객체 타입일 경우 둘다 사용해도 상관없다. type은 복잡한 유니언 타입을 지정할때 사용한다 interface는 확장이 필요할 경우 사용한다고