inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

회원가입 insert테스트가 안됩니다

미해결

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

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] join 테스트를 돌리면 insert가 제대로 안됩니다 (select로 확인 안됨) 테스트 후 스프링을 돌려 웹에 등록하면 시퀀스는 테스트 한만큼 증가했습니다

  • java
  • spring
  • mvc
  • spring-boot
댓글 2 좋아요 0 조회수 220

(기출) 2024년 2회 기출문제 수업자료가 강의랑 안맞아요

해결됨

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

섹션7 (기출) 2024년 2회 기출문제 - 이론 포함 강의내용 0:53:26 자료 12페이지 람다 예제 1 만 있어요 예제 2가 없어요

  • python
  • java
  • c
  • 정보처리기사
마이동 댓글 2 좋아요 1 조회수 148

ExecutorService와 CompletableFuture의 차이점과 역할

미해결

백엔드 개발자 성능 개선 초석 다지기

안녕하세요! 비동기 코드에 관해 질문이 있습니다. ExecutorService 는 스레드를 관리하는 역할을 하는것이고 CompletableFuture 가 실제로는 비동기 요청을 처리하는 것으로 이해하였는데 맞을까요? Future 은 예외 처리를 할 수 없기 때문에 잘 쓰이기 않을까요??CompletableFuture 가 지원하는 기능이 더 많기 때문에 주로 CompletableFuture 를 사용하나요?

  • java
  • mysql
  • spring-boot
  • cache
  • index
EunKyung Hwang 댓글 2 좋아요 0 조회수 307

사용 기기 관련해서 질문 드립니다.

미해결

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

eas와 notification 설정 후에는 로그인 시에 android emulator 상에서 코딩해주신 대로 '실제기기를 사용해주세요' 문구가 나옵니다. ios 는 개발자모드 설정을 구매해야 한다고 해서 기기는 안드로이드로 진행하려고 하는데 android 기기가 따로 없고 emulator 로는 실행이 안되는 걸까요? expopushToken만 보내고 로그인이 되지는 않습니다.

  • javascript
  • react
  • react-native
  • typescript
  • react-query
host0806 댓글 3 좋아요 0 조회수 179

풀라우트캐시 3강. book/4를 URL로 요청시 렌더링 과정

해결됨

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

안녕하세요 선생님, 질문이 있어서 남깁니다. 만약 book/4를 URL로 요청하면 과정이 URL로 book/4 요청 시 Link 등이 없으므로 프리페칭은 안됨 - 서버에서 JS 실행 (렌더링) - 렌더링 된 HTML 브라우저에 넘김 - 브라우저에서 화면에 렌더링 - 서버에서 JSBundel, RSC payload 브라우저에 넘김 - 수화과정 - 상호작용 가능 이게 맞나요? book/1~3은 staticPage로 풀라우트캐시되어있으니 URL로 요청하면 풀라우트캐시에서 바로 HIT해서 주는거고요?

  • react
  • typescript
  • next.js
dudptl0220 댓글 2 좋아요 0 조회수 186

Editor 컴포넌트는 리렌더링되는 것은 맞나요?

해결됨

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

강의내용에 보면 todos가 변경될 때 Editor는 변경이 않되야하는 것 같은데 리렌터링이 됩니다. 소스는 같은데 머가문제인지 알 수있을까요? <Editor.jsx> const Editor = () => { const { onCreate } = useContext(TodoDispatchContext); const [content, setContent] = useState(""); const contentRef = useRef(); const onChangeInput = (e) => { setContent(e.target.value); }; const onKeyDown = (e) => { if (e.keyCode === 13) { onSubmit(); } }; const onSubmit = () => { if (content === "") { contentRef.current.focus(); return; } onCreate(content); setContent(""); }; return ( <div className="Editor"> <input ref={contentRef} value={content} onKeyDown={onKeyDown} onChange={onChangeInput} placeholder="새로운 Todo..." /> <button onClick={onSubmit}>추가</button> </div> ); }; export default Editor; <App.jsx> import "./App.css"; import Header from "./components/Header"; import Editor from "./components/Editor"; import List from "./components/List"; import { useState, useRef, useReducer, useMemo, useCallback, createContext, } from "react"; const mockData = [ { id: 0, isDone: false, content: "React 공부하기", date: new Date().toLocaleDateString(), }, { id: 1, isDone: false, content: "빨래하기기", date: new Date().toLocaleDateString(), }, { id: 2, isDone: false, content: "청소하기", date: new Date().toLocaleDateString(), }, ]; const reducer = (state, action) => { switch (action.type) { case "CREATE": return [action.data, ...state]; case "UPDATE": return state.map((todo) => todo.id === action.data.id ? { ...todo, isDone: !todo.isDone } : todo ); case "DELETE": return state.filter((todo) => todo.id !== action.data.id); default: return state; } }; export const TodoStateContext = createContext(); export const TodoDispatchContext = createContext(); function App() { const [todos, dispatch] = useReducer(reducer, mockData); const idRef = useRef(3); const onCreate = useCallback((content) => { dispatch({ type: "CREATE", data: { id: idRef.current++, isDone: false, content: content, date: new Date().getTime(), }, }); }, []); const onUpdate = useCallback((targetId) => { dispatch({ type: "UPDATE", data: { id: targetId } }); }, []); const onDelete = useCallback((targetId) => { dispatch({ type: "DELETE", data: { id: targetId } }); }, []); const memoizedDispatch = useMemo(() => { return { onCreate, onUpdate, onDelete }; }, []); return ( <div className="App"> <Header /> <TodoStateContext.Provider value={{ todos }}> <TodoDispatchContext.Provider value={memoizedDispatch}> <Editor /> <List /> </TodoDispatchContext.Provider> </TodoStateContext.Provider> </div> ); } export default App;

  • javascript
  • react
  • node.js
