묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨350개의 개인 앱을 만들어 월급의 7배 수익을 달성한 방법
출시 국가 확장
안녕하세요,"확장적 사고하기" 강의에서 "하나의 앱에 언어와 아이콘만 바꿔서 다양한 나라에 출시"하는 경우를 알려주셨는데요,반대의 생각이 떠올라 질문드립니다. 하나의 앱에서 언어선택을 할 수 있게 하고 그 앱을 여러 국가에 출시하는 것이 더 편하지 않나요? 그렇게 하지 않으시는 이유가 궁금합니다. 제가 이게 더 낫다고 생각한 이유는,다운로드/리뷰를 하나의 앱에 모아서 수치를 늘릴 수 있고관리 포인트도 줄어들기 때문입니다또 플레이스토어에서 앱을 출시할때 국가를 여러개 한번에 선택할 수 있고, 사용자 입장에서도 해당언어 리뷰만 걸러서 볼 수도 있기 때문에 그렇게 어렵지 않다고 생각했습니다. 다양한 시도를 해본 프로그래밍좀비님이라면 이미 생각/시도해보셨을 것 같은데, 제가 생각지못한 어려움이 있거나 혹은 장점이 생각보다 크지 않은지 궁금합니다.
-
해결됨350개의 개인 앱을 만들어 월급의 7배 수익을 달성한 방법
유틸리티 앱 수익화
안녕하세요, 첫 앱으로 유틸리티 앱을 만들어보고 있습니다.수익화를 어떻게 할지 마침 고민하던차에 딱 저와 같은 상황을 언급하셔서 질문 드려요. (섹션 7 "광고 기반 수익화 전략" 1분 25초 경)강의 초반에 언급하신 "산타 전화" 앱이나 "방귀 소리" 앱은 굉장히 단발성인 앱인데 어떻게 수익을 내셨는지 궁금합니다.
-
해결됨350개의 개인 앱을 만들어 월급의 7배 수익을 달성한 방법
앱 다작이 아직도 유효한걸까요?
최근 구글 비공개 테스트 정책으로 인해 12인이 2주동안 테스트가 들어가야하고 만약 허가가 나지않았을시에 다시 2주동안 테스트를 해야하는 문제들이 있는거같은데 저 또한 이러한 문제를 피하기 위해개인사업자로 duns를 발급하여 조직계정으로 만드는거까지 생각해봤는데 이것 또한 구글 정책으로인해 개인사업자는 개인으로 하지않으면 결제프로필에 문제가 생기는거같습니다..이러한 구글정책으로인해 신규진입하는저로써는 이렇게 좀비님처럼 다작으로하는 앱 개발에서 돈을 벌수 있을까라는 생각이들어 선뜻 손이가질않더라구요 좀비님은 이러한 상황에서 앱 개발 신규진입에서도 가능성이 있다고 생각 하시는지 궁금합니다
-
해결됨350개의 개인 앱을 만들어 월급의 7배 수익을 달성한 방법
경쟁 앱이 아예 없는 경우
안녕하세요 생활에서 불편한 점을 기반으로 앱 아이디어를 떠올렸는데, 검색해보니 경쟁앱이 없는 것 같다면 어떻게 하면 좋을까요?제가 생각한 가능성은 이렇게 세가지인데요: 1. 사용자 수요가 없다 2. 검색 방식이 잘못됐을 뿐 존재한다 3. 진짜로 아무도 발견못한 보물이다3번이라면 너무 좋겠지만.. 1~2번인 경우를 방지하고 싶은데 어떻게 하면 좋을지 모르겠습니다. 강의에서 다루는 data.ai 등은 이미 존재하는 트렌드에서 아이디어를 얻긴 좋은데 이런 앱이 이미 있는지 더 잘 찾아주는 툴은 있을지, 이런 수요가 커지고 있는지 찾아보는 방법은 없을지 궁금합니다.
-
해결됨350개의 개인 앱을 만들어 월급의 7배 수익을 달성한 방법
애드몹 광고 게재 제한
안녕하세요 앱을 출시하고 애드몹 광고를 운영하고 있었는데 약 2주 전에 광고 게재가 제한돼서 수익 창출이 막힌 상황입니다. 사유는 "무효 트래픽 우려로 인해 현재 제품에 대한 광고 게재가 제한되고 있습니다." 라고 합니다.찾아보니 제가 해결할 수 있는 부분은 없고 무한정 대기를 해야 할 거 같은데 혹시 이런 상황을 겪고 해결해 본 적이 있으신가요?그리고 구글 애즈를 사용해서 광고를 하고 있었는데 수익이 언제 다시 발생할 지 모르는 상황에서 구글 애즈를 계속 사용하는 게 맞을까요? 아니면 일단은 멈추는 게 좋을까요?
-
해결됨[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)
안드로이드 스튜디오 미어캣 버전 사용 한글 깨짐
안녕하세요 강의를 듣고 있는 수강생 입니다. 다시 강의를 보면서 공부 중인데, 안드로이드 스튜디오가 버전이 업그레이드(미어캣 버전)가 되어서 설치 후 콘솔창에 간단하게 문구 출력을 하려고 해보니 한글이 깨지는 현상이 발생 합니다. 검색을 해서 위와 같은 현상을 해결해보려고 했으나, 안되서 질문 남깁니다. 방법을 알려 주시면 감사드리겠습니다.
-
해결됨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 등의 내용은 어떤 챕터에 있나요?