inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

변수 이름짓는법

미해결

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

5번 폴더에서 VariableNamimg)에서 강의에 있는데로 그대로 했고 6강상수로 넘어갔는데 6강에서 필드출력을 하려니까 5강이 에러라면서 넘어가지도 않고 5강도 필드출력이 안되네요. 왜 그런가요?

  • java
  • 객체지향
김선미 댓글 2 좋아요 0 조회수 134

FK 제약조건 관련해서 자동 키생성 문제

미해결

토비의 클린 스프링 - 도메인 모델 패턴과 헥사고날 아키텍처 Part 1

해당 강의를 수강하고 하루죙일 찾아봤지만 실질적으로는 문제를 해결하지 못했습니다. ㅜㅜ 문제가 왜 발생했는지 추적한 결과 실제로 xml를 불러들일때, fk 관련 속성을 잘 갖고 오지만, @JoinColumn 을 생성할 때 fk 속성을 삽입하는 코드가 실질적으로 존재하지 않고, fk제약 조건 생성을 위해 alter 시에 @JoinColumns로 지정됩니다. 실제 어노테이션 기법으로 작성 할 경우 @JoinColumn으로 수집이 되지만, -참고- @JoinColumns 으로 수집 시 xml 스펙에서 join-column 태그는 Unbounded로 스펙이 정해져 그렇게 처리 된 거 같아요. 하이버네이트 6.6 버전에서는 jpa 매핑 관련해서 xml 3.1 버전으로 관리되고, 7.0 버전부터는 xml 7버전으로 매핑이 관리될 것 같습니다. 하이버네이트 6.6 버전에선 실질적으로 버그라고 생각되고, 7.0 버전에는 JPAXMLOverridenAnnotationReader 클래스가 사라진 상황이라 7 버전으로 올려서 확인해봐야 할 것 같지만, 스프링 부트 3.x.x버전은 아무래도 하이버네이트 6.6 버전 기준으로 버저닝이 될 거 같아 해당 문제의 해결 방법은 실질적으로 찾진 못했습니다. ㅜ

  • java
  • spring
  • spring-boot
  • jpa
  • 리팩터링
  • ddd
임동현 댓글 2 좋아요 0 조회수 189

상세 페이지 404 에러 발생

미해결

Next.js 완벽 마스터 (v15): 노션 기반 개발자 블로그 만들기 (with 커서AI)

안녕하세요, 짐코딩님. 덕분에 재밌는 수업 듣고 있습니다. :) 현재 저는 짐코딩 님의 깃허브에서 => 최종 코드를 clone해서 모두 받은 후 그 중에서 Notion API만 변경해서 제 notion과 연결을 한 후 수업을 수강하고 있습니다. (API 연결 활성화가 되어 있는 캡처본/.env에서도 환경변수로 설정 완료) 혼자서 노션 블로그 게시물 등록 및 조회 테스트를 해보다가 2가지 문제점이 발생했습니다. 제가 직접 노션에 추가한 게시물의 경우 '게시물 목록'에는 뜨지만 상세페이지 클릭했을 경우 404 에러 발생 예를 들어) localhost:3000/blog/web (web은 slug 값) 이렇게 타이핑하면 상세 페이지에 잘 들어가는데, 해당 블로그를 클릭해서 들어가면 아직 url에 localhost:3000/blog/243888f~~ 이런식으로 뜨네요 ㅜㅜ 반영이 늦는걸까요 직접 노션에 추가한 게시물을 노션에서 삭제한 후 브라우저에서 보면 사라지지 않고 '게시물 목록'에 뜨고, 상세페이지를 클릭했을 경우 '404 에러 발생' 제가 직접 올린 노션 게시물만 저런 현상이 발생하고. 짐코딩님께서 미리 작성해놓으신 '웹 개발 학습 가이드'나 'Git 시작하기' 등은 상세 페이지를 클릭하면 잘 뜹니다. 이유를 모르겠습니다 ㅜㅜ 코드를 전달 드리고 싶은데, 짐코딩님 코드를 모두 클론한 걸 사용하고 있어서 어떻게 전달드려야 할지 모르겠어서 우선은 404 에러가 뜨는 이미지와 상황 설명만 먼저 전달 드립니다! 참고로 현재까지 저는 remark and rehype 플러그인 설치 강의까지 학습했습니다! 제가 왕초보라 많이 미흡합니다. 최대한 쉽게 설명해주시면 너무나 감사드리겠습니다! 항상 친절한 답변과 강의 감사드립니다.

  • react
  • 블로그
  • next.js
  • cursor
  • cursorai
