inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

nav('/', { replace: true }); 뒤로가기 방지

해결됨

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

import Header from '../components/Header'; import Button from '../components/Button'; import Editor from '../components/Editor'; import { useNavigate } from 'react-router-dom'; import { useContext } from 'react'; import { DiaryDispatchContext } from '../App'; const New = () => { const nav = useNavigate(); const { onCreate } = useContext(DiaryDispatchContext); const onSubmit = (input) => { onCreate(input.createdDate.getTime(), input.emotionId, input.content); nav('/', { replace: true }); }; return ( <div> <Header title={'새 일기 쓰기'} leftChild={ <Button text={'< 뒤로 가기'} onClick={() => { nav(-1); }} /> } /> <Editor onSubmit={onSubmit} /> </div> ); }; export default New; 여기서 nav('/', {replace:true});로 뒤로가기(New 페이지로 가는 것)를 방지했는데, 뒤로가기를 한 번 눌렀을 때는 잘 동작하는데 두 번 눌렀을 때부터 뒤로 가집니다. 혹시 원래 이런건가요? 아니면 제가 뭔가 잘못한건가요?

  • javascript
  • react
  • node.js
양성준 댓글 2 좋아요 0 조회수 251

코드 구현한 부분에서 Disconnect()함수가 동시 실행되는 경우가 있나요?

미해결

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버

여러 스레드에 의해 동시에 Disconnect()가 여러번 실행되는 걸 막으려고 Interlocked를 사용하여 처리한다고 하셨는데 현재 Session#1 강의 코드까지는 위와 같은 상황이 발생할 부분이 보이지 않는다고 생각하는데 맞을까요?

  • C#
  • unity
  • 네트워크
동혁 댓글 2 좋아요 0 조회수 206

QUIZ8 질문입니다.

미해결

나도코딩의 자바 기본편 - 풀코스 (20시간)

package chap_08.camera; import chap_08.detector.AccidentDetector; import chap_08.detector.Detectable; import chap_08.reporter.Reportable; import chap_08.reporter.VideoReporter; public class SpeedCam extends Camera{ private Detectable detector; private Reportable reporter; public void setDetector(Detectable detector) { this.detector = detector; } public void setReporter(Reportable reporter) { this.reporter = reporter; } @Override public void showMainFearture() { System.out.println("속도 측정, 번호 인식"); } public void detect(){ this.detector.detect(); } public void report(){ this.reporter.report(); } public void setDetector(AccidentDetector accidentDetector) { } public void setReporter(VideoReporter videoReporter) { } } package chap_08; import chap_08.camera.SpeedCam; import chap_08.detector.AccidentDetector; import chap_08.reporter.VideoReporter; public class _Quiz_08 { public static void main(String[] args) { SpeedCam speedCam = new SpeedCam(); speedCam.setDetector(new AccidentDetector()); speedCam.setReporter(new VideoReporter()); speedCam.detect(); speedCam.report(); } } 전부 다 강의 보면서 쳤는데 저렇게 에러가 떠서요. 뭐가 문제일까요?

  • java
  • 객체지향
이승언 댓글 2 좋아요 0 조회수 105

수업자료 오류

미해결

코로나맵 개발자가 알려주는 React + Express로 지도서비스 만들기 (Typescript)

보일러플레이트 코드 소개에 있는 수업자료를 다운받았는데 압축해제하려고 보니까 해제도 안되고 압축폴더에는 파일이 아무것도 없네요

  • react
  • node.js
  • mongodb
  • express
  • typescript
3400jkh 댓글 1 좋아요 0 조회수 183

함수 추출하기 부분에서 의도와 구현에 대해 질문 있습니다.

해결됨

코딩으로 학습하는 리팩토링

