학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예 [질문 내용] 강의 후반부에 외부에서 mappingMap과 adapters를 외부에서 주입 하는 방식으로 하는 이야기를 해주셔서 만들어봤는데 말씀하신 외부에서 주입한다는 방식이 맞는지 궁금해서 질문드립니다. public class HandlerMapping implements initMyHandler{ @Override public Map<String, Object> initHandlerMappingMap() { Map<String,Object> handlerMappingMap=new HashMap<>(); handlerMappingMap.put("/front-controller/v5/v3/members/new-form", new MemberFormControllerV3()); handlerMappingMap.put("/front-controller/v5/v3/members/save", new MemberSaveControllerV3()); handlerMappingMap.put("/front-controller/v5/v3/members", new MemberListControllerV3()); //V4 추가 handlerMappingMap.put("/front-controller/v5/v4/members/new-form", new MemberFormControllerV4()); handlerMappingMap.put("/front-controller/v5/v4/members/save", new MemberSaveControllerV4()); handlerMappingMap.put("/front-controller/v5/v4/members", new MemberListControllerV4()); return handlerMappingMap; } @Override public List<MyHandlerAdapter> initHandlerAdapters() { List<MyHandlerAdapter> handlerAdapters = new ArrayList<>(); handlerAdapters.add(new ControllerV3HandlerAdapter()); handlerAdapters.add(new ControllerV4HandlerAdapter()); return handlerAdapters; } } 이렇게 인터페이스를 구현하였고 frontControllerServlert 에는 private HandlerMapping handlerMapping=new HandlerMapping(); private Object getHandler(HttpServletRequest request) { String requestURI = request.getRequestURI(); Map<String, Object> handlerMappingMap = handlerMapping.initHandlerMappingMap(); return handlerMappingMap.get(requestURI); } private MyHandlerAdapter getHandlerAdapter(Object handler) { List<MyHandlerAdapter> myHandlerAdapters = handlerMapping.initHandlerAdapters(); for (MyHandlerAdapter adapter : myHandlerAdapters) { //MemberFormControllerV3 (부모가 ControllerV3),MemberFormControllerV4 (부모가 ControllerV4) if (adapter.supports(handler)) { return adapter; } } throw new IllegalArgumentException("handler adapter를 찾을수 없습니다."+handler); } 이렇게 동작하도록 하였는데 이것도 외부주입하는 방식으로 작성 했다고 볼수 있는지 궁금합니다.
안녕하세요 선생님, 답지에서 이해가지 않는 부분이 있어 질문을 드립니다. https://www.acmicpc.net/source/share/c2fb354cd24049edb34fbd09a91a38d3 check 함수 및 마지막에 직접 태우는 부분에서 temp = 0으로 초기화해야 올바른 답이 나온다고 생각했는데 temp = m으로 초기화 해야 하는 이유를 확실히 모르겠습니다. 예제 2를 예시로 들어봤을 때 (학생 수 : 7, 놀이기구 수 : 2, 각각 운행시간 : 3 2) temp = 0으로 초기화하고 시작하면 6분이 되었을 때 놀이기구 1은 2명, 놀이기구 2는 3명을 막 완료한 상태이므로 남은 아이들은 2명, 2명을 각각 놀이기구 1, 2에 태워 운행이 끝날 때 까지 기다리면 + 3분으로 9분이 올바른 종료 시간 같은데 아닌 이유가 무엇인가요?
강의 17:00부분을 보면 어떠한 expression이 있을 때 괄호의 경우 어느것 먼저 계산될지는 c언어 표준에 정해져있지않으므로 컴파일에 따라 결정된다고 설명해주셨습니다. 그런데 구글에 c언어 연산자 우선순위를 검색하면 associativity라고 있는데 연산자 우선순위가 같은 경우 이 방향에 따라서 결정되는거 아닌가요? 괄호 같은 경우 연산자 우선순위가 1순위지만 associativity가 왼쪽에서 오른쪽이므로 여러개 있을경우 왼쪽부터 계산되는거 아닌가요? 제가 잘못이해한걸까요? 감사합니다.
안녕하세요.낙관적 락을 공부하며 생긴 질문을 드립니다.. @Getter @Entity @NoArgsConstructor(access = AccessLevel.PROTECTED) public class Stock { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private Long productId; private Long quantity; @Version private Long version; @Builder public Stock(Long productId, Long quantity) { this.id = null; this.productId = productId; this.quantity = quantity; this.version = 0L; } public void decrease(Long quantity) { if(this.quantity - quantity < 0) throw new IllegalArgumentException("재고가 부족합니다."); this.quantity -= quantity; } } 위와 같이 Entity 를 작성하였습니다. 실행환경은 MySQL 입니다. 동작 과정은 다음과 같습니다. 엔티티를 생성하고.. JpaRepository 인터페이스를 상속받은 Repository 의 save 메서드의 파라미터로 엔티티를 전달하였습니다.. 저는 여기서 파라미터로 전달한 엔티티 인스턴스가 영속 상태로 관리될 것이라 생각했습니다. (일반적으론 그렇더라구요..) 그런데 version 프로퍼티 때문인지.. 영속성 컨텍스트에 관리되는 엔티티는 파라미터로 전달한 엔티티 인스턴스가 아니라.. JPA 가 만들어낸 새로운 인스턴스였습니다.. (파라미터로 전달한 엔티티 인스턴스에는 id 가 채워지지 않았습니다.) 해당 상황에 대해.. 원리와 이유가 궁금합니다.. 늘 감사합니다.
설계독학맛비's 실전 FPGA를 이용한 HW 가속기 설계 (LED 제어부터 Fully Connected Layer 가속기 설계까지)
안녕하세요 강의를 잘 듣고 있는 수강생입니다! 다름이 아니라 맛비님께서는 강의에 사용하시는 코드를 모두 제공 해 주셔서 해당 코드를 기반으로 강의를 진행하다 보니 제가 직접 RTL 코드를 작성할만한 타이밍이 많이 없더라구요ㅠㅠ (제가 그냥 무지성으로 강의만 듣고 따라하는 것도 있는 것 같습니다...^^;;) 강의를 들으며 강의에서 사용하시는 RTL 을 직접 코딩하며 진행 해 보고 싶은데 어떤식으로 하면 될까요...? 제공 해 주시는 타이밍 다이어그램과 블록 다이어그램을 기반으로 혼자 작성 해 보는 방식으로 진행 해 보면 될까요?
둘의 차이가 무엇인지 궁금합니다. 아래의 답변 내용을 읽다가 지난 강의에서도 chmod를 0755로 설정하시는 것 같아 그 정확한 차이가 궁금해졌습니다... 구글링해보긴 했는데 0755(=755)와 1755/2755/4755에는 차이가 있다고 해서 그 설명이 듣고 싶습니다...
[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버
Weapon::Weapon() : Item(IT_Weapon) { switch (_rarity) { case IR_Normal: _damage = 1 + rand() % 5; break; case IR_Rare: _damage = 10 + rand() % 5; break; case IR_Unique: _damage = 50 + rand() % 5; break; } } 이 부분에서 맨 위, Item(IT_Weapon) 가 어떻게 나온건지 궁금합니다. : 뒷 부분은 초기화하는 것을 간략하게 나타낸 것이 아닌가요? 그렇다면 Item = IT_Weapon; 이라는 코드 대신에 사용했다는 말인데, Item 자체는 class 명인데 코드가 말이 안되는 것 같습니다..
안녕하세요, 스타트코딩 선생님! CSS 선택자 부분 중 광고 상품정보 : adProduct_info_area__dTSZf 일반 상품정보 : product_info_area__xxCTi 이렇게 name 으로 지정할 CSS 선택자가 다르지만, price 로 지정할 CSS 선택자는 price_num__S2p_v 로 두개 모두 동일 합니다. 따라서 코드를 작성할 때 상품정보의 수가 일치하지 않는 오류 가 생기는 이럴땐 어떻게 해결해야 하는지 알려주세요. 상품정보의 수가 일치하지 않는 부분 광고 상품정보 : adProduct_info_area__dTSZf (모두 8개) 일반 상품정보 : product_info_area__xxCTi (모두 40개) 가격정보 : price_num__S2p_v (모두 48개) 답변 부탁드립니다. 감사합니다.