inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

쿠폰 생성 에러 처리에 관해서 질문이 있습니다.

미해결

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

안녕하세요 강사님 강의 잘 봤습니다. 덕분에 kafka와 redis를 어떤식으로 사용할 수 있는지 많은 걸 엿볼 수 있는 느낌이었습니다. 강의가 다 진행되고 난 후 궁금한 점이 하나 있습니다. 쿠폰 생성 에러 처리 관련되어서 질문이 있는데, 만약 메시지를 수신하는 쪽이 아니라 발송하는 쪽에서 문제가 생겼다면 어떻게 해야하나요? 예를들어 redis에서 increment로 수량에 대해서 가져왔지만, 만약 kafka에 메시지를 보내는 것이 실패 될 경우 reids에 있는 값을 다시 하나 줄여야할 것 같습니다. 이런 경우 try catch 블럭으로 처리를 하는 지? 아니면 다른 방식으로 예외처리 하는지 궁금합니다.

  • java
  • docker
  • spring-boot
  • kafka
  • redis
홍혁준 댓글 2 좋아요 0 조회수 251

String클래스 리터럴 방식 관련 질문

해결됨

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

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 안녕하세요. String 선언시 리터럴 방식으로하면 String Pool에 해당 문자열이 있는지 확인하고, 있다면 해당 문자열의 참조값을 사용하는 것으로 알고 있는데요. 반면 new 연산자를 이용하는 방식은 String Pool 을 거치지 않고 항상 새로운 String 객체를 생성하는걸로 알고있습니다. PDF 파일 2페이지에 이런 내용이 있는데요. 편의상 쌍따옴표로 문자열을 감싸면 자바 언어에서 new Stirng("hello") 와 같이 변경해준다. 리터럴 방식도 new 연산자를 이용하는 방식으로 자바가 변경해주는거라면 Heap 영역에 항상 새로운 String 객체를 생성하게 되는게 아닌지 궁금합니다. 감사합니다. 😃

  • java
  • 객체지향
  • string
pej4303 댓글 1 좋아요 0 조회수 155

[28000][1045] Access denied for user 'root'@'localhost' (using password: YES)

해결됨

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

인텔리제이 내에서 데이터베이스를 실행하려고 하면 [28000][1045] Access denied for user 'root'@' localhost ' (using password: YES) 이와 같은 경고문이 뜹니다. 해결방안을 알고 싶습니다!

  • java
  • spring
  • aws
  • mysql
  • spring-boot
  • jpa
kangaroo125 댓글 2 좋아요 0 조회수 274

문제풀이 질문입니다.

미해결

김영한의 실전 자바 - 기본편

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 처음에 제가 풀 땐 이렇게 해서 풀었는데 nullPointException 에러가 터졌습니다. 이런 에러가 터진 이유와 그리고 제 생각이 왜 틀린건지 설명해주시면 감사하겠습니다.

  • java
  • 객체지향
성호 댓글 1 좋아요 0 조회수 123

영한 강사님! 타입 이레이저 방식의 한계 부분 질문

해결됨

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

제네릭 타입 이레이저 PDF 기준 30p 부분인데 컴파일 이후에는 제네릭 타입 정보가 존재하지 않기 때문에 instanceof나 new를 허용하지 않는다는건 잘 이해를 했습니다. 근데 밑에 코드를 보면 public void create() 부분이 일단은 public void create() {return new T();} 이 부분이 public T create() {return new T();}로 되어야하는거 아닌가요?

  • java
  • 객체지향
  • 코딩-테스트
  • 알고리즘
조아름 댓글 2 좋아요 0 조회수 154

final String과 int의 차이점

미해결

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

13강 상수를 배우고 있는데요. final String KR_COUNTRY_CODE = "+82"; system.out.println(KR_COUNTRY_CODE); 에서 상수를 쓸건데 int가 아닌 final String 을 사용하는 이유는 + 82 때문에그러는걸까요? 숫자만 쓰는게 아니라 + 기호를 사용하기 때문에 문자열 String에 final을 붙여서 final String을 사용하는걸까요?

  • java
  • 객체지향
자두왕자 댓글 2 좋아요 0 조회수 176

JPA 연관관계 자체의 필요성에 대한 질문입니다.

해결됨

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

