1차 캐시, 쓰기지연, 더티체킹(스냅샷), 지연로딩 영속성 컨텍스트의 특징이 이정도인 거 같은데 더티체킹은 엔티티(객체)를 컬렉션에서 관리하듯이 도와줘서 수정측면에서 도움이 많이 되는 것 같긴 한데 1차캐시나 쓰기지연 로딩은 디비에 데이터 몇 번 덜 접근한다고 해서 큰 차이 없을 것 같은데 성능적인 측면에서 많이 도움 되나요? 실무를 해본 적이 없어서 제가 잘 모르는 것일까요 ?
[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
안녕하세요. 중급강의에서 IModelWithId, IBasePaginationRepository 을 정의해 놓고 사용하셨는데요. 이렇게 하신 이유가 "자식 클래스에서 id 변수 혹은 paginate 함수를 갖는걸 강제하기 위한 목적"이 맞을까요? 충분히 설명은 해주셨는데 제가 지식이 부족해서 제대로 이해한게 맞는지 궁금해서 질문 드립니다. 어제 드디어 중급강의를 완강 했습니다. 좋은 강의 만들어 주셔서 다시한번 감사드립니다!
DB 접근 2편이나 활용1편에서는 Gradle을 사용해서application.properties를 통해 h2를 설정하고 build.gradle을 통해서 라이브러리를 받아왔던 것 같은데 이번 강의에서는 xml파일들을 사용해서 상당히 어색한데요. 최근에 Gradle을 많이 사용한다면 xml로 설정하는 방법을 따로 공부할 필요는 없을까요?
Junit5로 테스트를 생성해서 그런지 Test애노테이션에 expected 라는 옵션이 없어서 @Test() public void 상품주문_재고수량초과() throws Exception { //given Member member = createMember(); Item book = createBook(10000, 10, "시골 JPA"); int orderCount = 11; //when Assertions.assertThatThrownBy(() ->orderService.order(member.getId(), book.getId(), orderCount)) .isInstanceOf(NotEnoughStockException.class); } 이렇게 만들어서 돌렸는데 테스트가 통과했다면 그냥 넘어가도 되는 것일까요? @Test() public void 상품주문_재고수량초과() throws Exception { //given Member member = createMember(); Item book = createBook(10000, 10, "시골 JPA"); int orderCount = 11; //when Assertions.assertThatThrownBy(() ->orderService.order(member.getId(), book.getId(), orderCount)) .isInstanceOf(NotEnoughStockException.class); fail("재고 수량 부족 예외가 발생해야 한다."); } 이렇게 돌리면 재고 수량 부족 예외가 발생해야 한다. java.lang.AssertionError: 재고 수량 부족 예외가 발생해야 한다. 라는 예외가 발생했습니다.
public int getTotalPrice() { return orderPrice * count; } public int getTotalPrice() { return getOrderPrice() * getCount(); } 주문 아이템의 가격을 반환해야할 때 당연히 위처럼 코드를 작성해야겠다고 생각했는데, 강의를 보니 아래처럼 하시더라구요 결국 같은 값을 반환하는 것 같은데 어떤 차이가 있는지 알 수 있을까요 ?
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 긴 url 주소 같은 내용을 입력할 때 코드가 길어져 좌우로 스크롤해야하는게 불편한 적이 있는데, 강사님은 자동으로 줄바꿈이 되시는 것 처럼 보이던데 혹시 어떻게 설정할 수 있나요?
위의 사진처럼 CHROME_EXECUTABLE 환경변수에 chrome.exe파일이 매칭이 되어야 할 거 같은데 도저히 못찾겠습니다. 여러가지 매칭 시켜봤지만 안되네여. 혹시 chrome.exe파일은 어디에 있을지 알려주시면 정말 감사하겠습니다. 컴퓨터는 M2 pro입니다. 감사합니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. @Column에서 unique나 length제약조건을 거는것은 런타임에 영향을 주지 않는다 하시고 @Table에서 name을 사용해서 테이블 명을 바꾸는것은 런타임에 영향을 주신다고 하셧는데 둘의 차이를 이해하지 못하고 있습니다. @Table의 name을 변경하는것이 인서트 쿼리나 업데이트 쿼리에 영향을 준다고 하셧는데 이 말 자체를 이해하지 못하고 있는 것 같습니다..
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 윈도우 cmb창에서 명령 프롬프트에서 gradlew.bat 를 실행하려면 gradlew 하고 엔터를 치면 됩니다. --> 여기까지는 실행이 됬으나 gradlew build에서 BUILD FAILED 됩니다... 도저히 모르겠습니다.
[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
최신버전을 사용할 때, go 가 작동되지 않는 경우 context 의 type이 dynamic으로 되어있습니다. 이럴 경우 context. 의 properties는 go_router 의 기능을 포함하지 않습니다. 이경우, context as BuildContext 로 치환하여 사용하면 작동이 잘되는데 이렇게 사용할 경우 문제가 있을까요?
[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
안녕하세요. 중급강의 장바구니 제작 부분 수강중입니다. state 에 item 을 추가하실때 이런 식으로 spread operator 를 사용하시던데요. 혹시 add 메서드를 사용해서 추가해도 결과는 똑같은가요? state.add(BasketItemModel(product: product, count: 1)); 나름대로 찾아보니깐 spread operator 를 사용하면 deep copy가 되고 add 메서드는 단순히 reference 만 추가하는 방식인거 같은데,, 맞는지 궁금합니다. 나중에 다른 코드에서도 List 에 item 을 추가할때 spread operator 를 사용하는게 더 좋은지도 궁금하고요. 좋은 강의 감사합니다!
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 잘 따라가다가 '13. Firebase로 이메일 로그인 기능 구현' 강의 수강 중 pubspec.yaml 파일에 flutterfire_ui: ^0.4.3+20 을 추가 하니 The Android Gradle plugin supports only Kotlin Gradle plugin version 1.5.20 and higher. The following dependencies do not satisfy the required version: project ':sign_in_with_apple' -> org.jetbrains.kotlin:kotlin-gradle-plugin:1.3.50 라고 오류가 떠서 못넘어가고 있습니다 ㅠㅠ 어떻게 해결해야할까요? 구글링도 해봤으나 적절한 답을 찾지 못했습니다ㅠㅠ
[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
Google Map 관련된 내용을 학습하고 있는데, 재미있으면 댓글을 남겨주면, 관련된 내용을 좀 더 준비하시겠다고 해서 댓글 남깁니다. " 재미 있음 " 사용자가 특정 앱을 통해 본인의 위치를 조작할 수 없도록 하는 것에 대해서 코딩 강의를 해 주시면 좋을 것 같습니다.
[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
안녕하세요. 중급강의 GoRouter 부분 수강중입니다. 강의내용 대로 초기설정을 해봤는데 에러가 발생하지는 않지만 화면이 이동되지 않더라고요. 제가 사용하는 버전이 go_router: ^6.5.6 이라 바뀐 부분이 없나 공식문서를 살펴보니 초기 설정부분이 좀 다르더라고요. GoRouter configuration 정보를 _MyApp 외부에서 선언하고,설정은 routerConfig 파라미터 하나만 설정하고 끝내더라고요. 공식문서대로 하면 작동은 잘 합니다. 혹시 공식문서대로 계속 사용해야 하는건지 아니면 강의 내용대로 해도 되는건데 제가 받아 적은 코드가 잘못된건지 궁금합니다. 아래는 공식문서 스샷 입니다.
[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
'brew install cocoapods' 를 실행하고 설치를 완료한 바로 다음에 flutter doctor을 실행했을때는 모두 다 체크가 된건 확인했는데 한 번 더 flutter doctor을 실행하면 다시 이런 메세지가 나오네요 며칠 째 계속 해결을 못하고 있네요 도움을 주시면 감사드리겠습니다
[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
안녕하세요. 드디어 완강을 하게 되었습니다! 여러번 복습을 해야겠지만 일단 너무 감격스럽네요 ㅜㅜ 다름 아니라, 완강후 완성된 코드에서는 주문 탭에서 force refetch를 하면 주문 내용이 새로고침 되지가 않습니다. throttle과 debounce 를 적용하기 전에는 결제 내용이 주문 탭에 즉시 반영되지는 않아도, force refetch를 하면 반영되었거든요. 깃헙에 올려주신 소스코드로도 같은 증상입니다. 다른 탭에서의 force refetch는 이상없이 작동하는데 왜 그럴까요?