https://www.inflearn.com/questions/340767/%ED%95%84%EB%93%9C-%EC%A3%BC%EC%9E%85%EC%9D%98-%EB%AC%B8%EC%A0%9C%EC%A0%90%EC%97%90-%EB%8C%80%ED%95%B4-%EA%B6%81%EA%B8%88%ED%95%9C%EA%B2%8C%EC%9E%88%EC%8A%B5%EB%8B%88%EB%8B%A4 <테스트 코드 때문에 필드DI를 지양해야 하는 것 이 맞는가?> 안녕하세요 담당자님. 위 링크에 적힌 내용에 이어서 질문을 드립니다. 위 링크를 읽어본 결과 필드 DI를 지양해야 하는 이유 중 하나는 테스트 할 때 순수 자바환경에서 구현 불가능한 방법이기 때문이라고 이해했습니다. 하지만 위와 같은 이유로 필드DI를 지양한다는 것이 이해가 안됩니다. 실제 어플리케이션 코드에서는 필드DI를 하고, 스프링 없는 테스트 환경에서는 생성자든 setter든 직접 객체를 넣어주면 아무 문제 없지 않을까요? 물론 설명해주신 필드DI의 단점은 좀 더 있지만, 테스트 코드 때문에 필드DI를 지양해야 하는 것 이 맞는가에 대한 의문이 들어서 질문드립니다. 감사합니다.
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] Service를 Interface로 먼저 만들고 구현체를 따로 만드는 특별한 이유가 있나요? Interface를 굳이 만들어야 하는지 궁금합니다.
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 영한님 안녕하세요! 강의 듣다가 궁금한 점이 생겨서 질문 남깁니다. 이번 강의 내용에서 AutoAppConfig 클래스를 사용하는 이유를 잘 모르겠어서요.. 스프링 입문 강의에서는 별도의 Config 클래스 없이 @Service, @Repository와 같은 어노테이션으로 빈을 등록하고 @Autowired로 의존 관계를 주입했는데, 이번 강의에서는 Config 클래스를 사용하셔서요. 제가 이해한 것이 맞는지 확인 부탁드립니다!! 자동으로 빈을 등록하고 의존 관계를 주입할 경우에는 별도의 Config 클래스가 없이 @Component만 붙여줘도 실행하는데는 문제가 없을까요? Config 클래스를 사용하는 이유는 스프링 컨테이너를 통해 빈을 조회하기 위해 사용하신 것이 맞을까요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 안녕하세요, 강사님의 좋은 강의 감사드리며, 열심히 듣고 있습니다. 다름 아니라, MusicPlayerMain3 관련 질문드립니다. 우선 관련 코드를 보여드립니다. MusicPlayerData data = new MusicPlayerData() ; on (data) ; volumeUp (data) ; volumeUp (data) ; volumeDown (data) ; showStatus (data) ; off (data) ; } static void on (MusicPlayerData data){ data. isOn = true; System. out .println( "음악 플레이어를 실행합니다." ) ; } static void off (MusicPlayerData data){ data. isOn = false; System. out .println( "음악 플레이어를 종료합니다." ) ; } 이 코드에서 volumeUp과 volumeDown 메서드는 반환 타입이 void입니다. main 메서드 안에는 볼륨 관련 메서드를 호출하고 있고, 따로 메서드 호출 결과를 저장할 변수는 선언되어 있지 않습니다. 그럼에도 volume 값이 메서드 호출 이후 지속적으로 업데이트 되는 것은, 기본적으로 main 메서드에서 생성한 data가 참조값을 갖고 있고, 메서드의 매개변수 역시 data와 같은 참조값을 갖고 있으므로, 따로 return type과 저장할 변수를 선언하지 않았어도 참조값이 가르키는 인스턴스의 value 값이 volumeUp, Down 메서드 호출 할 때마다 업데이트 되는 것인가요? 또한 만약 같은 코드가 기본형을 다루는 메서드 였다면 값이 업데이트 되지 않는 것인지 확인하고 싶습니다. 제가 이해한 것이 맞는지 확인하고 싶습니다. 감사합니다.
package generic.test.ex3 object UnitPrinter { //제네릭 메서드 fun <T : BioUnit>printerV1(t: Shuttle<T>){ println(t.showInfo()) } fun printerV2(shuttle: Shuttle<out BioUnit>){ println(shuttle.showInfo()) } fun <T : BioUnit>printerV3(t: Shuttle<T>){ val unit = t.out() println("이름: ${unit.name} hp:${unit.hp}") } fun printerV4(shuttle: Shuttle<out BioUnit>){ val unit = shuttle.out() println("이름: ${unit.name} hp:${unit.hp}") } } 자바와 코틀린은 100퍼센트 호환이 된다고 해서 코틀린으로 강의를 보고있습니다. 강의에선 v1과 v2로 인자로 받은 셔틀에서 unit을 꺼내어 내용을 출력했는데요. 그렇게 안하고 셔틀에서 바로showinfo를 호출해서 실행창에 name : 마린 hp : 40 kotlin.Unit name : 마린 hp : 40 kotlin.Unit 이렇게 줄바꿈으로 kotlin.Unit이라는게 자동적으로 붙는데 왜이런건가요 . 강의에서처럼 unit을꺼내어서 출력하면 안붙습니다.
컴퓨터 돋보기에서 시스템 환경변수 편집 >고급 > 환경변수 들어가서 환경변수 JAVA_HOME을 최초엔 C:\Program Files\Java\jdk-8.0.345.1-hotspot\라고 설정되어있는데 강의 마지막부에 갑자기 여 끝에 마지막에 bin 붙이셨는데 저도 따라 수정해서 bin 붙여야하나요? 이미 "PATH"에 %JAVA_HOME%\bin 이 되어 있는데요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 안녕하세요. 공백 제거 풀이를 보면서 의문이 생겨서 질문을 남깁니다. 공백 제거 하는것 을 보면 trim 메서드, strip 메서드가 있는것을 확인 할수가 있는데요. 왜 굳이 이렇게 나눈 이유가 뭘까? 라는 생각이 듭니다. 그냥 strip으로 통일해서 없애면 되는게 아닌가?라는 생각이요. 이렇게 나눈 이유가 있을 것 같은데...이유를 알려주실수 있으신가요? 그리고 현업 에서는 trim 메서드 만 사용하는지 아니면 strip 메서드만 사용하는지 아니면 혼용해서 사용하는지 알고 싶네요. 답변 부탁 드립니다.
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 안녕하세요 영한님 항상 정성이 담긴 강의해주셔서 대단히 감사합니다:) 다름이 아니라 해당 부분 강의를 들었을 때 LinkedList와 배열의 조합으로 메모리 구조가 잘 떠오르지 않아서 제가 생각한 부분이 맞는지 질문드리는 점 양해 부탁드립니다(_ _) LinkedList 인덱스 배열[9] 부분에 9와 99가 같이 들어가는데요, 영한님께서 설명해주셨던 LinkedList 강의 부분 메모리 구조 그림으로 예를 든다면 배열[9] 부분에 노드가 이런식으로 두 개가 생성되는 것이 제가 이해한 부분이 맞을지 질문드립니다! 항상 감사합니다 :) )
ctrl + alt + V 를 사용하여 자동 완성을 시키면 import가 생성되면서 이렇게 변합니다. 강사님의 화면에선 자동완성 시 NestedOuter.Nested 타입으로 생성되고 import 가 생성되지 않는데 이유를 알 수 있을까요...? ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요.
안녕하세요. 강의 잘 듣고있습니다. 제가 요즘 TDD에 대해서 이제 막 공부를 시작했습니다. 테스트방법에 대해서 mocking, stubbing이 있더라구요. 강의 내용 중 말씀해주신 FAKE 객체를 만들어서 테스트하는 방식이 Stubbing 방식이란 같은 것일까요? 실무에서도 Mockking 보다는 Stub객체를 만들어서 테스트하는 경우가 더 많은가요? 아직 mocking과 stub객체를 사용해서 테스트 하는 방식의 차이나 목적이 이해가 잘 되지 않아서 질문드립니다.
[질문 내용] 싱글톤 패턴으로 객체를 하나만 생성해서 용량적으로 효율적이다라는 관점은 받아들여졌는데, 만약 수많은 요청자가 클래스 영역의 해당 하나의 객체(싱글톤 객체)를 가져다 쓰기 위해서는 줄을 서야해서 속도가 저하되지 않을까요? 멀티쓰레드 같은 개념이 아직 부족해서일까요? 아니면 PC의 운영체제는 시분할 방식이기에 어쨌든 동시에 실행되는 것 같아도 잘게 쪼개서 실행하는 논리에서 연관성이 있을까요? 답변주시면 감사하겠씁니다:)
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 문제 3번에서 마지막 12행 else부분부터 이렇게 해버렸는데 이러면 역시 완전히 틀렸다고 보는게 좋을까요? else if (dollar > 0) { System.out.println("환전 금액은 " + dollar * 1300 + "원 입니다."); }
안녕하세요. Queue 질문이 있어서 글 씁니다. add()와 offer() remove()와 poll() 은 각각 동작도 같고 반환 타입도 같던데 검색해보면 예외를 발생시키느냐 마냐의 차이라고 나와서요. 실제로 offer() 까보면 return add()라고 되어 있기도 하고 ... 무슨 차이인지 그리고 어떨 때 어떤 걸 쓰는 게 좋을지 보충 설명 부탁드립니다.