안녕하세요 강의를 듣다가 궁금증이 생겨서 질문을 드립니다. void init() { // given List<Product> products = List.of( createProduct("001", 1000), createProduct("002", 2000) ); // when Order order = Order.create(products, LocalDateTime.now()); // then assertThat(order.getOrderStatus()).isEqualByComparingTo(OrderStatus.INIT); } 강의에서 OrderTest 클래스 테스트 과정에서 enum을 비교할때 isEqualByComparingTo를 사용하셨습니다. assertThat(order.getOrderStatus()).isEqualTo(OrderStatus.INIT); 위와 같이 isEqualTo를 사용해도 enum을 비교할 수 있는데, 혹시 isEqualTo 대신 isEqualByComparingTo를 사용한 이유를 알 수 있을까요? isEqualByComparing가 정의된 AbstractComparableAssert.java를 확인해보면 BigDecimal을 예시로 들어서 사용법을 설명하고 있습니다. BigDecimal의 예시로 Enum을 써야 하는 방법을 생각해보았는데, 유추(?)가 잘 되지 않아서 질문을 남깁니다. 항상 좋은 강의 제공해주셔서 감사합니다!!😀😀
포토폴리오 마이페이지 - 내포인트 부분을 작업하는 도중 api 질문입니다. fetchPointTransactionsOfBuying 이 내포인트 -> 구매내역 api로 알고있습니다. 피그마를 보면 거기서 판매자 데이터를 가져오고있는데 오류가 뜨네요.ㅠ 판매자 데이터를 가져오고 싶은데 여기서 seller {name} 이부분을 넣으면 데이터가 안가져오네요.. 판매자데이터가 없어서 그런건지 왜 그런지와 어떻게 해야하는지 두가지 모두 알고싶습니다.
질문은 아니고 해결 방법 공유 드립니다. build_script_generate/bootstrap.dart:76:40: Error: Method not found: 'NullThrownError'. final error = e[0] as Object? ?? NullThrownError(); 위 에러가 발생하는 경우 https://pub.dev/ 에서 사용하는 라이브러리들을 검색해서 버전들을 최신으로 맞춰주시면 됩니다. 발생 원인은 NullThrownError 가 Dart 2.14 이후에 제거되었는데 예전 버전들에서 저 메서드를 사용하려고 하니 발생하는 것이 아닐까 싶습니다.
[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
[ ...TABS, ...TSBS, ...TSBS].map(~) 여기에서 ...TABS의 의미가 무엇인지 궁금합니다! 그냥 TABS로 적으면 e가 List type의 TABS를 불러와서 e.icon에 오류가 발생하는데, ...TABS로 적으면 map이 실제로 TABS안에 있는 리스트 요소를 e로 가져오는거같은데 ...의 의미가 궁금합니다!
[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
npm i 명령어 실행 시 이런 오류가 발생하는데 혹시 해결방법이 있을까요? 그리고 android studio에서 node 명령어 수행 시 제대로 실행되지 않는 문제가 있는데 powershell을 통해 동일한 경로에서 실행하면 제대로 실행됩니다. 추가적으로 android studio에서 해주어야 하는 설정이 있을까요?
[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
만약 UI를 구현하는데 있어서 SizedBox의 height나 혹은 다른 Widget의 크기를 pixel단위로 수치로 주게 되면 비율이 다른 기기에서 원하는 형태로 표현을 못하거나 높이가 낮은 기기의 경우 잘리는 현상이 생길 것 같습니다. 혹시 일반적으로 앱을 구현할 때 이런 부분을 모두 MediaQuery.of(Context).size를 통해 비율로 구현하는 것이 옳은 방법일까요?
1강을 3번 정도 보면서 익히려고 노력하는데 머릿속에 다 들어오거나 외운 느낌은 아니에요. 그렇게 2강을 듣기 시작했는데 너무 어렵네요. 공부방법을 어떻게 하면 좋죠? 1강은 강사님이 알려주신거 코드 직접해보고 자료로만들고 했는데... 2강오니 이해안되는 부분들이 많아요.
[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
안녕하세요 강사님. 다름이 아니라 스타일링 마무리 직후 갑자기 type 'String' is not a subtype of type 'int' of 'index' 라는 에러가 발생해서 글 남깁니다. 분명 스타일링 마무리 후 재시작하여 잘 실행이 되는 것을 확인했으나, 안드로이드 스튜디오를 껐다 켠 이후로 FutureBuilder 내에서 계속 위와 같은 에러가 발생하고 있습니다. int 값을 넣어야 할 곳에 String 값을 넣은 적이 없는 것 같은데 말이죠... 분명 잘 되는 것을 확인했는데 갑자기 이런 에러가 발생하니 당황스럽네요. 혹시 짐작가는 부분이 있으신지 궁금해서 글 남겨 봅니다.
[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
안녕하세요? 해당 실습 소스 예제를 무한 반복하면서 기존에 몇번 끝까지 완성하고, 현재 반복으로 계속 공부해보고 있습니다. 최근에 안나던 에러가 나와서 질문 드립니다. 소스 문제가 아닌거 같아서요. ----------------------------------------- ㅁ 개발환경 ~ Flutter 3.10.5 ~ Dart 3.0.5 ~ OS : Mac Ventura 13.4.1 (Apple M2) ----------------------------------------- Error (Xcode): ../../../../.pub-cache/hosted/pub.dev/go_router-4.5.1/lib/src/router.dart:38:44: Error: The class 'NavigatorObserver' can't be used as a mixin because it isn't a mixin class nor a mixin. 기존에 실습할 때는 잘 지나갔던 부분 같은데, 실습이 잘 진행되다가, go_router 적용 후 부터 위 에러가 뜹니다. 동영상 소스 버전인 4 버전으로 바꾸어서 해 봐도 똑 같네요. (go_router 설정은 4 버전으로) flutter clean 시도후에 다시 pub get 해도 똑같은 현상이고요. ㅁ 참고로, 기존에 실습 공부 때 끝까지 완성해서 잘 돌던 복사본을 꺼내서 돌려 보니 위와 똑같은 현상이 나왔습니다. ㅁ 참고로 강사님이 작성해서 git hub 에 올려 주신 [실제 본 소스 - actual] 다운 받아서 돌려 보아도 똑같은 현상이 나오네요. 혹시 관련 에러에 대해 아시는 부분 있으시면 조언 부탁드립니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 강의를 듣다 의문점이 생겨 질문 드립니다. OrderDto는 JPA에서 생성된 객체가 아니고 직접 생성자로 만들어서 사용한 객체인데 왜 Hibernate5Module이 프록시 객체로 생각해서 null값을 반환하는지 모르겠습니다. 제가 긴시간 찾아보면서 생각한 이유는 이렇습니다. 강의 5분경 쯤에 api 호출시 Json에서 orderItems 가 null로 반환되는것을 보여주십니다. orderItems가 null로 반환되는것은 스프링이 string으로 응답을 보낼때 messageConverter가 json으로 변환해서 반환을합니다. 이때 orderItems가 JPA(Hibernate)에서 만든 프록시 객체로 되어있어 전강의에서 설정한 Hibernate5Module이 프록시 객체를 null로 바꾸기 때문에 orderItems가 null로 나타낸것으로 생각됩니다. 하지만 제가 디버깅 모드로 확인해본 결과 OrderDto안에 있는 orderItems는 프록시 객체가 아닌 실제로 생성된 객체였습니다.(OrderDto는 단순히 JPA가 관리 하지 않아서 당연하다고 생각합니다.) 강의 기준으로 orderItems 안에 있는 orderItem객체가 2개 존재하는데 orderItem객체는 JPA를 통해 생성된 객체이고 자세히 살펴보면 orderItem 안에 Item은 LAZY로딩으로 프록시 객체가 생성되어있습니다. 혹시몰라 Hibernate5Module을 끄고 실행한 결과 Item이 @JsonIgnore가 있으면 orderItems가 제대로 결과 값이 나오고 @JsonIgnore이 없으면 프록시 객체를 Json으로 변환하지 못해서 오류가 발생합니다. 그럼 Hibernate5Module는 엔티티 안에 객체의 값중 하나라도 프록시 객체가 있다면 다른 객체의 값이 있든 말든 그냥 null을 반환하는 걸까요?? 제가 이해한것이 맞는지 궁금해서 질문드립니다. 긴글 읽어주셔서 감사합니다.