묻고 답해요
130만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
value값이 null로 나오는 이유???
[질문 내용]여기에 질문 내용을 남겨주세요.value 값이 왜 null로 나오나요???????????
-
미해결실습으로 배우는 선착순 이벤트 시스템
kafka Consumer
Kafka를 사용하는 주된 이유 중 하나는 확실히 데이터 처리의 유연성과 부하 분산에 있습니다. Kafka를 활용함으로써, 많은 양의 이벤트(예: 쿠폰 발행 요청)를 바로 처리하지 않고 큐에 보관했다가, 시스템의 부하가 적은 시기에 또는 자원이 더욱 충분할 때 일괄적으로 처리할 수 있게 됩니다.kafka 관련해서 다른 분 질문에 답글이 위처럼 달린 것을 확인했는데요.. 큐에 보관했다가 일괄적으로 처리를 할 수 있다고 했는데 그럼 컨슈머 listener 에 언제 카프카에 있는 이벤트를 받아서 처리할 것인지에 대한 설정을 할 수 있는 것인가요?시스템 부하가 적은 시기나 자원이 충분할 때가 언제인지 어떻게 알고 처리를 하는지 궁금합니다.
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
수료증
혹시 수료증에 수료기간도 나오나요?
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
강의 수강 후 질문
안녕하세요 강의를 모두 수강후 , 강의를 통해 MSA관련 배운부분을 적용시키기 위해 프로젝트를 진행했습니다!Spring Cloud를 활용하고 서비스를 모두 개발완료 후 배포를 진행중입니다. 현재 마이크로 채팅 서비스가 ec2 a인스턴스에있고 gateway는 b인스턴스에 있고 모두 docker로 배포를 진행했습니다. eureka서버는 b인스턴스에 있고 gateway를 비롯해서 모든 마이크로서비스가 정상적으로 등록된 상태입니다.그러던중에, 아래와 같은 에러가 gateway 로그에 찍혔습니다. ec2 보안그룹도 정상적으로 포트를 열어줬고, 외부에서 접근이 가능하게 docker로 포트 매핑도 진행했고 , 방화벽도 문제가없는데 원래 gateway에서 ==> 다른 인스턴스에 있는 마이크로서비스를 연결을 하지못하는걸까요? 구글링을 많이해봤지만, 비슷한 내용이 없고 해결하기가 어려워 질문 남깁니다ㅜㅜ+)추가로 라우팅도 정상적으로 되어 매칭이 됬다는 로그도 나오는 상태에서 finishConnect(..) failed: Connection refused 에러가 생깁니다..a.w.r.e.AbstractErrorWebExceptionHandler : [1e416af9] 500 Server Error for HTTP GET "/plant-chat-service/chatroom/exist/seller?tradeBoardNo=2&memberNo=1" io.netty.channel.AbstractChannel$AnnotatedConnectException: finishConnect(..) failed: Connection refused: /172.18.0.5:46183 Suppressed: reactor.core.publisher.FluxOnAssembly$OnAssemblyException: Error has been observed at the following site(s): *__checkpoint ⇢ org.springframework.boot.actuate.web.trace.reactive.HttpTraceWebFilter [DefaultWebFilterChain] *__checkpoint ⇢ org.springframework.cloud.gateway.filter.WeightCalculatorWebFilter [DefaultWebFilterChain] *__checkpoint ⇢ org.springframework.boot.actuate.metrics.web.reactive.server.MetricsWebFilter [DefaultWebFilterChain] *__checkpoint ⇢ HTTP GET "/plant-chat-service/chatroom/exist/seller?tradeBoardNo=2&memberNo=1" [ExceptionHandlingWebHandler] Original Stack Trace: Caused by: java.net.ConnectException: finishConnect(..) failed: Connection refused at io.netty.channel.unix.Errors.newConnectException0(Errors.java:155) ~[netty-transport-native-unix-common-4.1.85.Final.jar!/:4.1.85.Final] at io.netty.channel.unix.Errors.handleConnectErrno(Errors.java:128) ~[netty-transport-native-unix-common-4.1.85.Final.jar!/:4.1.85.Final] at io.netty.channel.unix.Socket.finishConnect(Socket.java:359) ~[netty-transport-native-unix-common-4.1.85.Final.jar!/:4.1.85.Final] at io.netty.channel.epoll.AbstractEpollChannel$AbstractEpollUnsafe.doFinishConnect(AbstractEpollChannel.java:710) ~[netty-transport-classes-epoll-4.1.85.Final.jar!/:4.1.85.Final] at io.netty.channel.epoll.AbstractEpollChannel$AbstractEpollUnsafe.finishConnect(AbstractEpollChannel.java:687) ~[netty-transport-classes-epoll-4.1.85.Final.jar!/:4.1.85.Final] at io.netty.channel.epoll.AbstractEpollChannel$AbstractEpollUnsafe.epollOutReady(AbstractEpollChannel.java:567) ~[netty-transport-classes-epoll-4.1.85.Final.jar!/:4.1.85.Final] at io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:489) ~[netty-transport-classes-epoll-4.1.85.Final.jar!/:4.1.85.Final] at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:397) ~[netty-transport-classes-epoll-4.1.85.Final.jar!/:4.1.85.Final] at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) ~[netty-common-4.1.85.Final.jar!/:4.1.85.Final] at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-common-4.1.85.Final.jar!/:4.1.85.Final] at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[netty-common-4.1.85.Final.jar!/:4.1.85.Final] at java.base/java.lang.Thread.run(Thread.java:831) ~[na:na]
-
미해결실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
NotEmpty 속성 적용 관련
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요./api/v1/members 에서는 NotEmpty를 멤버 클래스에서 적용함 public class Member { ~~ 중략 @NotEmpty private String name; ~~ 중략 } /api/v2/members 를 테스트 하면서 멤버 클랫스에서는 @NotEmpty 를 제거하고 MemberApiController 내부에 이너 DTO 클래스에 @NotEmpty 속성을 넣으면 API 에서 빈값을 넣어도 그냥 통과시켜 버립니다. public class Member { //중략 private String name; //@NotEmpty 제거 //중략 } public class MemberApiController { //중략 @Data static class CreateMemberRequest { @NotEmpty private String name; } //중략 } 강사님의 의도는 V2가 엔티티에 독립성은 보장 프레젠테이션 레이어의 체크 사항을 엔티티 레벨로 가져오지 않고 DTO를 사용하여 결합을 느슨하게 하려고 보이는데 그러한 의도로 코드 수정하면 원하는 결과가 나오지 않습니다.
-
미해결실습으로 배우는 선착순 이벤트 시스템
docker compose up 실행 오류
version: '2' services: zookeeper: image: wurstmeister/zookeeper container_name: zookeeper ports: - "2181:2181" kafka: image: wurstmeister/kafka:2.12-2.5.0 container_name: kafka ports: - "9092:9092" environment: KAFKA_ADVERTISED_HOST_NAME: 127.0.0.1 KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181 volumes: - /var/run/docker.sock:/var/run/docker.sock 강의자료 내용대로 작성하고 실행했는데 다음과 같은 오류가 계속 발생하는데 원인을 모르겠습니다. 도커 로그인을 했는데도 계속 발생하네요. 오류 원인이 뭘까요? $ docker-compose up -d kafka Pulling zookeeper Pulling kafka Error zookeeper ErrorError response from daemon: pull access denied for wurstmeister/kafka, repository does not exist or may require 'docker login': denied: requested access to the resource is denied
-
미해결스프링 배치
DB 스키마 없음
안녕하세요. 아직 학습을 많이 듣진 않았지만 당장 회사 업무에 들어간 신입이라 여쭤봅니다! 프로젝트 구조는 아래와 같습니다.스프링 부트 2.1MyBatis티베로스프링 배치 4.1XML로 빈 등록 및 Job & 스텝 등록 강의 초반에 DB를 사용하게 되면 DB 메타데이터를 저장하는 스키마가 꼭 있어야한다고 했는데, 테이블을 아무리 뒤져봐도 배치에 대한 스키마가 보이지 않습니다.또한 job key(job_name, job_parameters)가 정확한진 모르겠으나 xml 잡 정의에 <job id="jobid"> 이런식으로 정의되어 있는데(job paramaeters 는 JVM 아규먼트로 받음) 같은 파라미터와 job를 id로 돌려도 잘 돌아갑니다. 제가 초반부에 수업 내용을 듣기로는 job_key가 동일하면 중복으로 안 돌아간다고 들었습니다. 이런 경우 DB를 사용하지 않는 것이 맞나요? 그리고 또 DB를 사용하지 않게 된다면 job_key도 영향이 없는 것이 맞을까요? 코드로 예시를 보여드리고 싶지만 회사 코드라 공개하기는 어려울 것 같습니다 ㅠㅠ
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
34강 postman에서 send 하고 status=200 -> mysql에서 조회가 안되요
포스트맨에서 등록성공후 Mysql에서 person, address 테이블 확인하면 데이타가 없거든요.근데 Mysql 팝업메뉴에서 auto-commit 을 선택하면 갱신되서 데이타 보여요. Libraryapp 테스트할때도 UI화면에서 CUD하면 Mysql에서바로 안보이고 auto-commit을 해줘야 갱신이 되드라고요.@Transactional 에서 commit 하는건지요?맞다면 왜 mysql에서 commit을 따로 해줘야 할까요..제가 mysql 툴을 안써봐서 문의드려요^^
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
빌드 오류
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.다음과 같은 오류가 발생하는데 어떻게 해결하나요?
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
웹 프로젝트가 아닌 앱 프로젝트를 할 떄도 spring web을 사용하나요?
강의 내용이 어려워서 다시 마음 잡을겸 처음부터 보고 있습니다.강의 내용을 들으면서 앱도 웹 기반 동작을 하기 때문에 벡엔드 개발은 클라이언트에 의존하지 않는다고 이해 하였는데 웹 개발이 아닌 앱 개발을 할때도 start.spring.io 사이트에서 spring web을 다운 받으면 되는건가요?+ 현제 스프링 db1편을 수강중인데 db2편까지 수강을 마치면 db연동까지 가능한(동시에 여러 사용자가 사용하는) 프로젝트를 개발하는것이 가능한가요? 아니면 나머지 강의인 스프링 고급과 핵심원리 활용까지 수강을 하여야 하나요?
-
미해결코틀린 문법부터 실무까지 (자바 to 코틀린 실무)
@RelaxedMockK로 모킹하고 save 함수를 왜 또 모킹하는지 모르겠습니다.
안녕하세요 강사님. 강의 정말 잘 듣고 실무에 적용해보려고 합니다. 강의 내용중 createPrinceTest_success 라고 하는 테스트 코드 예시에서 @Relaxed 로 모킹을 진행하고 오류가 발생해서 princeRepository.save()를 모킹하신다고 하셨는데, 그 이유가 어떤 이유인지 궁금합니다. CreatePrince.Request 객체를 만들고 princeMakerService.createPrince(request)를 호출하여 내부의 princeRepository.save()를 통해 저장되는 것을 테스트 하는데 외부에서 princeRepository.save()를 다시 모킹을 진행하고 랜덤 값으로 Prince 객체를 리턴 받는것이 조금 이해가 되지 않아서 질문드립니다.질 좋은 강의 너무 감사드립니다. 답변 주시면 감사하겠습니다!
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
섹션1. 빌드하고 실행하기
이번 강의는 처음부터 이해가 가지않습니다..ㅠㅠ명령 프롬프트를 실행해서 이것저것 해봤는데 어떻게 빌드하고 실행하는지 모르겠습니다.그리고 왜 자바가 아니라 이렇게 외부에서 하는지도 이해가 되지 않습니다ㅠㅠ 완전 뉴비라서 콘솔로 이동하라는게 어디로 이동하라는 건지, 명령 프롬프트가 뭘하는지도 잘 모르기에... 이번 강의는 하나도 이해가 되지 않았습니다ㅠㅠ어떻게 해야하는지 알려주시면 감사하겠습니다!! 아래는 제가 명령 프롬프트에서 실행했을때 메시지입니다.((C:\Users\IDEAPAD>./gradlew'.'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는배치 파일이 아닙니다.C:\Users\IDEAPAD>gradlew.bat'gradlew.bat'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는배치 파일이 아닙니다.C:\Users\IDEAPAD>./gradlew'.'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는배치 파일이 아닙니다.C:\Users\IDEAPAD>cd study지정된 경로를 찾을 수 없습니다.C:\Users\IDEAPAD>E:\Spring-start'E:\Spring-start'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는배치 파일이 아닙니다.C:\Users\IDEAPAD>cd Spring-start지정된 경로를 찾을 수 없습니다.))
-
미해결[개정판 2023-11-27] Spring Boot 3.x 를 이용한 RESTful Web Services 개발
생성자에 대해 질문 있습니다
섹션 2 - 사용자 목록 조회를 위한 API 구현 - HTTP GET method 에서 5:10초 쯤 궁금한 점이 생겨서 질문드립니다. 제가 알기로 기본 생성자는 클래스 명과 동일한 이름으로 아무 매개변수를 받지 않는 구조로 만드는 것으로 평소에는 자동으로 생성되기 때문에 따로 만들어 주지 않는 것으로 알고 있습니다.만약 동일한 이름의 매개변수를 받는 생성자가 만들어진다면, 기본 생성자는 따로 만들어주어야 하는데5:10초 정도에 만들어진 생성자는 매개변수를 하나 받는 구조로 보이는데, 그럼 여기서 기본 생성자를 만들어 주지 않아도 오류가 나지 않는 이유는 무엇인가요?
-
미해결스프링 부트 - 핵심 원리와 활용
그라파나 설치
curl -O https://dl.grafana.com/enterprise/release/grafana-enterprise-10.4.1.darwin-amd64.tar.gz Warning: Failed to open the fileWarning: grafana-enterprise-10.4.1.darwin-amd64.tar.gz: Read-only file systemcurl: (23) Failure writing output to destination 설치가안됩니다.(맥 os입니다)
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
Spring boot, db연동 안될 때
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]강의 내용 따라서 타이핑 후에 h2.bat을 실행 시킨 후 jpashopapplication.java 또한 실행시키고 db사이트 내에서 refresh했을 때 db가 연동되지 않는데 이 경우엔 어떻게 해야 할지 궁금합니다.아래는 구글 드라이브 압축 파일 링크 올려놨습니다.답변 기다리겠습니다.https://drive.google.com/file/d/1mRpp0B2EkM1WAHF9GpwKsY4JrozX4_zQ/view?usp=drive_link
-
해결됨스프링 시큐리티 완전 정복 [6.x 개정판]
예외처리에 관해 이해가 어려운 부분이 있습니다.
안녕하세요 강의 잘 보고 있습니다. 다름이 아니라 예외를 처리하는 부분에서 이해가 잘 가지 않는 부분이 이렇게 질문을 드립니다.스프링 시큐리티의 FilterChainProxy의 끝단에 예외를 처리하는 ExceptionTranslationFilter가 존재합니다. 해당 필터가 인가 예외를 처리하는 것까지는 이해하였습니다. 그러나 인증예외를 다루는 것이 조금 이해가 가지 않습니다. 스프링 시큐리티에서 제공하는 formLogin 인증을 포함한 모든 인증 방식은 ExceptionTranslationFilter앞에 존재합니다. 그럼에도 불구하고 인증 필터들에서 발생하는 예외들을 ExceptionTranslationFilter에서 처리를 합니다. 기존의 저는 예외가 발생할 즉시 바로 자신을 호출한 객체에게 예외를 반환하며 프로세스가 진행한다 알고 있는데 이는 스프링 시큐리티에서 인증예외를 처리하는 흐름과는 정 반대의 흐름입니다. 혹시 인증 필터에서 해당 예외가 발생할시 예외를 Throw하는 것이 아닌 다른방식으로 예외를 감싸서 ExceptionTranslationFilter까지 흘러가는 건가요? 아니면 제가 놓치는 부분이 있는걸까요?
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
13강 데이터 베이스 연결문제..?
13강을 듣고 데이터베이스를 연결했는데 이름과 나이를 등록하면 둘다 빈칸으로 떠요. 터미널에서 mysql 조회해보면 이름 나이 다 잘 뜨는데 왜 그럴까요? 수정,삭제 기능도 안되구요ㅠㅠ
-
미해결실전! 스프링 데이터 JPA
junit5쓴다는건가요ㅠ
강의 영상에서는 위와같이 구성해서 4를 제외 시켰자나요? 그런데 왜 강의 pdf 에서는 4를 쓴다는건가요?ㅠ
-
미해결실전! 스프링 데이터 JPA
ID에 @GeneratedValue를 적용하지 않았는데 강의처럼 동작하지 않습니다.
@Entity @Getter @NoArgsConstructor(access = AccessLevel.PROTECTED) public class Item { @Id private String id; public Item(String id) { this.id = id; } } public interface ItemRepository extends JpaRepository<Item, String> { } @SpringBootTest class ItemRepositoryTest { @Autowired ItemRepository itemRepository; @Test void save() { Item item = new Item("A"); itemRepository.save(item); } } 위와 같이 강의를 따라서 테스트 코드를 작성했습니다. 그런데디버깅 찍은 곳을 확인해보니Member(id=null, username=user0, age=0)이렇게 나왔습니다. 분명 생성자에서 Item의 id를 "A"로 세팅했는데 어디서 문제가 생긴걸까요?
-
미해결코드로 배우는 React with 스프링부트 API서버
안녕하세요 코드 관련 질문입니다.
코드를 인터넷에 올려두셨다 했는데링크 알 수 있을까요?