Park Ju Yeong 댓글 2 좋아요 0 조회수 188

레디스의 동적 서버 리스트와 샤딩 범위 중복 문제 질문

해결됨

스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판

안녕하세요, 강의 잘 듣고 있습니다. ^^ 분산 시스템에서 균등 샤딩 부분을 듣다가 궁금한 점이 생겨서 질문드립니다. 각 서버는 자신의 @Scheduled에 의해 레디스 서버로 조회하여 자신의 인덱스를 찾은 후 이를 기반으로 각자 서버 로컬에서 샤딩 범위를 계산하는 것으로 이해했는데요. 여기서 궁금한 점은 각 서버마다 @Scheduled가 동작하는 시점도 다를테고, 레디스의 저장된 서버 리스트가 동적으로 변하기도 하는데, 이러한 이유로 서로 다른 서버가 부분적으로 겹치는 샤딩 범위를 각자 계산하여 카프카로 중복 전송하는 시나리오가 발생하지는 않는 것인가요? ex) A의 @Scheduled 동작 시점에서는 서버가 3개 뿐이었지만 B의 @ Scheduled 동작 시점에는 서버가 5개로 늘어난 경우 서버 A가 계산한 자신의 샤딩 범위 0~20 서버 B가 계산한 자신의 샤딩 범위 13 ~ 27 답변 주시면 감사하겠습니다. 😊

  • java
  • mysql
  • spring-boot
  • kafka
  • redis
알알이 댓글 2 좋아요 1 조회수 285

좋아요 비관적 락 적용 시 데드락 발생 관련 질문입니다..

해결됨

스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판

spring boot: 3.3.2 mysql: 8.0.38 강사님과 동일한 버전 사용하고 있습니다. @Test void likePerformanceTest() throws InterruptedException { ExecutorService executorService = Executors.newFixedThreadPool(100); likePerformanceTest(executorService, 1111L, "pessimistic-lock-1"); likePerformanceTest(executorService, 2222L, "pessimistic-lock-2"); // likePerformanceTest(executorService, 3333L, "optimistic-lock"); } private void likePerformanceTest(ExecutorService executorService, Long articleId, String lockType) throws InterruptedException { CountDownLatch latch = new CountDownLatch(3000); System.out.println(lockType + " start"); long start = System.currentTimeMillis(); for (int i = 0; i < 3000; i++) { long userId = i + 2; executorService.submit(() -> { like(articleId, userId, lockType); latch.countDown(); }); } latch.await(); long end = System.currentTimeMillis(); System.out.println("lockType = " + lockType + ", time = " + (end - start) + "ms"); System.out.println(lockType + " end"); Long count = restClient.get() .uri("/v1/article-likes/articles/{articleId}/count", articleId) .retrieve() .body(Long.class); System.out.println("count = " + count); } 위 테스트를 실행 시키면 pessimistic-lock-1 start lockType = pessimistic-lock-1, time = 5353ms pessimistic-lock-1 end count = 2991 pessimistic-lock-2 start lockType = pessimistic-lock-2, time = 6667ms pessimistic-lock-2 end count = 2991 count 가 3001이 안나오길래 서버 로그를 확인했는데, com.mysql.cj.jdbc.exceptions.MySQLTransactionRollbackException: Deadlock found when trying to get lock; try restarting transaction 이렇게 데드락이 발생됐다는 로그가 출력됐더라구요.. 강사님과 똑같은 코드로 실행한거 같은데, 왜 데드락이 발생한걸까요?? 의심되는 부분은 @Transactional public void likePessimisticLock1(Long articleId, Long userId) { articleLikeRepository.save( ArticleLike.create(snowflake.nextId(), articleId, userId) ); int result = articleLikeCountRepository.increase(articleId); if (result == 0) { articleLikeCountRepository.save( ArticleLikeCount.init(articleId, 1L) ); } } 여러 스레드가 동시에 result == 0 조건에 진입해서 동일한 article_id 를 insert 하려고 하다가 충돌되는 과정에서 데드락이 발생된 것 같은데... 정확한 원인이 뭘까요? 제가 잘못 친게 있어서 그런걸까요..? PessimisticLock1, PessimisticLock2 둘 다 데드 락이 발생한 원인이 궁금합니다! 게시물 생성 시점에 미리 0으로 count를 생성 해놓으면 괜찮을 것 같은데, 같은 코드로 실행했는대도 결과가 달라 질문남깁니다..

  • java
  • mysql
  • spring-boot
  • kafka
  • redis
chobo 댓글 2 좋아요 1 조회수 360

소스코드관련해서

해결됨

React, Node.js, MongoDB로 만드는 나만의 회사 웹사이트: 완벽 가이드

매강좌마다 깃허브 링크가있던데요 매강마다 소스코드를 일일히 다운받아야하나요??? 아니면 한번에 다운받아도되는걸 제가 착각하고있는건가요??? 강의가 진행되어질수록 그만큼 코드변경된흐름을 깃허브 트리로 펼쳐놓으신것같은데.... 하나만받아도되는건지 매강마다 깃허브가서 소스코드를 매강마다 다운받아야하는건지 궁금합니다.

  • HTML/CSS
  • javascript
  • react
  • node.js
  • mongodb
hdr.ecssh 댓글 1 좋아요 0 조회수 131

메인 메모리 질문

미해결

김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문 전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] volatile를 통해 메인 메모리에서 값을 바로 확인 하는건데 그러면 메모리는 어떻게 값이 변경 되는 것을 알 수 있는 건가요? 메인 메모리에서 값이 변경이 안되면 volatile을 사용해도 변경 된 걸 알 수 없는거 아닌가요? 제가 너무 깊게 들어간걸까요...ㅜㅜ... 운영체제?를 공부해야 되는 부분일까요??,,

  • java
  • 객체지향
  • 동시성
  • multithread
  • thread