영한님 강의로 많은 도움 얻은 학습자입니다. 최근 커뮤니티나 기술 블로그에 종종 보이는 내용 중 하나가 "연관관계를 맺지 않고 그냥 쓰는 것" 에 대해 어떻게 생각하시는지 궁금합니다. @Entity class Member { .... // @ManyToOne @JoinColumn("team_id") // private Team team; private Long teamId; // 이런식으로 연관관계 없이 그냥 id 값 넣어 사용 } 위와 같은 형태로 Team 객체를 연관관계로 갖고있는게 아닌 id 값 타입 그대로를 가진 형태입니다. 토스 개발자로 계신 제미니님도 연관관계를 잘 맺지 않으신다는 의견을 갖고 계시고, (이유는 id 로만 맺었을 땐 그 다음 전략을 선택하기 쉽다 && 관계를 잘못되게 많이맺어놓으면 다음이 없다라고 하시더군요.) 신빙성 없는 블로그발 출처이긴 하지만 네이버, 카카오에서도 연관관계를 안맺고 쓴다라는 얘기가 있긴하더군요. ( https://velog.io/@ssuh0o0/BE-STUDY-%EC%97%B0%EA%B4%80%EB%A7%A4%ED%95%91%EC%9D%84-%EC%A7%80%EC%96%91%ED%95%98%EB%9D%BC ) 당연히 답이 없는 문제이지만, 개인적인 생각으로는 현업에서 JPA 를 써본 결과 JPA 의 러닝커브 자체도 너무 높고, 이것저것 고려해야 될 것이 너무 많아진다 << 가 제 결론이긴 하거든요. 그 예로 n+1 문제부터 시작해서 양방향 연관관계일 경우 명시적으로 set, add 등을 해줘야하는 문제, 오래 전이라 정확히 기억은 나지 않지만 OneToOne 관계일때 발생했던 문제, A 테이블과 B 테이블 간 조인을 2개 컬럼으로 해야할 때 발생했던 문제, ddl-auto 실수할 여지 ... 등등 연관관계를 통해 객체 그래프를 쉽게 가져올 수 있다는 장점, sql 종속적이지 않은 장점 여러가지 제약사항이 많아 실수할 여지가 많다라는 단점 개인프로젝트라면 1번을 선택하겠지만 현업에서는 1 < 2 인것 같아 고민입니다. 강의 내에서도 그 뛰어난 배민 개발자들도 종종 실수 하신다고 하시기도 했구요. 배민에서는 적극적으로 활용 중인 것으로 알고 있는데, 배민을 제외한 다른 회사에서는 현업에서 어떻게 활용 중인지 또, 위 내용에 대한 의견이 어떠신지 궁금합니다.

  • java
  • jpa
cw k 댓글 2 좋아요 0 조회수 534

제네릭 타입 이레이저 오타인가요?

미해결

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

제네릭 타입 이레이저 PDF 기준 30p 부분인데 컴파일 부분에서 제네릭 타입 정보가 존재하지 않기 때문에 instanceof나 new를 허용하지 않는다는건 잘 이해를 했습니다. 근데 밑에 코드를 보면 public void create() 부분이 일단은 public void <T> T create() {} 로 되어야하는게 아닌가요?

  • java
  • 객체지향
  • 코딩-테스트
  • 알고리즘
댓글 1 좋아요 0 조회수 121

섹션 4부터 너무 어렵고 자바의 람다식도 모른다면 자바부터 다시 공부하고 시작하는게 맞을까요? 스프링을 처음해보는데 넘 어렵네요,,

미해결

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

섹션 4부터 너무 어렵고 자바의 람다식도 모른다면 자바부터 다시 공부하고 시작하는게 맞을까요? 스프링을 처음해보는데 넘 어렵네요,,

  • java
  • spring
  • mvc
  • spring-boot
하민철(Mincheol) 댓글 1 좋아요 0 조회수 435

1. 클래스와 데이터 ppt 26p 오타인가요?

미해결

김영한의 실전 자바 - 기본편

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 1. 클래스와 데이터 26p 최상단 Student students = new Student[2]이 옳바른 문장인것인가요? 강의 내용처럼 객체로 배열을 만드는 상황이라면 Student[] students = new Student[2] 이렇게 바꿔야되는 것이 아닌지 궁금합니다.

  • java
  • 객체지향
정의석 댓글 2 좋아요 0 조회수 135

탐색 순서 질문

미해결

Do it! 알고리즘 코딩테스트 with JAVA

영상에서 탐색 순서가 1 > 3 > 4 > 6 > 2 > 5 로 되어있는데 왜 5 > 2 가 아닌 2 > 5가 되는지 궁금합니다. 진행 되는 순서가 노드를 넣고 > 노드를 꺼내고 가 맞지 않나요? 아님 2 > 5로 되어도 상관 없는건가요?

  • java
  • 코딩-테스트
  • 알고리즘
겁많은 김앙리 댓글 1 좋아요 0 조회수 163

쿼리 로그 출력 관련 질문

해결됨

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

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예 [질문 내용] MemberApiController.java MemberService.java 쿼리 실행이 select - update - select가 로그에 출력될꺼라고 예상 했는데 실제 로그는 select - update 까지만 출력되는데 이유를 알 수 있을까요?

  • java
  • spring
  • spring-boot
  • jpa
Jhs 댓글 1 좋아요 0 조회수 92

pdf파일 표 질문이요(저만 안보이는건지?)

해결됨

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

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 안녕하세요. 8번째 pdf파일 set의 주요 메서드 설명을(3page) 보고 있는 도중에, 글씨가 안 보이는 부분이 있어서 여쭤 봅니다. pdf파일로 열어서 보고 있는데 표 끝부분이 정확히 안나와서, 저만 그런건지 알고 싶어서 질문을 올립니다. 혹 저만 그런 건가요? 아니면 다들 똑같은신지요?

  • java
  • 객체지향
  • 코딩-테스트
  • 알고리즘
생각하는자 댓글 2 좋아요 0 조회수 176

source.next와 source.emit의 차이에 대한 질문입니다.

해결됨

Kevin의 알기 쉬운 Spring Reactive Web Applications: Reactor 1부

안녕하세요. 강의 잘 보고 있습니다. 마지막에 와서 의문이 드는게 있어 질문 남겨봅니다. 첫 번째 예제 TestPublisherTestExample01 에서는 source.next 로 테스트를 진행했고, 세 번째 예제 TestPublisherTestExample03 에서는 source.emit 으로 테스트를 진행했는데요. emit의 경우 내부적으로 complete()을 통해 signal을 발생 시키는 것으로 이해했습니다. 그런데, 말씀대로라면 첫 번째 테스트에서 expectComplete() 이 통과하는게 이해가 가지 않아서요. 둘의 차이는 결국 Flux를 create 해주는 방식에 있는 것 같은데, 첫 번째 예제의 경우 zipWith을 통해 complete이 발생하는 걸까요? 잘 감이 오지 않는데, 설명해주시면 감사하겠습니다!

  • java
  • spring
  • project-reactor
  • webflux
azsxd34 댓글 2 좋아요 0 조회수 235

GitHub에 application설정 내용 push

미해결

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

강의를 다시 보며 개인적으로 복습하던 중 만약 MySQL까지 배포를 완료한 후에 깃허브에 코드를 올리게 되면 Repo가 Public이라서 application에 설정해둔 저의 DB정보와 password도 함께 보여지게 될 텐데 이를 방지하는 방법이 있을까요? Private일 때 배포하는 방법은 강의 내용에 없어서 아쉽지만ㅠ Public일 때 깃허브에 application 설정을 gitignore을 통해서 push하지 않아도 배포하는 데에 있어서 지장이 없는지 궁금합니다!

  • java
  • spring
  • aws
  • mysql
  • spring-boot
  • jpa
박재성 댓글 3 좋아요 0 조회수 167

jdk 버전 관련해 질문이 있습니다.

미해결

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

plugins { id 'java' id 'org.springframework.boot' version '3.3.5' id 'io.spring.dependency-management' version '1.1.6' } group = 'hello' version = '0.0.1-SNAPSHOT' java { toolchain { languageVersion = JavaLanguageVersion.of(21) } } repositories { mavenCentral() } dependencies { implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' implementation 'org.springframework.boot:spring-boot-starter-web' testImplementation 'org.springframework.boot:spring-boot-starter-test' testRuntimeOnly 'org.junit.platform:junit-platform-launcher' } tasks.named('test') { useJUnitPlatform() } 제 프로젝트에 "toolchain { languageVersion = JavaLanguageVersion.of(21)" 라고 기술했는데요. 제 시스템에 설치된 jdk버전이 꼭 21 버전이어야만 빌드가 되더라구요. 자바 버전이 17이면, jdk가 17이상만 되면 빌드가 된다고 어디서 들었던 것 같은데, 혹시 툴체인이랑은 별개의 내용인건가요?

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

블로그 글 작성

미해결

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

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문 전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 네 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 네 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 네 [질문 내용] 안녕하세요! 책으로 공부 할 땐 어려웠는데 영한님 덕분에 편하게 공부 하고 있습니다. 감사합니다. 다름이 아니라 블로그에 배운 내용을 작성 하려고 하는데 쓰레드 섹션 2,3의 경우 영한님 코드가 노출 되어도 괜찮나요?.. 출처는 당연히 남깁니다! 섹션 2,3 경우 코드가 많지 않아서 이걸 블로그에 올려도 될까 고민입니다.

  • java
  • 객체지향
  • 동시성
  • multithread
  • thread
조희제 댓글 1 좋아요 0 조회수 248

이제 막 자바 문법 배웠는데, 이 강의를 수강해도 괜찮을까요?

미해결

백엔드 프레임워크 만들기 (개정판)

저는 자바스크립트로 Front, 그리고 간단한 서버(단순 CRUD 수준)를 개발하다가, 이제 막 JAVA 문법을 익혔습니다. 제 프로젝트의 서버 개발을 위해 Spring을 배우려고 하는데요. 스프링부터 배울지 이 강의를 먼저 수강후 스프링을 배울지 고민이 됩니다. 고민이 되는 주된 이유는 난이도 때문에 그렇습니다. 당장 필요한 서버 기능을 위해 스프링을 배울까 하다가도 결국 객체지향을 이해하는게 핵심이겠다 싶어 이 강의를 먼저 듣는게 낫겠다 싶기도 합니다. 그러나 제가 따라 갈 수 있을지 고민이 됩니다. 이미 강의 결제는 했지만, 어떤 과정이 효율적일지 판단이 안됩니다. 혹시 조언을 부탁드려도 될까요?

  • java
  • 객체지향
  • 관점지향
박상원 댓글 1 좋아요 0 조회수 192

최근에 올린 질문, 코드블럭으로 공유드립니다!

해결됨

[자바/Java] 문과생도 이해하는 DFS 알고리즘! - 입문편

import java.util.*; public class Main { static int N, M, R; static int[] answer; static ArrayList<Integer>[] graph; static boolean[] visited; static int order = 1; public static void dfs(int idx) { visited[idx] = true; answer[order] = idx; order++; for(int i = 0; i < graph[idx].size(); i++) { if(!visited[graph[idx].get(i)]) dfs(graph[idx].get(i)); } } public static void main(String[] args) { Scanner input = new Scanner(System.in); N = input.nextInt(); M = input.nextInt(); R = input.nextInt(); answer = new int[N+1]; visited = new boolean[N+1]; graph = new ArrayList[N+1]; for(int i = 1; i <= N; i++) { graph[i] = new ArrayList<>(); } for(int i = 0; i < M; i++) { int x = input.nextInt(); int y = input.nextInt(); graph[x].add(y); graph[y].add(x); } for(int i = 1; i < graph.length; i++) { Collections.sort(graph[i], Collections.reverseOrder()); } dfs(R); for(int i = 1; i < answer.length; i++) { System.out.println(answer[i]); } } } 이렇게 구현한 경우, 틀렸다고 나오는데, ide로 돌리고 출력해보면 1 4 3 2 0 으로 정상 출력되는데.. 이유를 모르겠습니다ㅠㅠ! 선생님이 작성해주신 코드 answer[idx] = order; order++; 제가 작성한 코드 answer[order] = idx; order++; 이렇게해도, 제가 하나씩 디버깅해서 따라가보면, 정답과 맞게 나오는데, 틀렸다고합니다.. !

  • java
  • 코딩-테스트
  • 알고리즘
  • dfs
김예현 댓글 1 좋아요 1 조회수 164

h2에서 @GeneratedValue(strategy = GenerationType.IDENTITY) 부분이 되지 않습니다.

미해결

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

강사님과 똑같이 했는데 h2에서 member 테이블이 사라지고 결과 값엔 Table "MEMBER" not found; SQL statement 라고 나옵니다. 그래서 테이블 생성을 위해 @Table(name = "Member")로 생성을 시도했지만 생성 또한 되지 않습니다. 제가 원하는건 강사님과 똑같은 결과 값이 나오게 하려면 어떤 부분을 수정해야할까요?

  • java
  • jpa
주현 댓글 3 좋아요 2 조회수 431

인기 태그

인프런 TOP Writers

주간 인기글