댓글 2 좋아요 0 조회수 161

인텔리제이 커뮤니티 버전 사용시 데이터베이스 사용방법에 대하여

해결됨

자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]

10강에서 데이터 베이스 다룰때 인텔리제이 커뮤니티 버전에서는 어떻게 해야할까요?

  • java
  • spring
  • aws
  • mysql
  • spring-boot
  • jpa
커디널스 댓글 2 좋아요 1 조회수 240

생산자,소비자와 작업큐 질문 드립니다.

미해결

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

앞서 생성자, 소비자 강의에서 생산자가 데이터를 생성하면 다음과 같이 데이터를 넣었고 queue.offer(data); 소비자는 큐에서 생산자가 생산한 데이터를 꺼내어 소비하였습니다. queue.poll(); 이번 강의에서는 큐에 작업을 넣고, 빼서 처리합니다. 생산자 소비자에서는 데이터를 넣고 빼고 이번 스레드풀 강의에서는 작업을 넣고 빼니 처음에는 작업을 넣고 빼는 큐와 생산자,소비자가 사용하는 큐가 별도로 있는 건가? 했는데 강의를 들어보니 별도로 있는건 아니고 같은 큐인것 같더라구요. 그런데 생산자,소비자에서는 어떤 작업의 결과인 데이터를 생산 하여 큐에 넣고 꺼내어 소비 한다는 것이 직관적이어서 이해가 잘되었는데요. 이번 강의에서는 생산자가 '작업'을 큐에 넣고 빼서 소비자가 큐에서 작업을 빼는데 큐에 넣는 주체가 ' 데이터 '에서 ' 작업 '으로 바뀌어 설명하니 무엇을 생산하는 것이지? 하며 헷갈린다고나 할까요. 생산자소비자 강의에서처럼 어떤 작업의 결과를 큐에 넣고 빼는 것이 아니라 실제로는 작업 자체를 생산하여 큐에 넣는건가요? 그러니까 앞선 생산자와 소비자는 단순 이해를 위한 것이고 실제로는 Runnable 이라던지 Callable 같은 작업 객체 자체가 생산되어 큐에 들어가는 것인가요? 감사합니다

  • java
  • 객체지향
  • 동시성
  • multithread
  • thread
yoon6669 댓글 2 좋아요 0 조회수 71

AtomicInteger.get()을 CAS 연산 후 반환값으로 사용하면 안 되는 이유 공유

미해결

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

