묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결Flutter 중급 3편 - 의존성 주입 가이드
여러 화면 di강의는 언제 나올 예정인가요?
제목 그대로 다음 강의가 언제 나오는지 궁금합니다.
-
미해결스프링 DB 2편 - 데이터 접근 활용 기술
ItemRepository 에서 JdbcTemplate 의존주입 방법에 대한 질문
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]안녕하세요?강의를 통해 JdbcTemplate 를 아래와 같이 생성하는 방법을 관례상 많이 사용한다고 배웠는데요, 몇 가지 궁금한 것들이 생겨서 질문 드립니다.public class JdbcTemplateItemRepositoryV1 implements ItemRepository { private final JdbcTemplate template; public JdbcTemplateItemRepositoryV1(DataSource dataSource) { this.template = new JdbcTemplate(dataSource); } // 다른 코드 생략 }해당 방법대로 개발하면, Repository 구현체마다 JdbcTemplate 인스턴스를 하나씩 생성하기에 서비스가 고도화됨에 따라 Repository 가 많아질수록 JdbcTemplate 인스턴스가 많아져서 메모리 낭비가 아닐까 하는 생각이 드는데 어떻게 생각하시나요? (이런 이유 때문에 스프링 빈으로 등록해서 JdbcTemplate 인스턴스 하나만 사용하는 것이 더 좋지 않나 하는 생각이 들었습니다.)JdbcTemplate 을 별도의 설정파일로 빈으로 등록하지 않아도 spring boot 가 자동으로 Bean 으로 등록해주는 것 같은데, 이렇게 자동 등록된 Bean 을 사용해도 괜찮은가요?
-
해결됨Flutter 중급 3편 - 의존성 주입 가이드
Riverpod 프로바이더에 의존성 주입
안녕하세요.선생님 강의를 듣고 MVVM 패턴에 DI 를 적용 해 보다가 질문이 있어 글 남깁니다.저는 Riverpod Provider 를 적용 해 보려고 하는데요.선생님께서 사용 하시는 ChangeNotifierProvider 에 DI 를 go_router 에 설정 하셨는데요.만일 RiverPod Provider 를 사용 한다면 어떻게 적용 해야 할까요?ViewModel안에서 UseCase를 생성자에서 받고 있어서 결국 라우터 안에 주입을 해 줘야 할꺼 같은데RiverPod 프로바이더에서는 어떻게 해 줘야 할지 모르겠네요.ㅡ,.ㅡ가이드 좀 부탁드립니다.
-
해결됨Flutter 중급 3편 - 의존성 주입 가이드
remote data source impl
안녕하세요. 강의 잘 보고 있습니다. remote data source impl 관련해서 질문이 있습니다. @prod @Singleton(as: CommunityRemoteDataSource) class CommunityRemoteDataSourceApiImpl implements CommunityRemoteDataSource { final _dio = Session().dio; @override Future<CommunityResponseDTO> fetchCommunities() async { Response<dynamic> response = await _dio.get('get/community/path'); final responseDto = CommunityResponseDTO.fromJson(response.data); return responseDto; } } CommunityRemoteDataSource 의 구현체 CommunityRemoteDataSourceApiImpl 를 만들어서 사용중입니다.ApiImpl 은 실제 서버와 통신중 이며,http 라이브러리 Dio를 사용하고 있습니다. 여기서 테스트를 위해 DioMock 객체를 만들어서 사용하고자 합니다. 원래 CommunityRemoteDataSourceApiImpl 에 final _dio = Session().dio; 로 싱글턴으로 dio를 내부에 객체를 생성하고 있는데 이거를 주입받는 식으로 변경하여 테스트 시만 CommunityRemoteDataSourceApiImpl(DioMock()) 을 넣는 것인지, 아니면 CommunityRemoteDataSourceApiMockImpl 를 새로 또 만드는지 궁금합니다.만약 CommunityRemoteDataSourceApiImpl(DioMock()) 로 주입을 받는 식이라면Response<dynamic> response = await _dio.get('get/community/path'); final responseDto = CommunityResponseDTO.fromJson(response.data); 해당 코드들이 Dio() 일 때, DioMock() 일 때 달라야 할 것 같은데 어떻게 처리하는 것이 맞는지 궁금합니다. 감사합니다.
-
해결됨Flutter 중급 3편 - 의존성 주입 가이드
go router 의존성
안녕하세요강의 잘 보고 있습니다. go router 와 dio 를 이용해서 프로젝트를 진행하고 있는데요,dio 에서 interceptor 를 사용해 토큰을 보내고 응답코드에 따라 상태를 보내고 있습니다. 그러나 dio 를 통해 403 코드가 발생했을 시 이전 화면으로 보내거나 로그인 페이지로 보내하는 경우 부득이하게 dio에서 (interceptor) context 를 사용하게 됩니다. 이런 경우 view 에서 부터 view model 을 통해 remote 까지 context를 가져가야하는데 테스트를 어렵게하는 요인이라고 생각이 됩니다. 바람직하게 redirection 을 처리하려면 어떻게 해야 되는지 궁금합니다.감사합니다.
-
해결됨Flutter 중급 3편 - 의존성 주입 가이드
객체가 아닌 일반 변수의 get it
안녕하세요.클린코드 3탄을 수강하고 너무 만족스러워서 이번 추석에 2탄을 추가로 수강했습니다. ㅎㅎ 2탄에서 뷰모델이 생성될 때 직접 데이터를 넣으시더군요.(객체가 아닌 일반 변수)평소에 뷰모델이 생성될 때 객체가 아닌 변수도 같이 바로 넣으려고 했으나 클래스(객체)가 아니기 때문에 매번 뷰를 생성하고 initstate 에서 lazy 하게 뷰모델에 데이터를 업데이트 했었습니다. 여기서 의문이 생겨서 질문 드립니다. 객체가 아닌 일반 변수에 대해서도 의존성 주입을 하는 것이 옳은 것인가요?만약 일반 변수에 대해서도 의존성 주입을 해야한다면(해도 된다면) getit 설정에서 어떻게 접근 하면 좋을 까요?늦은 시간에 죄송합니다. 답변 주시면 감사하겠습니다.!!
-
해결됨Flutter 중급 3편 - 의존성 주입 가이드
뷰 모델 분리하기
뷰모델을 분리하는 방법에 대해 질문 드립니다.하나의 scaffold (activity) 내에 여러개의 container (fragment : no scaffold) 가 있을 때 각각 프레그 먼트에 뷰모델을 사용하면 좋겠지만 부득이하게 상위 activity 뷰모델에 모든 프레그먼트의 로직을 담당해야 하는 상황에서 각 화면별로 뷰모델을 나누고자 합니다. swift 에서는 클래스 외부에 extension 으로 메소드 들을 기능별로 분리하여 사용하는 것을 알고 있고 dart 에도 extension 이 있어서 사용하려니 extention 할때 changenotifier 의 notifyListeners() 를 사용 할 수가 없어서 어려움을 겪고 있습니다. 다중상속도 지원하지 않기 때문에 어떻게 하면 좋을 지 조언 부탁드립니다. 감사합니다.
-
해결됨Flutter 중급 3편 - 의존성 주입 가이드
네트워크 통신 에러 처리
안녕하세요. 수강 잘 하고 있습니다.dio package를 사용하여 네트워크 처리를 하고 있는데 에러 처리관련해서 어디 부분에서 하는 것이 좋을 지 고민하다가 질문 올립니다.현재는 viewmodel -> usecases -> usecase -> repository -> remoteDataSource -> dio 이렇게 의존성을 받고 있고, remoteDatasource 에서 필요한 데이터만 List<StudentModel> 이런식으로 뷰모델까지 보내고 있습니다. 그러나 네트워크 에러가 발생했을 때는 remoteDataSource에서 List<StudentModel> 이 아닌 실패했을 떄 모델을 전송하게 되는데 (ErrorModel) 그렇게 되면 뷰모델까지 타입이 동적으로 전해지기때문에 이게 맞나 생각이 들기도 합니다.혹은 dio 부분에서 400 500 에러 일때 alert 를 띄울까 생각을 했지만 그렇게 되면 context를 dio 까지 끌고 가야되고 전역으로 관리해야 되서 맞지 않다고 생각했습니다. 실제로는 어떻게 처리하는 것이 현명할지 질문드립니다. 감사합니다.
-
해결됨Flutter 중급 3편 - 의존성 주입 가이드
데이터 추상화 문제
안녕하세요. 코드를 작성하다가 궁금증이 생겨 질문을 올립니다.사용자 입장에서 인터넷이 되나 안되나 비슷한 경험을 제공하려고 합니다. 아래 데이터 흐름을 예로 들겠습니다.뷰모델학교 디테일 정보 fetch use case학교 repository(interface fetch)remote data source - 학교repository확장 local data source - 학교 repository 확장 이런 상황에서 인터넷이 되면 4번에서 데이터를 가져오고 안되면 5번에서 가져오려고 합니다. 이럴때 인터넷이 되는지 안되는 지 판단하는 클래스는 use case 내 execute 안에서 하는 것이 옳은지 아니면 use case 와 data source 사이에 로컬 및 리모트 데이터 소스를 주입 받는 새로운 클래스를 새로만드는 것이 옳은지 아니면 다른 접근이 있는 지 궁금합니다. 또한 인터넷이 안되는 것 뿐만 아니라 인터넷이 되는 상황에서도 로컬의 값과 서버의 값이 같으면 로컬 데이터를 사용하도록 하고 싶은데 어디 클래스에서 어떤 방식으로(더티비트?) 구현하는 것이 좋을 지 궁금합니다. 감사합니다.
-
해결됨Flutter 중급 3편 - 의존성 주입 가이드
로그인(auth)관련 데이터 흐름
안녕하세요. 수업 잘 듣고 있습니다.로그인 관련 부분을 구현하다가 궁금증이 생겨 질문드립니다.get 방식으로 약국의 마스크 수량을 가져오는 것은 약국 ViewModel 약국 UseCasesfetch 마스크 수량 UseCase마스크 Repository마스크 (Local or Remote) Data Source 위의 과정으로 이해를 했습니다. 그런데 (학생)로그인 부분을 구현한다고 가정하면 로그인 ViewModel로그인 UseCasesfetch 학교목록 UseCase학교목록 Repository학교목록 (Local or Remote) Data Sourcepost 로그인 입력정보 UseCase로그인 Repository로그인 Remote Data Source이러한 흐름으로 진행하게 되는데 여기서 질문이 있습니다.로그인 할 때 서버에서 제공하는 학교 목록을 받고 그 목록을 토대로 로그인을 하는 방식일 때 UseCase 를 저런 방식으로 설정하면 되는 것인지repository 하면 뭔가 특정 데이터에 대한 CRUD 를 의미하는 것 같은데 로그인 정보를 제출하는 것도 이런식으로 처리해도 되는지 궁금합니다!
-
미해결Flutter 중급 3편 - 의존성 주입 가이드
소스코드 공유
늘 좋은 강의 주셔서 감사드립니다.잘 따라가다가,, Bad state: GetIt: Object/factory with type LocationPermissionHandler is not registered inside GetIt. 해당 에러가 떠서 로케이션퍼미션핸들러 주입과 관련해서 확인을 해도 문제가 없는데..헤매고 있습니다. 혹시 예제 소스도 같이 공유가 가능하실까요?잘못된 부분들을 찾아보고 싶습니다.
-
미해결윤재성의 Kotlin 기반 안드로이드 앱 개발 Part 3 - 데이터관리와 네트워크
material dependency 최신 버전 설치 시 오류 발생
14강 TabLayout Project Structure 에서 Add Dependency 하는 부분 질문 드립니다. 강의 화면 대로 material 1.3.0 을 받아서 설치하면 문제가 없는데 최신버전으로 설치하여 실행하면 문제가 발생합니다. 원인과 해결방법 알고 싶습니다. 감사합니다. - 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
sts에서는 dependency hierachy 확인 어떻게 하나요..?
sts에서는 dependency hierachy 보는방법이 없는걸까요..?? 회사에서 이클립스를 써서... 그냥 STS로 하려고요..d