스프링으로 전환하면서 AppConfig.class에 @Configuration을 붙이고 테스트에서 AnnotatoinConficApplicationContext ac = new AnnotationConfigApplicationContext(AppConfig.class)를 해주는데요. 두 가지 각각의 기능이 무엇인지 궁금합니다. 후자의 경우 ApplicationContext가 스프링 컨테이너가 되고 그 위로 AppConfig.class파일을 올려주는 것 같은데.. @Configuration은 싱글톤 보장을 위해 붙이는 것인지.. 물론 스프링부트를 사용할 때는 뒤의 스프링컨테이너생성코드를 따로 적어주지 않으니까 더 헷갈려서요. @ComponentScan의 경우 스프링컨테이너가 훑을 범위를 지정해주는게 맞는건가요? @Configuration에도 @Component가 되어있어서 @ComponentScan의 대상이 되는거구요.. 뭔가 수업을 따라갈때는 물흐르듯 이해가 되는데 개념을 확실히 잡으려고 하면 잘 안 되네요ㅠㅠ
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 동영상에는 2.3.1 에 자바 11이던데 버전 2.7.18 으로 자바 11 맞추어서 하면 될까요? 일단 돌아가긴 하는거 같습니다.... 하도 버전 맞추는데 시간이 많이걸려서 확인하고 할까합니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] PUT과 POST의 차이점을 보고있었습니다. 여기서 나오는 클라이언트가 직접 리소스의 URI를 지정한다. 를 보고 드는 생각이 클라이언트의 정확한 정의에 대해 알고 싶습니다.
안녕하세요 큰돌 님. 7-D를 풀던 도중 메모이제이션 부분에서 질문드립니다. 저는 메모이제이션을 2차원 배열로 하고자 했는데요, 제가 생각하기에 나무가 2개뿐이기에 이동 횟수에 따라 나무의 위치를 특정할 수 있기 때문에 "1번 움직이면 -> 2번 나무, 2번 움직이면 -> 1번 나무"와 같이 이동 횟수와 나머지 연산을 통해 '현재 위치'를 메모이제이션 하지 않아도 된다는 생각이 들었습니다. 때문에 이동 횟수와 현재 시간만 메모이제이션 하고자 했습니다. 혹시 이런 식의 접근으로는 풀 수가 없는 것일까요? 제가 제출한 코드도 첨부 드립니다. http://boj.kr/7d0a67eaf7b8428e912f596c29a971f1
중급, 활용편 #1 DevOps : Infrastructure as Code with AWS and 테라폼
질문은 부담없이 어떤거든 해주세요! 주영님이 설정하신 심볼릭 링크 관련하여 코드 재사용 및 중앙 관리를 하기 위함인 것 같다는 생각이 들긴 하지만, 주영님께 직접 답변을 듣고 싶어서 질문드립니다. service 디렉터리 구조에서 저렇게 심볼릭 링크를 설정하신 이유가 무엇인지 디테일하게 답변해 주실 수 있을까요??
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 강의 내용에서, 프록시로 만들어질 타겟이 인터페이스를 베이스로 하느냐 클래스를 베이스로 하느냐에 따라, InvocationHandler 를 사용할지, CBLIB를 사용할지 결정한다고 하셨습니다. ProxyFactory는 어떻게 인터페이스 베이스인지 클래스베이스인지 구분하는지 궁금합니다! instanceof 메서드같이 구분해주는 메서드가 존재하는 걸까요?
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 테스트 오류 원인과 해별 방법에 대해서 모르겠습니다. https://drive.google.com/file/d/1QYqXqOodib6goDP-k8RDb-gC7iChx9D1/view?usp=drive_link 1. 문제 영역을 실행할 수 있는 방법 - AutoAppConfigTest 테스트 진행 시 오류 발생 2. 문제가 어떻게 나타나는지에 대한 상세한 설명 - 테스트 오류
AuthState에 이렇게 문제가 생기고 The name 'AuthState' isn't a type, so it can't be used as a type argument. (Documentation) Try correcting the name to an existing type, or defining a type named 'AuthState'. 라고 뜹니다 어떻게 해결해야할지 모르겠어요
안녕하세요. 먼저 좋은 강의 만들어주셔서 감사합니다. 실제 프로젝트에 SWIFTUI 를 적용하려다보니 커스텀팝업(UIKIT으로는 투명배경 ViewController)를 어떤식으로 적용 할 수 있는건지 잘모르겠습니다. 혹시 사용하고 있는 방법이 있으시면 알려주실 수 있을까요?
WPF 강좌를 듣다가 View에다가 포함시킬 예비 View를 만들어서 넣으려고 하고 잇습니다. 예를 들면 Popup_Window 라는 xaml.cs 가 있고 따로 OpenDoor.xaml, CloseDoor.xaml 이 있습니다 이 것들은 단지 코드 비하인드에는 아무것도 없고 디자인만 구현했습니다. 이것을 이제 Popup_Window에다가 넣으려고 하는데요 지금 Popup_Window에 잘 넣었고 원하는대로 실행이 되기는 합니다. 하지만 UserControl doorPage; ((ViewModel.DoorOpen)doorPage).DataContext = new Model.Doorpage_Model { StatusText = $"Door {i + 1} Open" }; ((ViewModel.DoorOpen_Page_ViewModel)doorPage).Foreground = new SolidColorBrush( Colors.Red ); 이런 방식으로 넣어서 이건 그냥 C# 을 쓴건지 WPF를 쓴건지 모를 정도로 코딩을 해버렸습니다. Binding을 하여서 간결하게 UserControl을 넣고싶고 그런데 어떻게 고쳐야 하면 좋을지 알려주시면 정말 감사드리겠습니다.
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요 13분 basicScan 테스트 진행시 이러한 오류가 발생합니다. 강의에 라이브코딩을 한것 같은데 혹시 어떤 문제인지 알 수 있을까요..? https://drive.google.com/file/d/1QYqXqOodib6goDP-k8RDb-gC7iChx9D1/view?usp=sharing
안녕하세요. 완강 이벤트 참여하려고 하는데, 설문조사창을 못 찾겠어서요ㅠㅠ 어디서 할 수 있을까요?? 우선 강의를 들어주셔서 감사합니다. 강의 들으시면서 궁금하신 부분을 남겨주세요. 회사 일 관계로 빠른 답변이 어려울 수 있으며, 최대 3일 이내에 답변 드리도록 하겠습니다. 이해를 돕기 위해서 스크린샷 이미지, 피그마 파일 링크 를 반드시 첨부해주세요. 마지막으로 먼저 유사한 질문 이 있는지 한번 찾아보시는 걸 권장 드립니다. 인프런 서비스 운영 관련해서는 1:1 문의하기 로 인프런 쪽으로 연락 주시기 바랍니다.
이에 대해서 chat gpt 에 물어봤는데 " Half-Open Range의 중요성 이 반복자 범위는 "half-open" 범위로 알려져 있습니다. 즉, 시작은 포함되지만 종료는 포함되지 않습니다( [begin, end) ). 이러한 설계는 다음과 같은 이유로 안전성과 효율성을 제공합니다: 범위 초과 방지 : end() 가 마지막 요소의 바로 다음을 가리키므로, 반복 과정에서 마지막 요소를 처리한 후 반복자를 한 번 더 증가시키면 end() 를 가리키게 됩니다. 이 위치는 실제 데이터를 포함하지 않으며, 반복자가 데이터를 벗어난 상태가 되지 않습니다. 따라서 루프에서 it != vec.end() 조건을 검사할 때 정확히 루프가 종료되며, 이는 범위를 초과하여 데이터에 접근하는 일이 없도록 합니다. 일관된 로직 : 모든 표준 알고리즘과 컨테이너 연산은 이 half-open 패턴을 기대합니다. 이로 인해 개발자는 특별한 경우를 고려하지 않고도 일관된 방식으로 코드를 작성할 수 있습니다. 이는 오류 가능성을 줄이고 코드의 가독성을 높여줍니다. " 이렇게 답을 해줬습니다. end()가 마지막 요소를 직접 가리키는 경우 저는 오히려 범위 초과 방지에 더 도움이 된다고 생각하기에 이 설명이 이해가 잘 안 됩니다. 또 chat gpt에서 " std::vector<int> vec = {1, 2, 3}; auto it = vec.begin(); // it는 Index 0을 가리킵니다 (Element: 1) 여기에서 end() 가 마지막 요소를 직접 가리키는 경우 (비표준, 가상 시나리오) 이 경우를 가정하여, vec.end() 가 Index 2, 즉 3 을 가리킨다고 가정해 봅시다. 반복 실행 과정 : it 는 1 을 가리킵니다. it != vec.end() 는 참입니다. 요소 1 을 출력하고 ++it . it 는 2 를 가리킵니다. it != vec.end() 는 참입니다. 요소 2 를 출 력하고 ++it . it 는 3 을 가리킵니다. it != vec.end() 는 참입니다. 요소 3 을 출력하고 ++it . 여기서 문제가 발생합니다. it 를 한 번 더 증가시키면, it 는 vec.end() 를 넘어서 Index 3으로 이동하게 되고, 이 위치는 벡터의 범위를 벗어난 위치입니다. 이 시점에서 다음의 it != vec.end() 검사는 undefined behavior를 초래할 수 있습니다, 왜냐하면 it 가 벡터의 유효 범위를 벗어났기 때문입니다. " 이렇게 말을 했는데 이해가 잘 되지 않습니다. end()가 마지막 요소를 직접 가리키는 경우 it가 3을 가리킬 때 it != vec.end() 는 오히려 거짓이 되고, 3을 출력하기 전에 반복 실행을 멈추기 때문에 오히려 범위 밖으로 나갈 위험이 적다고 생각합니다. (물론 여기서는 3을 출력하지 않기 때문에 잘못된 것이지만). 그래서 chat gpt 가 마지막 요소 다음을 가리키는 게 더 안전하다고 한 이유를 잘 모르겠습니다. 오히려 end()는 마지막 요소 다음을 가리키는 반복자이므로 쓰레기 값을 가리키는 이상한 녀석이라는 생각이 듭니다.