묻고 답해요
148만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
[감정 일기 프로젝트] 방금 생성한 일기를 수정하였을 경우 오류 발생
감정 일기 프로젝트에서 "Edit 페이지 구현하기"까지 공부한 상황입니다. 구현하고 나서 강사님 설명대로 동작 시켜 보니 잘 동작하더군요. 그런데 제가 이것 저것 동작을 체크하면서 방금 생성한 일기를 다시 수정하고 나서 작성완료 버튼을 눌렀더니, Diary list에 방금 수정한 목록이 두 개가 나타나고, 이전 달의 Diary list가 사라지는 현상이 발생하였습니다. 그래서 제가 어느 부분을 잘못 코딩하였는지 확인하고자 강사님이 제공한 Git 사이트의 코드와 제가 작성한 코드를 일일이 비교해 보았지만 차이점을 발견하지 못하였습니다. 강사님은 이런 현상이 발생하지 않았는지요? 또한 어떻게 이 문제를 해결할 수 있을까요?
-
해결됨한 입 크기로 잘라먹는 Next.js(v15)
선생님 리뷰 에디터의 input관련 질문드립니다.
선생님 review-editor.tsx 파일에서 기존 리액트와는 다른게 onChange나 value useState를 활용하여 input의 상태값을 따로 설정 안하는데 이건 왜 안하는걸까요? search-bar에서는 그렇게 동작하도록 한거 같은데 무슨 차이인지 설명좀 부탁드려도 될까요?! 여러 지식들이 이제 막 충돌하기 시작했습니다 ㅠㅠ
-
미해결코드로 배우는 React with 스프링부트 API서버
9강 kakao api로 아이디 생성 후 오류
9강 리액트 사용자 정보 수정 중에 kakao api 연동해서 그전까지 잘되는데, 디비에 카카오 사용자 정보가 없는 상태에서 로그인을 하면 디비에 member와 member_member_role_list 두 테이블 사용자가 잘 생성됩니다. 서버에는 getClaims 함수실행에서 오류가 발생하고 DTO에 정보를 못찾는다는거 같은 오류인거 같은데화면상에는 이렇게 나옵니다.새로고침 후의 상태이고그냥 localhost:3000 으로 다시 들어가서 로그인을 하면 디비에는 카카오사용자가 생성이 된 상태라 로그인이 잘됩니다.... 원인이 무엇일까요@GetMapping("/api/member/kakao") public Map<String, Object> getMemberFromKakao(String accessToken) { log.info("access Token : {}", accessToken); MemberDTO memberDTO = memberService.getKakaoMember(accessToken); Map<String, Object> claims = memberDTO.getClaims(); String jwtAccessToken = JWTUtil.generateToken(claims, 10); String jwtRefreshToken = JWTUtil.generateToken(claims, 60 * 24); claims.put("accessToken", jwtAccessToken); claims.put("refreshToken", jwtRefreshToken); return claims; }public Map<String, Object> getClaims() { Map<String, Object> dataMap = new HashMap<>(); dataMap.put("email", email); dataMap.put("pw", pw); dataMap.put("nickname", nickname); dataMap.put("social", social); dataMap.put("roleNames", roleNames); return dataMap; }import axios from "axios" import { API_SERVER_HOST } from "./todoApi" const rest_api_key = `` const redirect_uri = `http://localhost:3000/member/kakao` const auth_code_path = `https://kauth.kakao.com/oauth/authorize` const access_token_url =`https://kauth.kakao.com/oauth/token` export const getKakaoLoginLink = () => { const kakaoURL = `${auth_code_path}?client_id=${rest_api_key}&redirect_uri=${redirect_uri}&response_type=code` return kakaoURL } export const getAccessToken = async (authCode) => { const header = { headers: { "Content-Type": "application/x-www-form-urlencoded", } } const params = { grant_type: "authorization_code", client_id: rest_api_key, redirect_uri: redirect_uri, code: authCode } const res = await axios.post(access_token_url, params, header) const accessToken = res.data.access_token return accessToken } export const getMemberWithAccessToken = async (accessToken) => { const res = await axios.get(`${API_SERVER_HOST}/api/member/kakao?accessToken=${accessToken}`) return res.data }rest_api_key에 restkey입력되어있습니다.
-
해결됨Supabase, Next 풀 스택 시작하기 (feat. 슈파베이스 OAuth, nextjs 14)
Direct connection / Transaction pooler / Session pooler 차이가 무엇인가요?
Supabase 가 업데이트 되면서, 강의 화면과 다른 부분이 있어서 질문드립니다.Direct connection / Transaction pooler / Session pooler 차이가 무엇인가요?강의를 따라가기 위해 Transaction pooler 를 사용해서 연결은 하긴 했습니다.
-
해결됨한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
맥북 사용하시는 분 들 단축키 알려 드립니다.
맥북 사용하시는 분들 Command + L Command + O 누르면 Live Server가 자동으로 오픈됩니다.
-
미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트 (장고 4.2 기준)
공유자님 이 강의 공부 방법에 대한 질문입니다.
이 강의는 어떤 식으로 접근해야 되나요?이런 것이 있구나~ 라고 생각하고 넘어가야 하나요? 아니면 하나하나 다 알아가면서 넘어가는 것이 좋나요?
-
해결됨React, Node.js, MongoDB로 만드는 나만의 회사 웹사이트: 완벽 가이드
tailwind css 버젼 다름문제
노션에 링크에 들어가면 https://tailwindcss.com/docs/installation/using-vite여기로 옮겨지는데 강의 내용과 완전히 다른 터미널 명령어를 알려줍니다. 홈페이지말고 강의 처럼 따라하니깐 init 부분에서 npm error could not determine executable to runnpm error A complete log of this run can be found in: C:\Users\shin\AppData\Local\npm-cache\_logs\2025-02-11T09_22_29_046Z-debug-0.log이런 오류가 뜨는데 새로 변경된 홈페이지를 따라해야하나요?따라해야한다면 어떻게 하면될까요?
-
해결됨한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
useEffect와 useMemo 차이점에 대해서
안녕하세요 설명해주신 useMemo의 역할이 재랜더링 되는 경우 컴포넌트를 랜더링 특정 경우에만 재랜더링 하도록 하고 그 외는 그대로 값을 두는 것으로 성능을 증가 시키는 개념으로 이해를 했습니다. 지난 시간에 알려주신 useEffect의 경우도 deps에 값을 지정해주면 그 상태에 따라서면 랜더링을 진행하는데 차이점이 있나요?
-
해결됨한 입 크기로 잘라먹는 Next.js(v15)
Next.js 디버깅 방법 질문드립니다.
강사님 안녕하세요. 수업 내용 외의 질문 드립니다.강사님께서는 Next.js 프레임워크를 사용하실 때 어떻게 디버깅하시는지 궁금합니다. 구글링을 통해서 vscode에서 launch.json 설정을 한다든가 하는 글은 봤는데 제가 설정을 잘못했는지 잘 동작하지 않기도 하고 Next.js 환경에서의 디버깅 설정에 대한 글이 많이 없더라구요.그래서 Next.js 이용 개발자들은 디버깅 툴을 따로 사용하지 않고 개발하는지, 강사님께서 디버깅을 하신다면 어떻게 하시는지 궁금합니다.
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
node.js 설치 질문
문제1 vcs내에 cmd에서는 node -v, npm -v의 버전이 잘 나오는데 bit bash 환경에서는 사진과 같이 오류가 나옵니다 어러번 node.js를 삭제하고 깔아봤는데 계속 이럽니다문제2git bash환경에서 오류가 떠 cmd에서 시도를 해보았습니다.명령프롬프트(cmd)에서는 node, npm, yarn의 버전이 잘 나오지만vsc내에 cmd에서는 나머지의 버전은 잘 나오지만 yarn의 버전이 나오질 않습니다.버전을 모두 확인 후 npx create-next-app를 해야하는데 앞의 문제들 때문에 그런지 npx create-next-app가 실행이 되지 않습니다.초반 세팅 과정 때문에 시간을 너무 잡아먹는 것 같아요 도와주세요 ㅠㅠ
-
해결됨한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
날짜를 비교하는 방법 문의드립니다.
🚨 아래의 가이드라인을 꼭 읽고 질문을 올려주시기 바랍니다 🚨해당 강의에서 날짜를 해당 월의 1일 0시0분0초부터 말일의 23시 59분 59초 설정해서 범위로 해당되는 값을 찾을 수 있또록 아래와 같이 작성을 하셨는데요beginTime <= item.createdDate && item.createdDate <= endTime궁금한 부분은 날짜를 범위 안에 넣지 않고 같은 연도와 월이 있는 값을 불러오는 방법도 있을 것 같은데 어떤 차이가 있는지 알고 싶습니다.
-
미해결Next + React Query로 SNS 서비스 만들기
package.json의 dependencies와 devDependencies의 차이
강의 잘 듣고 있습니다. dependencies와 devDependencies의 차이에 대해서 궁금한데요, 둘의 차이점은 앱 배포 시 포함이 되느냐 안되느냐의 차이로 알고 있습니다. 그런데 tanstack-query나, date-fns를 devDependencies에 설치하고 vercel에 배포를 하더라도 배포된 프로덕션 환경에서 정상적으로 작동하는데요, 이에 대한 챗 gpt의 답변은 다음과 같습니다. Vercel의 배포 프로세스Vercel은 next build를 실행하여 프로젝트를 빌드하고, 필요한 의존성을 설치합니다. 이때 dependencies와 devDependencies 모두가 설치됩니다.배포 환경에서도 devDependencies의 패키지가 포함될 수 있는 이유는 Next.js의 빌드 시점에 이 패키지가 필요하기 때문입니다.예를 들어, @tanstack/react-query는 런타임에 필요한 라이브러리인데, 이를 devDependencies에 넣어두었더라도 next build 과정에서 번들된 코드에 포함됩니다. 따라서 Vercel에서 배포 후에도 런타임에 사용 가능합니다.React Query와 런타임 의존성@tanstack/react-query는 런타임에 작동해야 하는 의존성입니다. 따라서 빌드 결과물에 포함되며, devDependencies에 설치된 상태라도 번들링 과정에서 런타임에 필요한 모든 코드를 포함합니다.@tanstack/react-query-devtools는 개발 도구용이지만, 프로덕션 환경에서는 기본적으로 UI가 렌더링되지 않아 에러를 발생시키지 않습니다.dependencies와 devDependencies의 차이dependencies: 런타임에 반드시 필요한 의존성.devDependencies: 개발 및 빌드 단계에서만 필요한 의존성.Next.js에서는 빌드 과정에서 사용하는 패키지든, 런타임에 사용하는 패키지든 모두 번들링되기 때문에 devDependencies에 패키지가 있어도 문제가 없는 것처럼 보일 수 있습니다.Vercel이 에러 없이 작동하는 이유@tanstack/react-query는 devDependencies에 있지만, 빌드 과정에서 번들링되어 클라이언트 코드로 전달되었기 때문에 런타임에서 정상적으로 작동합니다.프로덕션 환경에서 ReactQueryDevtools가 기본적으로 비활성화 상태라 에러가 뜨지 않습니다.답변이 잘 이해가 안되어서 그러는데 빌드 시점에 dependencies와 devDependencies에 있는 모든 라이브러리가 설치되는건가요? 아니면 devDependencies에 있는 라이브러리라도 런타임 시점에 필요하다면 빌드 시에 설치가 되어 프로덕션 환경에 포함되는건가요?제가 이해한 바로는, devDependencies에 있는 라이브러리더라도, 런타임 환경에서 필요한 라이브러리라면 알아서 분류하여 프로덕션 환경에 포함되도록 설치한다고 이해하였는데, 이렇게 된다면 dependencies와 devDependencies의 경계가 모호해지는 것 아닌가요?
-
미해결코드로 배우는 React with 스프링부트 API서버
DTO 설정과 서비스계층 만들기 강의에서 TodoServiceTests를 실행시켰는데 에러가 발생했습니다
강의를 따라서 코딩하고 실행시켜 봤는데 아래와 같은 내용으로 에러가 발생했습니다. 어떤 곳이 문제가 있는 알려 주신다면 감사하겠습니다.혹시 확인하고 싶으신 게 있다면 알려 주셨으면 합니다. :: Spring Boot :: (v3.4.1)2025-02-11T11:28:59.109+09:00 INFO 2836 --- [apiserver] [ Test worker] o.z.apiserver.service.TodoServiceTests : Starting TodoServiceTests using Java 21.0.5 with PID 2836 (started by zzamp in C:\Users\zzamp\Desktop\apiserver\apiserver)2025-02-11T11:28:59.110+09:00 INFO 2836 --- [apiserver] [ Test worker] o.z.apiserver.service.TodoServiceTests : No active profile set, falling back to 1 default profile: "default"2025-02-11T11:28:59.445+09:00 INFO 2836 --- [apiserver] [ Test worker] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode.2025-02-11T11:28:59.484+09:00 INFO 2836 --- [apiserver] [ Test worker] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 32 ms. Found 1 JPA repository interface.2025-02-11T11:28:59.760+09:00 INFO 2836 --- [apiserver] [ Test worker] o.hibernate.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [name: default]2025-02-11T11:28:59.801+09:00 INFO 2836 --- [apiserver] [ Test worker] org.hibernate.Version : HHH000412: Hibernate ORM core version 6.6.4.Final2025-02-11T11:28:59.824+09:00 INFO 2836 --- [apiserver] [ Test worker] o.h.c.internal.RegionFactoryInitiator : HHH000026: Second-level cache disabled2025-02-11T11:28:59.996+09:00 INFO 2836 --- [apiserver] [ Test worker] o.s.o.j.p.SpringPersistenceUnitInfo : No LoadTimeWeaver setup: ignoring JPA class transformer2025-02-11T11:29:00.015+09:00 INFO 2836 --- [apiserver] [ Test worker] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting...2025-02-11T11:29:00.071+09:00 INFO 2836 --- [apiserver] [ Test worker] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Added connection org.mariadb.jdbc.Connection@72f24a842025-02-11T11:29:00.073+09:00 INFO 2836 --- [apiserver] [ Test worker] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed.2025-02-11T11:29:00.107+09:00 INFO 2836 --- [apiserver] [ Test worker] 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/unknown2025-02-11T11:29:00.552+09:00 INFO 2836 --- [apiserver] [ Test worker] o.h.e.t.j.p.i.JtaPlatformInitiator : HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration)2025-02-11T11:29:00.580+09:00 INFO 2836 --- [apiserver] [ Test worker] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default'2025-02-11T11:29:00.892+09:00 WARN 2836 --- [apiserver] [ Test worker] 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 warning2025-02-11T11:29:01.216+09:00 INFO 2836 --- [apiserver] [ Test worker] o.z.apiserver.service.TodoServiceTests : Started TodoServiceTests in 2.251 seconds (process running for 3.134)Mockito is currently self-attaching to enable the inline-mock-maker. This will no longer work in future releases of the JDK. Please add Mockito as an agent to your build what is described in Mockito's documentation: https://javadoc.io/doc/org.mockito/mockito-core/latest/org/mockito/Mockito.html#0.3WARNING: A Java agent has been loaded dynamically (C:\Users\zzamp\.gradle\caches\modules-2\files-2.1\net.bytebuddy\byte-buddy-agent\1.15.11\a38b16385e867f59a641330f0362ebe742788ed8\byte-buddy-agent-1.15.11.jar)WARNING: If a serviceability tool is in use, please run with -XX:+EnableDynamicAgentLoading to hide this warningWARNING: If a serviceability tool is not in use, please run with -Djdk.instrument.traceUsage for more informationWARNING: Dynamic loading of agents will be disallowed by default in a future releaseHibernate: 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=?No value presentjava.util.NoSuchElementException: No value present at java.base/java.util.Optional.orElseThrow(Optional.java:377) at org.zerock.apiserver.service.TodoServiceImpl.get(TodoServiceImpl.java:24) at org.zerock.apiserver.service.TodoServiceTests.testGet(TodoServiceTests.java:20) at java.base/java.lang.reflect.Method.invoke(Method.java:580) at java.base/java.util.ArrayList.forEach(ArrayList.java:1596) at java.base/java.util.ArrayList.forEach(ArrayList.java:1596)Java HotSpot(TM) 64-Bit Server VM warning: Sharing is only supported for boot loader classes because bootstrap classpath has been appended> Task :testTodoServiceTests > testGet() FAILED java.util.NoSuchElementException at TodoServiceTests.java:20타깃 VM에서 연결 해제되었습니다. 주소: 'localhost:4408', 전송: '소켓'2025-02-11T11:29:32.264+09:00 INFO 2836 --- [apiserver] [ionShutdownHook] j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default'2025-02-11T11:29:32.265+09:00 INFO 2836 --- [apiserver] [ionShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown initiated...2025-02-11T11:29:32.268+09:00 INFO 2836 --- [apiserver] [ionShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown completed.> Task :test FAILED1 test completed, 1 failedFAILURE: Build failed with an exception.* What went wrong:Execution failed for task ':test'.> There were failing tests. See the report at: file:///C:/Users/zzamp/Desktop/apiserver/apiserver/build/reports/tests/test/index.html* Try:> Run with --scan to get full insights.BUILD FAILED in 36s5 actionable tasks: 5 executed
-
미해결[2024] 비전공자도 가능한 React Native 앱 개발 마스터클래스
num 타입관련해서 문의드립니다
const TypedNumber = (num : any) => { setNumber((prev) => { if (prev === "0") return num; return prev+ num; }); }; num 타입으로 인해 오류가 나서 any로 지정을 해야만 하는데요.. 강사님 코드에는 any 타입을 지정안해 오류가 아나는데 차이가 뭔가요?
-
해결됨[코드캠프] 부트캠프에서 만든 '완벽한' 프론트엔드 코스
JS 파일이 IDE(Cursor)에서 출력되지 않아요...
사진과 같구요. Node.js, Code Runner 설치했습니다.오류 코드도 구글링해 봤는데 해결 방법을 못 찾겠어서 올려 봅니당...
-
해결됨한 입 크기로 잘라먹는 Next.js(v15)
백엔드 실습용 서버 질문있습니다.
안녕하세요 실습용 백엔드 서버에 대해 궁금한점이 있습니다. 강의에서 한입북스라는 서버를 가지고 실습을 하는데 이 서버는 날씨api, 영화api와 같이 그냥 도서 데이터가 들어있는걸 가져온다는건가요? 아니면 서버사이드렌더링으로 만들어 놓은 페이지 같은걸 가져오기 위함인가요?
-
미해결Next.js 시작하기
ESLint + Prettier 설정 관련해서 질문있습니다
Prettier을 비활성화했음에도 어디서 오류가 나는지 모르겠습니다.
-
미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트 (장고 4.2 기준)
mydjango.py 질문 있습니다.
vscode (windows)사용기존) mydjango02 폴더--> django 설치 --> startproject --> manage.py 생성 질문 1)mydjango 03 폴더 --> django 설치 --> django runserver가 돌아가지 않습니다.질문 2)이전에 따라하기에선 django runserver가 돌아갔었는데 디버그시 mydjango.py가 나타나지 않았습니다. 그래서 실습을 기존에 설치된 manage.py로 했는데 제가 어느 부분에서 실수 할 가능성이 있을까요?
-
해결됨한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
7.2강의 useEffect에 관한 질문입니다.
useState대신 useEffect를 사용하는 이유는 이벤트핸들러 동작시 useState는 비동기를 제공하지 않아 setCount가 동작을 마치기 전 console.log가 실행되어 setCount이후 적용되는 count를 console에 찍지 못하고 리렌더링되기 이전의 state만 console에 찍히기 때문에 useState대신 useEffect를 사용한다고 하셔서 혹시나 하고 useEffect대신 useState를 사용하고 대신 이벤트 핸들러에 async await를 적용했더니 useEffect에서 제공하는 기능이 실행되는것을 확인했습니다.여기서 궁금한점은 useState+async await와 useEffect간의 차이점을 알고싶습니다. const onClickHandler = async (value) => { await setCount(count+value) console.log(count) }
-
해결됨한 입 크기로 잘라먹는 Next.js(v15)
module.css 에 대해 문의드립니다.
module.css 에서 :global 에 대한 궁증즘이 생겨 문의드립니다.1번 방법.header { height: 60px; font-weight: bold; font-size: 18px; line-height: 60px; :global(a) { color: black; text-decoration: none; } }2번 방법.header { height: 60px; font-weight: bold; font-size: 18px; line-height: 60px; :global { a { color: black; text-decoration: none; } } } 3번 방법:global(a) { color: black; text-decoration: none; } 4번 방법:global .header a { color: black; text-decoration: none; } 위 방법 모두 아래와 같은 에러가 뜨고 있습니다.Selector ":global" is not pure (pure selectors must contain at least one local class or id)제가 숙지하기로는 css nested 문법은 최신문법으로 sass,postcss 등이 없어도 지원이 되고있는 걸로 알고 있어서 처음에는sass,postcss 등 설치없이 진행했다가 안되서 모두 설치해 보고 위를 모두 실행해 봤는데도 같은 에러가 나고 있습니다.어떻게 하면 에러가 나지 않을까요?참고로 저는 퍼블리셔로 일하고 있는데 현재 일하고 있는 프로젝트에서는 :global 을 아래와 같이 사용하고 있는 중입니다..header { height: 60px; font-weight: bold; font-size: 18px; line-height: 60px; :global { a { color: black; text-decoration: none; } } }여기 프로젝트 소스가 복잡하기도 하고 얕은 지식으로 분석을 해보긴 했으나 해결이 안되고 있습니다.한입 넥스트를 진행하면서 :global 를 적용하려고 테스트해봤지만 잘 안되어 문의드리오니 소중한 답변 부탁드립니다.