묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨스프링과 JPA 기반 웹 애플리케이션 개발
7:35 부분에서 질문합니다.
혼자 여러 번 연습할 때 마다 여기서 계속 막혀서 적습니다. 코드는 다음과 같습니다.깃허브 주소: https://github.com/KrillM/studyclub @Test @DisplayName("회원 가입 처리 - 입력값 오류") public void signUpSubmit_wrongInputTest() throws Exception{ mockMvc.perform(post("/sign-up") .param("nickname", "keesun") .param("email", "email...") .param("password", "12345") .with(csrf())) .andExpect(status().isOk()) .andExpect(view().name("account/sign-up")); }
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
kafka connect 실행 시 질문
kafka topic 생성시에는 localhost:9092의 브로커 정보를 입력해서 붙였는데 kafka connect 실행 시에는 브로커 정보없이 실행해도 조회시에 topic과 connect가 함께 출력됩니다.connect는 타겟 브로커를 어떻게 알고 적용되는 것인가요?
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
spring cloud 무중단 구성 방법
아래와 같은 spring cloud 환경에서 무중단 배포를 구현할려면 어떻게 진행해야하나요?맨 앞단에 L4 1대그 뒤에 spring cloud gateway 2대spring cloud eureka 2대api server 2대각 서버를 2대씩 구성한 이유는 HA구성을 위해서입니다.여기서 api server를 무중단 배포로 진행할려면 어떻게 해야되나요?api server를 down시키면 eureka의 registry에 반영된다 하더라도 gateway에서 반영되기까지는 시간걸려 down된 인스턴스로 라우팅 해주고, gateway에서 retry로직을 적용시켜도 배포순간에 많은 요청이오면 한 요청에 대해서 실패한 인스턴스로 모두 retry하여 결국 실패하는 경우도 생기더라고요 (ribbon의 avoid-previous-instance 적용시킬려고 하였으나 spring cloud gateway에서는 지원 안한다고합니다 ㅜㅜ) 현업에서는 보통 어떤 방식으로 무중단 배포를 구현하나요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
패키지가 controller 밑에 안만들어져요
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]-> package만들려는데 누르면 -> 이렇게 만들어지고 하위폴더로 만들어지지가 않아요.. view 환경설정 6분 54초 영상보고 하고있습니다..
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
Spring Boot 버전 선택
프로젝트 생성시(아래 화면) 2.3.1 버전은 선택할수조차 없는데, 어떻게 해야 하나요? 3.1.3 혹은 3.0.10, 그리고 2.7.15를 선택할수 있는데요?자바 11로 하라고 하셨는데, 20으로 하면 어떻게 되는거죠? 답변좀 주세요.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
external libraries에 아무것도 없어요..ㅠ
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]라이브러리 살펴보기 강의 듣고있는데 external libraries에 왜 아무것도 없는걸까요..?ㅠㅠ
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
변경 감지에 의해 데이터를 변경하는 방법
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]10분대 까지의 내용은 findItem 즉 영속성을 갖은 객체를 변경감지에 의해 데이터를 변경하는 방법 맞을까요 ? 준영속성 객체의 데이터 변경 방법에 두가지가 있는데 변경감지와 merge가 있다고 강의 자료에서 보이는데 해당 내용은 영속성을 갖은 데이터가 변경감지에 의해 데이터를 변경하는 내용이라 이해해서요 .!
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
book이 준영속 객체인 이유
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]book 이 일반 객체가 아니라 준영속 객체인 이유가 잘 이해가 안 가는데itemcontroller에서 create 메소드가html form에서 데이터를 데이터를 받아와서 새로 선언한 book 객체에 값을 넣어 만든 엔티티인데 이 때 bookForm에 담겨 있는 데이터가 db를 들렸다 온 데이터 인가요 .. ? 저는 html에서 입력 받은 데이터를 bookForm 그저 모델에 저장 되어 create 메소드 파라메타로 전달 되었다고 생각했는데 강의에서 디비에 한번 들렀다 온 식별자가 명확한 객체의 값이라는 부분이 bookForm에서 get한 데이터를 말하는 걸까요 ..? 질문이 두서 없는데 해당 부분의 내용을 강의를 봐도 이해가 잘 되지않아서요제가 질문한 부분에서 틀린 내용을 집어주시면 감사하겠습니다 ㅜ ㅜ
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
44강 AWS 배포시 테이블생성 질문있습니다!
local에서는 테이블 생성이나 변경된점을 자동으로 생성및 변경해줘서 인텔리제이에서 할때는 테이블을 생성하지 않았습니다. 리눅스서버에는 테이블과 컬럼을 다 작성해서 만들어 줘야하는 부분일까요??
-
미해결실습으로 배우는 선착순 이벤트 시스템
안녕하세요 강사님 질문이있습니다.
현재 제 코드는 이 상태입니다.빨간색 체크를 해놓은 것만 테스트를 진행했을 때 정상적으로 예외가 발생합니다.최대 인원수를 초과해서 예외가 터지는데요,밑에있는 동시성으로 하면 service 시작부터 문제가 발생합니다.이러한 에러가 왜 발생하는지 모르겠습니다.executorService를 제가 잘못 사용하고 있는 건가요?
-
미해결스프링 부트 - 핵심 원리와 활용
프로메테우스 다운받은 후 실행이 안되는것 같습니다.
프로메테우스 다운받아 압축해제 후prometheus-2.42.0.windows-amd64\prometheus.exe실행시켯는데, 커맨드창이 잠깐 보였다가 사라지네요.순식간에 사라집니다.아래 화면이 나오지 않은데..혹시 무슨 문제가 있을까요.. 윈도우10 64비트 환경이에요. 아, 그리고 http://localhost:9090 으로 접속하니깐 아래 와 같은 로그인창이 떠요.
-
미해결생산성을 향상시키는 스프링부트 기반의 API 템플릿 프로젝트 구현
SocialLoginApiServiceFactory 생성자 관련 질문입니다.
너무 초보적인 내용이라 질문을 해야하나 고민입니다.private static Map<String, SocialLoginApiService> socialLoginApiServices; public SocialLoginApiServiceFactory(Map<String, SocialLoginApiService> socialLoginApiServices) { this.socialLoginApiServices = socialLoginApiServices; }위에 static 필드를 아래의 생성자에서 this 키워드로설정하는 부분 있는데요... 이부분이 아래와같이 하는거하고 차이점이 어떻게 다른지 궁금합니다.private static Map<String, SocialLoginApiService> socialLoginApiServices; public SocialLoginApiServiceFactory(Map<String, SocialLoginApiService> socialLoginApiServices) { SocialLoginApiServiceFactory.socialLoginApiServices = socialLoginApiServices; }
-
미해결실전! 코틀린과 스프링 부트로 도서관리 애플리케이션 개발하기 (Java 프로젝트 리팩토링)
선생님 19강 UI 테스트 하시는 부분에서 질문이 있습니다.
19강 9분30초 지점에서 책 등록할 때는 400에러가 나면서 책 등록이 안 되는데 왜 그 전에 유저는 바로 정상적으로 등록이 되는걸까요?build.gradle에 implementation 'com.fasterxml.jackson.module:jackson-module-kotlin:2.13.3' 이 디펜던시를 추가해주기 전에도 유저 등록은 정상적으로 되는 이유가 궁금합니다!제가 자바로 개발을 할 때도 웹 계층 DTO에 필드가 한 개만 있을 때는 잭슨이 정상적으로 작동 안 해서 @NoArgConstructor 어노테이션이나 @Setter 등을 꼭 붙여줘야 이게 정상 작동했던 경험이 있습니다. (구글링을 해보니 잭슨 라이브러리 쪽 이슈인데 아직도 open 상태라는 글을 본 거 같기도 합니다..)혹시 UserCreateRequest에는 프로퍼티가 2개 있고, BookRequest에는 프로퍼티가 1개 뿐이라 이런 일이 생긴 것인지도 좀 궁금하네요..
-
미해결실습으로 배우는 선착순 이벤트 시스템
안녕하세요 강사님 동시성 테스트에 대한 질문이 있습니다.
현재 apply 메서드에서 if (count > 100) return; 입니다.이러한 코드는 테스트하기 편하고 수강생들이 쉽게 이해할 수 있게 작성해주셨는데,실제 비즈니스 로직에서는 예외가 터질텐데 이거에 대해서는 어떻게 테스트하고 적용할 수 있나요?현재 제 코드는 이러합니다.주석이 되어있는 부분만 테스트했을 때는정상적으로 제가 원하는 값을 받을 수 있었는데, ExecutorService executorService = Executors.newFixedThreadPool(32); CountDownLatch latch = new CountDownLatch(threadCount);이 부분을 적용해서 테스트를 돌리면 무한으로 돌아가고 테스트가 종료가 되지 않습니다. 이러한 에러코드가 뜨는데 해결 방법을 모르겠습니다 ㅠㅠconstraint 뒤에는 syntax error라고 적혀있습니다. 왜 저 두 줄을 작성했을 때 이러한 에러가 발생할까요..?
-
미해결실전! 스프링 데이터 JPA
EntityGraph을 할 때, 페치조인 대상이 여러 개인 경우
안녕하세요. 강의를 듣고 개인 프로젝트 진행 중에 있는데, 궁금한게 있어서 질문드립니다.@Entity @Getter @NoArgsConstructor(access = AccessLevel.PROTECTED) public class SecurityMedia { @Id @GeneratedValue @Column(name = "secu_no") private Long secuNo; // 보안매체 번호(pk) .... @OneToMany(mappedBy = "kftcSecurityMedia", fetch = LAZY) private List<KftcToken> kftcToken = new ArrayList<>(); // 토큰 @OneToMany(mappedBy = "kftcSecurityMedia") // 보안매체 이력 private List<KftcSecurityMediaHistory> kftcSecurityMediaHistoryList = new ArrayList<>();현재 SecurityMedia 라는 엔티티 객체에서 pk인 secuNo를 key로 하여 manyToOne 관계로 있는 TOKEN 클래스, HISTORY클래스를 가지고 오려고 합니다.패치 조인을 하나 이상하면 조인 되는 ROW 수 때문에 총 데이터 갯수가 꼬여버릴 수 있다고 기억하여.. SecurityMedia - Token / SecurityMedia - History 각각 패치조인 하여 가지고 오는 메소드를 따려고 생각했습니다. 그런데 서비스 영역에서 이를 로직으로 표현하고자 할 때 어떤 식으로 표현을 해야할지 감이 잘 안 오는데요. token 리스트를 가지고 있는 SecurityMedia 객체 하나, History 리스트를 가지고 있는 SecurityMedia 객체 하나, 총 두 개의 객체가 만들어질텐데.. List<Token> tokenList = repository.findSecurityMediaWithToken(secuNo).getToken();List<History> historyList = repository.findSecurityMediaWithHistory(secuNo).getHistory();이렇게 각각 패치 조인으로 가지고온 데이터를 get하는 방식이 옳은 방식인지 의문입니다. 2. 각 리스트로 가지고 온 값에서 유효한 토큰, 최신 보안 이력 1개만 뽑아낼 생각인데 이것은 쿼리를 통해 전체 리스트를 받아오고, 서비스 영역에서 entity 함수로 원하는 값을 필터하는 식으로 대상을 추려내면 될까요? 아니면 레포지토리 영역에서 select한 리스트를 필터를 해줘서 서비스 영역에 리턴 해주는게 맞는걸까요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
@Autowired 역할
컴포넌트 스캔과 자동 의존관계 설정 강의를 보고 제가 이해한 것이 맞는지 궁금하여 질문 드립니다. 각 컨트롤러, 서비스, 레포지토리에 @Controller, @Service, @Repository 를 붙여주면new로 객체 생성하지 않아도 @Autowired로 스프링 컨테이너에서 가져다 쓸 수 있는 것인가요?그리고 프로그램 동작 중 오직 하나의 컨트롤러, 서비스, 레포지토리만 존재하는 것인지 궁금합니다.
-
해결됨자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
배포 시기 질문입니다
안녕하세요 태현님, 항상 강의 잘 듣고 있습니다.강의를 들으며 프로젝트를 진행하고 있는데 배포 관련하여 여쭙고 싶어서 글 남깁니다.현재 백엔드와 프론트엔드(안드로이드)가 나눠진 상태로 개발 중인데 이때 스웨거라던지 프론트와 소통을 위해서 base url이 필요합니다. 그러면 강의처럼 모든 개발을 끝내고 배포하지않고 먼저 배포를 하고 시작하는 방식을 택하는 것도 괜찮나요?보통 모든 코드를 마무리하고 배포를 하는지 아니면 먼저 무중단 배포를 하고 개발을 하는지 그 방법이 궁금합니다.감사합니다!
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
대칭키 암호화 취약점
대칭키 암호화 내용을 보고 의문이 들었습니다.config server에서 관리하는 yml 파일이 git 에 올라갔을 때 적혀 있는 데이터를 평문으로 저장하지 않고 암호화 하여 보호하려는 것은 이해를 했습니다.그러나 config server 프로젝트를 내려받으면 config 설정 파일명은 알 수 있으니 실행 후 브라우저를 통해 접근하면 원본값 반환으로 바로 알 수 있는 것 아닌가요?
-
미해결스프링과 JPA 기반 웹 애플리케이션 개발
실제 구동은 되지만 테스트는 실패합니다.
강사님 현재 스프링과 JPA 기반 웹 애플리케이션을 듣는 중입니다.여러 번 반복하면서 개발 흐름을 파악하는 중인데요.AccountControllerTest에서 회원 가입 테스트- 잘못된 입력값을 테스트하는 중인데, 실제로는 구동이 잘 되지만 테스트 중에는 매번 테스트 실패로 뜹니다. 코드는 다음과 같습니다.@Test @DisplayName("회원 가입 테스트 - 잘못된 입력값") public void signUpSubmitTest_wrong() throws Exception{ mockMvc.perform(post("/sign-up") .param("nickname", "yena") .param("email", "yenice") .param("password", "12354") .with(csrf())) .andDo(print()) .andExpect(status().isOk()) .andExpect(view().name("account/sign-up")); }깃허브 주소: https://github.com/KrillM/studyclub이 문제를 넘어가기에는 앞으로 수업을 들으면서, 이후 포트폴리오를 만들 때 발목을 잡을 것 같아 질문합니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
Junit5 테스트 시, JDK 17 stackoverflow error 해결 문의드립니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]jdk 17로 사용하고 있는데회원 리포지토리 테스트 케이스 작성 강의를 보면서Hashmap과 Long 때문에 stackoverflow error가 발생하는데 어떻게 해결해야 하나요?