AtomicInteger.get()을 CAS 연산 후 반환값으로 사용하면 안 되는 이유 🚨 핵심 문제: 원자성에 대해서 다시 생각해보기 CAS 연산의 원자성은 compareAndSet() 호출 자체에만 적용됨 CAS 성공 후 get() 호출 은 완전히 별개의 연산 두 연산 사이에 다른 스레드가 개입 가능 멀티스레드 환경에서는 언제든지 다른 스레드가 개입 가능 개발자는 OS가 중간에 어떤 스레드를 호출할지 알 수 없음 🔍 문제 발생 메커니즘 1. 시간적 틈(Time Gap) 존재 result = atomicInteger.compareAndSet(getValue, getValue + 1); // ✅ 원자적 // ← 이 시점에서 다른 스레드가 값을 변경할 수 있음 return atomicInteger.get(); // ❌ 별개의 연산, 원자성 보장 안됨 2. 스레드 스케줄링의 불확실성 sleep(100) 동안 CPU가 다른 스레드로 전환 CAS 성공 직후에도 스케줄러가 해당 스레드를 중단 시킬 수 있음 먼저 시작된 스레드가 먼저 완료된다는 보장 없음 📊 실제 문제 시나리오 초기값: atomicInteger = 0 Thread A: getValue = 0 Thread A: compareAndSet(0, 1) 성공! → atomicInteger = 1 Thread A: CPU 스케줄러에 의해 중단됨 Thread B: getValue = 1 Thread B: compareAndSet(1, 2) 성공! → atomicInteger = 2 Thread A: 재개됨 Thread A: atomicInteger.get() 호출 → 2 반환 ❌ 결과 : Thread A가 실제로는 0→1로 증가시켰지만, 2를 반환하게 됨 ✅ 올바른 해결책: getValue + 1 사용 동작 원리 private static int incrementAndGet(AtomicInteger atomicInteger) { int getValue; boolean result; do { getValue = atomicInteger.get(); // 현재값 저장 result = atomicInteger.compareAndSet( // CAS 연산 getValue, getValue + 1 ); } while (!result); return getValue + 1; // CAS에서 사용한 기댓값 + 1 } 장점 CAS 연산 시점의 값 고정 : getValue 는 CAS 연산에서 사용한 정확한 기댓값 다른 스레드 개입 무관 : 이후 다른 스레드가 값을 어떻게 변경하든 영향받지 않음 메서드 의미 보장 : "이 메서드가 실제로 설정한 값"을 정확히 반환 🎯 핵심 교훈 ❌ 잘못된 가정 "CAS 성공 후 바로 get()을 호출하면 방금 설정한 값을 가져올 것이다" ✅ 올바른 이해 원자성은 단일 연산에만 적용 연산 간의 순서나 연속성은 보장되지 않음 멀티스레드 환경에서는 언제든지 다른 스레드가 개입 가능 개발자는 OS가 중간에 어떤 스레드를 호출할지 알 수 없음 💡 실무 적용점 AtomicInteger의 내장 메서드 활용 // 직접 구현하지 말고 내장 메서드 사용 int result = atomicInteger.incrementAndGet(); CAS 패턴 사용 시 주의사항 연산 결과는 CAS에서 사용한 값을 기준으로 계산 별도의 get() 호출로 "현재값"을 가져오려 하지 말 것 원자성의 범위 명확히 이해 단일 메서드 호출 = 원자적 여러 메서드 호출의 조합 = 원자적이지 않음

  • java
  • 객체지향
  • 동시성
  • multithread
  • thread
개발하는쿼카 댓글 1 좋아요 1 조회수 87

내부 클래스의 바깥 클래스 참조

해결됨

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

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 교재 챕터7(중첩클래스, 내부클래스) 16쪽에서 "실제로는 내부 인스턴스는 바깥 인스턴스의 참조를 보관"이라고 나와있는데, 정확히 어느 공간에 저장하는건가요?

  • java
  • 객체지향
khcho1492 댓글 1 좋아요 0 조회수 84

gradlew.bat이 되지 않습니다.

미해결

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

========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요?아니오 [질문 내용] libs파일이 없어서 gradlew.bat을 해봤는데 결과창이 나오질 않고 아무런 반응이 없습니다..

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

빌드 오류

미해결

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

========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 아니오 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 아니오 [질문 내용] 경로까진 들어왔는데 gradlew.bat, gradlew, ./gradlew을 해도 아무것도 되지 않고 내부 또는 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아니라고 뜹니다.

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

스타일이 적용 안되는 문제

미해결

Next.js 완벽 마스터 (v15): 노션 기반 개발자 블로그 만들기 (with 커서AI)

