묻고 답해요
167만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결Spring Boot + React.js 로그인 (+소셜) 서비스 이해하기
Access Token 30분 오타요..
1000L * 60 * 30 해야 30분아닌가요 1초 * 60 -> 1분1분 * 30 -> 30분
-
미해결토비의 클린 스프링 - 도메인 모델 패턴과 헥사고날 아키텍처 Part 1
섹션 6 -2강
xml관련 설정강의자료로 남겨주신다고 했는데 어디서 찾을 수 있나요?
-
해결됨Claude + IntelliJ로 TodoList 개발하기 - MCP 완전 정복
인텔리제이 메모리가 폭주 합니다.
간단한 프로그램인데 Claude 연동해서 Claude ai가 코드를 작성할 때인텔리제이의 메모리를 16GB로 설정해도 부족하다고...저만 그런가요... 아님 다른 분도 그런가 궁금하네요 인텔리제이 메모리 시스템 사용량 이것 때문에 CPU 사용량이 급격하게 올라가면서 시스템이 넘 느려져서 프로세스 강제로 종료를 몇 번을 해도 똑같네요 그리고 실제 Claude가 작성한 코드는 처음 한 번 외에 늘어나지가 않고...설정은 잘 되고 Claude ai가 프로젝트 인식도 다 잘했는데... 코드를 작성하기 시작하면 이런 문제가 계속 발생합니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
build gradle
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]build.gradle 이렇게 하면 되는건가요?옆에 주석을 써봤는데 제가 이해한게 맞나요?plugins { id 'java' id 'org.springframework.boot' version '3.5.4' id 'io.spring.dependency-management' version '1.1.7' } group = 'hello' version = '0.0.1-SNAPSHOT' java { toolchain { languageVersion = JavaLanguageVersion.of(17) } } repositories { mavenCentral() } dependencies { implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' implementation 'org.springframework.boot:spring-boot-starter-web' // 추가 여기부터 implementation 'com.github.gavlyukovskiy:p6spy-spring-boot-starter:1.9.1' // SQL 쿼리를 로그로 찍어주는 라이브러리. 개발할 때 DB에서 어떤 쿼리가 실제로 나가는지 확인하기 위함. runtimeOnly 'com.h2database:h2' // H2 DB (인메모리 DB) 사용. 개발이나 테스트용으로 DB 서버 없이 DB를 돌릴 때 편리. // lombok 관련 compileOnly 'org.projectlombok:lombok' annotationProcessor 'org.projectlombok:lombok' testCompileOnly 'org.projectlombok:lombok' testAnnotationProcessor 'org.projectlombok:lombok' // querydsl 추가 implementation 'com.querydsl:querydsl-jpa:9.8:jakarta' // QueryDSL JPA 핵심 라이브러리 annotationProcessor "com.querydsl:querydsl-apt:5.0.0:jakarta" // 엔티티로부터 Q클래스 자동 생성 annotationProcessor "jakarta.annotation:jakarta.annotation-api" // 컴파일 시 필요한 annotationProcessor "jakarta.persistence:jakarta.persistence-api" // Jakarta EE API // 여기까지 // test lombok testImplementation('org.springframework.boot:spring-boot-starter-test') { exclude group: 'org.junit.vintage', module: 'junit-vintage-engine' } // 중괄호 추가 testRuntimeOnly 'org.junit.platform:junit-platform-launcher' } tasks.named('test') { useJUnitPlatform() } // 추가 clean { delete file('src/main/generated') }
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
dirty checking 질문드립니다.
안녕하세요. 강의 14분쯤에 말씀해 주신 dirty cheking에 대해서 질문드립니다. order.cancel(); 호출하면,Order의 status 변경되고, 이는 dirty cheking으로 인해 Order에 대해서 update 쿼리가 발생하고,orderitem.cancel()호출하면, Item의 stockQuantity가 변경되고, 이는 dirty checking으로 인해 Item에 대해서 update쿼리가 발생한다.기본편 및 강의 내용에 대해서 생각해보다가 이렇게 생각했는데 이렇게 이해하는게 맞을까요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
회원가입 테스트 중 빈값 오류
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 현재 강의 8분쯤, 회원가입 테스트 할때 "이미 존재하는 회원입니다"를 방지 하기 위해 delete from member; 이후에 정상 작동 되어야 하는데, 오류가 나는 상황입니다. 회원가입 테스트 함수 내에,join 함수 실행 후에, findOne(saveId) 에서 빈값으로 확인됩니다.saveId 의 경우엔 테스트 할때마다 시퀀스가 올라서 11, 12, ... 가 확인됩니다. select * from member; 시에 빈값이고,join(member)가 정상으로 됬기 떄문에 saveId값이 오르고 있는것 같은데,findOne에서 빈값이라고 하니 get()할 값이 없어서 오류가 나는것 같은데,진도를 나가기 위해 어떻게 수정해야 할까요 ? join이 정상실행 됬다는 확인은 해당 소스 위 아래 sout "1" "2" 를 각각 붙였더니 정상 실행 되었고,findOne 위에 sout("3")까지 출력 됬지만, findOne 아래 sout("4")은 출력되지 않고 오류가 떴습니다. 그리고 오류를 찾아가기 위해, 확인하고 싶은 현 시점에 소스 상황입니다.MemberServcie 클래스에서 @Service 와빈 주입을 위한 @Autowired 는 주석처리가 되어 있는데 맞을까요 ? 12분 짜리 강의를 위해 3시간째 ㅠㅠ 버벅이고 있습니다. 도와주세요 ㅠㅠ혹시 제 질문이 부족했다면, 제가 답을 얻기위해 추가 질문이라도 부탁드립니다 ㅠㅠ
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
동시성 관련 질문입니다
링크위 링크 속 질문에서 영한쌤이 아래와 같은 답변을 해줬습니다"서버가 한대만 있고, 자바(JVM)로 웹 애플리케이션을 단 하나만 구동하는 상황이면 자바 만으로 동시성 제어를 할 수 있습니다." MVC 1편 강의에서 배운 내용으로는클라이언트 요청이 들어오면 was 내에 미리 만들어진 쓰레드들이 각 요청을 받고 서블릿 코드를 실행한다고 이해하고 있습니다 그렇다면 서버가 한 대여도 쓰레드는 이미 여러개가 만들어져 있으므로동시에 여러 요청 처리가 가능하기에 자바만으로 동시성 제어가 안 되는거 아닌가요? 잘못 이해한 부분이 있다면 지적부탁드립니다
-
해결됨웹소켓/STOMP 채팅서비스(spring, vue, redis)
메시지 전송 시 검증
StompCommand.SEND 도 있길래 궁금해서 질문 남깁니다! 메시지 전송 시 subscribe할 때와 같은 검증을 할 필요는 없을까요?"채팅방에 참여자여야 메시지를 보낼 수 있다" 라는 검증이 자연스러운 흐름이 될 수 있을 것 같다고 생각했습니다.
-
미해결웹소켓/STOMP 채팅서비스(spring, vue, redis)
JWT 생성 시 subject 설정에 대한 질문
안녕하세요.JWT를 생성하는 코드(JwtTokenProvider.java의 createToken)에서는 Claims 객체를 먼저 생성하고 claims.setSubject()로 설정한 후, 이 claims를 builder에 전달하는 방식을 사용하고 계신데요.Builder에도 setSubject() 메서드가 있는데, Claims 객체에서 먼저 설정하신 이유가 궁금합니다.혹시 custom claim인 role을 함께 추가하기 위해서 Claims 객체를 먼저 생성하여 사용하신 건가요? 아니면 다른 이유가 있으신지 궁금합니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
윈도우 pc H2 실행 불가
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]여기에 질문 내용을 남겨주세요.H2 설치 및 삭제 여러차례 반복 및 구글링과 인프런에 등록된 F&Q 내용대로 해봐도 H2가 실행되지 않습니다.저거 두 개 다 실행해도 작동이 안 됩니다.
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
CASCADE 질문드립니다.
안녕하세요. Order와 OrderItem엔티티에 있는 CASCADE에 대해 기본편을 복습해도 헷갈린 부분이 있어서 질문드립니다. em.persist(order)를 하면 CascadeType.ALL때문에 Delivery랑 OrderItem도 insert가 되는거 같은데, @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "order_id") private Order order; OrderItem에 있는 이 부분에 CASCADE를 적어준게 아니라@OneToMany(mappedBy = "order", cascade = CascadeType.ALL) private List<OrderItem> orderItems = new ArrayList<>(); 왜 Order에 있는 여기에다가 CASCADE를 적어준것일까요? 어디에다 두어도 상관없을거 같은데, 특별한 규칙이 있는것인지 질문드립니다.
-
미해결코드로 배우는 React 19 with 스프링부트 API서버
교안 31 오타 수정해주세요
page -> size리액트 잘 모르시는 분들은 에러가 아닌데 dtoList1개 오시면 한참 해매실 것 같네요,
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
엔티티로 승인(결정)하는 기준
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]안녕하세요 ~ 강의 복습 중 궁금한게 생겨 여쭤봅니다 ! 도메인 설계 시 지금처럼 회원 - 주문 - 상품을 메인 도메인으로 잡지 않고회원이 회원가입, 주문 기능을 수행하는 주체이기에 회원 속에 Embedded로 주문 클래스를 값타입으로 잡아 회원 속에 넣고 회원 - 상품을 메인 도메인으로 잡을 수도 있겠다는 생각이 들었는데, 스프링부트 1 예제처럼 주문과 배송 클래스를 하나의 엔티티로 규정한 이유는 주문과 배송에서 식별자 pk 값이 필요하다고 생각해서 한 것일까요 ?회원 도메인이 회원 가입 관련 역할만 담당하는 도메인이라서 책임 분리를 위해 주문과 배송 클래스를 다른 엔티티로 규정했는지 라는 의문도 들었는데,엔티티로 잡아야하는 기준에 대해 여쭤보고 싶어 질문 남깁니다 !
-
미해결토비의 클린 스프링 - 도메인 모델 패턴과 헥사고날 아키텍처 Part 1
unique-constraint 설정 질문드립니다.
orm.xml unique-constraint 설정 부분 설명해주신 부분에서 인덱스로서 성능을 위해서, 데이터 중복저장 문제를 위해서 설정을하면 좋다고 말씀해주셨는데요<index unique="true">설정의 차이점이 뭔지 잘모르겠습니다
-
미해결장애를 허용하는 견고한 시스템 만들기
복제 관련 질문입니다!
안녕하세요. 준형님.강의와는 조금 벗어나는 얘기라서 답변을 해주시지 않아도 괜찮습니다.!복제를 구성하는 경우 복제 지연에 대해서 고민을 하게 되었는데, 마땅한 대안을 내지 못해서 이렇게 질문드리게 되었습니다.혹시 실무에서나 일반적으로 복제 지연을 대응(해결)하기 위한 해결책에는 어떤것이 있을까요...???
-
미해결장애 없는 서비스를 만들기 위한 Resilience4j - CircuitBreaker
현업에서 서킷브레이커 상태 전파를 할 때 Actuator를 사용 하시는지 궁금합니다!
현재 서버(A 서버)에서 서킷 브레이커가 OPEN 되었을 때, 다른 B, C 서버에 서킷 브레이커 OPEN 전파를 해야할 때 그럼 Actuator를 활용해서 전파를 하시는 편이신가요? 또 만약 전파를 하신다면, 어떤 상황에 전파를 하신 경험이 있으신지 사례가 궁금합니다 선생님!!
-
미해결토비의 클린 스프링 - 도메인 모델 패턴과 헥사고날 아키텍처 Part 1
@ResponseBody 로 도메인 레이어의 MemberRegisterRequest 를 그대로 사용하는 것에 대해서
안녕하세요. 토비님, 강의 잘 듣고 있습니다. 🙂오늘은 강의 내용에서 좀 굉장히 의외인 부분을 발견해서 질문드립니다.강의 #41. MemberApi와 웹 단위 테스트 에서 MemberRegisterRequest 가 domain 레이어에서 정의했던 클래스임에도, @RequestBody 파라미터 그대로 쓰셨는데, 이 부분이 많이 의외고 우려가 되었습니다.저렇게 하면 MemberRegisterRequest 클래스의 코드 변경이 api 스펙 변경을 의미하는지가 코드리뷰 상에서 쉽게 보이지 않고 숨겨질 수 있다는 염려가 됩니다.실제로 MemberRegisterRequest 에 필드를 추가해서 PR 을 올리면 코드리뷰어가 봤을 때 domain 레이어의 특정 모델에 필드가 추가됐을 뿐인 작은 변경으로 보일 것입니다. 그래서 그것이 어느어느 API 의 스펙에 영향을 주는지 알기가 너무 어려울 것 같습니다.그래서 저는 API 의 스펙이 되는 Request, Response DTO 의 경우 반드시 클래스를 별도로 분리해야한다고 생각합니다.API 스펙은 server 마음대로 변경할 수 있는 서버만의 코드가 아니라 client 와의 계약 문서라고 보기 때문입니다.그래서 Request/Response 같이 백앤드 엔지니어가 함부로 변경할 수 없는 영역과 맘대로 변경 가능한 영역을 분리해서, 어플리케이션과 도메인 로직의 변화가 API 스펙 변경으로 인한 장애 걱정으로 이어지지 않게 하는 것이 중요하다고 생각합니다.이게 근데 단순히 클래스 분리만 해둬도 PR 에서 API 스펙이 어떻게 바뀌는지 쉽게 트래킹이 가능해지기 떄문에 이 부분 만큼은 번거롭더라도 실보다 득이 훨씬 많아서 꼭 분리해야한다고 생각해왔습니다.이 부분에 대해서 어떻게 생각하시는지 궁금합니다.
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
application.yml파일에 작성한 username과 password는 암호화 안해도 되나요?
안녕하세요, 보다가 궁금한점이 있어 질문드립니다.혹시 서버에 배포할 때 실제 운영되는 서비스면 저 비밀번호를 암호화해서 저장해야하는건지 문득 궁금증이생겨서 여쭤봅니다.
-
해결됨Claude + IntelliJ로 TodoList 개발하기 - MCP 완전 정복
커서 AI 와 클로드 비교에 대한 질문
안녕하세요. 우선 Claude 가 되지 않는데 영상 시청으로 마무리하였습니다.양질의 컨텐츠를 제공해주셔서 감사합니다.강의를 듣고 제가 질문드리고 싶은 몇가지가 있습니다. 저는 비전공자로서 어플을 개발해보고 싶습니다. 이 경우 제가 프롬프트를 복붙할 수는 있지만 하나도 이해를 못했는데, 이 프롬프트는 비전공자는 어떻게 어디에서 가져올 수 있나요 ? 예를 들어서 제 요구사항을 Gemini 에 부탁하고 그걸 Gemini 가 Claude 에 맞게 변형해주면 그걸 그대로 복붙만 하면 되는건가요? 강의에서는 GPT 를 사용한다고 하셨는데, GPT 랑 Gemini 둘중 무엇을 이용해도 상관이 없을까요 ? 그리고비전공자가 어플을 개발한다고 해도 간단한 어플만 개발이 가능할까요? 아니면 나름 정말 배포해도 될만한 어플도 비전공자가 프롬프트만을 이용해서도 충분히 가능할까요 ? 몇몇 제 친구는 비전공자한테는 Cursor AI 가 더 나을 수 있다고 하는데, 어떻게 생각하시는지 궁금합니다. 요즘 개발자분들 이야기들어보면 클로드가 커서를 잡아먹을 정도로 성장했다는 이야기를 볼 수 있었습니다. 4. 강의를 듣고 느낀 점은 제가 프롬프트를 정교하게 잘 쓸 수 있고, 만약에 개발 과정에서 발생하는 틀리거나 해결해야하는 부분들을 이해할 수 있을까 라는 생각을 하고 있는데, 충분히 비전공자도 해결 가능한지 궁금합니다. 예를 들어 저는 Thymeleaf 나 signup.html 이런 용어 조차 친숙하지 않습니다.
-
해결됨카카오 면접관이 알려주며 가장 쉽게 배우는 Kafka
다이어그램 저장소 파일 오류
다이어그램 저장소 파일을 다운받고 압축해제 시 해당 오류가 발생하는데 파일이 문제인걸까요?