묻고 답해요
160만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
DB선택을 하려는데 궁금해서요
Realm이라는것을 알게되었습니다.sqlite하고 비교를 많이 하는거 같던데 ;;; 개념이 이해가 잘 안되서요.sqllite가 RDBMS 경량화버전이라면 Realm은 Nosql(몽고DB) 경량화버전인가요?전 취미활동 게시판앱+웹을 만드는목표인데요. 처음접한 nodejs+mongDB로 공부를 계속 해왔습니다. 그래서 플러터로 mongoDB 붙여서 쓸려고하니 Realm이라는게 mongoDB 인수 되었다고하고 서비스도 같은 홈페이지내에서 서비스가 되더라구요. DB쪽은 공부를 안해놔서 RDBMS 쪽으로 가라면 당장엔 ... 못갈거 같아요. 요약1.플러터에 붙일 DB는 Realm vs mongoDB 뭐가 더 좋은가요?2.앱은 API를 써야한다고하는데 파이어베이스도 그것일단 빼고 ...... 혹시나 해서그런데 Realm은 API하고 하등 상관이 없는거죠?
-
미해결처음하는 플러터(Flutter) 기초부터 실전까지 [풀스택 Part4] (쉽고 견고하게 단계별로 다양한 프로젝트까지)
명령어 프롬프트에서 에러
12분 50초 쯤에서 나오는터미널에 명령어 입력하는 부분이 안되네요.윈도우 사용중이고 디렉토리 루트까지는 갔는데 그 후에 flutterfire 라는게 내외부 명령을 실행할수 있는 배치파일이 아니라고 떠요ㅠ
-
해결됨[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
디스코드관련
안녕하세요유료강의구매시 디스코드 프리미엄채널에 추가관련해서메시지를 보냈는데 답이없으셔서 글남깁니다.
-
해결됨Flutter 앱 개발 기초
궁금합니다. shared preferences 에 List 저장/ Dialog 에서 확인시 . 삭제하기
선생님 ~ 3강 진행중입니다.[ 1.shared preferences 에 List 저장하는게 궁금합니다.[ 2. 이미지 깨지는 URL 수정이 필요해 보입니다.
-
미해결Flutter 초입문 왕초보편
안드로이드 스튜디오 화면이 저는 다릅니다..!
위와 같은 디바이스 선택이나 main dart같은 항목이 없습니다. 또한 플러터 프로젝트를 생성할때 기본으로 있는 앱또한 저는 안보입니다.환경은 m1 맥입니다.
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
세팅하기 질문입니다.
"세팅하기" 강의의 8분에서 meta-data를 넣는데요 pubdev에서 <manifest ... <application ... <meta-data android:name="com.google.android.geo.API_KEY" android:value="YOUR KEY HERE"/> 이렇게 써져있는데 <application> 이 괄호(<>) 안에 meta-data를 넣으라는 말이 아니라 아래에 넣으라는 말인건가요?
-
미해결[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
Sliver 를 사용한 이유.
ListView 대신에 Sliver 를 사용하신 이유가 먼가요?어떤 걸 써도 동일한 효과인가요?
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
디바이스별 비율 적용
안녕하세요! 너무 좋은 강의 감사합니다. 아이폰, 안드로이드 폰 기기별 사이즈와 비율이 다른데 어떻게하면 기기별 비율에 맞게 맞출 수 있나요? 예를 들어 아이콘 사이즈가 39*39 인데 (디자이너 기준 아이폰 12프로) 아이폰 13미니에서는 아이콘 사이즈, 텍스트 위젯등 모두 비율에 맞게 작아져야하는데 방법을 모르겠습니다.
-
미해결Flutter 입문 - 안드로이드, iOS 개발을 한 번에 (with Firebase)
Failed assertion: line 246 pos 15: 'items.length >= 2': is not true.
import 'package:flutter/material.dart'; class TabPage extends StatefulWidget { const TabPage({super.key}); @override State<TabPage> createState() => _TabPageState(); } class _TabPageState extends State<TabPage> { @override Widget build(BuildContext context) { return Scaffold( bottomNavigationBar: BottomNavigationBar( items: const [ BottomNavigationBarItem(icon: Icon(Icons.home), label: 'Home'), ], ), ); } }이 부분에서 코드를 작성한 후 실행하면======== Exception caught by widgets library =======================================================The following assertion was thrown building TabPage(dirty, state: _TabPageState#63dc1):'package:flutter/src/material/bottom_navigation_bar.dart': Failed assertion: line 246 pos 15: 'items.length >= 2': is not true.The relevant error-causing widget was: TabPage TabPage:file:///C:/Users/user/StudioProjects/instagram/lib/main.dart:21:19When the exception was thrown, this was the stack: #2 new BottomNavigationBar (package:flutter/src/material/bottom_navigation_bar.dart:246:15)#3 TabPageState.build (package:instagram/tab/tabpage.dart:14:28)#4 StatefulElement.build (package:flutter/src/widgets/framework.dart:5409:27)#5 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5297:15)#6 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5462:11)#7 Element.rebuild (package:flutter/src/widgets/framework.dart:5016:7)#8 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:5279:5)#9 StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:5453:11)#10 ComponentElement.mount (package:flutter/src/widgets/framework.dart:5273:5)... Normal element mounting (220 frames)#230 Element.inflateWidget (package:flutter/src/widgets/framework.dart:4182:16)#231 MultiChildRenderObjectElement.inflateWidget (package:flutter/src/widgets/framework.dart:6569:36)#232 MultiChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:6581:32)... Normal element mounting (467 frames)#699 Element.inflateWidget (package:flutter/src/widgets/framework.dart:4182:16)#700 Element.updateChild (package:flutter/src/widgets/framework.dart:3707:18)#701 RenderObjectToWidgetElement._rebuild (package:flutter/src/widgets/binding.dart:1253:16)#702 RenderObjectToWidgetElement.mount (package:flutter/src/widgets/binding.dart:1222:5)#703 RenderObjectToWidgetAdapter.attachToRenderTree.<anonymous closure> (package:flutter/src/widgets/binding.dart:1169:18)#704 BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:2719:19)#705 RenderObjectToWidgetAdapter.attachToRenderTree (package:flutter/src/widgets/binding.dart:1168:13)#706 WidgetsBinding.attachRootWidget (package:flutter/src/widgets/binding.dart:1001:7)#707 WidgetsBinding.scheduleAttachRootWidget.<anonymous closure> (package:flutter/src/widgets/binding.dart:981:7)#711 RawReceivePort.handleMessage (dart:isolate-patch/isolate_patch.dart:189:12)(elided 5 frames from class AssertionError, class Timer, and dart:async-patch)====================================================================================================D/ProfileInstaller(12980): Installing profile for com.example.instagram 이런 에러가 계속 발생하는데 어떤 식으로 해결해야 할까요??
-
해결됨Flutter 앱 개발 기초
리스트에 숫자를 넣었더니 . 순서가 뒤죽 박죽으로 나옵니다.
5강 . 데이터베이스 고쳐서 진행중입니다.리스트에 숫자를 넣었더니 . 순서가 뒤죽 박죽으로 나옵니다.정렬되어 나오게 하려면 어떻게 해야하는지 귀뜸좀 주시면 감사하겠습니다.아래처럼 되어요. 순서대로 orderby 이런게 있는지 궁금합니다.sleep1sleep4sleep2sleep5sleepsleep3
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
안녕하세요. hot restart를 하면 _HomeScreenState의 Build 위젯이 두 번 실행되는데 왜 그런거죠?
안녕하세요. 이런식으로 build(){}위젯이 몇 번 불리나 확인해봤는데, hot restart하면 우선 기본적으로 두 번 불리는 것 같습니다. 왜 그런 것이죠? 감사합니다!
-
미해결Flutter 초입문 왕초보편
99강 github가 익숙하지 않아서 그런데, github에서 파일을 폴더 채로 받는 방법이 있을까요?
분명히 방법이 있을거 같은데음원파일을 하나하나 받고 있어서 혹시나 해서요
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
섹션23 미세먼지앱 postman
강의대로 다운로드받고, 작성했는데SEND를 눌러도 그대로이고MAP값들을 불러오지를 못하네요
-
해결됨Flutter 앱 개발 기초
5강 파이어베이스 연결하기, 업데이트로 바뀌엇어요. 아시는분?
5 강 파이어베이스 연결 되시는분 귀뜸좀 해주세요 .막혀서 진행 못하고 있습니다. 5강 파이어베이스 연결하기 . 안드로이드로 하는데 달라요 .app> build.gradle 에러throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.")gradle>build.gradle 파이어베이스 연결하는게 사이트와 다릅니다.다른 연결하는 법을 알려 주세요 .android 하고 새로이 바뀐건 또 flutter가 업데이트되었습니다.
-
해결됨[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
토큰 재발급 관련 질문입니다.
안녕하세요. 기초를 수강하고, 중급 강의 절반 정도 수강한 학생입니다. 우선, 기초와 중급 모두 좋은 퀄리티의 영상과 강의를 올려주셔서 정말 감사드린다는 말씀 드립니다!현재 강의와는 별개로 따로 진행하고 있는 프로젝트에서 한 페이지에 여러 api 호출을 진행하는 과정에서 access 토큰이 만료되었을 때의 상황에서 문제를 겪고 있습니다.예를 들어, 3개의 api를 호출하여 FutureBuilder 3개 혹은 Future.wait으로 3개의 데이터를 가져오는 상황입니다.우선, 모든 요청에 access 토큰 만료를 백엔드에서 계산하고 있습니다. 만료가 되었을 때, 프론트로 401이 던져지고 onError에서 이를 캐치하여 재발급 api를 호출하고 다시 토큰을 갱신하여 secure storage에 저장하고 있습니다.(백엔드에서는 access 토큰이 만료되어 재발급 요청을 받으면, 유효한 refresh 토큰인지 확인하여 유효시 두 토큰 모두 갱신하여 재발급해줍니다.)이 과정에서 3개의 모든 api 요청에 대한 재발급을 시도하여 3번의 재발급 요청이 이루어지게 됩니다. 그리고나서 3개의 모든 api 요청에 다시 resolve를 하게 되는데, 이러한 순서의 로직이 맞는 부분인지 궁금합니다.어려움을 겪고 있는 부분에는 3개의 요청 중 2개의 요청은 요청된 시간이 밀리세컨드 단위로 다르지만, 재발급 된 토큰이 동일해 요청이 성공적으로 진행됩니다. (5개라면 2개가 성공할 때가 있고, 3개가 성공할 때가 있고 시시각각 변합니다..) 하지만, 남은 api 요청은 앞선 요청에서 이미 새롭게 토큰이 발급되었기 때문에 갱신되지 않은 토큰으로 요청을 보내게 되고, 서버에서는 토큰이 새로 갱신되었기 때문에 토큰이 유효하지 않다는 오류가 발생하게 됩니다. 여러 레퍼런스를 참고하여 QueuedInterceptorsWrapper 및 일부 코드를 추가하여 임시로 해결해놓은 상태이지만, 근본적인 원인 해결이 되지 않았다고 생각하여 질문드립니다.(여전히 5개의 요청이라면, 5개의 재발급 요청을 보내는 상황입니다...)아직 남은 강의를 모두 들어보지 않아 해결하지 못하는 문제일 수 있지만, 미리 질문부터 드리는 점 양해 드립니다,,ㅠ서둘러 완강해보도록 하겠습니다!감사합니다 :)
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
Map 함수로 실전적용!
final numbers = [123, 456, 789];print(numbers.map((x) => x.toString().split('').map((y) => '$y.jpg',).toList(),),([1.jpg, 2.jpg, 3.jpg], [4.jpg, 5.jpg, 6.jpg], [7.jpg, 8.jpg, 9.jpg])print(numbers.map((x) => x.toString().split('').map((y) => '$y.jpg',),).toList(),[(1.jpg, 2.jpg, 3.jpg), (4.jpg, 5.jpg, 6.jpg), (7.jpg, 8.jpg, 9.jpg)]소괄호와 대괄호가 무슨차이죠.처음에 첫번째 처럼하면 list될것같았는데요. 같은줄 알았는데 다르더라구요. 2번째는 그냥 해본거예요.무슨차이인지 알고싶어요. final number = 123; print(number.toString().split('')); print(number.toString().split('').map((x)=> '$x.jpg'));[1, 2, 3](1.jpg, 2.jpg, 3.jpg)위에는 대괄호, 밑에는 소괄호 괄호가 같는결과는 아니네요.
-
미해결[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
goNamed질문
GoRoute( path: 'chef/register/two', name: ChefRegisteScreen2.routeName, builder: (_,state) => ChefRegisteScreen2( //rid: 123 ) ),goNamed로 String값 말고 Map이나 리스트 자료형을 넘기는 방법이 있을까요?
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
selectedDayPredicate 함수 관련 질문드립니다.
selectedDayPredicate에 파라미터로 들어가있는 함수는 DateTime타입의 인자를 필수적으로 받아와야 하는걸로 압니다. 그런데 코드에서 어떤 부분도 이 함수에 인자를 전달해주지 않는데 어떻게 date인자에 날짜들이 들어가있는지, 그렇다면 강의를 보지않았을 때 이 인자가 그런식으로 데이터가 들어있다는것을 어디서 어떻게 확인해야하는 지 궁금합니다.
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
onDaySelected가 타입이 아니라고 나오네요 그리고
안녕하세요.섹션21 TodayBanner 설계 강좌에서아래와 같은 에러 메시지가 나와서 더 이상 진행이 안 됩니다.final onDaySelected? onDaySelected;에서 onDaySelected가 타입이 아니라고 나오네요. 강좌에서 밖으로/위로(?) 빼는 작업과 statefull로 바꾸는 과정에서부터 에러가 나와서 여기서 막혀 더 이상 강의를 따라하며 들을 수 없습니다.혹시나 해서 소스 코드를 깃허브에 올려 두었습니다.소스코드는 아래에 있습니다.https://github.com/kooboom/calendar_schedulerlib/component/calendar.dart:12:9: Error: The name of a constructor must match the name of the enclosing class. const Calendar({ ^^^^^^^^lib/component/calendar.dart:9:9: Error: 'onDaySelected' isn't a type. final onDaySelected? onDaySelected; ^^^^^^^^^^^^^lib/component/calendar.dart:9:24: Context: This isn't a type. final onDaySelected? onDaySelected; ^^^^^^^^^^^^^lib/screen/home_screen.dart:28:13: Error: The method 'Calendar' isn't defined for the class '_HomeScreenState'. - '_HomeScreenState' is from 'package:calendar_scheduler/screen/home_screen.dart' ('lib/screen/home_screen.dart').Try correcting the name to the name of an existing method, or defining a method named 'Calendar'. Calendar( 소스코드는 아래에 있습니다.https://github.com/kooboom/calendar_scheduler
-
해결됨[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
Drift 패키지의 테이블 이름 질문
안녕하세요?캘린더 프로젝트 관련 질문사항이 있습니다.먼저 drift 패키지를 사용하기 위해 객체를 선언했습니다.- CategoryColors, Schedules모두 뒤에 s가 붙은 이름으로 테이블을 사용하기 위한 ORM 객체를 선언한것 까지는 알겠는데요. (s 붙이는게 필수?)drift가 자동 생성한 소스에 보면 s가 빠진 클래스들이 생성이 되어 있습니다.- CategoryColor, Schedule여기에 궁금함이 있습니다.처음에 객체 선언에 반드시 s를 붙여야 하는 건지?붙이지 않는다면 어떤 클래스 이름으로 자동 생성이 되는건지?Schedules 클래스 선언 -> (자동생성) Schedule 객체s 가 빠진 원리를 알고 싶습니다.