안녕하세요, 선생님. 현재 블로그 상세 목차 UI까지 강의 수강했는데 코드 수정한 후 local에 띄어보니 스타일이 적용 안되는 문제가 발생했습니다. 선생님 github에서 해당 강의 관련 코드 다 가져와서 복붙 했는데도 저러네요... 제가 왕초보라서 도와주시면 감사하겠습니다!

  • react
  • 블로그
  • next.js
  • cursor
  • cursorai
댓글 2 좋아요 0 조회수 130

안되서 스트레스 받아요

미해결

실습으로 배우는 선착순 이벤트 시스템

다 따라 했는데 안되니깐 스트레스 받네요

  • java
  • docker
  • spring-boot
  • kafka
  • redis
kimoon Hong 댓글 2 좋아요 -2 조회수 132

샤드 할당 관련 질문 드립니다.

해결됨

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

학습 관련 질문을 최대한 상세히 남겨주세요! 고민 과정도 같이 나열해주셔도 좋습니다. 먼저 유사한 질문이 있었는지 검색해보세요. 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. AssignedShard 클래스의 목적이 샤드를 균등하게 분배하는 것이라고 보이는데요 저는 처음에 스레드가 처리할 일을 분할해주는 거라고 생각했는데 찾아보니까 앱 인스턴스를 기준으로 샤드를 나누는 것이라고 하더라고요. 근데 앱 인스턴스는 말하자면 각각의 서버? 예를 들어서 포트 9000번을 A,B,C 서버에서 실행하면 그 각각을 앱 인스턴스라고 부른다고 봤습니다. 그리고 이렇게 각각 다른 서버에서 하나의 포트를 실행하려면 운영 환경에서 서버의 부담이 커질때 서버를 늘려주는 로드밸런싱?같은 기법을 쓸때 필요한 샤드 분배 기능같은데 나중에 운영환경에서 이런때를 대비해서 미리 구현하신건가요? 아니면 이런 지금 강의 환경 안에서도 이렇게 앱 인스턴스가 늘어나는? 상황이 있는건가요.. 아직 공부중이고 모르는 부분도 좀 있다보니 설명이 두서없었습니다 ㅠ

  • java
  • mysql
  • spring-boot
  • kafka
  • redis
김규혁 댓글 2 좋아요 0 조회수 81

casacade 사용 주의점 질문

미해결

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

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] casacade 사용시 주의할 점으로 특정 엔티티가 개인소유하는 자식일 경우에만 쓰는게 좋다 라고 말씀하셨는데, 여기서 특정 엔티티라는것이 엔티티의 구분을 말씀하시는건지 아니면 하나의 레코드를 말씀하시는건지 헷갈립니다. 아마 특정 레코드를 말씀하신것 같은데, 멤버와 페런트 엔티티가 child라는 같은 엔티티를 참조 한다고하지만, 결국에는 멤버와 페런트가 각각 개인의 child 레코드만을 참조한다면 문제가 없을것 같은데 맞을까요? 같은 레코드를 참조하는게 아니니까요!

  • java
  • jpa
RealTake 댓글 1 좋아요 0 조회수 123

직접 구현하는 연결리스트 3 - 추가 부분 질문있습니다

미해결

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

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 강의 보기 전에 미리 만들어 본 코드입니다. 3번째 줄에서 afterNode를 안 만들고 주석처리한 코드를 afterNode 자리에 넣으니 오류가 발생하네요 그리고 수업중 코드에서도 2번째줄 코드 위치만 바껴도 위와 똑같은 오류가 발생하네요 왜그런걸까요?

  • java
  • 객체지향
  • 코딩-테스트
  • 알고리즘
박혁진 댓글 3 좋아요 0 조회수 118

sout에는 변수가 하나만 들어가야 하나요?

미해결

김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음

