묻고 답해요
160만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결Part2: 초중급 iOS 인스타그램 클론(SwiftUI, MVVM, Firebase, 2024)
warning 하나가 있는 것 같습니다. 해결방법좀 알려주세요
iOS26 환경에서 코드 작성하면 아래와 같이 warning이 발생합니다.동작상에는 문제가 없지만, 동일하게 다른 파일에서도 사용되는 함수 인데 왜 발생되는 건지 이해가 안됩니다.확인 부탁드립니다. <ProfileEditingView>28,29라인에 KFImage(url)에서 발생됩니다."import Kingfisher"도 정의 되어있고, 다른 파일에서 "KFImage()"함수에서는 warning이 발생되지 않습니다. 혹시 Kingfisher 패키지 버전때문일까요? 강제로 10.4.xx으로 하긴 했지만, 몇몇 하위 패키지는 업데이트 된것 같습니다. warning 내용>Call to main actor-isolated initializer 'init(_:)' in a synchronous nonisolated context package 버전정보>{ "originHash" : "dacfd17cdf8fa9f962991925a9162eb62e278dab4974c56cd997ab2b87892aa5", "pins" : [ { "identity" : "abseil-cpp-binary", "kind" : "remoteSourceControl", "location" : "https://github.com/google/abseil-cpp-binary.git", "state" : { "revision" : "194a6706acbd25e4ef639bcaddea16e8758a3e27", "version" : "1.2024011602.0" } }, { "identity" : "app-check", "kind" : "remoteSourceControl", "location" : "https://github.com/google/app-check.git", "state" : { "revision" : "3b62f154d00019ae29a71e9738800bb6f18b236d", "version" : "10.19.2" } }, { "identity" : "firebase-ios-sdk", "kind" : "remoteSourceControl", "location" : "https://github.com/firebase/firebase-ios-sdk", "state" : { "revision" : "eca84fd638116dd6adb633b5a3f31cc7befcbb7d", "version" : "10.29.0" } }, { "identity" : "googleappmeasurement", "kind" : "remoteSourceControl", "location" : "https://github.com/google/GoogleAppMeasurement.git", "state" : { "revision" : "fe727587518729046fc1465625b9afd80b5ab361", "version" : "10.28.0" } }, { "identity" : "googledatatransport", "kind" : "remoteSourceControl", "location" : "https://github.com/google/GoogleDataTransport.git", "state" : { "revision" : "a637d318ae7ae246b02d7305121275bc75ed5565", "version" : "9.4.0" } }, { "identity" : "googleutilities", "kind" : "remoteSourceControl", "location" : "https://github.com/google/GoogleUtilities.git", "state" : { "revision" : "57a1d307f42df690fdef2637f3e5b776da02aad6", "version" : "7.13.3" } }, { "identity" : "grpc-binary", "kind" : "remoteSourceControl", "location" : "https://github.com/google/grpc-binary.git", "state" : { "revision" : "e9fad491d0673bdda7063a0341fb6b47a30c5359", "version" : "1.62.2" } }, { "identity" : "gtm-session-fetcher", "kind" : "remoteSourceControl", "location" : "https://github.com/google/gtm-session-fetcher.git", "state" : { "revision" : "a2ab612cb980066ee56d90d60d8462992c07f24b", "version" : "3.5.0" } }, { "identity" : "interop-ios-for-google-sdks", "kind" : "remoteSourceControl", "location" : "https://github.com/google/interop-ios-for-google-sdks.git", "state" : { "revision" : "2d12673670417654f08f5f90fdd62926dc3a2648", "version" : "100.0.0" } }, { "identity" : "kingfisher", "kind" : "remoteSourceControl", "location" : "https://github.com/onevcat/Kingfisher", "state" : { "revision" : "dd3c422ec3088404d6f7e8c905a8318b3de12d6f", "version" : "8.6.0" } }, { "identity" : "leveldb", "kind" : "remoteSourceControl", "location" : "https://github.com/firebase/leveldb.git", "state" : { "revision" : "a0bc79961d7be727d258d33d5a6b2f1023270ba1", "version" : "1.22.5" } }, { "identity" : "nanopb", "kind" : "remoteSourceControl", "location" : "https://github.com/firebase/nanopb.git", "state" : { "revision" : "b7e1104502eca3a213b46303391ca4d3bc8ddec1", "version" : "2.30910.0" } }, { "identity" : "promises", "kind" : "remoteSourceControl", "location" : "https://github.com/google/promises.git", "state" : { "revision" : "540318ecedd63d883069ae7f1ed811a2df00b6ac", "version" : "2.4.0" } }, { "identity" : "swift-protobuf", "kind" : "remoteSourceControl", "location" : "https://github.com/apple/swift-protobuf.git", "state" : { "revision" : "2547102afd04fe49f1b286090f13ebce07284980", "version" : "1.31.1" } } ], "version" : 3}
-
해결됨Part2: 초중급 iOS 인스타그램 클론(SwiftUI, MVVM, Firebase, 2024)
설계 관련하여 참고할 문서나 예제 공유가 가능할까요?
안녕하세요성공적으로 완강 했습니다.진짜 왕초보 iOS 배우기 부터 듣기 시작해서 이번이 두번째 강의를 완료하였고,직접 앱을 만드니 자신감도 생겨서, 추가적인 학습도 해보려고, property wrapper, combine도 구매완료하였는데..잠시 의문이 생겨서 질문드려 봅니다. 지금까지는 강의를 들으면서 뷰간의 순서와 설계에 대해 고민 없이 강의듣고 따라 해왔는데, 직접 뭔가를 구상하고 설계를 하려고 하니 다시 뭔가 벽에 부딪히는 느낌이 드네요.혹시 설계를 하기위해 구상하거나 문서를 가볍게라도 작성해서 고민을 해보고 싶습니다.좋은 방법이나 참고할만한 예제가 있을지 문의 드립니다. 강의 중간 설명해 주시려고 만드신 문서도 있으시던데..그런 자료도 공유가 가능하신지요?
-
미해결Flutter 고급 - 현업 수준의 아키텍처
dataclass 오류
dataclass build 하면 아래 오류가 항상 발생하네요어떤 이유일까요?// Recipe model class import 'package:receipt/domain/model/recipe_ingredient.dart'; import 'package:freezed_annotation/freezed_annotation.dart'; part 'recipe.freezed.dart'; part 'recipe.g.dart'; @freezed class Recipe with $Recipe { const factory Recipe({ required String category, required int id, required String name, required String image, required String chef, required String time, required double rating, required List<RecipeIngredient> ingredients, @Default(false) bool isFavorite, }) = Recipe; factory Recipe.fromJson(Map<String, Object?> json) => _$RecipeFromJson(json); } --> 오류 Missing concrete implementations of 'getter mixin $Recipe on Object. category', 'getter mixin $Recipe on Object. chef', 'getter mixin $Recipe on Object. id', 'getter mixin $Recipe on Object. image', and 6 more. (Documentation) --> get 생성 시 오류 사라짐@override // TODO: implement category String get category => throw UnimplementedError(); @override // TODO: implement chef String get chef => throw UnimplementedError(); @override // TODO: implement id int get id => throw UnimplementedError(); @override // TODO: implement image String get image => throw UnimplementedError(); @override // TODO: implement ingredients List<RecipeIngredient> get ingredients => throw UnimplementedError(); @override // TODO: implement isFavorite bool get isFavorite => throw UnimplementedError(); @override // TODO: implement name String get name => throw UnimplementedError(); @override // TODO: implement rating double get rating => throw UnimplementedError(); @override // TODO: implement time String get time => throw UnimplementedError(); @override Map<String, dynamic> toJson() { // TODO: implement toJson throw UnimplementedError(); }
-
미해결C# WPF .NET Core(7.0)
강의 기간 연장이 가능할까요?
안녕하세요 강사님! 좋은 강의 감사드립니다.업무랑 여러 상황들 때문에 강의를 못듣고 있다가 어느새 강의 종료일이 다가오고 있는데 혹시 강의 연장이 가능할지요 ㅠㅠ?
-
해결됨앨런 iOS 앱 개발 (15개의 앱을 만들면서 근본원리부터 배우는 UIKit) - MVVM까지
기초 앱 4강 Type Any -> UIButton
뒤에 설명이 나오는지는 아직 모르겠는데 수강자 분들 참고하시라고 적어놓습니다... 강의에서 @IBAction 함수 선언할 때 sender Type 을 Any 에서 UIButton 으로 변경하는데 그 이유가 이건 sender 의 타입이 UIButton 이라는 걸 명확하게 하는 거라고 보면 되고 Any 로 놔두면 나중에 sender 를 써야할 때는 타입캐스팅을 해야 사용이 가능합니다. [UIButton] 인 경우 sender.backgroundColor = ... [Any] 인 경우if let myButton = sender as? UIButton {sender.backgroundColor }
-
미해결Flutter 고급 - 현업 수준의 아키텍처
수업 노트에 있는 json 파일에 ingredient 관련 내용이 없습니다.
12 모델 클래스 시청중입니다.Ingredient 관련 json 내용 없습니다.강의 영상에 있는 내용과 다릅니다.
-
미해결Flutter 고급 - 현업 수준의 아키텍처
개발자 도구
플러터로 개발한 경우, 개발자도구로 cookie, local storage, sesstion storage에 데이터들을 보지 못하는게 맞는 건가요??혹시 그렇다면 어떻게 확인해야 할까요?
-
미해결WPF (C#, 자막제공)
page와 windows 사용구분
언제 page를 쓰고 언제 window를 쓰나요?
-
해결됨Part2: 초중급 iOS 인스타그램 클론(SwiftUI, MVVM, Firebase, 2024)
'loadAllPosts' 를 매번 사용해야 하나요?
안녕하세요 특정 코드에 대한 질문이 아니라 코드 설계에 대해 궁금한 점이 있습니다. 해당 프로젝트에서는 FeedView를 방문할 때 마다 'loadAllPosts'를 통해서 데이터를 가져오는데 이렇게 하면 비용적인 측면에서 문제가 되지 않을까요? 현업에서도 매번 이렇게 Read를 하는지 아니면 Cache를 사용하는지 궁금합니다.
-
해결됨Flutter 고급 - 현업 수준의 아키텍처
figma
안녕하세요.사진처럼 강사님은 figma에서 빨간색으로 위 38, 아래 45 떨어져있는지 나오는데요저는 나오지 않더라구요별도의 단축키가 있는걸까요??
-
해결됨Flutter 고급 - 현업 수준의 아키텍처
개발자도구
안녕하세요만일, padding을 설정했는데 실제로 패딩이 잘 들어갔는지 수치로 확인하고 싶을때, web은개발자도구에서 확인하는데요.시뮬레이터나 에뮬레이터는 불가능한걸까요??제가 chrome으로 빌드해서 보니까 나오지는 않더라구요 크롬역시 나오지 않더라구요 flutter는 원래 이런걸까요?
-
해결됨Flutter 고급 - 현업 수준의 아키텍처
ui 테스트 코드 링크가 없습니ㅏㄷ.
3분 55초에 ui 테스트 코드 를 위해강의 링크를 남겨주신다고 하셨는데 강의 링크가 없습니다.
-
미해결C# WPF .NET Core(7.0)
OnPropertyChanged 해서 선택된 것에서 수정하면
OnPropertyChanged 해서 선택된 것에서 수정하면 속성 변화를 알고는 동시에 수정되는 것 또한 알았습니다.혹시 해당 프로그램을 종료하면 저장이 안되어있을텐데, 그 부분에 있어서는 선택된 네임과 에이지의 값을 set 하는 블록 내에서 코딩을 따로 해주면 되는 것일까요?현재는 age = value; 느낌이면 결국 value을 통해서 age에 바인딩되서 age를 리턴 해서 보여지게 된 것이라고 했을 때 ,모델측에 설정한 list 안의 데이터 값도 변화되서 저장해둘려면 따로 db를 이용해야하는 것일까요 ?
-
미해결Flutter 중급 3편 - 의존성 주입 가이드
마스크 json url이 안보여서 공유합니다
https://gist.githubusercontent.com/junsuk5/bb7485d5f70974deee920b8f0cd1e2f0/raw/063f64d9b343120c2cb01a6555cf9b38761b1d94/sample.json 강의 자료에 따로 없는것 같아서 공유드립니다!
-
미해결WPF (C#, 자막제공)
Microsoft 패키지 설치 후 Exception 문제
다음과 같이 Microsoft패키지로 다운 후 실행시켰더니 다음과 같은 Exception이 떴습니다. 해결방안이 뭐가 있을까요?
-
해결됨Part2: 초중급 iOS 인스타그램 클론(SwiftUI, MVVM, Firebase, 2024)
75강 실시간으로 팔로우수 안늘어나는 이유?
12:34 부분처럼 팔로잉, 팔로우 버튼을 눌렀을 때 해당 숫자의 변화가 없어요ㅜ
-
미해결C# WPF .NET Core(7.0)
Image Source 관련 질문입니다.
Image Source 사용할때 인터넷 연결 상태에서 빌드한 다음 빌드한 파일을 오프라인 환경에서 실행하면 이미지가 그대로 출력 돼나요? 아니면 이미지 참조가 불가능하니 오류가 발생하나요?
-
해결됨Part2: 초중급 iOS 인스타그램 클론(SwiftUI, MVVM, Firebase, 2024)
예전코드도 배워야 할까요?
안녕하세요, 강의를 듣다가 궁금한점 생겨 문의드리려 합니다.2023년 후로 대거 전체적으로 바뀌었다고 강의에서 배웠는데요.그러면 취업해서 유지보수도 필요하다고 하면 예전 코드도 전체적으로 마스터 해야 취업하는데 큰 도움이 되거나 또는 필수적으로 해야할까요?
-
미해결Flutter 고급 - 현업 수준의 아키텍처
jdk 설정 및 오류
안녕하세요 질문이 2개있습니다. 강의 듣던중 에뮬레이터 실행하니FAILURE: Build failed with an exception.* Where:Build file 'C:\workspace\Flutter\android\app\build.gradle' line: 5* What went wrong:An exception occurred applying plugin request [id: 'dev.flutter.flutter-gradle-plugin']> Failed to apply plugin 'dev.flutter.flutter-gradle-plugin'. > No such property: source for class: java.lang.String* Try:> Run with --stacktrace option to get the stack trace.> Run with --info or --debug option to get more log output.> Run with --scan to get full insights.* Get more help at https://help.gradle.orgBUILD FAILED in 590msError: Gradle task assembleDebug failed with exit code 1 에러가 났는데 뭐가문제일까요?plugins { id "com.android.application" id "kotlin-android" // The Flutter Gradle Plugin must be applied after the Android and Kotlin Gradle plugins. id "dev.flutter.flutter-gradle-plugin" } android { namespace = "com.survivalcoding.flutter_recipe_app_course" compileSdk = flutter.compileSdkVersion ndkVersion = flutter.ndkVersion compileOptions { sourceCompatibility = JavaVersion.VERSION_1_8 targetCompatibility = JavaVersion.VERSION_1_8 } kotlinOptions { jvmTarget = JavaVersion.VERSION_1_8 } defaultConfig { // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). applicationId = "com.survivalcoding.flutter_recipe_app_course" // You can update the following values to match your application needs. // For more information, see: https://flutter.dev/to/review-gradle-config. minSdk = flutter.minSdkVersion targetSdk = flutter.targetSdkVersion versionCode = flutter.versionCode versionName = flutter.versionName } buildTypes { release { // TODO: Add your own signing config for the release build. // Signing with the debug keys for now, so `flutter run --release` works. signingConfig = signingConfigs.debug } } } flutter { source = "../.." } ============================================================ file > settings > build Tools > gradle 설정 부분에서 jdk 설정부분이 없습니다.PS C:\workspace\Flutter> flutter config --listAll Settings: enable-web: (Not set) enable-linux-desktop: (Not set) enable-macos-desktop: (Not set) enable-windows-desktop: (Not set) enable-android: (Not set) enable-ios: (Not set) enable-fuchsia: (Not set) (Unavailable) enable-custom-devices: (Not set) cli-animations: (Not set) enable-native-assets: (Not set) (Unavailable) enable-flutter-preview: (Not set) (Unavailable) enable-swift-package-manager: (Not set) (Unavailable) jdk-dir: C:\Program Files\Java\jdk-17PS C:\workspace\Flutter> flutter doctor -v[√] Flutter (Channel stable, 3.24.0, on Microsoft Windows [Version 10.0.26100.2314], locale ko-KR) • Flutter version 3.24.0 on channel stable at C:\flutter • Upstream repository https://github.com/flutter/flutter.git • Framework revision 80c2e84975 (8 months ago), 2024-07-30 23:06:49 +0700 • Engine revision b8800d88be • Dart version 3.5.0 • DevTools version 2.37.2[√] Windows Version (Installed version of Windows is version 10 or higher)[√] Android toolchain - develop for Android devices (Android SDK version 35.0.1) • Android SDK at C:\Users\hong\AppData\Local\Android\sdk • Platform android-35, build-tools 35.0.1 • Java binary at: C:\Program Files\Java\jdk-17\bin\java • Java version Java(TM) SE Runtime Environment (build 17.0.14+8-LTS-191) • All Android licenses accepted.[√] Chrome - develop for the web • Chrome at C:\Program Files\Google\Chrome\Application\chrome.exe[!] Visual Studio - develop Windows apps (Visual Studio Build Tools 2019 16.11.42) • Visual Studio at C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools • Visual Studio Build Tools 2019 version 16.11.35425.106 • Windows 10 SDK version 10.0.19041.0 X The current Visual Studio installation is incomplete. Please use Visual Studio Installer to complete the installation or reinstall Visual Studio.[√] Android Studio (version 2024.3) • Android Studio at C:\Program Files\Android\Android Studio • Flutter plugin can be installed from: https://plugins.jetbrains.com/plugin/9212-flutter • Dart plugin can be installed from: https://plugins.jetbrains.com/plugin/6351-dart • Java version OpenJDK Runtime Environment (build 21.0.5+-12932927-b750.29)[√] VS Code (version 1.96.4) • VS Code at C:\Users\hong\AppData\Local\Programs\Microsoft VS Code • Flutter extension can be installed from: https://marketplace.visualstudio.com/items?itemName=Dart-Code.flutter[√] Connected device (4 available) • sdk gphone64 x86 64 (mobile) • emulator-5554 • android-x64 • Android 16 (API 36) (emulator) • Windows (desktop) • windows • windows-x64 • Microsoft Windows [Version 10.0.26100.2314] • Chrome (web) • chrome • web-javascript • Google Chrome 134.0.6998.89 • Edge (web) • edge • web-javascript • Microsoft Edge 132.0.2957.127[√] Network resources • All expected network resources are available.! Doctor found issues in 1 category.PS C:\workspace\Flutter> flutter config --list 명령어하면 jdk는 17이고 flutter doctor -v 하면 jdk가 21로잡혀있어서 버전이 다른데 jdk 설정하는부분이 없는데 어떻게하면 오류해결과 jdk 수동설정 가능하게 할 수 있을까요?
-
해결됨Part2: 초중급 iOS 인스타그램 클론(SwiftUI, MVVM, Firebase, 2024)
ProfileView에서 toolbar이용시 문제점 발생, 로직이 이해가 되지 않습니다.
var body: some View { NavigationStack { ScrollView { } } .navigationBarBackButtonHidden() .toolbar { ToolbarItem(placement: .topBarLeading) { Button { dismiss() } label: { Image(systemName: "arrow.backward") .tint(.black) } } } //:TOOLBAR위와 같이 ProfileView에서 body를 정의하셨는데,NavigationStack에 toolbar가 항상 나타나는 것으로 이해가 됩니다.그렇다면, 앱을 실행하고 바로 Profile tab을 누른다면, .toolbar가 자동으로 생성되면서 dismiss()가 작동하지 않는 toolbar가 생기는 상황이 발생했습니다.다시 FeedView로 돌아가면 기존 toolbar는 없어지지 않은채로 "<- : arrow.backward" 가 나타나고,FeedView에서 .overlay { } 로 정의된 NavigationLink를 클릭한다면 toolbar가 두개 생기는 것을 확인할 수 있었습니다. 두 개중 위의 버튼은 작동하지 않으며, 아래의 버튼을 누르면 dismiss()가 작동하여 Stack에 쌓인 ProfileView가 없어지면서 FeedView로 돌아가는 것을 확인할 수 있었습니다. 상황에 따라 toolbar가 보일 수 있도록 따로 설정을 해야하는 것일까요?다시 말해, ProfileView를 Profile을 tab하여 이동하는 경우는 .toolbar가 나타나지 않도록 해야하는 걸까요?