묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨스프링 핵심 원리 - 고급편
CGLIB
안녕하세요! https://www.inflearn.com/questions/343778 이 부분 질문과 답변 보고 궁금한 점이 생겼습니다. jdk 동적 프록시, CGLib 모두 런타임에 리플렉션을 통해 프록시 객체를 생성하는 걸로 알고 있었습니다. 그런데 CGLIB를 사용해서 컴파일 타임에 바이트 코드를 생성한다는 언급이 있습니다. CGLIB는 런타임과 컴파일타임 모두 바이트코드를 조작할 수 있는건가요??
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
빌드하고 실행하기에서 java -jar로 실행후 실행종료 어떻게 하는건가요?
8080포트의 PID를 킬해서 종료를했는데 그냥 종료하려면 어떤 명령어를 써야하나요?
-
미해결스프링 핵심 원리 - 기본편
프로토 타입 스코프 강의 질문 있습니다.
1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]안녕하세요, 강의 내용 중에 이해가 가지 않는 부분이 있어 질문드리고자 질문 글을 작성했습니다. @Scope("singleton") static class SingletonBean{ @PostConstruct public void init(){ System.out.println("SingletonBean.init"); } @PreDestroy public void destroy(){ System.out.println("SingletonBean.destroy"); } } 안녕하세요, 강의 내용 중 이해가 가지 않는 부분이 있어 문의드리고자 글을 작성했습니다. 위의 코드는 싱글톤 스코프로 테스트 코드를 작성하는 강의 내용입니다. 제가 이해가 잘 되지 않는 부분은 테스트 코드에 어노테이션으로 싱글톤 스코프를 단 것이 어떻게 ComponentScan의 대상이 되는지 이해를 할 수 없어서입니다. 수업에서 Component Scan으로 읽어온다고 설명해주셔서 더 의문이 있습니다. 앞에서 배웠을 때는 AutoAppConfig 같은 class를 따로 만든 후, 해당 클래스에 ComponentScan을 위한 값을 설정하고, 그 Scan을 바탕으로 @Component 어노테이션을 포함한 것들을 자동으로 Scan해서 빈을 등록하는 것으로 이해하고 있습니다. 하지만 위의 코드는 테스트 코드 자체에 어느 곳에도 ComponentScan이 들어가지 않았는데, 어떻게 ComponentScan으로 자동 빈이 등록되는 것인지 과정을 자세히 알려주실 수 있으실까요? AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationContext(SingletonBean.class); 강의 중에는 위의 코드에서 클래스 명을 직접 넣는 것 자체가 ComponentScan이라고 하신 것 같은데, 앞선 강의에서 @Configuration + @Bean을 직접 등록하거나, @ComponentScan을 직접 등록한 것과 비교했을 때 ApplicationContext를 만드는데 코드상 차이점이 없어 보입니다. 혹여나 질문 내용이 잘 이해가 안되시면 피드백 주시면, 좀 더 내용을 보완해서 다시 한번 질문글 적겠습니다. 감사합니다.
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
intelliJ에서 out폴더가 안보입니다.
out폴더나 build등의 폴더는 안보이고 gradle, src, test폴더만 보이는데 out폴더를 볼려면 어떤 설정을 변경해줘야 보여지나요?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
테스트 케이스 작성 질문드립니다
안녕하세요 스프링부트환경에서 junit 으로 테스트 케이스를 작성하고 테스트를 하는데 시간이 너무 오래걸리는데 단축할 수 있는 방법이 있는지 알고 싶습니다 테스트 케이스에서 @Autowired 로 서비스를 가져다 쓰고 있는데 실행할때마다 프로젝트의 모든 스프링빈들이 다 올라가고 테스트가 실행되는 것 같습니다 보통 실무에서는 어떻게 하는지 궁금합니다 어쩔 수 없는 부분인건지 아니면 실무에서는 테스트케이스에서 사용하는 서비스만 로딩해서 하는 방법으로 하는건지 잘 모르겠네요 실무에서는 어떤 방법을 써서 테스트 수행시간을 줄이나요? 만약 해당 서비스만 로딩해서 한다면 그 방법도 알고 싶습니다 감사합니다
-
미해결실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
springboot 로그 설정 질문 있습니다.
springboot 에서 http log 보는 설정이 뭐였죠? 어디선가 언급해줬는데 아무리 찾아봐도 어디인지 모르겠네요. 검색해도 안나오고 ...
-
해결됨스프링 핵심 원리 - 고급편
ThreadLocal 동시성 이슈 (ArrayList, HashMap, HashSet)
안녕하세요! 김영한님!!수업 너무 유익하게 잘 듣고있습니다~!! 동시성 이슈를 막기 위해 ThreadLocal을 사용하는 부분 중에서 궁금한 점이 생겨서 질문 드립니다. String, TraceId의 타입에 대해서는 ThreadLocal을 사용해서 동시성 이슈를 해결하였는데, 필드로 ArrayList, HashMap, HashSet을 사용하고 싶은 경우에는 동시성 이슈를 어떻게 해결하면 될까요 ? 구글링을 했었을 때에는 멀티쓰레드 환경에서는 HashMap 대신에 ConcurrentHashMap을 사용해라고 봤었고, ArrayList 대신에 CopyOnWirteArrayList를 사용해라고 봤었고, HashSet에 대해서는 제대로 찾지 못했습니다. 멀티쓰레드 환경에서 Thread-Safe하게 ArrayList, HashMap, HashSet을 사용하려면 어떻게 해야하나요 ?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
도메인 주도 설계 강의도 만들어주세요~~
안녕하세요.cascade는 동일한 aggregate 에 포함되는 경우에 넣는거겠죠? 저희 예제에서 delivery는 order에서 cascade로 포함했는데 만약 다른 테이블에서 delivery를 참조하고 있으면 order_delivery 라고해서 별도의 테이블을 만들어도 되겠죠? 데이터 중복이지만 ddd에서 바운더리 컨텍스트 그런 개념에서 보면 문제가 없는걸까요?
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
한글 깨짐 문제 있습니다
사진처럼 jar로 했을 때는 print에 한글 깨짐이 없었는데 war로 하니까 한글이 깨지네요 어떻게 해결해야하나요?
-
미해결스프링 핵심 원리 - 기본편
조회한 빈이 모두 필요할때 ( Map, List) 질문사항
static class DiscountService { private final Map<String, DiscountPolicy> policyMap; // map으로 모든 DiscountPolicy 하위 구현체들 주입받기 @Autowired public DiscountService(Map<String, DiscountPolicy> policyMap) { this.policyMap = policyMap; }} DiscountPolicy의 구현체에는 fixDiscountPolicy, RateDiscountPolicy가 존재합니다.Map을 이용해서 이 두가지 구현체를 모두 주입 받는 방법이 강의내용이였는데, 어떤 원리로 이게 다 주입되었는지 모르겠습니다.단순히 Map, List처럼 배열(?) 자료형으로 DiscountPolicy(인터페이스)를 주입받으면 스프링에서 알아서 모두 주입해주는것인가요?질문 내용을 정리하지면,생성자를 통해서 주입한 policyMap변수에 어떻게 2가지 객체가 주입되었는지 모르겠고, 자세히는 Map의 String 키값이 어떻게 빈이름으로 저장되고, 벨류가 2가지 각 개체의 참고값을 저장한건지 모르겠습니다..ㅠㅠ
-
미해결스프링 핵심 원리 - 기본편
TestConfig에 @Configuration 빠져도 싱글톤으로 관리되는 이유
안녕하세요 1.싱글톤관련되서 스프링컨텍스트에서 빈을 싱글톤으로 관리하려면 클래스에 @Configuration을 붙여야하는데 TestConfig클래스에 이 애노테이션을 붙이지 않아도 싱글톤으로 관리되는지 궁금합니다.결과론적으로는 붙이지 않아도 싱글톤으로 관리되는데 왜 그런지 궁금합니다 static class TestConfig { -> 아래처럼 되어야 싱글톤으로 관리할수 있는게 아닌지요? @Configuration static class TestConfig { 2. 다른 테스트코드에서 사용되는 static config 클래스에는 @Configuration을 붙였는데 여기만 뺀 이유가 있는지요?
-
미해결스프링 핵심 원리 - 고급편
이번 장에서 작성했던 코드가 부모 클래스의 기능을 전혀 사용하지 않았다는 말의 의미가 정확이 무엇인가요?
AbastractTemplate 클래스의 책임은 변하지 않는 부분인 log 기능을 자식 클래스에게 제공해주고, 자식 클래스는 변하는 부분인 call 메서드를 구현하는 책임을 가지고 있습니다. 서로 책임을 나누어가지면서 두 객체의 기능이 상호작용 함으로서 템플릿 메서드 패턴이 작동하는 것이 아닌지요. 자식클래스는 부모 클래스가 제공하는 execute라는 기능과 추상화된 call 기능을 사용하는 것처럼 보이는데 강의에서 말하는 "부모 클래스의 기능을 전혀 사용하지 않았다"라는 말의 의미가 무엇인지 잘 모르겠습니다.
-
미해결실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
Dto 반환 질문입니다
그 예전에 영한님께서 JSON으로 반환 할 때 쿼리를 통해서 얻은 값을 그대로 반환하지 말고 클래스로 묶어서 반환하라고 하셨던게 기억이 납니다. 쿼리를 통해서 얻은 결과가 예를들어 List<PersonDto> name : ~~~ age : ~~~ address: ~~ 이런식으로 되어 있을때 이 리스트를 그대로 반환하면 JSON 형식이 배열로 시작해서 그 후에 값을 수정 할 수 없다고 들었던거 같은데요!! 질문이 있습니다 저 List<PersonDto>를 감싸는 하나의 클래스를 만들때 예를 들어서 class PersonExmpleDto{ private ArrayList<PersonDto> persondto; ] 이런식으로 반환 할 때 클래스 이름을 어떻게 해야 할 지 모르겠습니다.... 쿼리를 통해서 얻은 List로 묶은 PersonDto를 하나의 클래스에서 반환하고자 할 때 클래스의 네이밍은 어떤식으로 하나요?class PersonListDto{ private ArrayList<PersonDto> persondto;} 이런식으로 하나요...??
-
미해결스프링과 JPA 기반 웹 애플리케이션 개발
조금 더 안전한 방법과 조금 더 개선한 방법의 차이
안녕하십니까 강사님 ! 질문있습니다 :) 조금 더 개선한 방법의 원리는 만약 인증이 들어왔을 때, Username 과 시리즈는 일치하지만 토큰이 일치하지 않으면 토큰이 해커에 의해 탈취되었다고 간주해서 모든 토큰을 삭제하는 원리인데, 조금 더 안전한 방법도 Username 은 일치하지만 토큰이 다르면 똑같이 탈취되었다고 간주하고 모든 토큰을 삭제하면 동일하게 동작하지 않을까 하는 궁금증이 생겼습니다. 전자랑 후자 방법 둘다 해싱에 패스워드는 사용되지 않아서 복호화 된다고해도 계정이 탈취당하는 일이 없는데 굳이 시리즈를 이용하는 이유가 있을까요??
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
영한님 강의 아래 사용한 단축키에 대한 정보를 나타내는 자막? 같은건 어떻게 할 수 있나요?
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]영한님 강의 아래 사용한 단축키에 대한 정보를 나타내는 자막? 같은건 어떻게 할 수 있나요?
-
미해결실전! 스프링 데이터 JPA
JPQL 에 대해서 질문이 있습니다 ..!
안녕하세요 영한님. 영한님의 강의를 한번씩 보고 개인적으로 공부를 하면서 연습을 해오고 있는데. 수업 예제는 아니지만 궁금한 점이 생겨서 검색을 해도 잘 나오지 않아 질문을 남기게 되었습니다. --------------------------------------------------- 상품을 대여하는 기능을 작성해 보기위해 만든 클래스 입니다. 연관관계는 단방향 매핑이 좋다 말씀하셔서 단방향으로 구성을 해봤습니다. 이 클래스에 있는 user는 빌리는 사람의 클래스입니다. product 클래스 안에 상품의 주인인 User클래스를 매핑해 주었습니다. User클래스에는 매핑된 테이블이 없습니다. 이렇게 작성이 되어있고 만약 자신이 대여를 신청한 상품을 조회하고 싶은 쿼리문을 작성하고 싶은데 이렇게 작성을 했었습니다. 하지만 https://www.inflearn.com/questions/15876 이 질문의 글에 fetch 조인에 대상이 되는 곳에는 where절을 사용하면 안된다 말씀을 해주신 것을 보고 다른 방법이 떠오르지가 않아서요 .. 혹시 더 좋은 방법이 있다면 어떠한 방식으로 해결해 나가면 좋을까요? 수업예제와 다른 주제로 질문을 드려 죄송합니다.
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
리다이렉트 관련해서 질문드립니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요. 강의 잘 듣고 있습니다. HTTP 강의에서 3xx 리다이렉션에서도 HTTP 메서드가 변경되는 경우와 유지되는 경우가 존재하는것으로 학습했습니다. "redirect: ~"처럼 문자열 형식으로 리턴하는 경우, GET방식으로 메서드 변경되는 것이 기본값인건가요? 만약 리다이렉트 시에도 메서드를 유지하고 싶은 경우 spring MVC에서 어떻게 구현하는지 궁금합니다! 감사합니다.
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
session이 null이 될 수 있나요
위에서 로그인이 된 상태면 세션 값이 있을 텐데 null 체크를 왜 하는건가요? (제 생각에는 세션 시간이 만료되면 저렇게 구현 할 수 있을거 같긴해요. 이 강의에서는 그런 코드는 없구요)
-
해결됨스프링 핵심 원리 - 고급편
traceIdHolder.remove()와 traceIdHolder.set(null)의 차이가 있나요?
안녕하세요 강의 잘 보고 있습니다. traceIdHolder.remove()와 traceIdHolder.set(null)의 차이점이 궁금합니다. 실험해보니까 set(null)로 해도 잘 동작합니다만 아무래도 remove()라는 함수가 따로 있는 이유가 있을 것 같아서요.
-
미해결스프링 핵심 원리 - 기본편
프로젝트
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 안녕하세요 좋은 강의 너무 진짜 감사드립니다 마무리를 하면서 야생형코스에서 프로젝트를 해보는것이 좋다고 말씀하셨는데 해보는 범위는 프론트부터 백엔드(디비)까지 다 포함해서 말씀하신건지와 추천해주실만한 프로젝트가 있을까요?