[Bloc 응용] 실전 앱 만들기 (책 리뷰 앱) : SNS 로그인, Firebase 적용, Bloc 상태 관리, GoRouter
개남님 좋은 강의 감사합니다. 현재 초기 페이지 연결하기까지 진행했습니다. 조금 오류가 있는 것 같은데 순수하게 궁금해서 여쭙니다! main.dart에서 AppDataLoadCubit을 lazy:false로 뒀잖아요? 그럼 앱을 처음 다운 받았을 때 init page가 보여지고 lazy가 false이기 때문에 스플래시 화면에 도달하기 전 이미 데이터를 로드해서, 시작하기 버튼을 눌러 스플래시 화면에 도달했을 때면, 바로 로그인 체크 중 입니다..가 보여야 하는 것 아닌가요?? 제 에뮬레이터에는 데이터 로드 중 입니다..가 보이길래 영상을 다시 돌려봤는데 개남님도 같은 현상이십니다. 그리고 시작하기 버튼을 통해 init -> splash에 도달했을 때 새로고침하지 않으면 데이터 로드 중 입니다..에서 로그인 확인 중 입니다..로 바뀌지 않습니다. 단순 오류인가 해서 앱을 지워 hydrated bloc을 초기화하고 다시 확인해 보았지만 같은 현상이 일어납니다.
[Bloc 응용] 실전 앱 만들기 (책 리뷰 앱) : SNS 로그인, Firebase 적용, Bloc 상태 관리, GoRouter
선생님 실무에서 받는 JSON 데이터가 가끔은 필요한 포맷으로 딱 떨어지지 않을때가 있는데 이럴때 실무에서는 어떻게 해결을 하시나요? 이번에 북 리뷰에도 어떤 책들의 저자들은(길거나, 영문일때 등) ^ 이런 표시가 있어서 사용 환경을 약간 저해하는 듯 싶어서 해결을 하고 싶은데 어떻게 해야할지 감을 못잡겠네요 ㅠ
[Bloc 응용] 실전 앱 만들기 (책 리뷰 앱) : SNS 로그인, Firebase 적용, Bloc 상태 관리, GoRouter
최근 작성 리뷰 Top10 기능 구현강의 에서 타이틀이랑 작가부분을 퍼블리싱 했는데 오버플로우 오류가 뜨네요 ㅠㅠ 왜 생기는 거고 어떻게 해결을 해야 하나요? 혹시 선생님의 시뮬레이션 기기가 아이폰 pro max 여서 안생겼고, 저는 아이폰 14여서 생기는 건가요? 그러면 유저들이 다양한 디바이스를 쓸텐데 오버플로우 오류를 해결 할 수 있는 방법이 있을까요?ㅠㅠ
안녕하세요! 강사님 강의를 끝까지 다 수강하였습니다. 너무 도움이 많이 되었습니다. 감사합니다. 부동산 매물 강의에 대한 공지를 보고 메일로 문의 드렸는데 아직 피드백이 오지 않아 이렇게 질문글로 문의를 드리게 되었습니다! 메일 문의 한 번만 확인 부탁드립니다. 감사합니다!
[Bloc 응용] 실전 앱 만들기 (책 리뷰 앱) : SNS 로그인, Firebase 적용, Bloc 상태 관리, GoRouter
개남님 페이징처리 하는 부분에서 이런 오류가 생겼네요. 계속 여러번 확인해봤는데 개남님의 코드와 제 코드의 차이점은 잘 모르겠습니다...혹시 어떤 이유인지 알 수 있을까요? 감사합니다! https://github.com/Bamschool/book_review :ui/hooks.dart:202:13) #9 _ChannelCallba<…> Reloaded 1 of 1754 libraries in 196ms (compile: 36 ms, reload: 79 ms, reassemble: 64 ms). [VERBOSE-2:dart_vm_initializer.cc(41)] Unhandled Exception: Null check operator used on a null value #0 SearchBookCubit.search package:review_book/…/cubit/search_book_cubit.dart:30 #1 EditableTextState._finalizeEditing package:flutter/…/widgets/editable_text.dart:3079 #2 EditableTextState.performAction package:flutter/…/widgets/editable_text.dart:2910 #3 TextInput._handleTextInputInvocation package:flutter/…/services/text_input.dart:1870 #4 TextInput._loudlyHandleTextInputInvocation package:flutter/…/services/text_input.dart:1753 #5 MethodChannel._handleAsMethodCall package:flutter/…/services/platform_channel.dart:547 #6 MethodChannel.setMethodCallHandler.<anonymous closure> package:flutter/…/services/platform_channel.dart:540 #7 _DefaultBinaryMessenger.setMessageHandler.<anonymous closure> package:flutter/…/services/binding.dart:567 #8 _invoke2 (dart:ui/hooks.dart:202:13) #9 _ChannelCallba<…>
[Bloc 응용] 실전 앱 만들기 (책 리뷰 앱) : SNS 로그인, Firebase 적용, Bloc 상태 관리, GoRouter
안녕하세요 개남님 개남님이 만들어주신 코드와 제가 가지고 있던 코드랑 같이 활용을 해보려고 했는데 기존에 있던 코드가 작동을 안 하는데 혹시. 개남님이 만드신 Authrepository를 사용안하면 기존에 있던 name이나 Uid를 인식을 못 해서 안 불러지는건가요? --추가-- 신기한건 [VERBOSE-2:dart_vm_initializer.cc(41)] Unhandled Exception: Bad state: cannot get a field on a DocumentSnapshotPlatform which does not exist 이런식으로 에러가 뜨네요... 흠.. 분명 name은 존재한다고 뜨긴하는데.. (개남님이 만드신 방식으로 해야만 뜹니다) (추가) 이런식으로 해봤더니 기존의 구글 name이 뜨네요. 음 Authrepository의 cubit에서 인식하는 name은 우리가 회원가입에서 입력한 이름이고 제가 만든 코드에서 인식하는 name은 구글 기존의 이름으로 뜹니다. 이유가 뭘까요? 감사합니다! void _nameEvent(NameEvent event, Emitter<HomePageState> emitter) async { String uid = FirebaseAuth.instance.currentUser!.uid; DocumentSnapshot document = await FirebaseFirestore.instance.collection('users').doc(uid).get(); String userName = document['name']; int level = document['level']; //여기는 기존의 bloc입니다 //이 아래는 이렇게하니까 우리가 추가한 네임이 아니라 기존의 구글 네임이 뜨게 되는 코드입니다. void _nameEvent(NameEvent event, Emitter<HomePageState> emitter) async { UserModel? userModel; final user = await _authenticationRepository.user.first; final userName = user?.name ?? 'Unknown'; // 기본값 설정 print("유저의 이름은 $user"); print("유저의 이름은 $userName"); emit(state.copyWith( name: userName, )); // 기존의 Firestore에서 사용자 정보를 가져오는 코드... String uid = FirebaseAuth.instance.currentUser!.uid; DocumentSnapshot document = await FirebaseFirestore.instance.collection('users').doc(uid).get(); int level = document['level']; print(user); print(userName); emitter(state.copyWith( level: level, name: userName, )); }
이런 식으로 코드를 사용중입니다 from PyQt6.QtWidgets import * from PyQt6.QtCore import * class thread (Qthread): def __init__(self): super().__init__() def run(self): while True: mainbot_window.fun1() class UI (QWidget): def __init__(self): super().__init__() self.inits() self.T1 = thread() self.T1.start() def inits(self): print("각종 변수 설정") def fun1(self): print("run code") def main(args=None): global mainbot_window app = QApplication(sys.argv) mainbot_window = UI() mainbot_window.show() try: app.exec() except KeyboardInterrupt: pass if __name__ == '__main__': main() 여기서 global 변수를 사용하지 않고 싶습니다. 글로벌 변수를 사용하지 않고 Thread 에서 Qwidget 의 함수를 사용할 방법이 있을까요? 시도한것 thread 에서 pyqtsignal.emit 을 사용해서 시도해봤는데 ui가 검은 화면으로 뜬체 작동하지않습니다. Qthread 대신 Qtimer 를 사용 =>작동은 잘되나 ui를 표시하는데 약간의 딜레이가 생깁니다. 그래서 되도록이면 Thread를 사용하고싶습니다.
안녕하세요 3강 콘다 가상환경에서 비주얼 스튜디오 터미널에서 conda activate myST해도 터미널에 계속 PS로 표시되며 가상환경으로 들어가지 않습니다. cmd에서는 같은 명령어를 입력하면 들어가지는데 비주얼 스튜디오 터미널에서는 들어가지지 않는 것 같습니다. 뭐가 문제일까요?
[Bloc 응용] 실전 앱 만들기 (책 리뷰 앱) : SNS 로그인, Firebase 적용, Bloc 상태 관리, GoRouter
안녕하세요 개남님 개남님처럼 로그인한후에 Unknown에서 unauth로 가면서 signup으로 가야하는데 저는 unauth에서 Auth로 가면서 그냥 로그인 페이지에 머무르는데.. 이유가 뭘까요? 감사합니다. (애플로그인은 아직 구현 못하고 구글로그인만 구현을 했습니다) https://github.com/Bamschool/book_review
[Bloc 응용] 실전 앱 만들기 (책 리뷰 앱) : SNS 로그인, Firebase 적용, Bloc 상태 관리, GoRouter
스플레시 데이터 로드 및 인증 체크 프로세스 영상에서 11분 쯤에 AppDataLoadState 클래스 안에 copyWith 함수를 또 하나 만드시는 이유가 궁금합니다 ㅠ 정확히 어떤 역할을 하는지 왜 만들어 주는지 flutter나 dart의 기능이 아닌 그냥 임의적으로 copyWith라는 이름을 쓴 함수?생성자? 인지 이 3가지가 궁금합니다
[Bloc 응용] 실전 앱 만들기 (책 리뷰 앱) : SNS 로그인, Firebase 적용, Bloc 상태 관리, GoRouter
구글 폰트를 사용하면 계속 아래와 같은 오류가 뜹니다. flutter: Error: google_fonts was unable to load font NotoSans-Bold because the following exception occurred: Exception: Failed to load font with url https://fonts.gstatic.com/s/a/18e3a4e5a713559a074e8c5482279ccad0cf81a0e5762304e0ddf94b5dd1ebac.ttf : HandshakeException: Connection terminated during handshake flutter: If troubleshooting doesn't solve the problem, please file an issue at https://github.com/material-foundation/flutter-packages/issues/new/choose . [VERBOSE-2:dart_vm_initializer.cc(41)] Unhandled Exception: Exception: Failed to load font with url https://fonts.gstatic.com/s/a/18e3a4e5a713559a074e8c5482279ccad0cf81a0e5762304e0ddf94b5dd1ebac.ttf : HandshakeException: Connection terminated during handshake #0 httpFetchFontAndSaveToDevice (package:google fonts/src/google_fonts_base.dart:263:5) <asynchronous suspension> #1 loadFontIfNecessary (package:google_fonts/src/google_fonts_base.dart:180:11) <asynchronous suspension> Restarted application in 338ms.
안드로이드 스튜디오에서 코딩하는 것까지는 괜찮은데, 에뮬레이터로 실행해서 화면 띄우는 거까지 보려면 속도가 너무 느립니다. 에러가 있을 경우에는 더 답답하고요. 일반적인 사무, 인터넷용으로는 답답함을 전혀 못 느꼈는데, 유독 코딩할 때만 너무 느리네요 컴퓨터를 새걸로 바꿔야 하나 싶기도 한데, 안드로이드 스튜디오 에뮬레이터를 원활히 돌리려면 컴퓨터 사양이 어느 정도 되면 될까요? (gpu도 좋은게 있어야 할까요? 제가 게임은 별로 안해서요..) 참고로 현재 컴퓨터 사양은 cpu: amd 3300 ram: 8기가 ssd: 500gb gpu: 메인보드 내장형 입니다.