의도와 구현이 잘 이해가 가지 않아 예전에 작성 했던 코드를 가져와 아래와 같이 이해를 해볼려고 했는데 맞게 이해를 한건지 궁금합니다. save라는 네이밍으로 저장한다는 의미를 뜻함 -> 의도 코드 내부에는 DTO를 받아와 엔티티 객체로 변환하고 DB에 저장 로직 -> 구현 save 메서드 @Override public ServerMessageDto save(ServerMessageCreateRequest createRequest) { ServerMessage serverMessage = ServerMessage.builder() .serverId(createRequest.getServerId()) .channelId(createRequest.getChannelId()) .userId(createRequest.getUserId()) .parentId(createRequest.getParentId()) .profileImage(createRequest.getProfileImage()) .content(createRequest.getContent()) .writer(createRequest.getWriter()) .chatType(ChatType.SERVER) .actionType(ActionType.SEND) .files(createRequest.getFiles()) .build(); serverMessage.generateSequence(sequenceGenerator.generateSequence(ServerMessage.SEQUENCE_NAME)); return ServerMessageDto.from(messageRepository.save(serverMessage)); } postSend 라는 네이밍으로 ~ 후의 전송이라는 의미 -> 의도 코드 내부에는 특정 조건에 따라 함수 호출 로직 -> 구현 postSend 메서드 @Override public void postSend(Message<?> message, MessageChannel channel, boolean sent) { StompHeaderAccessor headerAccessor = StompHeaderAccessor.wrap(message); if (StompCommand.CONNECT.equals(headerAccessor.getCommand())) { Long userId = sendConnectionStateInfo(headerAccessor); sendConnectionStateEvent(userId); } if (StompCommand.DISCONNECT.equals(headerAccessor.getCommand())) { Long userId = saveDisconnectionState(headerAccessor); if (userId != null) { sendDisConnectionStateEvent(userId); } } }

  • java
  • intellij-idea
  • 리팩토링
감바스 댓글 1 좋아요 0 조회수 228

postgreSQL에 register server 할때마다 zcom db가 같이 생성됩니다

해결됨

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

전공자따라잡기 데이터베이스 공부중에 mysql 대신 이 강의 할때 깔았던 postgreSQL로 연습해보려고 하다가 질문드립니다 서버그룹 우클릭 -> register -> server 하면 사용자 이름으로 된 기본db와 함께 zcom이 항상 같이 생성되는데 이 zcom db 생성안되게 하려면 어떻게 해야하나요?

  • react
  • next.js
  • react-query
  • next-auth
  • msw
andante 댓글 1 좋아요 0 조회수 160

API 구축시 인텔리제이

미해결

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

안녕하세요 이제 시작해보려구하는데 ㅎㅎ API 구축시 인텔리제이 사용해도 문제없나요??

  • react
  • spring-boot
  • jpa
  • jwt
  • redux-toolkit
김우철 댓글 2 좋아요 0 조회수 124

스킬 구현 질문입니다

미해결

[유니티 레벨 업!] 모듈식으로 개발하는 스킬 시스템

현재 제가 인벤토리를 만들어 사용할 스킬을 등록하는 스킬창과 획득한 스킬을 보관하는 스킬보관창을 만들었습니다 스킬창에 있는 스킬은 활성화되고 보관창에 있는것은 비활성화되게 할려는 의도입니다. 액티브 스킬의 경우 키를 눌러 발동하기 때문에 문제가 없는데 패시브 스킬의 경우 스킬보관창에 있어도 계속해서 발동됩니다. 그래서 패시브 타입인 경우 스킬보관창에 있을 경우 비활성화되게 하기 위해 skill 스크립트와 skillsystem 스크립트에 비활성화 변수를 추가하여 의도한 목적을 제작할려고 하였는데 어디에서 제어해야 하는지 감이 안잡혀 이 부분에 대해 어딜 수정해야 되는지에 대한 조언을 부탁드립니다...

  • unity
  • modules
coffeecat0213 댓글 1 좋아요 0 조회수 191

JdbcMemberRepository implements와 findAll() @Override 오류

해결됨

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