딩띵 댓글 1 좋아요 0 조회수 150

MemberRepository 질문 입니다

미해결

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

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] @Autowired public MemberService (MemberRepository memberRepository){ this.memberRepository = memberRepository; } MemoryMemberRepository를 사용 할 수 있는 이유가 해당 구현체를 @Repository로 빈을 등록했기 때문에 @Autowired를 통해 MemberRepository 타입으로 주입받을 수 있는 게 맞을까요?

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

윈도우 JAVA_HOME 오류

미해결

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

G:\내 드라이브\인프런 - 스프링 입문 - 김영한\hello-spring>gradlew.bat 이렇게 실행했는데 아래와 같은 에러가 뜨는데 어떻게 해야 하나요? ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. Please set the JAVA_HOME variable in your environment to match the location of your Java installation.

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

ch6번 첨부파일 질문있습니다.

미해결

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

문제상황: ch6 마지막 파일 다운 받은 후 npm i react react-dom 하고 npm start 했습니다. product와 todo를 누르면 아래와 같은 상황이 나옵니다. 혹시 첨부 파일이 잘못된거 아닐까요? ERROR Cannot read properties of undefined (reading 'map') TypeError: Cannot read properties of undefined (reading 'map') at ListComponent

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

33분 if문 질문 있습니다!

해결됨

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

코드에서 i=5일 때, j=7일 때 if 조건문을 만족 시키는 것은 이해했습니다. i++, j++로 숫자가 동일하게 증가하는데, 그러면 i는 j보다 먼저 if문을 만족 시키므로 i++이 실행되지 않고, j만 실행되는 것으로 이해하면 될까요?

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

특정 문자 뒤집기

해결됨

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

c@fa$ 가 입력 되었을 때, 제 생각에는 결과가 그대로 나와야 하지 않나 싶은데, (짝이 되는 알파벳이 없음) a@fc$이 나오는 이유가 궁금합니다.

  • java
  • 코딩-테스트
김철준 댓글 2 좋아요 1 조회수 237

제발 코드샌드박스 링크 좀 달아주세요....

미해결

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

제목 그대로입니다. 코드샌드박스 링크좀 어딘가에 달아주시든지, 자료파일에 좀 첨부해주시든지, 어떻게 좀 해주세요. 화면 스톱 해놓고 일일이 주소창 쳐서 들어가고 있어요. 너무 불편해요! 질문답변 게시판에 링크 달아놓은거 없는지 검색도 해봤는데 전혀 엉뚱한 대답만 있는 것 같고..

  • react
  • redux
  • node.js
  • sass
  • swr
kimhi 댓글 2 좋아요 2 조회수 548

수강기간 무료!?

해결됨

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

ㅎㄷㅆ이랑 여기랑 일주일 이상 고민하다가 여기를 고르게 되었습니다 혹시 수강기간 무료라고 되있는데 만약 떨어지면 강의 새로 업데이트 된 것으로 볼수 있는건가요? 우선 1회만에 붙겠다는 생각으로 열심히 공부해보겠습니다!

  • python
  • java
  • c
  • 정보처리기사
박현서 댓글 1 좋아요 0 조회수 269

인기 태그

인프런 TOP Writers

주간 인기글