inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

172만명의 커뮤니티!! 함께 토론해봐요.

App.js > QuestionBox > answers ={answers[step]}, QuestionBox.js > answer

미해결

실무 중심! FE 입문자를 위한 React

App.js > QuestionBox > answers ={answers[step]}, QuestionBox.js > answer 왜 App.js에서 prop에 answers라고 쓰고 QuestionBox.js 에서는 answer로 받는거죠?

  • react
  • redux
  • node.js
  • sass
  • swr
디오 댓글 0 좋아요 0 조회수 149

컴포넌트 단위 에러 처리는 이전 처럼 에러 바운더리를 래핑하면 되나요?

해결됨

한 입 크기로 잘라먹는 Next.js

🚨 아래의 가이드라인을 꼭 읽고 질문을 올려주시기 바랍니다 🚨 질문 하시기 전에 꼭 확인해주세요 - 질문 전 구글에 먼저 검색해보세요 (답변을 기다리는 시간을 아낄 수 있습니다) - 코드에 오타가 없는지 면밀히 체크해보세요 (Date와 Data를 많이 헷갈리십니다) - 이전에 올린 질문에 달린 답변들에 꼭 반응해주세요 (질문에 대한 답변만 받으시고 쌩 가시면 속상해요 😢 ) 질문 하실때 꼭 확인하세요 - 제목만 보고도 무슨 문제가 있는지 대충 알 수 있도록 자세한 제목을 정해주세요 (단순 단어 X) - 질문의 배경정보를 제공해주세요 (이 문제가 언제 어떻게 발생했고 어디까지 시도해보셨는지) - 문제를 재현하도록 코드샌드박스나 깃허브 링크로 전달해주세요 (프로젝트 코드에서 문제가 발생할 경우) - 답변이 달렸다면 꼭 확인하고 반응을 남겨주세요 - 강의의 몇 분 몇 초 관련 질문인지 알려주세요! - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

  • react
  • typescript
  • next.js
트릴 댓글 2 좋아요 0 조회수 273

DTO와 인증 서비스 강의 질문있습니다.

미해결

코드로 배우는 React 19 with 스프링부트 API서버

