inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

173만명의 커뮤니티!! 함께 토론해봐요.

authProvider로 루트설정시에, 스플래시화면에서 일정작업을 수행하고싶으면 어떻게 해야하나요?

미해결

[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!

authProvider로 루트 설정하는거 정말 최고예요..!! 항상 좋은 강의에 감사드립니다! 강의 듣다가 하나 궁금한 점이 있는데, 보통 스플래시 화면에서 데이터를 미리 불러온다던지 일부러 1-2초 일정한 딜레이를 건다거나 스플래시에 움직이는 애니메이션을 넣는 경우에는 이런 authProvider에서 어떻게 해결해야하나요? redirectLogic 안에서 isInitialized라고 지정해둔 변수를 이용해서 해봤는데 이게 맞는지ㅠ 좀 더러운거같아서 여쭤봅니다! Future<String?> redirectLogic( BuildContext context, GoRouterState state) async { if (!isInitialized) { isInitialized = true; return '/splash'; } if (isInitialized) { await Future.wait([ Future.delayed(const Duration(seconds: 1)), // 1초 지연 ]); } final UserBase? user = await ref.read(userProvider); // print('redirectLogic - user : ${user.toString()}'); final loggingIn = state.location == '/login'; // 유저 정보가 없는데 // 로그인중이면 그대로 로그인 페이지에 두고 // 만약에 로그인중이 아니라면 로그인 페이지로 이동 if (user == null) { return loggingIn ? null : '/login'; } if (user is UserModel && loggingIn || state.location == '/splash') { // 여기서 미리 가져오면 좋을 데이터를 가져오기 } // user가 null이 아님 // UserModel // 사용자 정보가 있는 상태면 // 로그인 중이거나 현재 위치가 SplashScreen이면 // 홈으로 이동 if (user is UserModel) { return loggingIn || state.location == '/splash' ? '/' : null; } // UserModelError if (user is UserError) { return !loggingIn ? '/login' : null; } return null; }

  • flutter
  • 하이브리드-앱
레몬구름 댓글 2 좋아요 0 조회수 535

중급반 섹션6 <Dio onError Interceptor 작업하기> 질문입니다.

미해결

[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!

중급반 섹션6 <Dio onError Interceptor 작업하기>강의 8분 정도에 onError작업하는 과정에서 에러사항 처리하는 과정에서 refresh토큰으로 accessToken 요청경로가 아래 같은 경로로 설정하셨는데, final isPathRefresh = err.requestOptions.path == '/auth/token'; restaurnatRepository 에서 baseUrl을 이렇게 설정하셨는데 강의처럼 설정하면 http로 시작안하면 baseUrl이 온다고 나와있어서 'http://$ip/restaurant' /// If the `path` starts with 'http(s)', the `baseURL` will be ignored, otherwise, /// it will be combined and then resolved with the baseUrl. 'http://$ip/restaurant/auth/token'이 이렇게 되는게 아닌지 궁금합니다. +그리고 Riverpod pdf자료 추가 안되어있는거 같은데 이것도 확인한번부탁드릴게요~ㅎ

  • flutter
  • 하이브리드-앱
포비포비 댓글 1 좋아요 -1 조회수 445

Android studio first run 경고창이 떳습니다.

미해결

Flutter 초입문 왕초보편

Android studio first run 경고창이 떳습니다. 설치간에 SDK애 접근할수가 없다고합니다. 설치가 안되는데요. 구매한 강의를 진행할수가 없습니다. 어떻게 해결할수 있을까요?

  • flutter
  • ios
  • android
  • dart
bromaru 댓글 1 좋아요 0 조회수 628

이미지 생성?

미해결

[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!

챕터 10 만난지 며칠 등에서 사용하는 이미지 같은건 어디서 만들거나 가져오는 건가요??

  • flutter
  • 클론코딩
dnqls2490 댓글 1 좋아요 0 조회수 266

궁금한점 있습니다

미해결

자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]

안녕하세요 강사님 궁금한것이 있어서 질문 남깁니다 public void returnBook(String bookName) { UserLoanHistory targetHistory = this.userLoanHistories.stream () .filter(history -> history.getBookName().equals(bookName)) .findFirst() .orElseThrow(IllegalAccessError::new); //findFist()는 옵셔널로 반홚나다 targetHistory.doReturn(); } 이 로직에서 만약 한 책을 빌렸다가 반납하면 그 히스토리를 반납완료 상태로 만들어주고 끝내고 다시 그 책을 빌리려고 한다면 새로운 히스토리를 만들어서 List에 저장할텐데 그럼 다시 그책을 반납할 경우 findFirst()를 해서 그 히스토리를 찾아왔을때 이미 반납된 책을 다시 반납하는 행위가 되는것이 아닌건지 궁금해서 질문 드립니다!

  • java
  • spring
  • aws
  • mysql
  • spring-boot
  • jpa
wjddjs21 댓글 1 좋아요 2 조회수 271

37:58 근처 toString이라는 method에 대한 질문입니다.

미해결

[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!

print(parsedPeople); 을 했을 때 Instace of 'Person'으로만 나와서 Person class안에 toString이라는 method를 선언했는데요. class안에 method를 선언한 것 만으로 print(parsedPeople); 값이 바뀐게 맞나요? class에 선언한 method는 다 실행이 되는건가요?

  • flutter
  • 클론코딩
jjw925 댓글 2 좋아요 0 조회수 504

구글지도 사용하기 중 코드 질문..

미해결

[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!

아래 코드에서 _HomeScreenState 클래스에서 appBar와 Body를 나누신 후에, 코드 정리중 appBar는 함수로, _CustomGoogleMap과 ChooCheckButton은 위젯으로 분리하여 만들어주셨는데, 그 이유가 뭔가요? appBar는 위젯으로 관리를 하면 안되는건가요? import 'package:flutter/material.dart'; import 'package:google_maps_flutter/google_maps_flutter.dart'; class HomeScreen extends StatefulWidget { const HomeScreen({super.key}); @override State<HomeScreen> createState() => _HomeScreenState(); } class _HomeScreenState extends State<HomeScreen> { static final LatLng companyLatLng = LatLng(37.5233273, 126.921252); static final CameraPosition initialPosition = CameraPosition( target: companyLatLng, zoom: 15, ); @override Widget build(BuildContext context) { return Scaffold( appBar: renderAppbar(), body: Column( children: [ _CustomGoogleMap(initialPosition: initialPosition), _ChoolCheckButton(), ], ), ); } AppBar renderAppbar() { return AppBar( title: Text( '오늘도 출근', style: TextStyle( color: Colors.blue, fontWeight: FontWeight.w700, ), ), backgroundColor: Colors.white, ); } } class _CustomGoogleMap extends StatelessWidget { final CameraPosition initialPosition; const _CustomGoogleMap({ required this.initialPosition, Key? key, }) : super(key: key); @override Widget build(BuildContext context) { return Expanded( flex: 5, child: GoogleMap( mapType: MapType.normal, initialCameraPosition: initialPosition, ), ); } } class _ChoolCheckButton extends StatelessWidget { const _ChoolCheckButton({Key? key}) : super(key: key); @override Widget build(BuildContext context) { return Expanded( child: Text( '출근', ), ); } }

  • flutter
  • 클론코딩
  • 위젯
dugong.yul 댓글 1 좋아요 0 조회수 355

StateNotifierProvider 관련

미해결

[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!

강의 3:53초에 StateNotifierProvider의 제네릭에 <PaginationProvider, CursorPaginationBase>를 넣으셨는데 왜 PaginationProvider를 넣으셨는지 이해가 안돼요. 레스토랑 프로바이더 부분에서는 첫번째 제네릭으로 RestaurantStateNotifier가 들어가는데, ListView 일반화하는 코드에서도 Provider가 아니라 Notifier가 들어가야 하지 않나요??? final restaurantProvider = StateNotifierProvider<RestaurantStateNotifier, CursorPaginationBase>( (ref) { final repository = ref.watch(restaurantRepositoryProvider); final notifier = RestaurantStateNotifier(repository: repository); return notifier; }, );

  • flutter
  • 하이브리드-앱
zla_db 댓글 1 좋아요 0 조회수 304

의존성조언에서 UserService의 login은 Clock에 의존하는지 모르지 않나요?

미해결

Java/Spring 주니어 개발자를 위한 오답노트

의존성 조언 두번째 방법에서 문제점이 UserService.login은 여전히 의존성이 감춰져있다. 위와 마찬가지로 Userservice.login을 테스트할 때 clock에 의존하고 있는지 알 수 없다. 이거였는데 세번 째 방법도 UserService를 사용하는 메서드는 login(user)만 남겨서 user가 Clock에 의존하는지 모르지 않나요? 아까 맥도날드 예제에서는 인터페이스를 사용하면 일을 시킨다고 설명하셨는데 이것도 인터페이스를 사용해서 일을 시키는거니 이렇게 구현하면 내부에서 clockHolder를 사용해도 외부에서 몰라도 되나요?

  • java
  • spring
  • 객체지향
  • 소프트웨어-테스트
seiyoung an 댓글 2 좋아요 0 조회수 472

폴더 구조화 질문

미해결

Flutter 응용 - 공공 API를 활용한 앱 만들기 (MVVM 패턴)

안녕하세요 강의 정말 잘 들었습니다. 강의를 들은 후 위치권한 설정 등 기타 상황을 처리하기 위한 분기 로직과 위젯, 화면등을 구성하다 보니 강의에서는 View, Viewmodel, Model, Repository 정도로 나누었던 폴더에 서로 다른 기능의 여러 파일들이 들어가니 알아보기가 쉽지 않은데요, 앱의 기능이 많아지고 복잡해지는 경우에는 프로젝트 폴더 구성을 어떻게 하는지 궁금합니다. 기능별로 하위에 MVVM으로 폴더를 구성해야 할까요?

  • flutter
  • mvvm
  • provider
이영준 댓글 1 좋아요 0 조회수 362

강의한 노트를 다운로드 방법

해결됨

Flutter 앱 개발 기초

강의한 노트를 다운로드 강의한 노트를 다운 받으려면 어디서, 어떻게 하는지 조언 좀 부탁드립니다. 아무리 찾아도 관련 문서 다운로드 방법을 못찾겟네요,,도움 부탁합니다

  • flutter
Kane Kim 댓글 1 좋아요 1 조회수 370

android sdk android api 29 platform is missing

미해결

[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!

해당 경고가 위에 떠서 file->settings->language & frameworks -> android sdk들어가서 android 10.0("Q")를 설치하고 컴퓨터 껏다켜봐도 안 없어지네요;; 어떻게 없애죠?

  • flutter
  • 클론코딩
dnqls2490 댓글 1 좋아요 0 조회수 2445

Provider와 Stateful

미해결

처음하는 플러터(Flutter) 기초부터 실전까지 [풀스택 Part4] (쉽고 견고하게 단계별로 다양한 프로젝트까지)

보통 위젯이 그려지는 상태가 바뀌는 상황일때는 stful 위젯으로 코드를 작성하는데, Provide강의에서는 Stateless위젯으로도 화면에 그려지는 위젯이 바뀌는 원리가 어떻게 되는건가요? Provider 만의 고유 특징인지 아니면 어떤 예외의 원리가 따로 있는건지 궁금해요!

  • flutter
  • firebase
  • dart
  • frontend
  • firestore
코린이 댓글 1 좋아요 0 조회수 618

사용자 정의 함수 방언 등록

해결됨

자바 ORM 표준 JPA 프로그래밍 - 기본편

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 사용자 정의함수를 db에 등록시켜놓은 다음에 jpql로 사용을 해보니 따로 방언을 등록하지 않아도 사용이 가능합니다. List<String> str = em.createQuery("select create_prefix(m.username) from Member m", String.class).getResultList(); create_prefix는 직접 등록한 함수입니다. 수업에서는 방언으로 사용자 정의 함수를 등록해야지 적용이 된다고 하는데 이 경우 왜 작동되는지 알고싶습니다.

  • java
  • jpa
준영 댓글 2 좋아요 1 조회수 874

@Autowired와 @Transactional으로 EntityManager주입 받기

미해결

실전! 스프링 데이터 JPA

@Autowired로 EntityManager를 주입받을때 여러 쓰레드가 동시에 접근하면 동시성 문제가 발생합니다. 하지만 @Transactional 을 추가해준다면 //1 @Repository @RequiredArgsConstructor @Transactional public class AutowiredRepository { private final EntityManager em; } //2 @Repository public class PersistenceContextRepository { @PersistenceContext private EntityManager em; } @PersistenceContext 처럼 Transaction에 의해 쓰레드간 동시성 문제를 해결해준다 고 생각하는데 맞게 생각한건지 궁금합니다. 두가지 방법 다 EntityManager를 호출 할때마다 Proxy를 통해 EntityManager를 생성하여 Thread-Safe를 보장해준다라고 볼수 있는 건가요?? 답변주시면 정말 감사하겠습니다.

  • java
  • spring
  • spring-boot
  • jpa
코딩먹는하마 댓글 1 좋아요 1 조회수 622

run

미해결

[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!

RiverPod ConsumerWidget 부분에 Increment(), Decrement() 를 하였을 경우 로그의 내용이 선생님의 화면처럼 명확하게 나오지 않는데...별도의 설정하는 부분이 있을까요? Update / Dispose 이런 내용이 전혀 나오지 않습니다.

  • flutter
  • 하이브리드-앱
감사 댓글 1 좋아요 0 조회수 308

tag부분

미해결

[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!

원래 태그는 List<String>.from() 이런식으로 dynamic을 String으로 바꾸어줬던 것 같은데 jsonSerializable에서는 List<String>으로 자동으로 바꾸어 주나요? 어떻게 String인지 아나요?

  • flutter
  • 하이브리드-앱
zla_db 댓글 1 좋아요 0 조회수 199

뷰 모델 분리하기

해결됨

Flutter 중급 3편 - 의존성 주입 가이드

뷰모델을 분리하는 방법에 대해 질문 드립니다. 하나의 scaffold (activity) 내에 여러개의 container (fragment : no scaffold) 가 있을 때 각각 프레그 먼트에 뷰모델을 사용하면 좋겠지만 부득이하게 상위 activity 뷰모델에 모든 프레그먼트의 로직을 담당해야 하는 상황에서 각 화면별로 뷰모델을 나누고자 합니다. swift 에서는 클래스 외부에 extension 으로 메소드 들을 기능별로 분리하여 사용하는 것을 알고 있고 dart 에도 extension 이 있어서 사용하려니 extention 할때 changenotifier 의 notifyListeners() 를 사용 할 수가 없어서 어려움을 겪고 있습니다. 다중상속도 지원하지 않기 때문에 어떻게 하면 좋을 지 조언 부탁드립니다. 감사합니다.

  • flutter
  • mvvm
  • provider
  • 클린-아키텍처
  • dependency
김보겸 댓글 1 좋아요 0 조회수 360

인기 태그

인프런 TOP Writers

주간 인기글