묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결실전 자바스크립트
yield 입력값
5:02초 예제에서,첫번째 next 메서드는 제너레이터 함수의 첫번째 yield를 만날때까지 실행을 한다고 하셨는데.. 이미 처음 next 메서드를 실행했을 때 const data1 = yield; 문장이 실행된것 아닌가요? 왜 두번째 next 메서드의 인수가 변수 data1으로 대입되나요?
-
해결됨mongoDB 기초부터 실무까지(feat. Node.js)
몽고 db를 백업방법을 부탁합니다.
mongodump로 로컬에 설치된 몽고 db를 백업하려 하는데 아래의 오류가 나옵니다.해결방법을 부탁합니다.- (mongodump.exe)를 별도로 다운받아야 하나요?-최신버전에는 mongodump.exe파일이 설치되어 있지 않습니다.[오류메세지]'mongodump'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는배치 파일이 아닙니다
-
해결됨모두의 깃 & 깃허브
충돌 병합 공부
안녕하세요. 혼자 공부하고 있는 수강생입니다. 강의를 듣다보니 충돌하고 병합하는 과정에 익숙해 지는게 중요한거 같은데 혼자하고 진행하니 어려움이 있습니다. 어떤 방식으로 진행하면 좋을지 조언가능할까요? ㅎㅎ
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
Mapping table 질문
(1)ORDER_ITEM은 ORDERS,ITEM에 N:M구조의CATEGORY_ITEM은 ITEM, CATEGORY에 N:M구조의 Mappting table인기요? (2)ORDER_ITEM은 다대다 구조를 @ManyToOne로 다대일로 나눠서 해결했고CATEGORY_ITEM은 다대다 구조를 @ManyToMany로 해결했는데 실무에서는 @ManyToMany를 사용하면 안된다 라고 이해하면 될까요?
-
미해결실전! 코틀린과 스프링 부트로 도서관리 애플리케이션 개발하기 (Java 프로젝트 리팩토링)
.
.
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
mappingMap과 inithandler 외부 주입에 대한 질문 드립니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.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); } 이렇게 동작하도록 하였는데 이것도 외부주입하는 방식으로 작성 했다고 볼수 있는지 궁금합니다.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
[ 6 - J ] 질문입니다
안녕하세요 선생님, 답지에서 이해가지 않는 부분이 있어 질문을 드립니다.https://www.acmicpc.net/source/share/c2fb354cd24049edb34fbd09a91a38d3check 함수 및 마지막에 직접 태우는 부분에서temp = 0으로 초기화해야 올바른 답이 나온다고 생각했는데 temp = m으로 초기화 해야 하는 이유를 확실히 모르겠습니다. 예제 2를 예시로 들어봤을 때 (학생 수 : 7, 놀이기구 수 : 2, 각각 운행시간 : 3 2)temp = 0으로 초기화하고 시작하면 6분이 되었을 때 놀이기구 1은 2명, 놀이기구 2는 3명을 막 완료한 상태이므로 남은 아이들은 2명, 2명을 각각 놀이기구 1, 2에 태워 운행이 끝날 때 까지 기다리면 + 3분으로 9분이 올바른 종료 시간 같은데 아닌 이유가 무엇인가요?
-
미해결Do it! HTML+CSS+자바스크립트 웹 표준의 정석
실습 파일 링크
예제 파일 링크를 못찾아서 출판사 사이트에서 직접 찾았네요. 깃헙 링크:https://github.com/Eun-Sook-Kim/doit_html_css_javascript
-
미해결홍정모의 따라하며 배우는 C언어
강의 내용 중 연산자의 우선순위
강의 17:00부분을 보면 어떠한 expression이 있을 때 괄호의 경우 어느것 먼저 계산될지는 c언어 표준에 정해져있지않으므로 컴파일에 따라 결정된다고 설명해주셨습니다.그런데 구글에 c언어 연산자 우선순위를 검색하면 associativity라고 있는데 연산자 우선순위가 같은 경우 이 방향에 따라서 결정되는거 아닌가요?괄호 같은 경우 연산자 우선순위가 1순위지만 associativity가 왼쪽에서 오른쪽이므로 여러개 있을경우 왼쪽부터 계산되는거 아닌가요?제가 잘못이해한걸까요?감사합니다.
-
해결됨자바 ORM 표준 JPA 프로그래밍 - 기본편
낙관적 락 엔티티 관련
안녕하세요.낙관적 락을 공부하며 생긴 질문을 드립니다..@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 을 직접 코딩하며 진행 해 보고 싶은데 어떤식으로 하면 될까요...? 제공 해 주시는 타이밍 다이어그램과 블록 다이어그램을 기반으로 혼자 작성 해 보는 방식으로 진행 해 보면 될까요?
-
해결됨Flutter 앱 개발 실전
context 관련 질문입니다!
섹션3 / AssetIcon / 04:41~04:51 / Line24color ?? context.color.text,04:47에서 context.co까지만 입력해도 자동완성이 뜨는데요.Q1. context가 어떤걸(어떤 파일의 어떤 클래스?) 지칭하는지 궁금합니다Q2. 어떤 매커니즘으로 theme_service import가 자동완성으로 뜨는지 궁금합니다(어떻게 인식했는지..?)질문이 난해할 수도 있는데, context에 관한 질문입니다!
-
해결됨실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
JPA 트랜잭션과 batch_fetch_size 질문이 있습니다.
@Transactional public List<Order> findAllWithMemberDelivery(int offset,int limit) { List<Order> resultList = em.createQuery( "select o from Order o" + " join fetch o.member m" + " join fetch o.delivery d", Order.class) .setFirstResult(offset) .setMaxResults(limit) .getResultList(); return resultList; } 1. @Transaction이 있을 때 조회쿼리select o1_0.order_id, d1_0.delivery_id, d1_0.city, d1_0.street, d1_0.zipcode, d1_0.status, m1_0.member_id, m1_0.city, m1_0.street, m1_0.zipcode, m1_0.name, o1_0.order_date, o1_0.status from orders o1_0 join member m1_0 on m1_0.member_id=o1_0.member_id join delivery d1_0 on d1_0.delivery_id=o1_0.delivery_id offset ? rows fetch first ? rows only 2023-07-15T01:15:30.105+09:00 TRACE 20476 --- [nio-8080-exec-1] org.hibernate.orm.jdbc.bind : binding parameter [1] as [INTEGER] - [0] 2023-07-15T01:15:30.105+09:00 TRACE 20476 --- [nio-8080-exec-1] org.hibernate.orm.jdbc.bind : binding parameter [2] as [INTEGER] - [100] select o1_0.order_id, o1_0.oder_item_id, o1_0.count, o1_0.item_id, o1_0.order_price from order_item o1_0 where array_contains(?,o1_0.order_id) 2023-07-15T01:15:30.122+09:00 TRACE 20476 --- [nio-8080-exec-1] org.hibernate.orm.jdbc.bind : binding parameter [1] as [ARRAY] - [[1, null, null, null,...] select i1_0.item_id, i1_0.dtype, i1_0.name, i1_0.price, i1_0.stock_quantity, i1_0.artist, i1_0.etc, i1_0.author, i1_0.isbn, i1_0.actor, i1_0.director from item i1_0 where array_contains(?,i1_0.item_id) 2023-07-15T01:15:30.139+09:00 TRACE 20476 --- [nio-8080-exec-1] org.hibernate.orm.jdbc.bind : binding parameter [1] as [ARRAY] - [[2, 1, null, null, null,...] select o1_0.order_id, o1_0.oder_item_id, o1_0.count, o1_0.item_id, o1_0.order_price from order_item o1_0 where array_contains(?,o1_0.order_id) 2023-07-15T01:15:30.142+09:00 TRACE 20476 --- [nio-8080-exec-1] org.hibernate.orm.jdbc.bind : binding parameter [1] as [ARRAY] - [[2, null, ...] select i1_0.item_id, i1_0.dtype, i1_0.name, i1_0.price, i1_0.stock_quantity, i1_0.artist, i1_0.etc, i1_0.author, i1_0.isbn, i1_0.actor, i1_0.director from item i1_0 where array_contains(?,i1_0.item_id) 2023-07-15T01:15:30.144+09:00 TRACE 20476 --- [nio-8080-exec-1] org.hibernate.orm.jdbc.bind : binding parameter [1] as [ARRAY] - [[4, 3, null, null, null,...] public List<Order> findAllWithMemberDelivery(int offset,int limit) { List<Order> resultList = em.createQuery( "select o from Order o" + " join fetch o.member m" + " join fetch o.delivery d", Order.class) .setFirstResult(offset) .setMaxResults(limit) .getResultList(); return resultList; }트랜잭션 없이 실행된 쿼리 select o1_0.order_id, d1_0.delivery_id, d1_0.city, d1_0.street, d1_0.zipcode, d1_0.status, m1_0.member_id, m1_0.city, m1_0.street, m1_0.zipcode, m1_0.name, o1_0.order_date, o1_0.status from orders o1_0 join member m1_0 on m1_0.member_id=o1_0.member_id join delivery d1_0 on d1_0.delivery_id=o1_0.delivery_id offset ? rows fetch first ? rows only 2023-07-15T01:19:19.943+09:00 TRACE 14616 --- [nio-8080-exec-1] org.hibernate.orm.jdbc.bind : binding parameter [1] as [INTEGER] - [0] 2023-07-15T01:19:19.943+09:00 TRACE 14616 --- [nio-8080-exec-1] org.hibernate.orm.jdbc.bind : binding parameter [2] as [INTEGER] - [100] select o1_0.order_id, o1_0.oder_item_id, o1_0.count, o1_0.item_id, o1_0.order_price from order_item o1_0 where array_contains(?,o1_0.order_id) 2023-07-15T01:19:19.957+09:00 TRACE 14616 --- [nio-8080-exec-1] org.hibernate.orm.jdbc.bind : binding parameter [1] as [ARRAY] - [[1, 2, null, null,...] select i1_0.item_id, i1_0.dtype, i1_0.name, i1_0.price, i1_0.stock_quantity, i1_0.artist, i1_0.etc, i1_0.author, i1_0.isbn, i1_0.actor, i1_0.director from item i1_0 where array_contains(?,i1_0.item_id) 2023-07-15T01:19:19.977+09:00 TRACE 14616 --- [nio-8080-exec-1] org.hibernate.orm.jdbc.bind : binding parameter [1] as [ARRAY] - [[2, 1, 4, 3, null, null, null, null, null, null]] @트랜잭션이 있을 때에는 쿼리가 5번 실행이 되고@트랜잭션이 없을 때에는 쿼리가 3번이 실행이 됩니다. 왜 이렇게 동작하는지 생각을 해도 이해가 잘 안되네요
-
미해결Java/Spring 테스트를 추가하고 싶은 개발자들의 오답노트
도메인 객체를 불변으로 만들어야 하는가가 궁금합니다.
Post를 수정한다면 새로 만들어지는 것이 아닌 존재하는 객체를 변경하는게 조금 더 잘 읽힐것 같은데 불변객체로 만드신 이유가 궁금합니다. 혹시 실무에서도 도메인 엔티티에 대해 불변으로 사용하나요?
-
해결됨리눅스 입문 - 개념으로 탄탄히!!
chmod 0755 vs 755
둘의 차이가 무엇인지 궁금합니다. 아래의 답변 내용을 읽다가 지난 강의에서도 chmod를 0755로 설정하시는 것 같아 그 정확한 차이가 궁금해졌습니다...구글링해보긴 했는데 0755(=755)와 1755/2755/4755에는 차이가 있다고 해서 그 설명이 듣고 싶습니다...
-
미해결[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버
섹션5 인벤토리 강좌에서 Weapon 구현부 작성 질문
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 명인데 코드가 말이 안되는 것 같습니다..
-
미해결[신규 개정판] 이것이 진짜 크롤링이다 - 기본편
네이버 상품정보 수집하기에서 상품정보에 광고 정보는 htm
안녕하세요, 스타트코딩 선생님!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개) 답변 부탁드립니다.감사합니다.
-
미해결한 입 크기로 잘라먹는 타입스크립트(TypeScript)
type선언보단 interface를 쓰는 것이 낫지 않나요?
interface는 호환성도 좋고 선언 합침도 쉽고 함수의 오버로딩도 가능한데 type대신 interface를 사용하는 것이 더 좋은 것 아닌가요? 왜 이 둘을 나눈 것인가요?
-
미해결Do it! 알고리즘 코딩테스트 with JAVA
연결요소의 개수 구하기(백준11724) 질문
DFS 함수 구현 부분에서 if(visited[v]){ return; } 처럼 탈출 조건을 사용하는 이유가 무엇인가요? 재귀를 시작하기전에 조건문으로 visited가 false일때만 시작하도록 설정했으니 필요없는 부분이 아닌가요?
-
해결됨[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
객체 생성
문득 임시 객체를 연습하다가 궁금한 점이 있어 질문드립니다. Q. 객체 생성을 위해서는 반드시 어떤 방법으로든 생성자가 호출되어야하나요?