묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결React Native with Expo: 제로초에게 제대로 배우기
강의코드
FlatList로 게시글 작성 모달 강의의 시작과 같은 코드를 어디서 받을 수 있나요? 스크롤해서 보이는 링크에는 완성된 전체 코드만 있어서요.일일이 지우고 따라치려해도 나머지 부분이 완성되어 있어서 애뮬레이터에서 진행상황을 볼 수가 없어요...
-
미해결[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
장바구니 결제하기 응답이 500이 옵니다.
장바구니 화면까지는 다 정상인데 결제하기 하면 500에러가 발생합니다... 이틀동안 찾았는데 원인을 모르겠습니다...ㅠㅠㅠㅠhttps://github.com/DongMinE/Flutter/tree/main/actual레포지토리 링크인데 도와주실 수 있으실까요...?요즘 질문이 많아 죄송합니다...마지막 강의까지 잘 듣겠습니다. 일단 강의는 계속 듣겠습니다!!
-
해결됨[코드캠프] 부트캠프에서 만든 '완벽한' 프론트엔드 코스
커서 강의 질문
선생님 프론트엔드 커서AI활용 코스의 경우에는 커서AI로 일일이 바이브 코딩하는건가요?? AI로 코딩할일이 뭐가 있을지 궁금합니다.
-
미해결React Native with Expo: 제로초에게 제대로 배우기
여기서 디벨롭먼트고 프리빌드 앱을 써도 에러가 발생합니다.
npm ls react npm ls react-nativenpm ls expo버전을 알려주시면 질문자분과 동일한 환경에서 답변 드릴 수 있습니다. ERROR Warning: Error: The package '@react-native-kakao/user' doesn't seem to be linked. Make sure: - You rebuilt the app after installing the package- You are not using Expo Go
-
미해결[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
removeFromBasket에서 await patchBasket()을 마지막에 하면 에러나는거 아닌가요?
Future<void> patchBasket() async { await repository.patchBasket( body: PatchBasketBody( basket: state .map((e) => PatchBasketBodyBasket( productId: e.product.id, count: e.count, )) .toList(), ), ); } Future<void> removeFromBasket({ // true면 count에 관계없이 삭제 bool isDelete = false, required ProductModel product, }) async { // 1) 장바구니에 상품이 존재할때 // 1-1) 상품의 카운트가 1보다 크면 -1 // 1-2) 상품의 카운트가 1이면 상품 제거 // 2) 장바구니에 상품이 존재하지 않을때 // 2-1) 즉시 함수 반환하고 아무것도 하지 않음 final exists = state.firstWhereOrNull((e) => e.product.id == product.id) != null; print('exists: $exists'); if (!exists) { return; } final existingProduct = state.firstWhere((e) => e.product.id == product.id); if (existingProduct.count == 1 || isDelete) { state = state.where((e) => e.product.id != product.id).toList(); } else { state = state .map( (e) => e.product.id == product.id ? e.copyWith( count: e.count - 1, ) : e, ) .toList(); } await patchBasket(); } 장바구니에서 삭제할 때 상품이 1개 있고 1개의 상품 주문갯수가 1일 때 삭제를 하게되면 해당id를 뺀 값들이 리스트에 담기게 되는데 그럼 장바구니는 전부 비어지게 됩니다. 그래서 스크린에서는 "장바구니 비어있습니다"가 나오는 것 까진 됩니다.이후 어쨋든 patchBasket은 실행되는데 이때 리스트가 비어 있으니 서버호출할 때 400 에러가 발생합니다.. 서버단에서 비어있는 장바구니를 보내면 정상응답으로 비어 있는 get요청을 받는 과정이 필요한게 아닌가 해서 여쭤봅니다!포스트맨에서도 빈 리스트를 보내면 400이 옵니다.좋은 주말 되세요!
-
미해결React Native with Expo: 제로초에게 제대로 배우기
진짜에요..?
flutter도 써봤고, react/next도 다 쓰고 있는데요... expo의 라우팅 구조가 진짜 번잡하고 혼란스럽다고 느껴지네요. 혹시 현업에서도 알려주신 라우팅 방법(group 폴더, index.tsx, layout.tsx 등 활용)이 최선인가요? 뭐랄까.. 이상한 스킬들로 겨우겨우 원하는 결과물을 만들어내는 느낌이에요 ㅠㅠ
-
미해결React Native with Expo: 제로초에게 제대로 배우기
expo-location 문제
강의 내용을 진행하던 중 android 시뮬레이터에서 expo-location을 import할 수 없다는 에러가 뜨고 있습니다. expo-go를 통해서 진행하였습니다.이전 질문도 같은 문제가 있어보여서 해결 방법으로 expo 버전을 조정해도 해결되지 않습니다..ㅠㅠ버전은 아래와 같습니다.package.json{ "name": "threads", "main": "expo-router/entry", "version": "1.0.0", "scripts": { "start": "expo start", "reset-project": "node ./scripts/reset-project.js", "android": "expo start --android", "ios": "expo start --ios", "web": "expo start --web", "lint": "expo lint" }, "dependencies": { "@expo/vector-icons": "^14.1.0", "@react-navigation/bottom-tabs": "^7.3.10", "@react-navigation/elements": "^2.3.8", "@react-navigation/native": "^7.1.6", "expo": "53.0.9", "expo-blur": "~14.1.4", "expo-constants": "~17.1.6", "expo-font": "~13.3.1", "expo-haptics": "~14.1.4", "expo-image": "~2.1.7", "expo-linking": "~7.1.5", "expo-router": "~5.0.6", "expo-splash-screen": "~0.30.8", "expo-status-bar": "~2.2.3", "expo-symbols": "~0.4.4", "expo-system-ui": "~5.0.7", "expo-web-browser": "~14.1.6", "react": "19.0.0", "react-dom": "19.0.0", "react-native": "0.79.2", "react-native-gesture-handler": "~2.24.0", "react-native-reanimated": "~3.17.4", "react-native-safe-area-context": "5.4.0", "react-native-screens": "~4.10.0", "react-native-web": "~0.20.0", "react-native-webview": "13.13.5", "expo-dev-client": "~5.1.8", "expo-location": "~18.1.5" }, "devDependencies": { "@babel/core": "^7.25.2", "@types/react": "~19.0.10", "typescript": "~5.8.3", "eslint": "^9.25.0", "eslint-config-expo": "~9.2.0" }, "private": true }
-
미해결React Native with Expo: 제로초에게 제대로 배우기
탭제거
href:null을 추가해도 제일 우측 탭이 계속 안없어지는데 이유가 뭘까요..
-
미해결[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
이 두가지는 완전히 동일한 기능인가요?
abstract class IModelWithId { final String id; IModelWithId({required this.id}); } 인터페이스를 선언시 똑같이 했는데@JsonSerializable() class ProductModel implements IModelWithId { @override final String id; final String name; @JsonKey(fromJson: DataUtils.pathToUrl) final String imgUrl; final String detail; final int price; final RestaurantModel restaurant; ProductModel({ required this.id, required this.name, required this.imgUrl, required this.detail, required this.price, required this.restaurant, }); factory ProductModel.fromJson(Map<String, dynamic> json) => _$ProductModelFromJson(json); } @JsonSerializable() class ProductModel extends IModelWithId { final String id; final String name; @JsonKey(fromJson: DataUtils.pathToUrl) final String imgUrl; final String detail; final int price; final RestaurantModel restaurant; ProductModel({ required this.id, required this.name, required this.imgUrl, required this.detail, required this.price, required this.restaurant, }) : super(id: id); factory ProductModel.fromJson(Map<String, dynamic> json) => _$ProductModelFromJson(json); } 이 두가지 모델은 기능적으로 완전히 동일한가요?동일하다면 구현방식은 개발자와 팀의 선호에 따라 달라지는 정도인지 궁금합니다. 그리고 인터페이스 키워드가 없다고 말씀하셨었는데 버전이 업되고 interface가 생긴것 같은데 지금과 같은 기능이면 abstract interface를 사용하는 것이 더 좋은가요? 질문을 많이 드려 죄송합니다 ㅠㅠ
-
해결됨[코드캠프] 부트캠프에서 만든 '완벽한' 프론트엔드 코스
수강질문
안녕하세요 ~강사님 수업 실무적으로 잘 가르쳐주셔서 너무 잘 듣고 만족합니다.현재 완벽한 프론트엔드코스를 거의 다 소화하고, 풀스택을 배우고자 합니다. 부트캠프에서 만든 고농축 백엔드 코스는 현재 수강한 프론트엔드 코스 내용과 겹치는 강의가 많고 강의량도 많다보니 구매가 고민스로운데요..강사님 강의중 관리자 모드와 유저모드간에 통신을 다루는 실무 프로젝트 중심의 백엔드까지 배울수 있는 강의가 있는지 추천받고 싶습니다.
-
미해결[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
내부 코드를 작성하지 않은 CursorPaginationLoading가 어떻게 로딩상태를 갖는지 잘 모르겠습니다...
abstract class CursorPaginationBase {} //에러 class CursorPaginationError extends CursorPaginationBase { final String message; CursorPaginationError({ required this.message, }); } //로딩 class CursorPaginationLoading extends CursorPaginationBase {}여기까지 커서페이지네이션모델 파일을 만들었고 if (data is CursorPaginationLoading) { return Center( child: CircularProgressIndicator(), ); }로 로딩상태이면 인디케이터를 보여주고 있는 것 까지 완료했습니다.그리고 CursorPaginationBase는 여러 상태의 부모로 로딩,정상,에러 등을 받을 수 있다는 것은 알겠는데, 아직 로딩은 무엇이다라는 것이 없이 단지 CursorPaginationBase를 상속받았을 뿐인데 어떻게 screen에서 로딩중인 것을 확정하고 코드가 작동하는지 잘 모르겠습니다...
-
미해결[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
_SplashScreenState에서 storage를 late로 호출해서 한번만 불러와도 되나요?
강의에서는final storage = ref.read(secureStorageProvider);이 코드를 checkToken과 deleteToken에서 불러 사용하고 있는데 여러번 부르는 것이 싫다면class _SplashScreenState extends ConsumerState<SplashScreen> { late final storage = ref.read(secureStorageProvider); @override void initState() { super.initState(); //토큰 검사 checkToken(); // deleteToken(); }또는class _SplashScreenState extends ConsumerState<SplashScreen> { late final FlutterSecureStorage storage; @override void initState() { super.initState(); storage = ref.read(secureStorageProvider); //토큰 검사 checkToken(); // deleteToken(); }으로 한번만 불러서 storage를 바로 사용해도 될까요? 이렇게 사용해도 버그나 라이프사이클에 문제가 있을지 궁금합니다.강의 잘 듣고 있습니다!! 감사합니다.
-
미해결React Native with Expo: 제로초에게 제대로 배우기
제가 빌드한 앱이 실행되지 않아요
npm ls react "react": "19.0.0",npm ls react-native"react-native": "0.79.2",npm ls expo = "expo": "~53.0.9",문제:expo go 앱에서 제가 빌드한 앱을 실행하면 로딩이 계속되다가 위와 같은 화면이 뜹니다.터미널에서도 에러를 찾을 수 없어서 이렇게 질문 드립니다.
-
해결됨[코드캠프] 부트캠프에서 만든 '완벽한' 프론트엔드 코스
선생님 질문있습니다.
강의 찍으실 때 어떤 프로그램 쓰면 선생님처럼 화면녹화도하면서 마우스로 네모박스도 그리고 그림도 그릴 수 있는거에요? 너무 궁금해요. 아 그리고 강의가 너무 꼼꼼해서 아직까진 아주 이해가 잘됩니다. 감사합니다.
-
미해결React Native with Expo: 제로초에게 제대로 배우기
EAS서비스 없이 로컬에서 빌드할 수 있을까요?
EAS서비스 없이 react native처럼 로컬에서 빌드해서 사용 할 수 있는 방법이 있는지 궁금합니다.
-
해결됨[코드캠프] 부트캠프에서 만든 '완벽한' 프론트엔드 코스
[08-04]안드로이드 백버튼과 메모리누수 리팩토링
안녕하세요 ~수업내용과 똑같이 코드작성을 하고 마지막에 실행을 했는데, 페이지 이동하기와 뒤로가기도 잘 되는데 Tost 메세지가 안뜹니다. 해당 수업 자료로 실행을 해바도 같은데 무슨 문제일까요 ?
-
해결됨[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
코딩 작성 순서 관련 질문
안녕하세요. 강의로 정말 많은 걸 배우고 있습니다. 막상 실전으로 넘어가려 하면 되게 막막하게 느껴지는게 코딩을 어디서부터 시작해야 할지 고민입니다. 강의에서는 학습자의 의도적인 시행착오를 통해서 학습 시킬려는 점은 도움이 되었지만 실제로 강의에서 만든 앱을 만들게 된다면 플러터로 어디서부터 만들어야 할지 감이 안 잡힙니다. 강의에서도 이런 부분을 딱히 알려주지 않은 것 같습니다. 실제로 개발을 하게 된다면 어디서부터 차례로 만들어야 할지 간략하게 나마 설명해주시면 감사합니다.
-
해결됨[코드캠프] 부트캠프에서 만든 '완벽한' 프론트엔드 코스
[03-04] 디바이스 API
안녕하세요해당 수업 내용을 안드로이드로 실행시켰을때 세 가지 내용중 두 가가지는 잘 나오는데 기종정보는 alert가 안뜨는데 왜 그런걸까요 ??
-
해결됨[코드캠프] 부트캠프에서 만든 '완벽한' 프론트엔드 코스
[02-03] 모바일 레이아웃 헤더
안녕하세요 ~해당 수업 그대로 했는데 실행시 헤더만 보이고 page.tsx 에 작성된<div>내용입니다 ~</div> 네 줄 내용이 안나옵니다. 수업 두세번 보면서 점검을 했는데 ..어디를 수정해야 할지 모르겠습니다.아래는 제 코드 캡처해서 올립니다.실행시는 아래처럼 내용이 안뜹니다.
-
해결됨[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
ProductCard factory 관련 문제 질문
안녕하세요 강의 정말 유용하게 듣고 많이 배우고 있습니다. "92. Product Tab Pagination" 강의에서 코드팩토리님은 ProductCard에 factory을 2개 생성하여 강의를 진행하셨을때 가능하면 일반화 해서 사용하라고 하셔서 직접 구현하여 올바른 방향인지 질문 올립니다. 일반화한 Factory 생성자 IModelWithProductCard 각각 RestaurantModel과 ProductModel에 IModelWithProductCard을 implements한 모습기존에 IModelWithId을 implements한 모델(RestaurantProductModel)은 IModelWithProductCard로 대체한 대신 IModelWithProductCard에 IModelWithId을 implements 하였습니다. 코드 팩토리님 이라면 어떻게 일반화 했을지 궁금하여 직접 질문 올려드립니다.