묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨두고두고 써먹는 유니티 VR
똑같이 설정했는데 왜 starnd Urp 템플릿 이없을까여?
안녕하세요 강의 진행중인 학생입니다.영상에서 보는것과 똑같이 세팅을 하였는데 왜 URP신이 없을까요?
-
미해결Axure RP 9,10 - 서비스 기획자를 위한 최적의 프로토타이핑 툴
액슈어 요금제 문의
안녕하세요 선생님! :) 액슈어 잘 사용하고 있습니다. 지난번에 알려주신 iOS 컴포넌트 라이브러리도 Figma통해서 사용해봤습니다. 감사합니다. 다름이 아니라, 원래 혼자 기획을 하다가 이번에 다른 기획자분과 함께 일을 하게 됐는데요, 기획자분께 액슈어를 추천해서 함께 사용하려고 합니다. 그런 경우에 요금제를 team 요금제로 사용하는게 좋을까요? team요금제와 pro요금제의 가장 차이점은 아래 이미지에 붙인 부분인데요, 저게 정확히 어떤 기능인지 확실하지 않아 구매가 망설여집니다. 혹시 어떤 기능인지 알려주실 수 있을까요? 감사합니다.
-
미해결딥러닝 CNN 완벽 가이드 - TFKeras 버전
여러뉴런이 있는 신경망의 Backpropagation
강사님 안녕하세요? 여러뉴런이 있는 신경망의 Backpropagation 세타의 미분값은 세타가 영향을 준 경로의 미분값들의 합으로 구하는데 이 개념은 수학적으로 증명된 개념이라고 이해하면 될까요?
-
미해결윤재성의 만들면서 배우는 Spring MVC 5
16:55초 부분 질의드립니다!
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.안녕하세요 선생님 질의드립니다~! UserDao 클래스에서 return 받은 값은 user_id,user_name의 값만 받은거같은데, UserService 클래스에서 idx값을 어떻게 받아올수있나해서요! sql쿼리문에서는 가져온데이터값은 아이디랑 이름만 있는것같아서 질의드립니다!
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
왜 runtime이 뜰까요 ;;
IDE에서 컴파일시에는 잘 되는데 , 왜 채점시에는 RUNTIMEERROR가 뜨는지 모르겠어요. 한번 봐주실 수 있을까요?? public class Main { public int solution(int n , int [][] arr){ int answer = Integer.MIN_VALUE; int sum1 = 0; int sum2 = 0; int sum3 = 0; int sum4 = 0; for(int i=0, k = 4; i < n ; i++ , k--){ sum3+=arr[i][i]; //대각선들의 합 sum4+=arr[k][k]; for(int j=0; j < n ; j++){ sum1 += arr[i][j]; //행의 합 sum2 += arr[j][i]; //열의 합 } answer=Math.max(answer, sum1); answer=Math.max(answer, sum2); sum1 = 0; sum2 = 0; } answer=Math.max(answer, sum3); answer=Math.max(answer, sum4); return answer; } public static void main(String[] args) { Main t = new Main(); Scanner scan = new Scanner(System.in); int n = scan.nextInt(); int [][] arr = new int[n][n]; for(int i=0; i < arr.length ; i++){ for(int j=0; j <arr[i].length; j++){ arr[i][j] = scan.nextInt(); } } System.out.println(t.solution(n,arr)); }}
-
미해결더 자바, Java 8
java 11 버전 설치 질문
안녕하세요 ! java 8 수업인데 왜 java 11 버전 이상 설치를 권장하는지 궁금합니다,
-
미해결[2026년 출제기준] 웹디자인개발기능사 실기시험 완벽 가이드
계속여쭤봐서 진심으로죄송합니다ㅜㅜ
■ 질문 남기실 때 꼭! 참고해주세요.- 먼저 유사한 질문이 있었는지 검색해주세요.- 궁금한 부분이 있으시면 해당 강의의 타임라인 부분을 표시해주시면 좋습니다.- HTML, CSS, JQUERY 코드 소스를 텍스트 형태로 첨부해주시고 스크린샷도 첨부해주세요.- 다운로드가 필요한 파일은 해당 강의의 마지막 섹션에 모두 있습니다. 선생님은 혹시 웹디자인 처음 공부할때 도움된 사이트나 책이나 강의가있었으면 추천해드릴수있을까요? 아니면 선생님만의 코딩공부법도 알려주시면 좋겠습니다
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
html form 이 get, post에만 적용되는지 몰랐네요! ㅇ0ㅇ
매번 자바스크립트로 요청을 날려서 직접 html form에 처리를 해본적이 없다보니 html form 이 get, post에만 적용되는지 몰랐네요. 정말 많이 배워가는 강의입니다 ㅎㅎ 감사합니다 :)
-
미해결실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
JPA 엔티티 단건 조회 시 하위 테이블 값이 null 들어가는 문제 해결 방법 문의 건
JPA 엔티티 단건 조회 시 하위 테이블 값이 null 들어가는 문제 해결 방법 문의 건 안녕하세요~ 강사님 수업 잘 듣고 있습니다 회사에서 JPA 를 도입해서 사용중인데요 연관관계 테이블이가 많은 오더단건 정보(헤더와 연관된 하위테이블 모두) 를 가져와 엔티티를 조회후에 맵스트럭처를 통해 JSON으로 외부로 데이터 전송하는 부분을 구현중입니다 리파지토리 extends JpaRepository 를 사용해서 리파지토리.getOne 을 통해서 엔티를 꺼내왔는데 이상하게도 브레이크포인트 디버깅을 걸어서 확인해보면 맵스트럭쳐를 통해 JSON 을 변경하기전 엔티티에 담겨있는 오더단건 정보(헤더와 연관된 하위테이블 모두)가 잘 담겨있을줄 알았지만, 헤더테이블 엔티티 Header Table A 만 데이터가 담겨있고, 연관된하위테이블 엔티티는 모두 null 로 들로가있습니다 이부분을 어떻게 해결해야 하는지 도움 부탁드립니다 (관련 블로그나, 참고 URL 블로그등을 알려주시면 참고하겠습니다) █ Header Table A ██ Detail Table A_1 @ManyToOne(fetch = FetchType.LAZY) private List<> ███ Detail Table A_1_1 @ManyToOne(fetch = FetchType.LAZY) private List<> ███ Detail Table A_1_2 @ManyToOne(fetch = FetchType.LAZY) private List<> ████ Detail Table A_1_2_1 ██ Detail Table B_1 @ManyToOne(fetch = FetchType.LAZY) private List<> ██ Detail Table C_1 @ManyToOne(fetch = FetchType.LAZY) private List<> ██ Detail Table D_1 @ManyToOne(fetch = FetchType.LAZY) private List<> ██ Detail Table E_1 @ManyToOne(fetch = FetchType.LAZY) private List<> 김동희 드림
-
미해결[초급편] 안드로이드 커뮤니티 앱 만들기(Android Kotlin)
회원가입 로직 구현, Firebase 세팅에서 발생하는 오류입니다.
회원가입 로직 구현, Firebase 회원가입 구현을 하던 중 오류가 발생해 처음부터 하나씩 진행하면서 오류가 발생한 부분을 찾았는데 영상 3:36 정도에 앱 수준의 gradle에서 마지막 코드 implementation 'com.google.firebase:firebase-analytics-ktx' 이 코드를 앱 수준의 그래들에 작성하고 실행하니 다음과 같은 오류가 발생했습니다.. 도와주세요
-
미해결실전! 스프링 데이터 JPA
[질문]
강의 잘보고 있습니다. 선생님 혹시 인터페이스를 이렇게 사용자정의로 구현하면 만약 page 반환 쿼리를 날릴때 count 쿼리는 어떻게 따로 설정이 가능한가요?
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
checkbox에 th:field를 적용할 때 질문이 있습니다
제가 따로 쇼핌몰 프로젝트 만드는데 장바구니 화면을 구현하는 도중 장바구니에서 체크한 상품을 알기위해 <input type="checkbox" id="open" name="open" th:field="*{open}" class="form-check-input"> 이 코드를 참고했습니다 저는 강의자료에서 이 코드가 들어있는 파일처럼 객체 1개를 넘겨줘 th:object를 하지 않고 db에서 받은 값을 dto로 담아 LIst를 model에 담은 다음 th:each로 상품을 하나씩 가져오면서 그 상품 체크 유무를 알기위해 저 코드를 이용했는데요. 똑같이 private Boolean open;도 만들었는데 왜 계속 에러가 뜨는지 모르겠습니다. th:field="${open}"을 th:field="${open}이렇게도 바꿔봤는데 실행이 되질 않네요. 에러 메시지는 Error during execution of processor 'org.thymeleaf.spring5.processor.SpringInputCheckboxFieldTagProcessor' (template: "cart/cartItems" - line 80, col 71) Neither BindingResult nor plain target object for bean name 'item' available as request attribute 코드는 여기 있습니다 <tr th:each="item : ${cartItems}"> <td> <script type="text/javascript"> document.write(++i);</script> </td> <!-- 히든 필드 추가, 체크를 안해도 히든 필드는 무조건 넘어가게 FormItemController : item.open=true //체크 박스를 선택하는 경우 FormItemController : item.open=false //체크 박스를 선택하지 않는 경우 체크 박스를 체크하면 스프링 MVC가 open 에 값이 있는 것을 확인하고 사용한다. 이때 _open 은 무시 체크 박스를 체크하지 않으면 스프링 MVC가 _open 만 있는 것을 확인하고, open 의 값이 체크되지 않았다고 인식한다. 이 경우 서버에서 Boolean 타입을 찍어보면 결과가 null 이 아니라 false 인 것을 확인할 수 있다. log.info("item.open={}", item.getOpen());, th:object없으면 *이 아니라 $로--> <td> <input type="checkbox" id="open" name="open" th:field="${item.open}" > </td> <td th:text="${item.name}"></td> <td> <img th:src = "*{item.imageSrc}" width="75" height="75"> </td> <td th:text="${item.price}"></td> <td th:text="${item.quantity}"></td> <td> <!--상태가 put이면 cancel버튼을 노출되게 기능을 만들음, 장바구니에 담긴 상태여야지 취소가 가능하니 버튼 누르면 javascript:cancel메서드 실행--> <a th:if="${item.status.name() == 'PUT'}" href="#" th:href="'javascript:cancel('+${item.id}+')'" class="btn btn-danger">삭제하기</a> </td></tr>
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
영속성 컨텍스트와 트랜잭션 propagation
안녕하세요. 영속성 컨텍스트와 트랜잭션 propagation 관련해서 질문이 있습니다. 영속성 컨텍스트는 트랜잭션 마다 생기는 것으로 알고 있습니다. 만약 다음 처럼 트랜잭션이 생성된다면 영속성 컨텍스트는 어떻게 동작하나요? 1. A 메소드에서 B 메소드를 호출할 때 B 메소드에는 트랜잭션 전파 속성이 REQUIRES_NEW 일 시 새로운 트랜잭션이 생성되는 데 그러면 B 메소드를 위한 영속성 컨텍스트가 새로 생성되는 건가요? 2. 만약 영속성 컨텍스트가 새로 생성된다고 할 때 A 메소드에서 B 메소드 호출 시 파라미터로 Entity를 넘겨준다고 하면, 해당 Entity는 A 메소드에 있는 영속성 컨텍스트에서도 관리되고, B 메소드에 있는 영속성 컨텍스트에도 관리가 되는 건가요?
-
미해결실전! 스프링 데이터 JPA
실무(OLTP 환경)에서는 강의에서 알려주신 오프셋 페이징을 쓰면 안되는거 맞을까요?
실무에서 DB 를 사용한다고 하면 배치나 데이터 파이프라인 등이 아닌 OLTP 환경에서는 절대 오프셋 기반의 페이징을 쓰면 안되지 않나요? 우선 페이징 도중에 다른 클라이언트에 의해 실시간으로 데이터가 삽입/삭제가 일어나 중복된 데이터가 보여지거나 중간 데이터 누락이 발생할 수도 있기 때문에 문제가 될 것이고, 성능의 관점에서도 SQL 쿼리에서 OFFSET 문의 경우 index seek 과정에서 바로 페이지의 첫 데이터를 찾아가는것이 아니라 불필요하게 맨 처음 인덱스부터 offset 사이즈만큼 스캔한 뒤에 limit 만큼 가져오는 것이기 때문에 scalable 않지만, 커서 기반의 페이징의 경우 데이터의 양이 많아지더라도 where 절을 통해 index seek 과정에서 바로 커서에 해당하는 인덱스를 찾아가서 page size 만큼의 데이터만 스캔하면 되기 때문에 실무에서 굳이 오프셋 기반의 페이징을 쓸 이유가 없다. 라고 이해하면 맞을까요? 물론 페이징 대상이 되는 데이터의 수 자체가 매우 적거나 유저가 많은 페이지를 탐색하지 않는다면 큰 문제가 되지 않을 수도 있지만, 커서 기반의 페이징을 구현하는것이 특별이 어려운 것도 아니고 굳이 오프셋 기반의 페이징을 사용할 필요가 있나 궁금했습니다!
-
해결됨실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
16:10 페이징 쿼리, mvc 관련 질문드립니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.안녕하세요 영한님 jpa 강의 정말 재미있게 잘 듣고 있습니다. 이번에 페이징 한계돌파 강의를 들으면서 실습을 하던 중 16:10쯤에 저의 개발환경에서 발생한 쿼리가 영한님의 개발환경에서 발생한 쿼리와 다른 것 같아서 질문드립니다. where __row__ >= 2 and __row__ < 102; 쿼리로 페이징이 적용되어 결과는 원하는 대로 나왔지만, 예상과는 조금 다르게 아래와 같은 서브 쿼리가 나갔습니다. 데이터베이스 방언 문제는 아닌 것 같고 jpa 버전 문제일까요? 2022-05-04 01:14:49.015 DEBUG 21484 --- [nio-8081-exec-6] org.hibernate.SQL : with query as (select inner_query.*, row_number() over ( order by current_timestamp) as __row__ from ( select order0_.order_id as order_id1_6_0_, member1_.member_id as member_i1_4_1_, delivery2_.delivery_id as delivery1_2_2_, order0_.delivery_id as delivery4_6_0_, order0_.member_id as member_i5_6_0_, order0_.order_date as order_da2_6_0_, order0_.order_status as order_st3_6_0_, member1_.city as city2_4_1_, member1_.street as street3_4_1_, member1_.zip_code as zip_code4_4_1_, member1_.name as name5_4_1_, delivery2_.city as city2_2_2_, delivery2_.street as street3_2_2_, delivery2_.zip_code as zip_code4_2_2_, delivery2_.status as status5_2_2_ from orders order0_ inner join member member1_ on order0_.member_id=member1_.member_id inner join delivery delivery2_ on order0_.delivery_id=delivery2_.delivery_id ) inner_query ) select order_id1_6_0_, member_i1_4_1_, delivery1_2_2_, delivery4_6_0_, member_i5_6_0_, order_da2_6_0_, order_st3_6_0_, city2_4_1_, street3_4_1_, zip_code4_4_1_, name5_4_1_, city2_2_2_, street3_2_2_, zip_code4_2_2_, status5_2_2_ from query where __row__ >= ? and __row__ < ? 2022-05-04 01:14:49.035 INFO 21484 --- [nio-8081-exec-6] p6spy : #1651594489035 | took 3ms | statement | connection 8| url jdbc:h2:tcp://localhost/~/jpashopping with query as (select inner_query.*, row_number() over (order by current_timestamp) as __row__ from ( select order0_.order_id as order_id1_6_0_, member1_.member_id as member_i1_4_1_, delivery2_.delivery_id as delivery1_2_2_, order0_.delivery_id as delivery4_6_0_, order0_.member_id as member_i5_6_0_, order0_.order_date as order_da2_6_0_, order0_.order_status as order_st3_6_0_, member1_.city as city2_4_1_, member1_.street as street3_4_1_, member1_.zip_code as zip_code4_4_1_, member1_.name as name5_4_1_, delivery2_.city as city2_2_2_, delivery2_.street as street3_2_2_, delivery2_.zip_code as zip_code4_2_2_, delivery2_.status as status5_2_2_ from orders order0_ inner join member member1_ on order0_.member_id=member1_.member_id inner join delivery delivery2_ on order0_.delivery_id=delivery2_.delivery_id ) inner_query ) select order_id1_6_0_, member_i1_4_1_, delivery1_2_2_, delivery4_6_0_, member_i5_6_0_, order_da2_6_0_, order_st3_6_0_, city2_4_1_, street3_4_1_, zip_code4_4_1_, name5_4_1_, city2_2_2_, street3_2_2_, zip_code4_2_2_, status5_2_2_ from query where __row__ >= ? and __row__ < ? with query as (select inner_query.*, row_number() over (order by current_timestamp) as __row__ from ( select order0_.order_id as order_id1_6_0_, member1_.member_id as member_i1_4_1_, delivery2_.delivery_id as delivery1_2_2_, order0_.delivery_id as delivery4_6_0_, order0_.member_id as member_i5_6_0_, order0_.order_date as order_da2_6_0_, order0_.order_status as order_st3_6_0_, member1_.city as city2_4_1_, member1_.street as street3_4_1_, member1_.zip_code as zip_code4_4_1_, member1_.name as name5_4_1_, delivery2_.city as city2_2_2_, delivery2_.street as street3_2_2_, delivery2_.zip_code as zip_code4_2_2_, delivery2_.status as status5_2_2_ from orders order0_ inner join member member1_ on order0_.member_id=member1_.member_id inner join delivery delivery2_ on order0_.delivery_id=delivery2_.delivery_id ) inner_query ) select order_id1_6_0_, member_i1_4_1_, delivery1_2_2_, delivery4_6_0_, member_i5_6_0_, order_da2_6_0_, order_st3_6_0_, city2_4_1_, street3_4_1_, zip_code4_4_1_, name5_4_1_, city2_2_2_, street3_2_2_, zip_code4_2_2_, status5_2_2_ from query where __row__ >= 2 and __row__ < 102; 2022-05-04 01:14:49.038 DEBUG 21484 --- [nio-8081-exec-6] org.hibernate.SQL : select orderitems0_.order_id as order_id5_5_0_, orderitems0_.order_item_id as order_it1_5_0_, orderitems0_.order_item_id as order_it1_5_1_, orderitems0_.count as count2_5_1_, orderitems0_.item_id as item_id4_5_1_, orderitems0_.order_id as order_id5_5_1_, orderitems0_.order_price as order_pr3_5_1_ from order_item orderitems0_ where orderitems0_.order_id=? 2022-05-04 01:14:49.040 INFO 21484 --- [nio-8081-exec-6] p6spy : #1651594489040 | took 0ms | statement | connection 8| url jdbc:h2:tcp://localhost/~/jpashopping select orderitems0_.order_id as order_id5_5_0_, orderitems0_.order_item_id as order_it1_5_0_, orderitems0_.order_item_id as order_it1_5_1_, orderitems0_.count as count2_5_1_, orderitems0_.item_id as item_id4_5_1_, orderitems0_.order_id as order_id5_5_1_, orderitems0_.order_price as order_pr3_5_1_ from order_item orderitems0_ where orderitems0_.order_id=? select orderitems0_.order_id as order_id5_5_0_, orderitems0_.order_item_id as order_it1_5_0_, orderitems0_.order_item_id as order_it1_5_1_, orderitems0_.count as count2_5_1_, orderitems0_.item_id as item_id4_5_1_, orderitems0_.order_id as order_id5_5_1_, orderitems0_.order_price as order_pr3_5_1_ from order_item orderitems0_ where orderitems0_.order_id=11; 2022-05-04 01:14:49.044 DEBUG 21484 --- [nio-8081-exec-6] org.hibernate.SQL : select item0_.item_id as item_id2_3_0_, item0_.name as name3_3_0_, item0_.price as price4_3_0_, item0_.stock_quantity as stock_qu5_3_0_, item0_.artist as artist6_3_0_, item0_.etc as etc7_3_0_, item0_.author as author8_3_0_, item0_.isbn as isbn9_3_0_, item0_.actor as actor10_3_0_, item0_.director as directo11_3_0_, item0_.dtype as dtype1_3_0_ from item item0_ where item0_.item_id=? 2022-05-04 01:14:49.046 INFO 21484 --- [nio-8081-exec-6] p6spy : #1651594489046 | took 0ms | statement | connection 8| url jdbc:h2:tcp://localhost/~/jpashopping select item0_.item_id as item_id2_3_0_, item0_.name as name3_3_0_, item0_.price as price4_3_0_, item0_.stock_quantity as stock_qu5_3_0_, item0_.artist as artist6_3_0_, item0_.etc as etc7_3_0_, item0_.author as author8_3_0_, item0_.isbn as isbn9_3_0_, item0_.actor as actor10_3_0_, item0_.director as directo11_3_0_, item0_.dtype as dtype1_3_0_ from item item0_ where item0_.item_id=? select item0_.item_id as item_id2_3_0_, item0_.name as name3_3_0_, item0_.price as price4_3_0_, item0_.stock_quantity as stock_qu5_3_0_, item0_.artist as artist6_3_0_, item0_.etc as etc7_3_0_, item0_.author as author8_3_0_, item0_.isbn as isbn9_3_0_, item0_.actor as actor10_3_0_, item0_.director as directo11_3_0_, item0_.dtype as dtype1_3_0_ from item item0_ where item0_.item_id=9; 2022-05-04 01:14:49.048 DEBUG 21484 --- [nio-8081-exec-6] org.hibernate.SQL : select item0_.item_id as item_id2_3_0_, item0_.name as name3_3_0_, item0_.price as price4_3_0_, item0_.stock_quantity as stock_qu5_3_0_, item0_.artist as artist6_3_0_, item0_.etc as etc7_3_0_, item0_.author as author8_3_0_, item0_.isbn as isbn9_3_0_, item0_.actor as actor10_3_0_, item0_.director as directo11_3_0_, item0_.dtype as dtype1_3_0_ from item item0_ where item0_.item_id=? 2022-05-04 01:14:49.050 INFO 21484 --- [nio-8081-exec-6] p6spy : #1651594489050 | took 0ms | statement | connection 8| url jdbc:h2:tcp://localhost/~/jpashopping select item0_.item_id as item_id2_3_0_, item0_.name as name3_3_0_, item0_.price as price4_3_0_, item0_.stock_quantity as stock_qu5_3_0_, item0_.artist as artist6_3_0_, item0_.etc as etc7_3_0_, item0_.author as author8_3_0_, item0_.isbn as isbn9_3_0_, item0_.actor as actor10_3_0_, item0_.director as directo11_3_0_, item0_.dtype as dtype1_3_0_ from item item0_ where item0_.item_id=? select item0_.item_id as item_id2_3_0_, item0_.name as name3_3_0_, item0_.price as price4_3_0_, item0_.stock_quantity as stock_qu5_3_0_, item0_.artist as artist6_3_0_, item0_.etc as etc7_3_0_, item0_.author as author8_3_0_, item0_.isbn as isbn9_3_0_, item0_.actor as actor10_3_0_, item0_.director as directo11_3_0_, item0_.dtype as dtype1_3_0_ from item item0_ where item0_.item_id=10; 또한 api가 아닌 mvc 패턴으로 컬렉션을 find할 때에는 dto가 아닌 엔티티를 그대로 repository에서 찾아서 view 화면에 넘기는데, 이 때는 쿼리 성능 최적화를 어떻게 할 수 있을까요? (타임리프로 order, orderItem의 결과를 보여준다고 가정할 때)
-
미해결스프링 핵심 원리 - 기본편
IoC, DI, 그리고 컨테이너 => 이 강의를 듣고 궁금한 점이 생겼습니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]여기에 질문 내용을 남겨주세요. 안녕하세요, 영한님 스프링 강의를 재밌게 듣고 있는 수강생입니다 :) 다름이 아니라 IoC에 관련된 강의를 듣고 궁금한 점이 생겨 질문글을 남기게 되었습니다. 질문은 총 2가지 입니다. 1. 강의에서 AppConfig가 제어 흐름에 대한 권한을 가지고 있다고 이야기 하셨는데 이 부분이 잘 와닿지 않습니다. ▲ [그림1] AppConfig 소스코드 제가 생각할 때 AppConfig가 제어 흐름에 대한 권한을 가지고 있는 이유는 AppConfig에서 구현 객체, 그리고 의존관계를 어떻게 설정하느냐에 따라 프로그램 내에서 실행되는 로직이 달라지기 때문에 제어 흐름에 대한 권한을 가지고 있다고 이해했는데 이게 맞는건가요? 다른 이유가 있다면 어떤 것이 있을까요?? 2. AppConfig가 실제로 생성되고 사용되는 부분은 MemberApp(또는 OrderApp) 내에 있는 main 메소드 입니다. 그렇다면, AppConfig에도 IoC가 적용되어 결국 main 메소드가 최종적인 제어 흐름에 대한 권한을 가지고 있다고 이해해도 될까요? ▲ [그림2] MemberApp 내의 main 메소드
-
미해결코딩으로 학습하는 GoF의 디자인 패턴
Concrete 빌더에 관한 질문
안녕하세요 강의 잘 듣고 있습니다. 다름이 아니라, 본 강의에선 DefaultTourBuilder 구현체로 빌더 패턴 사용 예시를 보여주셨습니다. 1. 첫 번째 질문으로, 칸쿤 여행의 경우 TourPlan의 모든 멤버 변수에 어떤 값을 할당해야 한다고 가정했을 때, 강의에선 getPlan에서 모든 변수가 제대로 초기화됐는지 체크하는 과정이 생략된 것 같은데 맞을까요? 2. DefaultTourBuilder가 칸쿤 여행과 같이 모든 멤버 변수를 초기화했을 때만 인스턴스를 만들 수 있도록 getPlan에 제약을 걸어놨다면, 본 강의에서 예시로 들었던 당일치기 롱비치 여행은 DefaultTourBuilder로 만들 수 없다고 생각합니다. 여러 방법이 존재하겠지만 강의에서 말씀하신 내용을 되짚어보면 당일치기 여행 인스턴스를 제공하는 ShortTourBuilder를 만드는 게 합리적이란 생각이 듭니다. 강사님의 의견은 어떠신가요? 감사합니다.
-
미해결프로그래밍 시작하기 : 웹 입문 (Inflearn Original)
removeEventListener
이 강의에서 addEventListener 를 통해 만든 클릭함수를 없애고 싶을땐 removeEventListener를 어떻게 사용해야 할까요? logo.addEventListener('click',function(){ alert('안녕하세요! 구글입니다.'); }); 이걸 지우고 싶습니다..
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
react-redux 버전 관련 질문입니다.
리덕스로 로그인을 구현한 후 로그인 되지않는 문제가 생겼었습니다. dispatch 함수가 실행되지만 rootReducer에서 LOG_IN 부분이 실행이 안됐습니다(console.log로 확인) 그래서 useDispatch를 불러온 부분이 문제라고 생각해, react-redux버전을 강의에 맞게 7로 바꾸니 문제가 해결됐습니다. 왜 이런 문제가 발생한건가요..? 추가로 이 강의를 다 들은 후, react-redux를 8버전으로 올리고 싶으면 어디서 변경내역을 확인해야 하나요..?
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
docker-compose-dev.yml 은 어떻게 실행하나요?
배포해주신 교안 대로 docker-compose.yml 과 docker-compose-dev.yml 으로 분리해서 작업했습니다. 그러면 docker-compose -up 을 하면 어떻게 docker-compose-dev.yml 을 가르키게 되는 걸까요?