묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결C# WPF .NET Core(7.0)
28강 영어단어맞추기 앱-1에 오류가 있어요.
Content="{Binding.}" 부분이 '중첩 형식이 지원되지 않습니다라고 뜨는데 소스상에 뭔가 다른 부분은 없는거 같아요. 왜 그런가요?
-
해결됨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() 일 때 달라야 할 것 같은데 어떻게 처리하는 것이 맞는지 궁금합니다. 감사합니다.
-
미해결[iOS] Swift Modern Collection View & MVVM 패턴 가이드
MVVM 패턴 구현에서 rx binding관련 질문입니다.
안녕하세요 :) MVVM 패턴 구현 강의를 들으면서 질문이 생겼습니다.혹시 아래처럼 button들의 tap이벤트를 바로 바인딩하지 않고 중간에 subject를 트리거로 만들어 따로 연결하는 이유가 있을까요 ??rx.tap이 ControlEvent라서 ViewModel의 trigger와 바로 바인딩해줘도 괜찮을 것 같다는 생각이 들었습니다. let input = ViewModel.Input(tvTrigger: buttonView.tvButton.rx.tap.asObservable(), movieTrigger: buttonView.movieButton.rx.tap.asObservable())
-
미해결[iOS] Swift Modern Collection View & MVVM 패턴 가이드
단축키 질문
안녕하세요! 강의하시다 보면 함수 인자에서 클로저로 자동으로 변환하시는데 혹시 단축키가 있나요?
-
미해결[iOS] Swift Modern Collection View & MVVM 패턴 가이드
NSCollectionLayoutSize 질문
섹션1 - 3번 레이아웃 구현 시,createListCarouselSection() 메서드를 구현할 때, itemSize: NSCollectionLayoutSize 에 heightDimension 인자 세팅값으로 .fractionalHeight(1.0)으로 세팅하는데 1.0으로 하니까 아이템이 그냥 1개만 세팅되네요. (0.3)으로 세팅하니까 3줄로 나오는데, 혹시 제가 빼먹은 부분이 있을까요? 감사합니다.
-
미해결C# WPF .NET Core(7.0)
MVVM 2강
안녕하세요MVVM2강에서 4:19초 실행화면에서 버튼이 활성화 안되는데.. 왜 그런지 못찾겠습니다.항목클릭시 TextBox에 이름,나이는 들어오는데.. txt.Lenght가 값이 안들어 와서 false만 되네요혹시 닷넷 버전과 관련이 있을까요??? public class PersonModel : INotifyPropertyChanged { public event PropertyChangedEventHandler PropertyChanged; private void NotifyPropertyChanged([CallerMemberName] String propertyName = "") { PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName)); }================================<TextBox x:Name="tbox1" Width="150" Text="{Binding ElementName=lv,Path=SelectedItem.Name, Mode = TwoWay, UpdateSourceTrigger=PropertyChanged}"/><TextBox Width="150" Text="{Binding ElementName=lv, Path=SelectedItem.Age, Mode = TwoWay, UpdateSourceTrigger=PropertyChanged}"/>================================= public bool CheckMsg(string txt){if(txt.Length > 0){return true;}else{return false; //글자가 없으면 false}=====================================
-
미해결[iOS] Swift Modern Collection View & MVVM 패턴 가이드
섹션 3. Modern collection view 심화-snapshot 구현 -
섹션 3. Modern collection view 심화-snapshot 구현 -tv 데이터 적용에 있는 예제 파일을 다운로드 해서, 실행하면 아래의 error을 내고 exception을 발생시킵니다. 아마도 1)http://themoviedb.org에 로그인이 안되고자료를 받지 못했서 발생한 문제 인듯합니다.현재 해당 싸이드에 계정을 만들어지지 않습니다. (해당 싸이트로 부터 인증 메일이 오지 않음) 2) rxswift가 학습되지 않고, 계정이 만들어 지지 않아 섹션 2는 건너 띠고 section3을 보니 이런 문제가 발생하네요. 3알째 인증메일이 오지 않고, support에 메일을 보내도 대꾸가 없습니다. 3) 일단, collectionView 디자인만 보는 좋은 방법이 없을까요? 감사합니다. 2023-11-01 11:06:39.462: Network.swift:25 (getItemList(path:)) -> subscribed2023-11-01 11:06:40.027: Network.swift:25 (getItemList(path:)) -> Event next(103 bytes)2023-11-01 11:06:40.031: Network.swift:25 (getItemList(path:)) -> isDisposed/Users/besthwang/Library/Developer/Xcode/DerivedData/TVMOVIE-fynfoxlfotueejaqckjipwildmop/SourcePackages/checkouts/RxSwift/Sources/RxCocoa/Observable+Bind.swift:100: Fatal error: Binding error: keyNotFound(CodingKeys(stringValue: "page", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"page\", intValue: nil) (\"page\").", underlyingError: nil))2023-11-01 11:06:40.046882+0900 TVMOVIE[3229:2099837] /Users/besthwang/Library/Developer/Xcode/DerivedData/TVMOVIE-fynfoxlfotueejaqckjipwildmop/SourcePackages/checkouts/RxSwift/Sources/RxCocoa/Observable+Bind.swift:100: Fatal error: Binding error: keyNotFound(CodingKeys(stringValue: "page", intValue: nil), Swift.DecodingError.Context(codingPath: [], debugDescription: "No value associated with key CodingKeys(stringValue: \"page\", intValue: nil) (\"page\").", underlyingError: nil)) 등의
-
해결됨Flutter 중급 3편 - 의존성 주입 가이드
go router 의존성
안녕하세요강의 잘 보고 있습니다. go router 와 dio 를 이용해서 프로젝트를 진행하고 있는데요,dio 에서 interceptor 를 사용해 토큰을 보내고 응답코드에 따라 상태를 보내고 있습니다. 그러나 dio 를 통해 403 코드가 발생했을 시 이전 화면으로 보내거나 로그인 페이지로 보내하는 경우 부득이하게 dio에서 (interceptor) context 를 사용하게 됩니다. 이런 경우 view 에서 부터 view model 을 통해 remote 까지 context를 가져가야하는데 테스트를 어렵게하는 요인이라고 생각이 됩니다. 바람직하게 redirection 을 처리하려면 어떻게 해야 되는지 궁금합니다.감사합니다.
-
미해결C# WPF .NET Core(7.0)
7강에서 마지막 이미지 추가하는 부분...
안녕하세요. 강의 잘 보고 있습니다. 다름이 아니라 7강 마지막에서 이미지 추가하는 부분에 해당 이미지 속성창에서"빌드 작업" -> "없음"을 "리소스" 로 변경하면실행 시 적용되는 부분에 대해 설명 추가하면 좋았을 것 같습니다.(해당 속성을 "리소스"로 변경하지 않으면 실행 시 이미지가 나타나지 않습니다.) 약간 아쉬움이 남는 부분인 것 같아서 의견을 드려 보았습니다. 좋은 강의 감사합니다. ^^
-
해결됨Flutter 중급 3편 - 의존성 주입 가이드
객체가 아닌 일반 변수의 get it
안녕하세요.클린코드 3탄을 수강하고 너무 만족스러워서 이번 추석에 2탄을 추가로 수강했습니다. ㅎㅎ 2탄에서 뷰모델이 생성될 때 직접 데이터를 넣으시더군요.(객체가 아닌 일반 변수)평소에 뷰모델이 생성될 때 객체가 아닌 변수도 같이 바로 넣으려고 했으나 클래스(객체)가 아니기 때문에 매번 뷰를 생성하고 initstate 에서 lazy 하게 뷰모델에 데이터를 업데이트 했었습니다. 여기서 의문이 생겨서 질문 드립니다. 객체가 아닌 일반 변수에 대해서도 의존성 주입을 하는 것이 옳은 것인가요?만약 일반 변수에 대해서도 의존성 주입을 해야한다면(해도 된다면) getit 설정에서 어떻게 접근 하면 좋을 까요?늦은 시간에 죄송합니다. 답변 주시면 감사하겠습니다.!!
-
미해결[iOS] Swift Modern Collection View & MVVM 패턴 가이드
Swift Modern Collection View에서 click event 처리에 관하여 고민이 됩니다
완강하였습니다~!!저의 기존 프로젝트에도 적용해보고 싶어요!! Swift Modern Collection View에서 각 Section 별 item click event 처리(ex, SubViewController로 이동)에 대해서도 추가적으로 강의가 더해지면 더욱 도움될 것 같아요기존 UICollectionView와 동일하게 delegate나 rx의 itemSelected로 item click event 처리를 하면 될지, 구조적으로 조금 다르게 가져가는 것이 좋을지 고민이 되어 질문글 남겨봅니다.감사합니다!!
-
미해결[iOS] Swift Modern Collection View & MVVM 패턴 가이드
강의 <diffableDatasource구현- Item 타입에 맞는 셀 리턴하기> 에서 질문 있습니다.
2분 36초 부터인데요, .normal(let tvData) 에서 let tvData 면 새롭게 tvData변수를 정의하고, 그 밑밑밑에 줄에 보면 tvData가 name,vote이런 거 처럼 처음에 정의해놨던 거를 갖고있는데 이걸 어떻게 갖고있는건지 모르겠습니다. 다시 말해, tvdata가 그 name,vote 등등 얘네가 모여있는 구조체랑 엮어주는 작업을 어디서 수행되는 지 당최 모르겠네
-
미해결[iOS] Swift Modern Collection View & MVVM 패턴 가이드
RxAlamofire 추가가 안됩니다.
해당 라이브러리 최근 업데이트가 2년전이고, 애플에서 이미 deprecated 된 UIWebview 를 사용하고 있어서 사용하지 않는듯 합니다. 저는 딱 요 강의만 보려고 구매를 했는데 세팅부터 안되네요.
-
미해결C# WPF .NET Core(7.0)
.Net.과 .Net Core(7)은 무엇이 다른가요?
(질문 1) Net. 또는 .Net Core(7)를 사용하려면 Install해야하는데, Visual Studio를 다운로드하는 과정에서 파일을 다르게 설정하나요?(질문 2) Net. 또는 .Net Core(7)를 사용할 때 참조 라이브러리 파일이 어떻게 다른가요?
-
미해결C# WPF .NET Core(7.0)
소스프로그램 및 교육 교재
프로그램 소스코드와 교재는 어디서 구하나요?
-
미해결[iOS] Swift Modern Collection View & MVVM 패턴 가이드
강의 <각각의 network 구현>에서 질문있습니다.
네트워크를 Init함수를 통해 주입하여 사용하는 이유가 궁금합니다..!그리고 강의 전반에 걸쳐 init함수를 계속 사용하는데 이유가 궁금합니다!!
-
미해결Flutter 응용 - 공공 API를 활용한 앱 만들기 (MVVM 패턴)
폴더 구조화 질문
안녕하세요 강의 정말 잘 들었습니다.강의를 들은 후 위치권한 설정 등 기타 상황을 처리하기 위한 분기 로직과 위젯, 화면등을 구성하다 보니 강의에서는 View, Viewmodel, Model, Repository 정도로 나누었던 폴더에 서로 다른 기능의 여러 파일들이 들어가니 알아보기가 쉽지 않은데요,앱의 기능이 많아지고 복잡해지는 경우에는 프로젝트 폴더 구성을 어떻게 하는지 궁금합니다.기능별로 하위에 MVVM으로 폴더를 구성해야 할까요?
-
해결됨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 사이에 로컬 및 리모트 데이터 소스를 주입 받는 새로운 클래스를 새로만드는 것이 옳은지 아니면 다른 접근이 있는 지 궁금합니다. 또한 인터넷이 안되는 것 뿐만 아니라 인터넷이 되는 상황에서도 로컬의 값과 서버의 값이 같으면 로컬 데이터를 사용하도록 하고 싶은데 어디 클래스에서 어떤 방식으로(더티비트?) 구현하는 것이 좋을 지 궁금합니다. 감사합니다.