묻고 답해요
156만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨350개의 개인 앱을 만들어 월급의 7배 수익을 달성한 방법
개발자 계정과 개인 사업자
안녕하세요. 좀비님!강의 너무너무 잘 듣고 있습니다. 안전을 위해 개발자 계정을 여러 개 관리 하는게 좋고, 단순 애드몹 관리가 아닌 구독 같은 인앱 결제를 하려면 개인 사업자가 필요하다고 이해했습니다! 만약 개발자 계정마다 인앱 결제 앱이 있다고 하면, 그때마다 개인 사업자를 따로 만들어야 할까요?참고로 ios, android 모두 고려하고있습니다. 이럴 땐 어떻게 하면 좋을지 조언을 구하고 싶습니다..!
-
해결됨[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)
안드로이드 스튜디오 오류 발생 시 대처 방법은 요?
강의 듣다 코드 입력 할 때 조금만 실수해도 자꾸 java.lang.NullPointerException이라 뜨고 빌드 에러가 나는데요, 이런 초보적 코드오류에도 이런 일이 자꾸 일어나면 도대체 누가 개발 진행할 수 있나 모르겠네요.혹시 개복치님은 이런 오류 해결방법을 알려 주실 수 있나요? 삭제 재설치도 1시간 이상 씩 걸리는데 미치겠네요.(이번엔 databinding프로젝트에서 오류가...)
-
해결됨350개의 개인 앱을 만들어 월급의 7배 수익을 달성한 방법
개발 장소 질문
안녕하세요 프로그래밍 좀비님! 강의 너무 잘 듣고 있습니다!! 전부터 궁금했던 질문이 있는데요 1인앱을 꾸준히 개발하실때 주말에도 거의 항상 개발 하셨다고 들었는데 이때 장소는 주로 어디서 하셨는지 알려주실 수 있을까요? 대부분 집에서 개발 하신걸까요 아니면 다른 선호하시던 곳이 있을까요?? 감사합니다!!
-
미해결Flutter 중급 1편 - 클린 아키텍처
sealed class 사용 문의
안녕하세요 강의중에 freezed3.0 변경 이후sealed class 작성과 view_model에서 사용을 제대로 사용하고 있는지 문의드립니다. *1.switch 문 키워드 사용ex case SaveNote(:final id, :final title, :final content):2.viewModel class 연결부분ex _changeColor(color); AddEditNoteEvent(sealed class)코드 sealed class AddEditNoteEvent<T> { factory AddEditNoteEvent.changeColor(int color) = ChangeColor; factory AddEditNoteEvent.saveNote(int? id, String title, String content) = SaveNote; } class ChangeColor<T> implements AddEditNoteEvent<T> { final int color; ChangeColor(this.color); } class SaveNote<T> implements AddEditNoteEvent<T> { final int? id; final String title; final String content; SaveNote(this.id, this.title, this.content); } view model(onEvent)- 코드 import 'package:flutter/material.dart'; import 'package:flutter_note_app/domain/model/note.dart'; import 'package:flutter_note_app/domain/repository/note_repository.dart'; import 'package:flutter_note_app/presentation/add_edit_note/add_edit_note_event.dart'; class AddEditNoteViewModle with ChangeNotifier { final NoteRepository repository; int _color = Colors.orange.value; int get color => _color; AddEditNoteViewModle(this.repository); void onEvent(AddEditNoteEvent event) { switch (event) { case ChangeColor(:final color): _changeColor(color); break; case SaveNote(:final id, :final title, :final content): _saveNote(id, title, content); break; } } Future<void> _changeColor(int color) async { _color = color; notifyListeners(); } Future<void> _saveNote(int? id, String title, String content) async { if (id == null) { await repository.inserNote( Note( title: title, content: content, color: _color, timestamp: DateTime.now().millisecondsSinceEpoch, ), ); } else { await repository.updateNote( Note( id: id, title: title, content: content, color: _color, timestamp: DateTime.now().millisecondsSinceEpoch, ), ); } } }
-
미해결Flutter 중급 1편 - 클린 아키텍처
freezed3.0에서 build시 when생성되지 않습니다.
freezed: ^3.0.6freezed_annotation: ^3.0.0 으로 진행후 notes_event.freezed.dart 파일에 when, map생성되지 않습니다. sealed도 써보고 abstract를 지우고 해도 마찬가지 인데 혹시 방법이 있을까요? 코드 내용import 'package:flutter_note_app/domain/model/note.dart';import 'package:freezed_annotation/freezed_annotation.dart';part 'notes_event.freezed.dart';@freezedsealed class NotesEvent with _$NotesEvent {const factory NotesEvent.loadNotes() = LoadNotes;const factory NotesEvent.deleteNote(Note note) = DeleteNote;const factory NotesEvent.restoreNote() = RestoreNote;} -------------------------------------------freezed 3.0.0 변경점 로그3버전부터 삭제가 되었군요. 인터넷에 when사용관련으로 옵션 등등 찾아서 했지만 모두 생성이 안되었습니다. 이제 when은 사용하지 않는게 좋을것 같습니다. import 'package:flutter_note_app/presentation/notes/notes_event.dart';void handleEvent(NotesEvent event) { switch (event) { case LoadNotes(): print("Loading notes..."); break; case DeleteNote(): print("Deleting"); break; case RestoreNote(): print("Restoring note"); break; }}dart3.0 부터 swich문이 추천이라고하네요! 선생님 Flutter Live Templeate 쪽에도 올라왔네요 템플릿 참고해주세요!https://gravel-pike-705.notion.site/Flutter-Live-Templeate-579bac3070754bdf8fa10afe4ebe8c92
-
해결됨350개의 개인 앱을 만들어 월급의 7배 수익을 달성한 방법
질문이 있어 글 남깁니다.
안녕하세요.좋은 강의를 듣고 직접 서비스를 준비하고 있는 프론트엔드 개발자입니다. 사실 기술 관련 질문은 하지 말아달라고 강의 중 말씀해주신 걸 기억하는데,다른 곳에 물어볼 곳도 없고혹시라도 답변을 들을 수 있을까 하여 문의 글을 남깁니다. 300개 가량의 서비스를 유지하면서,RDS 비용이 한달에 22.73달러 정도 발생한다고 강의 중에 말씀하셨는데요. 저 또한 AWS는 아니지만 GCP에서 무료 크레딧을 가지고 개발 진행중입니다.서버 비용보다 RDS 비용이 진짜 무섭다는 이야기를 많이 들어서요. GCP 기준 샌드박스, 공유코어로 설정을 맞추고 거의 최저 사양을 맞춰도시간당 0.05달러 정도 발생하고 한달에 최소 36달러는 디폴트로 발생하는 것으로 예상 금액이 책정되고 있습니다. 서비스 개발 중인데도 RDS에서 발생하는 금액이 저 정도면 부담이 되더라구요. RDS 스팩을 t3.micro 정도로만 말씀해 주셨는데,스팩을 좀 더 구체적으로 말씀해주실 수 있을까요? 혹은 금액을 줄일 수 있는 방법이 있다면 조언 부탁드려도 될까요? 사양 커스텀을 진행해도 한달에 22달러는 도저히 맞춰지지가 않아서요 (GCP 기준이긴 합니다..)
-
미해결Flutter 중급 1편 - 클린 아키텍처
Try implementing the missing methods, or make the class abstract. 문제해결 공유
---- freezed 3.0 선생님 강의 필독 ---동영상 보시면 됩니다.https://youtu.be/I-OdCNneoXQ?si=5Pop20gdzUyEByV3 답변 전 글class abstract 내용 공유드립니다. 환경dependencies:cupertino_icons: ^1.0.8provider: ^6.1.4sqflite: ^2.0.0+4json_annotation: ^4.9.0freezed_annotation: ^3.0.0sqflite_common_ffi: ^2.1.0dev_dependencies:flutter_lints: ^5.0.0json_serializable: ^6.9.4freezed: ^3.0.6build_runner: ^2.4.15 freezed: ^3.0.6작성이 변경되었습니다.내용 참고 바랍니다. class Note with _$Note {=> abstract class Note with _$Note { factory Note({=> const factory Note({ 위 내용 수정 후 진행해야 오류 안남flutter pub run build_runner build --delete-conflicting-outputs 기존 버전이라 힘들군요. ㅠㅠ *freezed 공식
-
미해결Flutter 중급 1편 - 클린 아키텍처
This is likely caused by a misconfigured builder definition. 오류 해결 방법
버전을 최신으로 마춰도 에러나는 경우 해결방법 공유합니다. 일단 선생님 환경은 현재 할수 없으므로 최신버전으로 마춰주시고 최신버전 의존성도 전부 완료되었는데도 안되는 경우는 아래 부분을 해보세요. 환경 샘플 플러터 3버전dependencies:provider: ^6.1.4sqflite: ^2.0.0+4json_annotation: ^4.9.0 →json 직렬화freezed_annotation: ^3.0.0 →불변 코드 생성dev_dependencies:json_serializable: ^6.9.3 → JSON 직렬화 및 역직렬화 자동 생성freezed: ^3.0.6 → 불변 객체 생성build_runner: ^2.4.15 → 코드 생성 도구 생성 패키지 실행 첫번째 방법1.컴퓨터 off on2.flutter clean3.flutter pub run build_runner build4.flutter pub run build_runner build --delete-conflicting-outputs4단계까지 안되면...5.신규 프로젝트 생성... 2번째 방법dependencies:provider: ^6.1.4sqflite: ^2.0.0+4json_annotation: ^4.9.0 →json 직렬화freezed_annotation: ^3.0.0 →불변 코드 생성analyzer: ^6.0.0 dev_dependencies:json_serializable: ^6.9.3 → JSON 직렬화 및 역직렬화 자동 생성freezed: ^3.0.6 → 불변 객체 생성build_runner: ^2.4.15 → 코드 생성 도구 생성 패키지 실행 낮은 버전으로 진행 후에 높은버전으로 진행했을때json_serializable에서 analyzer가 삭제가 제대로 안되서 문제가 되는 경우가 있는것 같습니다. 억지로 analyzer 맞추고 진행하고 되었을대analyzer을 제거하면 잘되었습니다. flutter 환경 세팅은 어렵군요...시간 낭비 안되도록 공유해봅니다. 에러내용: C:\project\flutter_cleancode\flutter_note_app> flutter pub run build_runner buildDeprecated. Use dart run instead.[INFO] Generating build script completed, took 326ms[WARNING] /C:/Users/karyo/AppData/Local/Pub/Cache/hosted/pub.dev/json_serializable-6.9.4/lib/src/field_helpers.dart:84:52: Error: The argument type 'ClassElement' can't be assigned to the parameter type 'InterfaceElementImpl'. - 'ClassElement' is from 'package:analyzer/dart/element/element.dart' ('/C:/Users/karyo/AppData/Local/Pub/Cache/hosted/pub.dev/analyzer-7.4.0/lib/dart/element/element.dart'). - 'InterfaceElementImpl' is from 'package:analyzer/src/dart/element/element.dart' ('/C:/Users/karyo/AppData/Local/Pub/Cache/hosted/pub.dev/analyzer-7.4.0/lib/src/dart/element/element.dart'). for (final v in manager.getInheritedConcreteMap2(element).values) { ^/C:/Users/karyo/AppData/Local/Pub/Cache/hosted/pub.dev/json_serializable-6.9.4/lib/src/field_helpers.dart:90:43: Error: The getter 'isGetter' isn't defined for the class 'ExecutableElementOrMember'. - 'ExecutableElementOrMember' is from 'package:analyzer/src/dart/element/element.dart' ('/C:/Users/karyo/AppData/Local/Pub/Cache/hosted/pub.dev/analyzer-7.4.0/lib/src/dart/element/element.dart').Try correcting the name to the name of an existing getter, or defining a getter or field named 'isGetter'. if (v is PropertyAccessorElement && v.isGetter) { ^^^^^^^^/C:/Users/karyo/AppData/Local/Pub/Cache/hosted/pub.dev/json_serializable-6.9.4/lib/src/field_helpers.dart:91:16: Error: The getter 'variable2' isn't defined for the class 'ExecutableElementOrMember'. - 'ExecutableElementOrMember' is from 'package:analyzer/src/dart/element/element.dart' ('/C:/Users/karyo/AppData/Local/Pub/Cache/hosted/pub.dev/analyzer-7.4.0/lib/src/dart/element/element.dart').Try correcting the name to the name of an existing getter, or defining a getter or field named 'variable2'. assert(v.variable2 is FieldElement); ^^^^^^^^^/C:/Users/karyo/AppData/Local/Pub/Cache/hosted/pub.dev/json_serializable-6.9.4/lib/src/field_helpers.dart:92:26: Error: The getter 'variable2' isn't defined for the class 'ExecutableElementOrMember'. - 'ExecutableElementOrMember' is from 'package:analyzer/src/dart/element/element.dart' ('/C:/Users/karyo/AppData/Local/Pub/Cache/hosted/pub.dev/analyzer-7.4.0/lib/src/dart/element/element.dart').Try correcting the name to the name of an existing getter, or defining a getter or field named 'variable2'. final variable = v.variable2 as FieldElement; ^^^^^^^^^/C:/Users/karyo/AppData/Local/Pub/Cache/hosted/pub.dev/json_serializable-6.9.4/lib/src/decode_helper.dart:65:23: Error: The getter 'augmented' isn't defined for the class 'ClassElement'. - 'ClassElement' is from 'package:analyzer/dart/element/element.dart' ('/C:/Users/karyo/AppData/Local/Pub/Cache/hosted/pub.dev/analyzer-7.4.0/lib/dart/element/element.dart').Try correcting the name to the name of an existing getter, or defining a getter or field named 'augmented'. element.augmented ^^^^^^^^^[INFO] Precompiling build script... completed, took 880ms[SEVERE] Failed to precompile build script .dart_tool/build/entrypoint/build.dart.This is likely caused by a misconfigured builder definition.
-
해결됨350개의 개인 앱을 만들어 월급의 7배 수익을 달성한 방법
파이어베이스/깃헙 프로젝트 관리
앱이 수백개면 그걸 어떻게 관리하시는지 궁금합니다.앱마다 파이어베이스 프로젝트를 각각 다 만드시나요?앱마다 깃허브 프로젝트를 각각 다 만드시나요?
-
미해결안드로이드 모바일 앱 모의해킹과 시큐어코딩
드로저 설치 오류
드로저를 설치했고, 포트 포워딩도 했고, 필요한 라이브러리도 다 다운받았는데요.drozer console connect입력하면 (drozer) C:\Users\juyeon>drozer console connectSelecting 2e2a97ea1be21480 (samsung SM-S9210 9)local variable 'session' referenced before assignment 이렇게 뜹니다.. 어떻게 해결해야 하나요?ㅠ
-
미해결[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)
[Twice앱]안드로이드 스튜디오 '미어캣'으로 강의들어도 되나요?
혹시 최신버전인 미어캣으로 수강해도 괜찮을까요?BTS앱 까진 돌핀으로 수강했는데 Twice로 넘어오니 오류가 자꾸 생깁니다.액티비티를 하나 더 추가하고 - intent문은 복붙도 안했는데 - 화면이 에뮬레이터에서 어떻게 나오나 보려고 빌드하고 앱실행했더니 java.lang.NullpointException Error가 뜨는데, 버전이 안맞아서 그래들과 sdk버전을 올리라는데 초보라 해결방법도 모르겠고요 최신버전이면 이런 오류가 안나지 않을까 해서 그럽니다. (안드로이드 스튜디오를 클린 삭제하고 몇번이나 다시 해봐도 같은 오류가 다시 생기네요.)
-
미해결[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)
[Twice앱]안드로이드 매니페스트 파일 관련 오류
<intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter>위 문장을 붙여 넣기 한 직후 안드로이드 스튜디오 미어캣 버전이나 돌핀 버전 모두에서 에러가 나며 실행되지 않습니다. 돌핀에선 "Nullpointer exception error"가 나타나고 미어캣에선 "Element intent-filter is not allowed here: 18"이라고 에러가 뜨며 실행되지 않습니다. 아마도 인텐트 문장을 쓰는게 문제인 듯 한데 강사님의 안드로이드 스튜디오 버전과 설정사항을 알려주시면 해결할 수 있지 않을까 합니다. 답변 부탁드립니다.
-
해결됨350개의 개인 앱을 만들어 월급의 7배 수익을 달성한 방법
구글 플레이 스토어 테스트 계정에 대해서 질문 드립니다.
앱을 제작했는데, 배포 전에 궁금해서 여쭤봅니다.구글 플레이에 앱을 출시하려면 테스트 계정 20명을 등록해줘야한다고 하는데요이건 기준이 어떻게 되나요? 매번 앱을 초기 배포할 때마다 테스트 계정 20명을 등록해야한다.개발자 계정 당 한 번만 테스트 계정 20명을 등록해야한다.개발자 계정과는 무관하고 구글 계정만 있으면 테스트 계정 20명 등록은 한 번만 하면 된다. 셋 중에 어느 것이 실제 해당하게 되나요? 예전에 만든 개발자 계정은 관련 없다는데미리 개발자 계정을 만들어 두지 않은 것을 후회합니다 ㅜ
-
미해결윤재성의 Google 공식 언어 Kotlin(코틀린) 프로그래밍 시작하기
.filter, .map
.filter, .map 등의 내용은 어떤 챕터에 있나요?
-
해결됨350개의 개인 앱을 만들어 월급의 7배 수익을 달성한 방법
계정 운영관리 관련
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!마크다운, 단축키를 이용해서 편리하게 글을 작성할 수 있어요.먼저 유사한 질문이 있었는지 검색해보세요.서로 예의를 지키며 존중하는 문화를 만들어가요.잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.안녕하세요.1.계정 분리 관련해서 궁금한 부분이 있습니다.강사님은 현재 앱스토어와 애드몹 계정 비율은 동일하게 맞춰서 운영 중이신가요?앱스토어 계정 A - 애드몹 계정 A앱스토어 계정 B - 애드몹 계정 B요런식으로 앱스토어 계정 A로 올린 앱들은 애드몹 계정 A로 셋팅하는 구조인지요?2.앱스토어 계정은 2023년 11월 이후 생성된 계정은 테스터 20명 확인을 해줘야 하는데 요부분이 시간이 오래 소요될것 같아 고민입니다ㅜㅜ (미리 만들어둘껄)계정을 여러개로 만들어서 운영시 강사님은 요부분 어떻게 시간비용을 줄이면서 앱등록을 하는지 궁금합니다. 신규앱을 앱스토어에 올릴때마다 테스트 20명에게 요청하는 과정을 거쳐야 하는걸로 이해를 하고 있어서요. 3.사업자계정으로 운영한다면 사업자도 여러개를 만들어서 운영하는게 좋을지요?
-
해결됨350개의 개인 앱을 만들어 월급의 7배 수익을 달성한 방법
앱스토어나 github 코드 계정관리 관련
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!마크다운, 단축키를 이용해서 편리하게 글을 작성할 수 있어요.먼저 유사한 질문이 있었는지 검색해보세요.서로 예의를 지키며 존중하는 문화를 만들어가요.잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.강사님 안녕하세요. 강의 잘 듣고 있습니다. 몇가지 고민되는 부분이 있어 질문 올립니다. 강사님은 직장생활 하시면서 부업으로 하실때 ,앱스토어에 배포할때나 github에 코드 올릴시 계정관리는 어떤식으로 관리를 하셨는지 알 수 있을까요? github은 유료 결제하여 사용을 하셨을까요? 기존에 사용하던 개인 계정들을 사용하기에는 주변 사람들이 알아채거나 회사에서 겸업금지 조항이 있어서 가족 명의로 계정을 만들어야 할지도 고민이 되어서요. 아니면 사업자를 하나 내서 운영을 하는게 좋을지요?그리고 앱 만드실 때 패키지명은 실제로 도메인 하나 구입해서 도메인이 hello.com 이라고 가정하면com.hello.app1, com.hello.app2 이런식으로 운영을 하능게 좋을까요? 어제부터 강의듣고 앱하나 빠르게 만들어서 앱스토어 배포해보려고 하는데 처음이고 고민되는 부분이 많아 질문드려 봅니다.
-
미해결[2023 코틀린 강의 무료제공] 기초에서 수익 창출까지, 안드로이드 프로그래밍 A-Z
TodoDao Interface 문의
안녕하세요... TotoDao 작성시 에러 문의 드립니다.
-
해결됨350개의 개인 앱을 만들어 월급의 7배 수익을 달성한 방법
firebase 사용범위
안녕하세요 좀비님강의를 보는 중 firebase 사용에 관해 궁금한게 생겨서 질문 남깁니다. firebase를 사용자 모니터링을 위해 사용하시는 것이죠? 사용하실 때, 관련 서비스가 많던데, 예를 들면 analytics, crashlytics, performance 등이 있는데, 어떤 서비스들 위주로 사용하실까요?그리고 연동만 해놓으시는 지, 화면별 로그 남기는 식으로 상세하게 코드 작성하여 firebase 사용하시는 지,로그 남기신다면 어떤 내용을 로그로 남기시는지도 궁금합니다!귀한시간 내어 답변 주심에 미리 감사 인사 드립니다.
-
미해결Flutter 입문 - 안드로이드, iOS 개발을 한 번에 (with Firebase)
최신버전 firebase_ui_auth 할때 EmailAuthProvider 오류 잡는 방법
이메일 로그인 기능 구현 관련 변경된 라이브러리 사용시 auth_gate.dart 참고 import 'package:firebase_auth/firebase_auth.dart' hide EmailAuthProvider;import 'package:flutter/material.dart';import 'package:firebase_ui_auth/firebase_ui_auth.dart';import 'package:instagram_clone/tab/tab_page.dart';class AuthGate extends StatelessWidget { const AuthGate({super.key}); @override Widget build(BuildContext context) { return StreamBuilder<User?>( stream: FirebaseAuth.instance.authStateChanges(), builder: (context, snapshot) { // User is not signed in if (!snapshot.hasData) { return SignInScreen(providers: [EmailAuthProvider()]); } // Render your application if authenticated return const TabPage(); }, ); }}
-
해결됨깡샘의 쌩초보 안드로이드 One Day Class – Part2 코틀린 이해하기
모듈
모듈은 무엇인가요 이 프로그램내에서 어떤역할을 하나요