묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨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. 해당 에러가 떠서 로케이션퍼미션핸들러 주입과 관련해서 확인을 해도 문제가 없는데..헤매고 있습니다. 혹시 예제 소스도 같이 공유가 가능하실까요?잘못된 부분들을 찾아보고 싶습니다.
-
미해결[iOS] Swift Modern Collection View & MVVM 패턴 가이드
모든 강의 수강 후 종합적으로 궁금한 내용에 대해 질문드립니다.
안녕하세요 좋은 강의 감사합니다!강의를 모두 수강하고 궁금한 점이 있어서 질문글을 작성합니다.DiffableDataSource에 사용되는 Section과 Item의 경우 ViewController에 작성하는 것을 많이 봐왔는데 ViewController가 아닌 다른 swift 파일에 정의를 해도 흐름에는 문제가 없겠지요?예를 들면 ViewModel 같은 곳에서 dataSource를 적용해서 View에 넘겨준다고 한다면 ViewModel에 작성하는게 가독성이 있는 것인지에 대해 궁금합니다.CellRegistration으로 셀을 등록하는 것과 register로 셀을 등록하는 것의 차이가 있을까요?구글링을 해보니 collectionView를 xib파일이나 코드로 작성하는 경우에는 register로 셀을 등록한다고 하는데 제가 진행했던 프로젝트에서 코드베이스로 DiffableDataSource를 사용해서 collectionView의 셀을 등록할 때 CellRegistration으로 했어도 별 문제가 없었던 것이 기억이 나서 질문 드립니다.CompositionalLayout으로 Layout 그리실 때 HeightDemension의 경우 absolute로 하시던데 이건 케바케 일까요? absolute로 설정하게 될 경우 작은 사이즈의 디바이스에 대응하는 것이 어렵지 않을까 하는 생각이 들었습니다. 현업에서도 fractional 말고 absolute나 estimated로 그리는 경우가 어느 정도 있는지 알고 싶습니다.제너릭한 Network 클래스를 작성하실 때 get 메소드에 대한 코드가 있는 이유는 사용하신 API에서 get 메소드만을 사용하기 때문이라고 생각하고 있습니다.만약 post나 patch 같은 HTTP 메소드를 사용한다고 하면 각각에 대응하는 메소드를 만들어서 써야하는 것인지 궁금합니다. 제너릭하다고 하셔서 다양한 HTTP 메소드에 대응 할 수도 있다고 생각했는데 get 메소드에 대한 코드만 있어서 이 부분이 궁금했습니다.APIKEY와 같이 보안이 중요한 것들은 현업에서 어떤 식으로 관리하는지 궁금합니다. Info.plist에 두는 방법도 본 적이 있는 것 같은데 그외 현업에서 관리하는 방법을 알고 싶습니다. 쓰고보니 질문이 너무 많네요 ㅎㅎ;;다음 강의도 현업의 노하우를 전수해주는 강의가 되었으면 합니다.감사합니다.
-
해결됨아키텍처 패턴 with iOS - GUI Architecture Patterns(이론)
MVVM 템플릿2 관련
강의를 여러번 다시 들으니 MVVM에 대해 조금 더 이해하게 된것 같습니다.다만 강의를 여러번 다시 들었는데도 응용하기가 조금 어려워서 질문드립니다.PostViewController와 PostViewModel 처럼 뷰컨트롤러나 하위뷰 들도 그저 내용만 표시하는것이라면 강의내용을 따라서 잘 응용하고있습니다.하지만 하위 뷰들에서 input과 output이 추가된다면 어떻게 응용해야할지 잘 모르겠습니다.예를 들어 예제의 PostTableViewCell 에서는 titleLabel과 detailsLabel 밖에 없지만 PostTableViewCell에 textFeild와 같은 input이 추가되고 셀에서 입력한것이 상위뷰인 PostViewController에 표시된다고 했을 때제가 생각했을 때는 PostTableViewCell에서 상위뷰로 데이터를 전달하려면 PostViewModel을 알아야할것 같은데 제가 생각하기엔 이렇게 하는 방법밖에 없는것 같은데final class PostsViewModel: ViewModelType { ... let postTableViewCellInput = PublishSubject<String>() ... } final class PostTableViewCell: UITableViewCell { ... @IBOutlet weak var textField: UITextField func bind(_ viewModel: PostsViewModel) { viewModel.postTableViewCellInput .bind(to: textField.rx.text) .disposed(by: disposeBag) } }이렇게 코드를 짜면 PostTableViewCell이 상위 뷰모델을 받고 PostsViewModel도 하위 뷰의 데이터를 직접 전달받기 때문에 올바른 방법이 아닌것 같아 PostItemViewModel에 Input Output을 받는것으로 수정해보려 했지만 PostItemViewModel의 Intput output을 어떻게 설정해야 PostViewModel에서 하위뷰에서 입력한 데이터를 상위뷰에서 사용할 수 있을지 감이 안잡혀서 질문드립니다
-
해결됨아키텍처 패턴 with iOS - GUI Architecture Patterns(이론)
강의자료같은게 따로 있나요 ??
ppt와 같은 파일 없는것 같아 질문드립니다.
-
해결됨아키텍처 패턴 with iOS - GUI Architecture Patterns(이론)
제가 이해한게 맞는지 궁금합니다.
솔직히,, MVC나 MVP나 MVVM이나 머가 그렇게 다른지 잘 이해가 안가긴합니다..모델과 뷰를 분리하고 이를 컨트롤하는 영역을 어떻게 처리하면 좋을까 하는데서 조금씩 차이가 있어서 구분하려는게 목적인 걸까요. 뷰모델이라 한다해도 처리해야할 복잡성이 올라가면 결국 복잡해지는 건 똑같아 보입니다.. 그럼에도 불구하고 UIKit을 사용할 때 NVVM을 쓸라고 하는건 테스트가 용이하다는 이유랑, 그냥 옵저버 패턴 쓰고 싶어서인 것 같습니다. Combine이 나온 것도 뭔가 너네가 옵저버 방식 좋아하는 것 같으니까 만들었어 같은 느낌인 것 같고,, SwiftUI를 공부하면서 보니까 자연스럽게 Combine 쓰게되고 쓰다보니 자연스레 아래처럼 구조가 분리되는 것 같은데 이게 NVVM이 맞는 걸까요?뷰(들어오는 데이터 대로 그려지는 뷰 구조체 모음)모델(타입 or 인터페이스 모음)로직(뷰의 로직 처리 함수모음)스토어(상태 데이터모음)
-
미해결모던 안드로이드 - 코틀린과 Jetpack 활용
Repository에서 Error처리를 하고 싶은데 잘 모르겠습니다.
안녕하세요 sunflower 예제와 해당 강의를 참고해서 프로젝트를 진행중인데요 repository에서 통신(retrofit2 사용합니다)을 요청해서 값을 받아와서 해당 값을 viewmodel이 전달받아 LiveData에 전달하여 UI컴포넌트에서 view를 그려주고 있습니다. 딱 이구조를 참고해서 만들고 있습니다. 그런데 통신 요청과정중 Exception이 발생했을때 Throwable 데이터를 viewmodel에 error라는 라이브데이터로 전달하여 UI컴포넌트에서 유저에게 Exception 관련 Dialog를 노출하고 싶은데 Repository에서 viewmodel에 error를 어떻게 전달해야 할지 방법을 못찾고 있습니다.제가 참고한 예제에서는 Repository에서 정상적인 통신으로 전달받은 data만 반환해주는 메서드이기때문에 예외가 발생했을때 Error에 대해 Viewmodel로 전달할 방법을 고민중입니다. 단순하게 Data와 Error을 묶을 상위 클래스를 객체화 시켜 반환하는 방법도 생각해봤는데 paging3도 함께 사용중인데 이경우에도 사용할수있는 깔끔한 방법이 생각이 안나서 질문 드립니다. 혹시 참고할만한 예제를 알고 있으시다면 알려주시면 감사하겠습니다. 두서없고 정리안된 질문 죄송합니다.. 지금 머리속이 너무 복잡해서요 ㅠㅠ