1.DTO와 인증 서비스 13분 38초 화면이 [username user9@aaa.com ,password 1111] postman에서 회원가입하는 화면인건가요? 2.DTO와 인증 서비스 17분 10초 postman 화면도 있는데 이거는 로그인 화면인건가요? 3. 제가 포스트맨에서 username user10@aaa.com ,password 1111으로 넣고 send를 누르면 맨 위 사진과 같이 에러가 나옵니다. 참고로 db 테이블에 username user9@aaa.com ,password 1111 내용이 있습니다. 포스트맨 { "timestamp": "2025-03-02T20:26:21.086+00:00", "status": 404, "error": "Not Found", "trace": "org.springframework.web.servlet.resource.NoResourceFoundException: No static resource api/member/login.\r\n\tat org.springframework.web.servlet.resource.ResourceHttpRequestHandler.handleRequest(ResourceHttpRequestHandler.java:586)\r\n\tat org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter.handle(HttpRequestHandlerAdapter.java:52)\r\n\tat org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089)\r\n\tat org.springframework.web.servlet.DispatcherServlet.doService spring boot 실행시 아래와 같이 나옵니다. Principal이 username이 user9@aaa.com로 안나옴. [Principal=anonymousUser, Credentials=[PROTECTED], Authenticated=true, Details=WebAuthenticationDetails [RemoteIpAddress=0:0:0:0:0:0:0:1, SessionId=null], Granted Authorities=[ROLE_ANONYMOUS]] 코드 첨부합니다. https://drive.google.com/file/d/1VtPVj_uRjPC7fYG3gRCeuFKcs2s4wPZm/view?usp=drive_link

  • react
  • spring-boot
  • jpa
  • jwt
  • redux-toolkit
zzzzz 댓글 1 좋아요 0 조회수 140

params부분 에러

해결됨

한 입 크기로 잘라먹는 Next.js

fetch 부분에서 다음과 같이 작성하였는데 params.id부분에서 id 부분에 Property 'id' does not exist on type 'Promise<{ id: string | string[]; }>'.ts(2339) 이러한 에러가 발생합니다. const result = await fetch( `${process.env.NEXT_PUBLIC_API_SERVER_URL}/book/${params.id}` );

  • react
  • typescript
  • next.js
손성오 댓글 3 좋아요 0 조회수 431

캐싱 옵션이 적용되질않아요.

미해결

한 입 크기로 잘라먹는 Next.js

어떠한 옵션을 적용해도 콘솔과 같은데 뭐가 잘못되었을까요? 새로고침이나, 로고를 눌러서 인덱스 파일에 가도 똑같은 로그만 나타납니다.

  • react
  • typescript
  • next.js
트릴 댓글 3 좋아요 0 조회수 224

4.2 React 렌더링 과정 에서 왜 컴포넌트가 두 번씩 호출될까요?

미해결

실무 중심! FE 입문자를 위한 React

/*FunctionalComponent.jsx파일*/ import {useEffect,useState} from 'react'; function FunctionalComponent() { console.log('Function Beginning'); const [value, setValue] = useState(0); useEffect(() => { console.log('Function useEffect[]'); return () => { console.log('Function useEffect return[]'); } },[]); useEffect(() => { console.log('Function useEffect[value]'); return () => { console.log('Function useEffect return[value]'); } },[value]); console.log('Function End'); return ( <div> <h1>!FunctionalComponent</h1> <h1>value: {value}</h1> <button onClick={() => { setValue((state) => state + 1) }} > Increase value </button> </div> ); } export default FunctionalComponent /*App.jsx파일*/ import { useState } from 'react' import reactLogo from './assets/react.svg' import viteLogo from '/vite.svg' import './App.css' import axios from 'axios'; import FunctionalComponent from './practice/FunctionalComponent' function App() { return ( <FunctionalComponent /> ) } export default App

  • react
  • redux
  • node.js
  • sass
  • swr
최상협 댓글 1 좋아요 0 조회수 197

react-beatiful-dnd에서 문제가 발생합니다.

미해결

따라하며 배우는 리액트 A-Z[19버전 반영]

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 기능상에 문제가 있는건 아니지만, 계속해서 아래의 에러가 발생합니다. 사용하고 있는 버전의 문제일까요? { "name": "react-todo-app", "version": "0.1.0", "private": true, "dependencies": { "@testing-library/dom": "10.4.0", "@testing-library/jest-dom": "6.6.3", "@testing-library/react": "16.2.0", "@testing-library/user-event": "13.5.0", "react": "^19.0.0", "react-beautiful-dnd": "13.1.1", "react-dom": "^19.0.0", "react-scripts": "5.0.1", "web-vitals": "2.1.4" }, "scripts": { "start": "react-scripts start", "build": "react-scripts build", "test": "react-scripts test", "eject": "react-scripts eject" }, "eslintConfig": { "extends": [ "react-app", "react-app/jest" ] }, "browserslist": { "production": [ ">0.2%", "not dead", "not op_mini all" ], "development": [ "last 1 chrome version", "last 1 firefox version", "last 1 safari version" ] }, "devDependencies": { "autoprefixer": "10.4.20", "postcss": "8.5.3", "tailwindcss": "3.4.17" } } Lists.js import React from 'react'; import List from './List.js' import { DragDropContext, Draggable, Droppable } from 'react-beautiful-dnd'; const Lists = React.memo(({todoData, setTodoData}) => { // console.log('Lists Component') const handleEnd = (result) => { if(!result.destination) return; const newTodoData = Array.from(todoData); const [reorderedItem] = newTodoData.splice(result.source.index, 1); newTodoData.splice(result.destination.index, 0, reorderedItem); setTodoData(newTodoData); } return <div> <DragDropContext onDragEnd={handleEnd}> <Droppable droppableId='todo'> {(provided, snapshot) => ( <div ref={provided.innerRef} {...provided.droppableProps} > {(todoData ?? []).map((data, index) => ( <Draggable key={data.id} draggableId={data.id.toString()} index={index} > {(provided, snapshot) => ( <List key={data.id} id={data.id} title={data.title} completed={data.completed} provided={provided} snapshot={snapshot} todoData={todoData} setTodoData={setTodoData} /> )} </Draggable> ))} {provided.placeholder} </div> )} </Droppable> </DragDropContext> </div>; }) export default Lists; App.js import React, {useState} from 'react' import "./App.css" import Lists from './components/Lists' import Form from './components/Form' export default function App() { // console.log('App Component') const [todoData, setTodoData] = useState([ { id: 1, title: '운동하기', completed: false, }, { id: 2, title: '공부하기', completed: false, } ]) const [value, setValue] = useState("") return ( <div className="flex items-center justify-center w-screen h-screen bg-blue-100" > <div className='full p-6 m-4 bg-white rounded shadow md:w-3/4 md:max-w-lg lg:w-3/4 lg:max-w-lg'> <div className="flex justify-between mb-3"> <h1>할 일 목록</h1> </div> <Lists todoData={todoData} setTodoData={setTodoData} /> <Form value={value} setValue={setValue} setTodoData={setTodoData}/> </div> </div> ) }

  • react
  • redux
  • tdd
  • typescript
  • next.js
  • 소프트웨어-테스트
  • react-beatiful-dnd
  • isdropdisabled
고유림 댓글 1 좋아요 0 조회수 126

useEffect 관련 질문드립니다.

미해결

실무 중심! FE 입문자를 위한 React

useEffect의 dependency array에 배열을 넣는 경우 "Maximum update depth exceeded." error가 발생하게 되는데, 이 경우는 어떻게 해야하나요? 예를 들어 아래와 같은 상황이라고 가정하겠습니다. 화면에는 테이블 1개만 존재한다. 데이터는 unknown[] 형태이다. 다른 조건에 의해 데이터의 갯수가 달라지는 경우에만 다시 렌더링한다. 코드로 예시를 들면 아래와 같습니다. const [items, setItems] = useState<unknown[]>([]); useEffect(() => void, [items]) 답변주시면 감사합니다.

  • react
  • redux
  • node.js
  • sass
  • swr
이준영 댓글 0 좋아요 0 조회수 145

Error: Route "/search" used `searchParams.q`. `searchParams` should be awaited before using its properties.

해결됨

한 입 크기로 잘라먹는 Next.js

안녕하세요 강사님 해당 오류는 최신버전에서 발생하는건가요?! Error: Route "/search" used searchParams.q . searchParams should be awaited before using its properties. Learn more: https://nextjs.org/docs/messages/sync-dynamic-apis at Page (src/app/(with-searchbar)/search/page.tsx:12:32) 10 | return ( 11 | <div> > 12 | Search 페이지 : {searchParams.q} | ^ 13 | <ClientComponent> 14 | <></> 15 | </ClientComponent> import ClientComponent from "@/components/client-component"; export default function Page({ searchParams, }: { searchParams: { q?: string; } }) { return ( <div> Search 페이지 : {searchParams.q} <ClientComponent> <></> </ClientComponent> </div> ) }

  • react
  • typescript
  • next.js
강프로그래머 댓글 2 좋아요 0 조회수 253

사이트 전체 Route 구조 짜기 영상 10분쯤 코드가 똑같은데 연결이 안되요

해결됨

(2025) MBTI 테스트 기반 수익형 웹사이트 만들기 - <코딩 배워 사업하자>

영상 10분쯤 나오는 파트에서 Main.jsx와 App.jsx 코드를 아예 똑같이 썼는데도 사이트에 연결할 수 없다고 뜹니다 어떻게 해야 하나요 vsc에서는 Main이 선언은 되었지만 해당 값이 읽히지는 않았습니다 ts(6133)이라고 뜯니다

  • react
  • aws
  • Google-Analytics
  • cloudflare
  • adsense
  • 수익화
도도한 염소 댓글 2 좋아요 0 조회수 269

12.18 새 일기 쓰기 페이지 제목 수정 관련

해결됨

한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지

index.html <!doctype html> <html lang="en"> <head> <meta charset="UTF-8" /> <link rel="icon" type="image/svg+xml" href="/vite.svg" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Emotion Diary</title> </head> <body> <div id="root"></div> <script type="module" src="/src/main.jsx"></script> </body> </html> New.jsx import Header from "../components/Header"; import Button from "../components/Button"; import Editor from "../components/Editor"; import { useNavigate } from "react-router-dom"; import { useContext, useEffect } from "react"; import {DiaryDispatchContext} from "../App"; import usePageTitle from "../hooks/usePageTitle"; const New=()=>{ const{onCreate}=useContext(DiaryDispatchContext); const nav=useNavigate(); usePageTitle(`${useParams.id}번 일기 수정`); const onSubmit=(input)=>{ onCreate( input.createdDate.getTime(), input.emotionId, input.content ); nav('/',{replace: true}); }; return ( <div> <Header title={"write new diary"} leftChild={<Button onClick={()=>nav(-1)} text={"< back"}/>} /> <Editor onSubmit={onSubmit}/> </div> ); }; export default New; usePageTitle.jsx import { useEffect } from "react"; const usePageTitle=(title)=>{ useEffect(()=>{ const $title=document.getElementByTagName("title")[0]; $title.innerText=title; },[title]); }; export default usePageTitle; 이전 과정까지는 문제없었는데 12.18에 있는 새일기 쓰기 페이지에 들어왔을 때 페이지에 아무것도 뜨지 않는 문제가 발생하는데 어떤게 문제일까요

  • javascript
  • react
  • node.js
진성원 댓글 2 좋아요 0 조회수 109

실습 코드 있을까요?

미해결

처음 만난 리액트(React)

안녕하세요 감사하게도 강의 잘 듣고있습니다. 혹시 실습한 코드를 받을 수 있는 git 있을까요? 개발환경 버전이 달라서 그런지 챕터6하는데 원치않게 동작하는게 있어서요

  • HTML/CSS
  • javascript
  • react
호호하하 댓글 2 좋아요 1 조회수 231

단축키 질문입니다.

미해결

코드로 배우는 React 19 with 스프링부트 API서버

DTO와 인증 서비스 2분 33초에서 35초 사이에 코드가 갑자기 생기는데요. 혹시 어떤 단축키 눌른건지 알 수 있을까요? Alt + Insert 눌러도 super까지 포함된 메소드는 나오지 않아서요. public MemberDTO(String email, String pw, String nickname, boolean social, List<String> roleNames) { super( email, pw, roleNames.stream().map(str -> new SimpleGrantedAuthority("ROLE_"+str)).collect(Collectors.toList())); this.email = email; this.pw = pw; this.nickname = nickname; this.social = social; this.roleNames = roleNames; }

  • react
  • spring-boot
  • jpa
  • jwt
  • redux-toolkit
zzzzz 댓글 1 좋아요 0 조회수 56

서비스계층과 컨트롤러(3) 질문있습니다.

미해결

코드로 배우는 React 19 with 스프링부트 API서버

서비스계층과 컨트롤러(3)-상품수정 5분 42초에서 uuid값은 화면쪽에서 처리되면서 붙는다는게 무슨 의미인지 알 수 있을까요? @Override public void modify(ProductDTO productDTO) { //step1 read Optional<Product> result = productRepository.findById(productDTO.getPno()); Product product = result.orElseThrow(); //change pname, pdesc, price product.changeName(productDTO.getPname()); product.changeDesc(productDTO.getPdesc()); product.changePrice(productDTO.getPrice()); product.changeKeyword(product.getKeyword()); //upload File -- clear first 내용이 있을 수도 있기 때문에. product.clearList(); List<String> uploadFileNames = productDTO.getUploadFileNames(); if(uploadFileNames != null && uploadFileNames.size() > 0 ){ uploadFileNames.stream().forEach(uploadName -> { product.addImageString(uploadName); }); } productRepository.save(product); } CustomFileUtil에서 saveFiles메소드에서 List<String> uploadNames = new ArrayList<>(); 배열을 선언하고 ProductServiceImp에서는 product.clearList();로 있던 배열에서 내용을 지우면서 사용하는데요. CustomFileUtil클래스 에서 데이터 베이스 1행에 저장할 리스트 생성해주고 그 리스트를 수정하는 역할이 product.clearList(); 인가요?

  • react
  • spring-boot
  • jpa
  • jwt
  • redux-toolkit
zzzzz 댓글 2 좋아요 0 조회수 70

router.replace를 하는데 setCurrent에서 변경한 상태가 유지?

미해결

Next + React Query로 SNS 서비스 만들기

라우터가 이동하면 상태가 초기화 됐던걸로 아는데, setCurrent는 왜 계속 유지가 되나요? 쉘로우 라우팅도 아닌데,,, 제가 잘못알고있나요?

  • react
  • next.js
  • react-query
  • next-auth
  • msw
트릴 댓글 2 좋아요 0 조회수 184

로그인 실패 로직 질문

미해결

코드로 배우는 React 19 with 스프링부트 API서버

현재 APILoginFailHandler에서 로그인 실패 처리를 하고 있는데 CustomUserDetailService에서 굳이 예외를 던질 필요가 있는지 궁금합니다. 제가 이해한 바로는 loadUserByUsername에서 제대로 로그인 처리가 안되면 failHandler가 실행되는 것으로 이해했는데 왜 여기서 예외를 던지는지 궁금합니다.

  • react
  • spring-boot
  • jpa
  • jwt
  • redux-toolkit
yso829612 댓글 2 좋아요 0 조회수 64

REST 방식 컨트롤러 만들기에서 익스플로러에 데이터 값이 출력 안됩니다

미해결

코드로 배우는 React 19 with 스프링부트 API서버

TodoController 파일 만들고 Api서버로 스프링 기동시키고 todo경로에 tno 값을 입력해도 익스플로러 화면에 제이슨데이터 값이 표시되지 않습니다 DB상에 있는 데이터로 입력을 해도 나오지 않는 걸 보면 제이슨 설정이 잘못된게 아닌가 싶은데 답변 부탁드립니다 아래에 로그 남겨둡니다 오전 11:13:21: 실행 중 ':org.zerock.apiserver.ApiserverApplication.main()'… Starting Gradle Daemon... Gradle Daemon started in 915 ms > Task :clean > Task :compileJava > Task :processResources > Task :classes > Task :org.zerock.apiserver.ApiserverApplication.main() . ____ _ __ _ _ /\\ / ___'_ __ _ ( )_ __ __ _ \ \ \ \ ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/ ___)| |_)| | | | | || (_| | ) ) ) ) ' |____| .__|_| |_|_| |_\__, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot :: (v3.4.1) 2025-03-01T11:13:29.675+09:00 INFO 12000 --- [apiserver] [ restartedMain] o.zerock.apiserver.ApiserverApplication : Starting ApiserverApplication using Java 21.0.5 with PID 12000 (C:\Users\zzamp\Desktop\apiserver\apiserver\build\classes\java\main started by zzamp in C:\Users\zzamp\Desktop\apiserver) 2025-03-01T11:13:29.678+09:00 INFO 12000 --- [apiserver] [ restartedMain] o.zerock.apiserver.ApiserverApplication : No active profile set, falling back to 1 default profile: "default" 2025-03-01T11:13:29.704+09:00 INFO 12000 --- [apiserver] [ restartedMain] .e.DevToolsPropertyDefaultsPostProcessor : Devtools property defaults active! Set 'spring.devtools.add-properties' to 'false' to disable 2025-03-01T11:13:29.704+09:00 INFO 12000 --- [apiserver] [ restartedMain] .e.DevToolsPropertyDefaultsPostProcessor : For additional web related logging consider setting the 'logging.level.web' property to 'DEBUG' 2025-03-01T11:13:30.098+09:00 INFO 12000 --- [apiserver] [ restartedMain] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode. 2025-03-01T11:13:30.139+09:00 INFO 12000 --- [apiserver] [ restartedMain] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 35 ms. Found 1 JPA repository interface. 2025-03-01T11:13:30.495+09:00 INFO 12000 --- [apiserver] [ restartedMain] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port 8080 (http) 2025-03-01T11:13:30.506+09:00 INFO 12000 --- [apiserver] [ restartedMain] o.apache.catalina.core.StandardService : Starting service [Tomcat] 2025-03-01T11:13:30.506+09:00 INFO 12000 --- [apiserver] [ restartedMain] o.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.34] 2025-03-01T11:13:30.539+09:00 INFO 12000 --- [apiserver] [ restartedMain] o.a.c.c.C.[Tomcat].[ localhost ].[/] : Initializing Spring embedded WebApplicationContext 2025-03-01T11:13:30.539+09:00 INFO 12000 --- [apiserver] [ restartedMain] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 835 ms 2025-03-01T11:13:30.669+09:00 INFO 12000 --- [apiserver] [ restartedMain] o.hibernate.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [name: default] 2025-03-01T11:13:30.725+09:00 INFO 12000 --- [apiserver] [ restartedMain] org.hibernate.Version : HHH000412: Hibernate ORM core version 6.6.4.Final 2025-03-01T11:13:30.754+09:00 INFO 12000 --- [apiserver] [ restartedMain] o.h.c.internal.RegionFactoryInitiator : HHH000026: Second-level cache disabled 2025-03-01T11:13:30.942+09:00 INFO 12000 --- [apiserver] [ restartedMain] o.s.o.j.p.SpringPersistenceUnitInfo : No LoadTimeWeaver setup: ignoring JPA class transformer 2025-03-01T11:13:30.966+09:00 INFO 12000 --- [apiserver] [ restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting... 2025-03-01T11:13:31.039+09:00 INFO 12000 --- [apiserver] [ restartedMain] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Added connection org.mariadb.jdbc.Connection@77e52237 2025-03-01T11:13:31.040+09:00 INFO 12000 --- [apiserver] [ restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed. 2025-03-01T11:13:31.082+09:00 INFO 12000 --- [apiserver] [ restartedMain] org.hibernate.orm.connections.pooling : HHH10001005: Database info: Database JDBC URL [Connecting through datasource 'HikariDataSource (HikariPool-1)'] Database driver: undefined/unknown Database version: 10.11.10 Autocommit mode: undefined/unknown Isolation level: undefined/unknown Minimum pool size: undefined/unknown Maximum pool size: undefined/unknown 2025-03-01T11:13:31.519+09:00 INFO 12000 --- [apiserver] [ restartedMain] o.h.e.t.j.p.i.JtaPlatformInitiator : HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration) 2025-03-01T11:13:31.555+09:00 INFO 12000 --- [apiserver] [ restartedMain] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' 2025-03-01T11:13:31.810+09:00 WARN 12000 --- [apiserver] [ restartedMain] JpaBaseConfiguration$JpaWebConfiguration : spring.jpa.open -in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open -in-view to disable this warning 2025-03-01T11:13:32.040+09:00 INFO 12000 --- [apiserver] [ restartedMain] o.s.b.d.a.OptionalLiveReloadServer : LiveReload server is running on port 35729 2025-03-01T11:13:32.059+09:00 INFO 12000 --- [apiserver] [ restartedMain] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port 8080 (http) with context path '/' 2025-03-01T11:13:32.064+09:00 INFO 12000 --- [apiserver] [ restartedMain] o.zerock.apiserver.ApiserverApplication : Started ApiserverApplication in 2.638 seconds (process running for 2.905) 2025-03-01T11:13:57.170+09:00 INFO 12000 --- [apiserver] [nio-8080-exec-1] o.a.c.c.C.[Tomcat].[ localhost ].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet' 2025-03-01T11:13:57.170+09:00 INFO 12000 --- [apiserver] [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet' 2025-03-01T11:13:57.171+09:00 INFO 12000 --- [apiserver] [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 1 ms Hibernate: select t1_0.tno,t1_0.complete,t1_0.content,t1_0.due_date,t1_0.title from tbl_todo t1_0 where t1_0.tno=? Hibernate: select t1_0.tno,t1_0.complete,t1_0.content,t1_0.due_date,t1_0.title from tbl_todo t1_0 where t1_0.tno=? Hibernate: select t1_0.tno,t1_0.complete,t1_0.content,t1_0.due_date,t1_0.title from tbl_todo t1_0 where t1_0.tno=?

  • react
  • spring-boot
  • jpa
  • jwt
  • redux-toolkit
wjdwoals042 댓글 4 좋아요 0 조회수 162

[5-13] useLikePost 쿼리 에서 onError 부분 key 코드 오류입니다.

해결됨

아바타 커뮤니티앱 만들기 (React Native Expo)

onError: (err, variables, context) => { queryClient.setQueryData( [queryKeys.POST, queryKeys.GET_POST, context?.newPost.id], context?.previousPost, ) }, queryKey array index 2에 context 말고, context?.newPost.id 가 들어가야할 것 같아요 context 안에 newPost previousPost 객체가 들어있어서 다른 key 가 생성됩니다. REF 링크

  • javascript
  • react
  • react-native
  • typescript
  • react-query
사당동 댓글 2 좋아요 0 조회수 134

bulk_update에서 updated_at 필드

해결됨

파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트 (장고 4.2 기준)

안녕하세요! 해당 수업에서 django shell에서 update 부분 실습하다가 결과 값에 의문이 생겨 질문드립니다. 이 부분에서 auto_now=True 필드도 같이 bulk_update 함수의 인자인 fields 에 지정해야만 해당 필드도 같이 업데이트 된다고 하셨는데 제 코드에서는 updated_at 필드의 값이 업데이트 되지 않았습니다. 제가 나름대로 이해한 바로는 bulk_update 는 따로 save 를 호출하지 않기 때문에 updated_at 을 fields 인자에 추가해주더라도 변한 값이 없어서 업데이트가 되지 않는 걸까요? 그렇다면 제대로 updated_at 도 업데이트 되게끔 하기 위해서는 따로 post.updated_at = timezone.now() 를 title 수정할 때 해주어야 하는 걸까요?

  • react
  • python
  • django
  • web-api
  • htmx
김은혜 댓글 1 좋아요 0 조회수 149

next 에러 로그 관련 질문

해결됨

한 입 크기로 잘라먹는 Next.js

현재 RecoBooks 함수 정의가 위와 같고, 3초마다 캐시를 업데이트하는 속성이 설정되어 있습니다. 그런데 저는 강사님처럼 error 노출이 되지 않고 캐시되어 있는 동일한 랜덤 도서 목록이 계속 나오고 있습니다. 아래는 npm run dev로 실행했을 때 나온 로그입니다. 여기서 하나 더 궁금한게 있는데 현재 전체 도서 목록을 불러오는 fetch 함수는 요청한 결과를 무조건 캐싱하는 속성이 설정되어 있습니다. 그런데 제 로그를 보면 http://localhost:12345/book 이 api가 두 번 호출되고 있습니다. request memoization이 호출이 안되는 거 같은데 데이터 캐시가 우위적으로 호출되는 건가요??

  • react
  • typescript
  • next.js
jwcheon 댓글 1 좋아요 0 조회수 199

인기 태그

인프런 TOP Writers

주간 인기글