[질문 내용] JdbcMemberRepository클래스를 만들고 코드를 복붙했으며, 대부분 오류나는 부분은 모두 import해서 없어졌지만, 해결되지 않은 부분이 2군데 있었습니다. java: hello.hello_spring.repository.JdbcMemberRepository is not abstract and does not override abstract method findAlL() in hello.hello_spring.repository.MemberRepository java: method does not override or implement a method from a supertype 12줄에 public class JdbcMemberRepository implements MemberRepository { 이 부분에서 빨간줄이 계속 표시되고, 71줄에 findAll()메소드에서 바로 상단에 @Override에 빨간줄이 뜹니다. 어떤 방식을 적용하든 계속 오류가 해결되지 않은데 어떻게 해야 좋을지 궁금합니다.

  • java
  • spring
  • mvc
  • spring-boot
댓글 1 좋아요 0 조회수 249

복습 질문하고 싶어요

미해결

김영한의 실전 자바 - 중급 1편

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예 [질문 내용] 현재 수강을 계속하면서 공부하고 있는데요 예를 들어 날짜와 시간 챕터를 다 보고 이제 복습을 하려고 하는데 PDF보면서 코드를 따라치면서 복습을 하고있는중입니다. 이렇게 복습하는게 효율적인가 궁금하고요. 한번보고 복습주기를 어느정도로 해야하는지도 알고 싶습니다.

  • java
  • 객체지향
코딩이 댓글 1 좋아요 0 조회수 195

상태관리 도구 추천 부탁드려도 될까요?

미해결

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

강의 너무 잘 듣고 있습니다. 현업에서 next.js 15 기반으로 큰규모의 프로젝트인 wms (창고관리 시스템)을 구현 예정중에 있습니다. mssql react18 / next14 typescript material UI 사용예정중에 있습니다. 혹시 위와 같은 프로젝트에서 추천해주실만한 상태관리 도구 가 있으실까요? redux, zustand, recoil 등 선택지가 많은데 선뜻 선택하기가 쉽지 않네요 ㅠ

  • react
  • typescript
  • next.js
suhyoun 댓글 3 좋아요 0 조회수 417

코드 오류시 참고하시면 될듯합니다.

미해결

처음 만난 리액트(React)

영상에 제시한 코드를 사용하면 아래와같은 오류가뜹니다 React 18에서는 ReactDOM.render 를 지원하지 않는다고 하네요.. 아래 코드로 수정하니 잘 됩니다 참고 하세요~

  • HTML/CSS
  • javascript
  • react
박태용 댓글 2 좋아요 0 조회수 508

sql distinct 질문

해결됨

자바 ORM 표준 JPA 프로그래밍 - 기본편

sql distinct는 완전히 같은 것의 중복을 제거해준다고 배웠습니다. id를 사용한다는 가정에서 완전히 같을 경우가 존재할 수 있나요? jpql distinct 키워드는 sql distinct에 더불어 엔티티 중복을 피하게 해주는데 sql distinct는 필요없는 과정이 아닌가 싶었습니다.

  • java
  • jpa
영한노게임 댓글 2 좋아요 0 조회수 320

Querydsl 버전 별 build.gradle 설정 파일에 대해 궁금한 점이 있습니다.

미해결

실전! Querydsl

자주 하는 질문 + 강의 자료를 종합해봤을 때 Querydsl 설정이 크게 다음 3가지로 나뉘는 것 같더라고요. 2.x 버전 / dependencies 바깥에 설정 plugins { id 'org.springframework.boot' version '2.2.2.RELEASE' id 'io.spring.dependency-management' version '1.0.8.RELEASE' //querydsl 추가 id "com.ewerk.gradle.plugins.querydsl" version "1.0.10" id 'java' } //querydsl 추가 시작 def querydslDir = "$buildDir/generated/querydsl" querydsl { jpa = true querydslSourcesDir = querydslDir } sourceSets { main.java.srcDir querydslDir } configurations { querydsl.extendsFrom compileClasspath } compileQuerydsl { options.annotationProcessorPath = configurations.querydsl } 2.x 버전 / dependencies 안에 설정 dependencies { //Querydsl 추가 implementation 'com.querydsl:querydsl-jpa' annotationProcessor "com.querydsl:querydsl-apt:${dependencyManagement.importedProperties['querydsl.version']}:jpa" annotationProcessor "jakarta.annotation:jakarta.annotation-api" annotationProcessor "jakarta.persistence:jakarta.persistence-api" } clean { delete file('src/main/generated') } 3.x 버전 / dependencies 안에 설정 dependencies { //Querydsl 추가 implementation 'com.querydsl:querydsl-jpa:5.0.0:jakarta' annotationProcessor "com.querydsl:querydsl-apt:${dependencyManagement.importedProperties['querydsl.version']}:jakarta" annotationProcessor "jakarta.annotation:jakarta.annotation-api" annotationProcessor "jakarta.persistence:jakarta.persistence-api" } clean { delete file('src/main/generated') } 2.x 의 경우 선택지가 2가지가 되는 데 왜 강의에선 1번 케이스를 선택했던 건지 궁금합니다! 2번 선택지가 더 깔끔한 거 아닌가요 ?

  • java
  • jpa
수하 댓글 1 좋아요 0 조회수 167

레코드에 대해 질문 있습니다.

해결됨

코딩으로 학습하는 리팩토링

DTO 대신 레코드 위주로 사용해도 될까요? 만약 DTO에 있는 필드중에서 값 변경이 자주 발생한다면 레코드가 아닌 DTO를 유지해서 사용하는게 좋을까요?

  • java
  • intellij-idea
  • 리팩토링
감바스 댓글 2 좋아요 0 조회수 255

나눗셈 연산자 관련 질문입니다.

해결됨

(2026 최신!) 일주일만에 합격하는 정보처리기사 실기

1:57에서 '나눈 이후의 몫을 원할 때' 사용하는 연산자가 /라고 하셨습니다. c언어 기준으로 설명해 주신 걸로 이해했는데 (파이썬은 /을 쓸 시 나누어 떨어질 때까지 계산한 값, 혹은 무한소수를 끊어 출력하고 정수 몫을 원할 시 //을 써야 하니까요) 혹시 자바도 c언어와 연산자가 동일한가요? 코딩을 배우기는 하나 컴공만큼 깊게 들어가는 과는 아니라 자바를 배운 적이 없어 질문드립니다.

  • python
  • java
  • c
  • 정보처리기사
silverkshpjk 댓글 2 좋아요 0 조회수 202

속도 측면을 고려해본 답안인데 어떤지..

미해결

자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비

숫자를 일일이 포문을 통해 소수를 구하는게 비효율적인 것 같아 다음과 같이 풀어봤는데,, 어떤지 의견이 궁금합니다. import java.util.Scanner; public class Main { public static void main(String[] args){ Main main = new Main(); Scanner sc = new Scanner(System.in); int number = sc.nextInt(); int[] numbers = new int[number]; for(int i = 0; i < number; i++){ numbers[i] = sc.nextInt(); } main.solution(number, numbers); } public void solution(int number, int[] numbers){ // get reversed array int biggest = 0; // get biggest number for prime int[] reversedArr = new int[number]; for (int i = 0; i < number; i++) { int tmp = numbers[i]; int res = 0; while (tmp > 0) { int t = tmp % 10; res = res * 10 + t; tmp /= 10; } reversedArr[i] = res; if (res > biggest) biggest = res; } // prime logic by biggest number boolean[] prime = new boolean[biggest + 1]; // add 1 for including 0 --> it means index number is same as each value; prime[0] = prime[1] = true; // true = non-prime number for (int i = 2; i*i <= biggest; i++){ if(!prime[i]){ for (int j = i*i; j <= biggest; j += i){ prime[j] = true; } } } //get result for (int i = 0; i < number; i++){ int target = reversedArr[i]; if (!prime[target]) System.out.print(target + " "); } } }

  • java
  • 코딩-테스트
노동준 댓글 1 좋아요 0 조회수 243

localhost:8080 Whitelabel Error Page... 어떻게 해야 될까요?

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 아무리 찾아봐도 잘 안되네요 ㅜㅜ... 도대체 뭐가 문제일까요..ㅜㅜ [질문 내용] 여기에 질문 내용을 남겨주세요.

  • java
  • spring
  • mvc
  • spring-boot
딩띵 댓글 4 좋아요 0 조회수 574

프로젝트 진행중 발생한 모듈 불러오기 오류

미해결

안녕하세요 프로젝트를 진행하다 모듈 불러오기 관련 오류가 발생하여 질문 남겨봅니다. 문제상황 > 모듈 불러오기중 not found react + typescript + yarn berry 를 사용했고 zero install과 pnp 를 사용해 모듈들을 캐싱했습니다. 이 과정에서 모듈들을 import 할때아래와 같은 오류가 발생합니다. 예시 // main.tsx import * as ReactDOM from "react-dom/client"; // Cannot find module 'react-dom/client' or its corresponding type declarations import { QueryClient, QueryClientProvider } from "@tanstack/react-query"; // Cannot find module '@tanstack/react-query' or its corresponding type declarations. import { ReactQueryDevtools } from "@tanstack/react-query-devtools"; // Cannot find module '@tanstack/react-query-devtools' or its corresponding type declarations. import { BrowserRouter } from "react-router-dom"; // Cannot find module 'react-router-dom' or its corresponding type declarations import App from "./App"; import { GlobalStyle } from "./themes/globalStyle"; const queryClient = new QueryClient({ defaultOptions: { queries: { refetchOnWindowFocus: true, refetchOnMount: true, staleTime: 60_000, retry: 2, }, }, }); ReactDOM.createRoot(document.getElementById("root")!).render( <QueryClientProvider client={queryClient}> // Cannot find module 'react/jsx-runtime' or its corresponding type declarations. <BrowserRouter> <ReactQueryDevtools /> <App /> <GlobalStyle /> </BrowserRouter> </QueryClientProvider> ); 기대효과 > 모든 모듈들이 정상적으로 불러와짐 참고자료 // package.json { "name": "fe", "private": true, "version": "0.0.0", "type": "module", "scripts": { "dev": "vite", "build": "tsc -b && vite build", "lint": "eslint .", "preview": "vite preview" }, "dependencies": { "@emotion/react": "^11.13.3", "@emotion/styled": "^11.13.0", "@tanstack/react-query": "^5.59.0", "@types/react-router-dom": "^5.3.3", "react": "^18.3.1", "react-dom": "^18.3.1", "react-router-dom": "^6.26.2", "styled-components": "^6.1.13", "zustand": "^5.0.0-rc.2" }, "devDependencies": { "@eslint/js": "^9.11.1", "@tanstack/react-query-devtools": "^5.59.0", "@types/node": "^22.7.4", "@types/react": "^18.3.10", "@types/react-dom": "^18.3.0", "@types/styled-components": "^5.1.34", "@vitejs/plugin-react-swc": "^3.5.0", "eslint": "^9.11.1", "eslint-plugin-react-hooks": "^5.1.0-rc.0", "eslint-plugin-react-refresh": "^0.4.12", "globals": "^15.9.0", "typescript": "^5.6.2", "typescript-eslint": "^8.7.0", "vite": "^5.4.8" }, "packageManager": "yarn@4.5.0" } // tsconfig.json { "compilerOptions": { "target": "ES2020", "useDefineForClassFields": true, "lib": ["ES2020", "DOM", "DOM.Iterable"], "module": "ESNext", "skipLibCheck": true, /* Bundler mode */ "moduleResolution": "node", "allowImportingTsExtensions": true, "allowSyntheticDefaultImports": true, "resolveJsonModule": true, "isolatedModules": true, "esModuleInterop": true, "jsx": "react-jsx", "noEmit": true, /* Linting */ "strict": true, "noUnusedLocals": true, "noUnusedParameters": true, "noFallthroughCasesInSwitch": true, "baseUrl": ".", "paths": { "@/*": ["./src/*"] } }, "include": ["src", "**/*.ts", "**/*.tsx"] } 타입스크립트 버전 : 5.6.2 vsc 버전 : September 2024 (version 1.94) 시도한 것 > vsc 재시작, 재설치

  • yarn
  • react
  • typescript
식충나무 댓글 0 좋아요 0 조회수 226

인기 태그

인프런 TOP Writers

주간 인기글