묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨6주 완성! 백엔드 이력서 차별화 전략 4가지 - 똑같은 이력서 속에서 돋보이는 법
main.tf 파일에서 EIP 설정 로직 수정이 필요할거 같습니다.
2025년 7월 5일 기준으로 학습 레포에서 가져온 main.tf를 기반으로 apply 명령을 실행하면 아래와 같은 에러가 발생합니다. terraform apply ╷ │ Error: Unsupported argument │ │ on main.tf line 279, in resource "aws_eip" "app": │ 279: vpc = true │ │ An argument named "vpc" is not expected here. 에러 발생 이유는 aws_eip 리소스 블록에서 vpc = true 옵션을 더이상 지원하지 않기 때문에 발생한다고 합니다. 따라서 280라인에 vpc = true 를 제거하면 해결됩니다. https://registry.terraform.io/providers/hashicorp/aws/latest/docs/guides/version-5-upgrade?utm_source=chatgpt.com#resourceaws_eip_association
-
미해결스프링 DB 1편 - 데이터 접근 핵심 원리
서비서 계층 스프링 프레임워크 사용
이번 강의 코드에서 서비스 계층 코드인 MemberServiceV3_1 에서 PlatformTransactionManager 같은 스프링 프레임 워크를 사용하고 있는데요,이전 강의에서 프레젠테이션 계층, 서비스 계층, 데이터 접근 계층에 대해 설명하실 때서비스 계층에서는 순수 자바 코드로 작성해야한다고 하셨는데요.MemberServiceV3_1 에서 몇몇 코드가 스프링 프레임워크인데 이런 것은 정말 필요에 의해서 사용하는 것이므로 어쩔 수 없는 부분인가요?
-
해결됨350개의 개인 앱을 만들어 월급의 7배 수익을 달성한 방법
앱 개발 시 해킹 방지, 보안 체크리스트 및 주의사항 문의
안녕하세요, 프로그래밍 좀비님!팀으로 앱 개발을 하려고 합니다. 플러터로 iOS/안드로이드 앱을 개발하고, 제가 백엔드를 맡게 되었는데 백엔드는 Java, SpringBoot로 구축할 예정이에요.. 앱 해킹 등 보안에 대해 기획자분이 강조하셔서, 아래와 같이 보안 대책을 고민하고 있습니다.현재 적용 예정인 보안 대책• JWT 토큰을 이용한 인증/인가• HTTPS로 통신 암호화• JPA 사용(PreparedStatement 기반이라 SQL 인젝션 방어)• API Rate Limiting 도입 예정 질문 드리고 싶은 내용1. 위와 같이 보안 대책을 준비하면, 실제 서비스 운영 시 모바일 앱 백엔드에서 추가로 꼭 신경 써야 할 부분이 있을까요?2. 강사님께서 실제로 350개 이상의 앱을 개발/배포하시면서 겪으신 보안 관련 실무 경험이나, 꼭 강조하고 싶은 보안 포인트가 있다면 조언 부탁드립니다.3. 혹시 실무에서 자주 간과되지만, 반드시 챙겨야 하는 보안 체크리스트가 있다면 알려주시면 감사하겠습니다.실제 현업, 350개 배포 경험을 바탕으로, 실질적으로 도움이 될 만한 조언을 듣고 싶습니다.감사합니다!
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
세션 방식의 인증 과정에 궁금한점 있습니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요 강의를 듣고 프로젝트 진행 도중 궁금한게 생겨 질문드립니다!현재 강사님이 알려주신대로 유저가 로그인에 성공하면 user 세션을 만들고 세션 아이디를 쿠키로 전달 하고 있습니다.이후 요청이 올때마다 인터셉터에서 세션이 있는지 user라는 세션이 있는지 확인 후 컨트롤러에 접근하도록 구현했습니다.여기서 궁금한 점이만약 유저A가 로그인에 성공한 후에 수정이나 생성 또는 그 외의 과정을 유저B의 아이디로 url 또는 요청 body에 담아 요청을 보내도 인터셉터에선 인증된 것으로 간주 되어 유저A가 유저B를 탈퇴시키는 등의 과정도 가능할거라는 생각이 들었습니다.이에 대한 해결 방안으로 user 세션의 아이디 값과 요청으로 들어온 아이디 값이 일치하는지 확인하는 로직을 필요한 모든 컨트롤러에 추가하는 것이 일반적일까요?아니라면 실무에서는 주로 어떻게 처리하는지 궁금합니다.
-
미해결스프링 핵심 원리 - 기본편
Stateful /Stateless관련하여 질문드립니다.
팬텀리드 갱신모순도 무상태 안지켜서 그런건가요?이것과 관련하여트렌젝션 관련된 강의도 듣고 싶습니다. 어디서 들을 수 있는지 알고 싶습니다. 웹 환경에서 메모리 리파지토리 말고 디비 연결해서 개발하면 VO-> db조회 -> entity 인스턴스화 해서 저장/조회 하여야 하나요? -요지는 간단한 것도 DB조회가 반드시 필요한지 알고 싶어서 질문 드립니다.
-
미해결스프링 시큐리티 완전 정복 [6.x 개정판]
AuthenticationManager 사용 방법
안녕하십니까 선생님, 양질의 강의 항상 감사드립니다.AuthenticationManager와 AuthenticationProvider의 구성에 대해서 개념적으로 확인하고 싶은 것이 있어 질문 드립니다.AuthenticationProvider를 직접 구성하여 등록하지 않으면 기본적으로 DaoAuthenticationProvider, BasicAuthenticationProvider, RememberMeAuthenticationProvider 가 등록이 되는데, 직접 커스텀한 Provider를 등록 시 이 3개의 기본 Provider들은 자동 구성에서 제외 되는 것 인가요?만약 AuthenticationManger를 builder 혹은 직접생성(new)을 통해 생성한다면 기본 제공 되는 Provider들은 자동 구성에서 제외되는 것 인가요? 만약 그렇다면 AuthenticationManager는 직접 등록하고 싶은 Provider가 있을 때에만 생성하는 것 인가요?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
test 케이스 결과 실패
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. JPA와 DB 설정, 동작확인 과정에서 3version으로 pdf 파일보고 설정했는데 test 결과가 실패합니다... 원인을 모르겠습니다
-
미해결토비의 스프링 6 - 이해와 원리
상태 변경 API 질문
안녕하세요토비님 강의 듣고나서 제 나름대로 API 서버 제작 연습을 좀 해보도가 JPA 및 도메인 상태 변경에 관련해서 질문 드리고 조언을 얻고자 문의 드립니다.상황은 아래와 같습니다.DDD에 입각하여 Aggregator 가 하위 Entity Life Cycle 담당Entity 식별자 타입 경우 LongClient 에서 변경 API 요청 시 Aggregator 의 식별자는 존재하지만, 하위 Entity 에 대한 id 는 포함하지않은채 요청{ id: AggregatorId name: AggregatorName list: [ { name: 'modified name1', type: 'type1', status: 'active' }, { name: 'modified name2', type: 'type2', status: 'inactive' }, { name: 'new name3', type: 'type3', status: 'active' } ] } id 가 없이 JPA 변경 요청 시 delete-insert 가 진행 될것 같아 자체적으로 key based diff 라는 함수를 제작하여 변경점과 신규 데이터에 대해서 병합 후 save() 를 호출 할 것같은데 이럴 경우 insert, update 문의 별도로 나가지 않을까 생각이 듭니다.이런 경우 DB 입장에서 하나의 트랜잭션에서 수행하더라도 부하나 성능에 악영향을 미칠 것 같은데 이럴 경우 어떤식으로 애플리케이션 로직을 세우고 JPA 를 어떻게 활용해야되는지 조언 부탁드려도될까요?참고로 저는 하위 Entity 변경 시 batchUpsert 를 고려하고 있습니다.
-
해결됨스프링 핵심 원리 - 기본편
@PostConstruct 및 @PreDestroy 사용시, 메서드를 public 대신 private로 해도 되는지?
질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요. 궁금증이 생겨서 질문을 드립니다.제목 그대로 이렇게 해도 되는지 알고 싶어서 질문을 드립니다.일단 이렇게 한 이유는 "생성 및 끝날 때 만 쓰는 코드 이니까 private로 막는게 좋지 않을까 라는" 생각을 복습하면서 하게 되었습니다.그래서 이것 저것 실험하다가 밑에 사진의 코드 처럼 나오게 되었습니다. (빈 으로 등록하는것도 private로 바꿀 수 있긴한데 이건 빈 이름을 무조건 넣어야 해서 의미 없네요.) 바꾼 코드들 테스트 결과 사진 처럼 이렇게 잘 실행되는것을 확인할 수 가 있었는데요.혹 이렇게 바꿔도 되는지 알고 싶습니다.답변 부탁 드립니다.
-
미해결토비의 클린 스프링 - 도메인 모델 패턴과 헥사고날 아키텍처 Part 1
jpa/도메인 엔티티 분리에 대한 궁금한 점이 있습니다.
토비님 안녕하세요. 강의 너무 즐겁게 잘 수강하고 있는 한 개발자 입니다.강의 수강 중에 궁금한 점이 생겨서, 토비님의 의견이 궁금해서 한 가지 질문 드리고자 합니다.33. 엔티티 클래스와 JPA 매핑 정보 분리강의에서 분리를 xml로 분리해서 매핑 하는 예를 들어주셔서, 이 부분에 대해서 궁금한 점이 있습니다. 개인적으로 xml 매핑작성 생산 비용과 jpa/도메인 엔티티를 분리해서 작성하는 비용이 크게 차이나지 않는것 같단 생각이 들긴합니다. 결국 xml이든, 코드든 분리해서 작성 비용이 필요한 것 같아요.그렇다면, 여기에서 관리 포인트를 이중(xml,코드)으로 가져가는게 나을지, jpa/도메인 엔티티를 분리해서 코드에서 관리하는게 나을지? 고민이 되는데요. 토비님의 의견은 어떠신지 궁금합니다.ai 자동완성 기능 활용코드도 마찬가지로, 애노테이션 빼줘, 붙여줘 하면 어느정도 잘 만들어주긴 하더라구요. 이 부분도 어떻게 생각하시는지 궁금합니다.코파일럿에 xml 매핑정보 만들어줘 하는 내용과, 코드로 애노테이션 붙여줘, 빼줘 해서 복/붙하는 행위 자체가 크게 다르지 않은것 같다는 생각이 들긴해서 이 부분은 어떻게 생각하시는지도 궁금합니다.유지보수 관점에서생산비용 보다, 개발 완료 후 유지보수를 하는데 있어서 그래도 xml/코드 두가지 중 1개를 선택해야한다면 어떻게 관리하는것이 나을까요?? 바쁘신 와중에도 질문 확인하고 답변 주시는 점 미리 감사드립니다.
-
미해결스프링 핵심 원리 - 기본편
Assertion 오류
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]import static org.assertj.core.api.Assertions.assertThat; import static org.junit.jupiter.api.Assertions.assertThrows; assertThrows( NoSuchBeanDefinitionException.class, () -> ac.getBean("beanA", BeanB.class)); }오류 발생org.opentest4j.AssertionFailedError: Unexpected exception type thrown, 필요:class org.springframework.beans.factory.NoSuchBeanDefinitionException실제 :class org.springframework.beans.factory.BeanNotOfRequiredTypeException<클릭하여 차이점 확인>
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
회원관리 예제 오류
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]5. 회원 관리 예제 - 웹MVC개발을 실습하는 과정에서,이렇게 홈 화면까지는 뜨는데,회원 가입을 누르면에러 페이지가 뜹니다.구글 드라이브 링크 첨부하겠습니다!https://drive.google.com/file/d/15PPRaCNjmwZQYFxy5s0uY_FST3DapsL4/view?usp=sharing+) 위에가 메인 질문이고 세부사항 질문이 있습니다. 1) Whitelabel 에러 페이지가 뜨는데 인텔리제이 콘솔 창에는 별도의 에러 메시지가 뜨지 않습니다.이게 콘솔창 최하단인데요. 에러메시지가 안나는게 정상인가요? 2) 위에 사진을 왼쪽에 실행목록을 보면 계속 로드중 표시 두개가 돌아가는데요. 저게 계속 돌아가더라고요. 빌드가 완료되면 초록색이 떠야되는거 아닌가 싶어서 여쭤봅니다. 웹 상에서 localhost:8080 홈페이지에 들어가지긴 합니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
인텔리제이 유료버전 / 무료버전
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (모르겠어요)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]이제 백엔드 개발자로 취업한 새내기 입니다. 제가 학생이 아니라 인텔리제이 유료버전을 사용해서 스프링부트앱을 개발하고자 하는데, 너무 비싸서 회사에서 따로 결제를 해주진 않습니다..혹시 그냥 커뮤니티에디션 으로 restapi 구현하는 방식으로 회사 일에 유리하게 가져갈 수 있을까요?저희 회사는 스프링부트를 백엔드로,프론트는 jsp,jstl 사용중이라 집에서도 한번 해보고 싶은데 커뮤니티 에디션으로는 어려워서요
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
정상 응답이라는 표현 질문입니다.
강의를 보고 궁금한 점이 생겼다가 질문답변 게시판에도 유사 질문은 없는 것같아 gpt에도 물어봤지만 gpt 답변과 조금 다른 것같아 여쭈어봅니다.11:20초 즈음에 그림에서처럼 8번. 정상 응답이라고 표현을 하시는데 이것에 대한 기준?같은게 궁금합니다. 아래 코드는 강의의 try catch 코드입니다. try { if (ex instanceof IllegalArgumentException) { log.info("IllegalArgumentException resolver to 400"); response.sendError(HttpServletResponse.SC_BAD_REQUEST, ex.getMessage()); return new ModelAndView(); } } catch (IOException e) { log.error("resolver ex", e); } 먼저 예외가 발생하고 ExceptionResolver 가 넘어온 예외 해결을 시도하는데요.코드에서 sendError() 로 에러 응답의 상태 코드를 변경하고 메시지를 설정한 후 빈 ModeAndView를 반환합니다.이때 찾아본 결과 sendError() 가 있으면 응답은 내부에 완료 표시(커밋)처리를 하기 때문에 reponse에 뷰를 작성?할 수 없어 ModelAndView가 빈 값이던 뷰 값을 주던 상관 없이 뷰 렌더링이 되지 않는다고 하더군요.이부분 때문에 강의 ModelAndView 지정 부분에서 헷갈렸습니다. 이건 sendError가 없을 경우를 설명하신 것맞나요? 아무튼 본론으로 돌아와서 현재 코드와 과정처럼 최초 발생한 예외를 ExceptionResolver 에서 처리하고 DispatcherServlet로 넘어간 후 뷰 렌더링을 처리하지 못하고 WAS에 넘기는데요.이때 비록 뷰 렌더링은 하지 못했지만 ExceptionResolver 에서 상태 코드 등을 설정 후하고 ModelAndView를 반환하면서 에러를 처리하였으므로 WAS에 넘겨도 이것을 정상응답이라고 하나요? 아니면 제가 gpt에서 얻은 답변에서는 ExceptionResolver 가 예외를 처리했더라도 뷰 렌더링을 하지 못하고 WAS에 넘겼으므로 정상 응답으로 보지는 않는다고 하던데.. 정상응답의 기준이 어떻게 되나요? 좀 쓸데 없는 질문 같긴한데 ExceptionResolver 에서 ModeAndView 값 지정에 따른 반환에 대해 궁금해서 찾다가 궁금한점이 여기까지 파생되어 질문드립니다..
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
외래키가 없는 일대일 관계에서의 연관관계 주인 설정
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]안녕하세요, 질문이 생겨 여쭤봅니다.외래키가 있는 곳을 연관관계의 주인으로 설정하라 하셨는데, 만약 외래키가 없는 두 엔티티가 1대1 관계라면 이때는 랜덤으로 연관관계의 주인을 설정하면 되는 것일까요 ?
-
미해결스프링 핵심 원리 - 기본편
@Target 어노테이션 안에 중괄호도 있는데
@Target({ElementType.TYPE}) @Retention(RetentionPolicy.RUNTIME) @Documented 차이가 있나요?? 1:53초랑?
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
HTML Form으로 데이터 전송 시, getInputStream()과 getParameterNames() 함께 사용
getInputStream()과 getParameterNames()를 함께 사용 시, 순서 상 뒤에 있는 메서드에서는 출력이 안되는 상황을 발견했습니다저의 추측으로는 두 메서드 모두 스트림으로부터 데이터를 싹 가져와서 그런 거 같습니다테스트 해보니 getParameterValues() 메서드 역시 마찬가지고요질문1) 우선 상기 추측이 맞나요? 이번에는 getInputStream() 과 getParameter() 를 테스트 해봤습니다역시나 같은 결과였지만 한 가지 의문이 있습니다username과 age 두 가지 데이터에 대해 서버로 보냈을 때서버 측에서는 getParameter(username) 만 해도 age 에 관해서는 getInputStream() 에서 출력되지 않음을 확인했습니다질문2) getParameter() 를 최초 실행하게되면 스트림에 있는 데이터를 싹 가져와 특정 컬렉션(Map 일까요?)에 담고 이후부터는 컬렉션에서 바로 찾는 식인가요?
-
해결됨대기업 근무하며 경험한 Redis를 야무지게 사용하는 방법 [실습]
Redis 로컬 안전한가요?
제가 로컬 Redis는 해킹에 위험하다라는 말을 들었는데 실습이라 괜찮은지 제가 잘못된 정보를 들은건지 잘 모르겠습니다!혹시 도커로 Redis를 사용하는것도 괜찮을까요?
-
미해결토비의 클린 스프링 - 도메인 모델 패턴과 헥사고날 아키텍처 Part 1
안녕하세요! 강의 완강했습니다! 혹시 다음 강의는 대략적으로 언제 오픈 될까요?
안녕하세요! 강의 완강했습니다! 혹시 다음 강의는 대략적으로 언제쯤 오픈 될까요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
단위테스트, 통합 테스트, 시스템 테스트...
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]제가 부트캠프에서 프로젝트를 진행할 때 테스트 코드를 짜긴 했었는데 거의 지식 없이 짰던지라 controller랑 service만 단위 테스트로 짰고 통합 테스트는 안 했습니다.단위 테스트는 class 단위 어노테이션에 SpringBootTest를 안 쓰는게 맞는건가요? 제가 그렇게 했었거든요.@SpringBootTest는 통합 테스트일 때만 쓰는 건지, 어떤 경우에 쓰는 어노테이션인 지 궁금합니다.