질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 변수 선언과 초기화 챕터를 보는 중에 궁금증이 생겨 질문합니다. System.out.println() 이 괄호 안에는 무조건 변수가 하나만 들어가야 하나요? 두개 이상은 들어가지 못하나요? 예를 들면 int c = 3, d = 4; System.out.println(c,d) 이렇게 하면 안되는건지요 만약 못한다면 왜 안되는것인가요? 궁금합니다!

  • java
  • 객체지향
송영진 댓글 1 좋아요 0 조회수 153

강의 전부 수강했는데 퀴즈 활성화가 안되는 것 같습니다.

미해결

떠먹여주는 객체지향 디자인 패턴 - by 얄코

올라온 강의들을 전부 수강한 상태에서, 퀴즈를 풀려고 하는데 수강하지 않은 수업이 있다는 화면이 나오네요. 이유를 알려주시면 감사하겠습니다.

  • java
  • 객체지향
  • 디자인-패턴
geumsung7769 댓글 1 좋아요 0 조회수 135

utf-8, char

미해결

김영한의 실전 자바 - 고급 2편, I/O, 네트워크, 리플렉션

utf-8로 지정해서 IO 작업을 하더라도, utf-16인 (char)로 형 변환이 가능한 이유가 궁금합니다. char는 ascii와 호환이 안되지않나요..? StringBuilder content = new StringBuilder(); FileReader fr = new FileReader(FILE_NAME, UTF_8); int ch; while ((ch = fr.read()) != -1) { content.append((char) ch); } fr.close();

  • java
  • 네트워크
  • 객체지향
티티티 댓글 1 좋아요 0 조회수 71

오타 제보입니다.

미해결

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

11. 동시성 컬렉션 PDF 13 페이지 당연한 이야기지만 다음과 같이 나누어 작성해도 된다. SimpleList basicList = new BasicList(); SimpleList proxyList = new SyncProxyList(basicList); test(list) 강의 5:40 즈음 나오는 내용입니다. test() 에 proxyList 가 인자로 전달되어야하는데 pdf에는 test(list) 로 작성되어있네요. 감사합니다

  • java
  • 객체지향
  • 동시성
  • multithread
  • thread
yoon6669 댓글 2 좋아요 0 조회수 56

좋아요 기능 중복처리

해결됨

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

안녕하세요 강사님, 좋아요 기능을 만드는 api를 반복하여 보고 있는데 궁금한 점이 생겨서 질문 드립니다. 좋아요 기능을 만들고 테스트중인데 좋아요가 중복처리 예를 들어, 10번 게시글에 15번의 사용자가 좋아요가 두 개를 눌러도 두 번 다 좋아요가 눌리는 상황인데 이에 대한 중복처리는 따로 해줘야 하는 것인가요?

  • java
  • mysql
  • spring-boot
  • kafka
  • redis
최어진 댓글 2 좋아요 1 조회수 84

Result 클래스 관련 질문

미해결

실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 안녕하세요 영한님 강의 듣다가 Result 클래스를 써야한다고 언급해주셨는데요, 해당 클래스 관련 질문 답변을 봤는데 https://www.inflearn.com/community/questions/442871/result-%ED%81%B4%EB%9E%98%EC%8A%A4-%EA%B4%80%EB%A0%A8-%EC%A7%88%EB%AC%B8%EC%9E%85%EB%8B%88%EB%8B%A4?focusComment=168228 @GetMapping("/{boardId}") public ResponseEntity<BoardResponse> getBoard(@PathVariable("boardId") Long boardId) { return ResponseEntity.ok(boardService.getBoard(boardId)); } 이런식으로 ResponseEntity 감싸서 DTO를 반환하는것과 Result 클래스가 같은 맥락으로 응답을 추상화한다고 생각하면 될까요? 감사합니다 :)

  • java
  • spring
  • spring-boot
  • jpa
갈색곰 댓글 1 좋아요 0 조회수 74

인기 태그

인프런 TOP Writers

주간 인기글