inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

172만명의 커뮤니티!! 함께 토론해봐요.

예제 빌드시 The compiler is unable to type-check this expression in reasonable time 에러 발생

미해결

SwiftUI + TCA: 실전 프로젝트로 완성하는 차세대 iOS 아키텍처

// // EditImageReducer.swift // AppStore // // Created by Langpeu on 12/24/25. // import ComposableArchitecture import SwiftUI import SwiftData import Photos @Reducer struct EditImageReducer { @ObservableState struct State { var userImage: Image? var assets: [PHAsset] = [] var selectedPhoto: (id: String, data: Data)? @Presents var alert: AlertState<Action>? } enum Action { case onAppear(image: Data?) case setUserImageData(Data?) case setUserImage(Image) case authResult(Bool) case onSelectPhoto(id: String, data: Data) } var body: some Reducer<State, Action> { Reduce { state, action in switch action { case let .onAppear(imageData): return Effect.run { send in let isAuth = await PhotoManager.requestAuthorization() await send(.authResult(isAuth)) await send(.setUserImageData(imageData)) } case let .authResult(isAuth): if isAuth { let assets = PhotoManager.getAssets() state.assets = assets } else { state.alert = AlertState.creatAlert(type: .error(message: "권한이 없습니다")) } case let .setUserImageData(data): guard let data, let uiImage = UIImage(data: data) else { return .none } return .send(.setUserImage(Image(uiImage: uiImage))) case let .setUserImage(image): state.userImage = image return .none case let .onSelectPhoto(id, data): state.selectedPhoto = (id: id, data: data) } return .none } } } struct EditImageView: View { @Bindable var store: StoreOf<EditImageReducer> let colums: [GridItem] = .init(repeating: .init(.flexible()), count: 3) @Query private var users: [User] private var user: User? { users.first } var body: some View { ScrollView { VStack { Text("선택된 이미지") // 선택된 이미지 Group { if let image = store.userImage { image .resizable() .scaledToFit() } else { Color.gray.opacity(0.2) } } .frame(width: 100, height: 100) .clipped() .cornerRadius(8) } LazyVGrid(columns: colums, spacing: 10) { ForEach(store.assets, id: \.localIdentifier) { asset in let isSelectedImage = store.selectedPhoto.id == asset.localIdentifier AssetImageView(asset: asset, isSelected: isSelectedImage, onTap: { data in //TODO: onTap store.send(.onSelectPhoto(id: asset.localIdentifier, data: data)) }) .clipped() .clipShape(RoundedRectangle(cornerRadius: 8)) } } .padding(8) } .onAppear() { store.send(.onAppear(image: user?.imageData)) } } } private struct AssetImageView: View { let asset: PHAsset let isSelected: Bool let onTap: (Data) -> Void let imageWidth: CGFloat = (UIScreen.currentWidth - 16 - 20) / 3 @State private var uiImage: UIImage? = nil var body: some View { Group { if let uiImage = uiImage { Image(uiImage: uiImage) .resizable() .scaledToFill() .onTapGesture { if let data = uiImage.jpegData(compressionQuality: 1.0) { onTap(data) } } } else { Color.gray.opacity(0.2) } } .frame(width: imageWidth, height: imageWidth) .overlay(alignment: .topTrailing, content: { if isSelected { Image(systemName: "checkmark.circle.fill") .foregroundColor(.green) .frame(width: 20, height: 20) } }) .onAppear() { PhotoManager.fetchImage(asset: asset) { uiImage in self.uiImage = uiImage } } } } 75번라인 var body: some View 에서 아래 빌드에러 발생 The compiler is unable to type-check this expression in reasonable time; try breaking up the expression into distinct sub-expressions ---- 위와 같은 에러로 빌드가 안되서 아래 처럼 처리 했습니다. (Xcode26.2 + M1Pro Macbook) 포인트: let isSelectedImage = ... 같은 로컬 let + 복잡한 클로저를 ForEach 내부에서 직접 쓰면 타입체커가 더 힘들어해. 함수로 빼면 거의 항상 해결됨. LazyVGrid(columns: colums, spacing: 10) { ForEach(store.assets, id: \.localIdentifier) { asset in assetCell(asset) } } .padding(8) } .onAppear() { store.send(.onAppear(image: user?.imageData)) } } @ViewBuilder private func assetCell(_ asset: PHAsset) -> some View { let isSelectedImage = (store.selectedPhoto?.id == asset.localIdentifier) AssetImageView( asset: asset, isSelected: isSelectedImage, onTap: { data in store.send(.onSelectPhoto(id: asset.localIdentifier, data: data)) }) .clipped() .clipShape(RoundedRectangle(cornerRadius: 8)) }

  • ios
  • swift
  • swiftui
랑프_Langpeu 댓글 1 좋아요 0 조회수 75

synchronized 대신 join 을 사용하여 순서를 보장할 경우 해법이 아닌가요?

미해결

김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] synchronized 이전 강의에서 join 을 활용하여 순서를 쓰레드의 순서를 보장하여 실행하는 방법에 대해 배웠습니다. 만약 동시에 같은 값에 대해 접근하는 것이 문제 라고 가정 할 경우 join 을 활용하여 특정 쓰레의 종료 이전 까지 다음 쓰레드 를 시작하는 것을 막는 다면 해결할수 있는 문제가 아닌가 생각합니다. 예를들어 다음과 같이 t1.join() 을 사용하면 t1 의 쓰레드가 종료 이전 까지는 t2 는 대기 상태가 될 것이고 t1 에서 최종 결과가 나오기 전까지는 t2 는 실행하지 못할 것 입니다. public class BankMain { public static void main(String[] args) throws InterruptedException { //BankAccount account = new BankAccountV1(1000); BankAccount account = new BankAccountV1(1000); Thread t1 = new Thread(new WithdrawTask(account, 800), "t1"); Thread t2 = new Thread(new WithdrawTask(account, 800), "t2"); t1.start(); t1.join(); sleep(500); log("t1 state :"+t1.getState()); log("t2 state :"+t2.getState()); t2.start(); //t2.join(); log("최종 잔액 : "+account.getBalance()); } }

  • java
  • 객체지향
  • 동시성
  • multithread
  • thread
정동희 댓글 2 좋아요 0 조회수 127

TextField 에 Binding 으로 연결하면 에러 발생

미해결

SwiftUI + TCA: 실전 프로젝트로 완성하는 차세대 iOS 아키텍처

강의 내용중에 아래 2가지가 가능하다고 했는데 1번 TextField("이메일을 입력해주세요", text: $store.email.sending(\.inputEmail)) 2번 TextField("이메일을 입력해주세요", text: Binding(get: { store.email }, set: { email in store.send(.inputEmail(email)) })) 2번 코드로 작성후 이메일주소를 수정후 저장 하니깐 아래와 같은 에러가 발생했습니다. A "forEach" at "AppStore/MyPageReducer.swift:96" received an action for a missing element. Action: MyPageStackReducer.Action.email(.inputEmail) This is generally considered an application logic error, and can happen for a few reasons: A parent reducer removed an element with this ID before this reducer ran. This reducer must run before any other reducer removes an element, which ensures that element reducers can handle their actions while their state is still available. An in-flight effect emitted this action when state contained no element at this ID. While it may be perfectly reasonable to ignore this action, consider canceling the associated effect before an element is removed, especially if it is a long-living effect. This action was sent to the store while its state contained no element at this ID. To fix this make sure that actions for this reducer can only be sent from a store when its state contains an element at this id. In SwiftUI applications, use "NavigationStack.init(path:)" with a binding to a store. 확인해 보니 pop시 Binding의 set 이 호출되서 이미 path에 없는 element를 호출하게 되서 해당 에러가 발생한다고 합니다. 그럼 TCA 환경에서는 1번을 꼭 사용해야 하는 건지요 ?

  • ios
  • swift
  • swiftui
랑프_Langpeu 댓글 1 좋아요 0 조회수 76

'특정 요소가 나타날 때까지 스크롤' 부분 에러

미해결

[신규 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)

가장 마지막에 element를 찍어서 확인하는 부분까지는 일치하게 나오는데 element.text를 하니까 아래와 같은 에러가 나옵니다. AttributeError : 'list' object has no attribute 'text' 아무래도 리스트 형태로 인식하는 것 같아 아래처럼 수정 후에 찍어보면 제대로 나오는데요. element[0].text 혹시 패키지 버전 때문에 발생하는 문제인지가 궁금합니다.

  • python
  • 웹-크롤링
1등분석가 댓글 2 좋아요 0 조회수 97

테스팅과 학습법의 관계 (?)

해결됨

[매일 완독 챌린지] 저자와 함께하는 <FastAPI로 기획에서 출시까지>

"6장: 테스팅 이해하기와 단위 테스트 연습하기" 강의 초반에 "테스팅을 잘하는 방법이 유용한 학습법과 맞닿아 있다" 고 하셨는데, 왜 그런지 궁금해서 글 남깁니다. 테스팅을 잘하는것과 학습이 어떻게 맞닿아 있는 것일까요. 강사님의 의견을 공유해주시면 감사하겠습니다.

  • python
  • aws
  • tdd
  • FastAPI
  • 북-챌린지
ayo 댓글 2 좋아요 0 조회수 83

메모리 가시성 문제 질문

미해결

김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성

========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 메모리 가시성 문제 가 발생하는 이유는 쓰레드가 공유 된 runFlag 값에 대해 반영이 않되어서 발생하는 문제라고 설명을 해주셨습니다. 예를들어 main 쓰레드에서는 false 를 true 로 변경하였으나 work 쓰레드에서는 해당 값이 변경되었는지 모르기 때문에 계속 동작하는 상태 입니다. 여기서 이해가 않가는 부분이 모든 프로그램은 보조기억 장치에서 실행을 하고 실행에 필요한 변수가 값 들은 모두 ram 과 같은 주 기억 장치에 저장되고 사용되는 걸로 알고 있습니다. 그렇다면 이 과정에서 쓰레드는 캐시메모리가 아닌 주기억 장치에서 값을 읽어서 사용해야 합니다. 지금 과정으로 설명된 것을 이해 하면 주기억 장치 또한 단순히 값을 저장하는 것 뿐이고 실제로는 캐시 메모리에서 한번더 데이터를 저장하고 cpu 는 캐시메모리에 접근하여 데이터를 연산한다고 이해 했습니다. 맞을까요?

  • java
  • 객체지향
  • 동시성
  • multithread
  • thread
정동희 댓글 1 좋아요 0 조회수 95

Basic LLM Chain 실행시 에러입니다

해결됨

원클릭으로 AI가 생성해주는 Youtube 쇼츠 만들기 자동화(with n8n)

이미지 프롬프트 생성 시 Basic LLM Chain 을 실행하면 에러가 발생합니다. n8n AI를 클릭해서 보면 다음과 같습니다.

  • python
  • youtube-api
  • n8n
  • ai-활용-(ax)
파란행복 댓글 2 좋아요 0 조회수 98

아이디어 발굴 관련 질문

미해결

100% 비개발자 바이브 코딩: 앱 200개로 월 140만 수익 노하우

안녕하세요 선생님! 먼저, 이렇게 좋은 컨텐츠를 만들어 주셔서 감사합니다. 평소 앱 수익화에 대해 관심이 많았는데, 어떻게 할 수 있을지에 대해서 고민이 많았습니다. 이 강의를 통해 고민을 해결 할 수 있을것 같습니다. 감사합니다!! 아이디어 발굴 관련 궁금한것이 있어 질문 드립니다. 아이디어 발굴에 대한 부분이 중요할거라 생각 됩니다. 앱을 만들면서 감을 익혀 나가겠지만, 그래도 처음에 어떻게 가닥을 잡고 시작해야 하는지 막막합니다. 아이디어 발굴은 어떻게 하면 좋을까요? AI에게 질문을 해도 답변으로 받은 아이디어들이 진짜 괜찮은것들인지 확신이 들지 않습니다... 어느 정도 심플한 아이디어여야 하는지? 예시가 있을까요? 어떤 카테고리 또는 어떤 성격의 앱을 먼저 시작해 보면 좋을지? 특정 아이디가 반응이 좋을지에 대한 판단은 어떻게 내리시는지? 기준이 있으신지? 자신의 영역을 구축해 나가는 것을 어떻게 확인 할 수 있을지? 확인하는 특정 지표가 있는지? 이 외에도 혹시 실례가 되지 않는다면 아이디어 선정 관련 팁들이 있다면 혹시 알려 주실수 있을까요? 앞으로 앱을 만들면서 대단히 도움이 많이 될것 같아서 부탁드립니다. 감사합니다!

  • python
  • flutter
  • chatgpt
  • claude
  • 바이브코딩
loomin100 댓글 1 좋아요 0 조회수 119

commit과 flush 관련

해결됨

[매일 완독 챌린지] 저자와 함께하는 <FastAPI로 기획에서 출시까지>

질문이 조금 많아서 죄송합니다. 다음 테스트 코드에서 commit()과 flush()의 위치가 이상해보였습니다. async def test_user_detail_for_real_user(client: TestClient, db_session: AsyncSession): user = User( username="test", password="test", email="test@example.com", display_name="test", is_host=True, ) db_session.add(user) await db_session.commit() await db_session.flush() commit()은 DB에 반영된 트랜잭션의 변경사항을 영속적으로 만들고 트랜잭션을 종료하는 코드로 이해하고 있고, flush()는 트랜잭션의 변경사항을 실제 DB에 SQL 구문을 통해 반영하는 것으로 알고 있습니다. 그래서 이 둘의 순서가 변경된 것이 아닌지 혹은 다른 의도가 있는 것인지 궁금합니다.

  • python
  • aws
  • tdd
  • FastAPI
  • 북-챌린지
kyo lee 댓글 3 좋아요 0 조회수 85

Annotated 대 인자 기본값 관련해서

해결됨

[매일 완독 챌린지] 저자와 함께하는 <FastAPI로 기획에서 출시까지>

default_deps에서 기본 값으로 Depends 함수가 반환하는 객체가 할당되는 것까지는 이해했는데, 해당 동작이 왜 의도하지 않은 동작 인 건지가 이해되지 않습니다. 오히려 아래 쪽이 기본값이 적용되니 더 편리해 보이기만해서 Annotated를 권장하는 이유가 와닿지 않더라구여. 이에 대해서 조금 더 구체적으로 알고 싶습니다. DbSeDep = Annotated[AsyncSession, Depends(use_session)] async def annotated_deps(session: DbSeDep): pass annotated_deps() async def default_deps(session: AsyncSession = Depends(use_session)): pass default_deps()

  • python
  • aws
  • tdd
  • FastAPI
  • 북-챌린지
kyo lee 댓글 2 좋아요 0 조회수 59

이미지생성 에러 해결 부탁드립니다.

해결됨

원클릭으로 AI가 생성해주는 Youtube 쇼츠 만들기 자동화(with n8n)

BGM 결과 조회 카피해서 이미지생성에 넣었는데 작동이 않되요. 참고로 BGM 결과 조회는 잘 작동됩니다.

  • python
  • youtube-api
  • n8n
  • ai-활용-(ax)
이두경 댓글 2 좋아요 0 조회수 126

스프링부트 프로젝트 생성에서 java version

해결됨

[말 한마디로 뚝딱!] AI와 함께 나만의 수익화 웹사이트를 만드는 법

현재 spring boot 버전 설치에서 JAVA 버전을 선택해야 되는데요, 현재 24, 21, 17 버전만 제공되고 있습니다. 그리고 스프링 부트드 3.4.0 버전은 없고 아래와 같은데요, 혹시 21버전이나 17버전으로 진행해도 관계없을까요? Spring boot 버전은 몇으로 하는게 좋을지 궁금합니다. 그리고 intellij 말고 VS code 로 진행해도 관계없을까요?

  • HTML/CSS
  • java
  • mysql
  • php
  • ai-활용-(ax)
hj.joh 댓글 2 좋아요 0 조회수 233

mmdetection 2.x과 3.x 호환 관련 표기

미해결

[개정판] 딥러닝 컴퓨터 비전 완벽 가이드

안녕하세요 강의 내용 중에 2.x내용이 많은데 그 중에 3.x에서는 사용할 수 없는 부분에 대한 강의를 표시를 해주시면 감사하겠습니다. 이미 3.x 존재하지않는 내용을 공부하는것을 덜어주셨으면 좋겠습니다. 물론 호환이 되거나 도움이 되는 부분은 그대로 좋습니다. 감사합니다. - 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 강의 내용을 질문할 경우 몇분 몇초의 내용에 대한 것인지 반드시 기재 부탁드립니다. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

  • python
  • 머신러닝
  • 딥러닝
  • keras
  • tensorflow
  • 컴퓨터-비전
HYUN TAEK CHOI 댓글 2 좋아요 0 조회수 109

mm_faster_rcnn_train_kitti.ipynb 실행 오류

미해결

[개정판] 딥러닝 컴퓨터 비전 완벽 가이드

이 파일의 코드를 하나씩 실행하려고 하는데, 첫번째 코드는 2.8.0+cu126 두번째 코드에서 오류가 납니다. Looking in indexes: https://download.pytorch.org/whl/cu118 ERROR: Could not find a version that satisfies the requirement torch==2.0.0 (from versions: 2.2.0+cu118, 2.2.1+cu118, 2.2.2+cu118, 2.3.0+cu118, 2.3.1+cu118, 2.4.0+cu118, 2.4.1+cu118, 2.5.0+cu118, 2.5.1+cu118, 2.6.0+cu118, 2.7.0+cu118, 2.7.1+cu118) ERROR: No matching distribution found for torch==2.0.0 혹시나 해서 python 버전을 확인해 보니 3.12.12 (main, Oct 10 2025, 08:52:57) [GCC 11.4.0] 입니다. 이미 버전이 올라가서 mmdetection 2.x 실습이 가능할지 모르겠습니다. 조언 부탁드리겠습니다. 감사합니다. - 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 강의 내용을 질문할 경우 몇분 몇초의 내용에 대한 것인지 반드시 기재 부탁드립니다. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

  • python
  • 머신러닝
  • 딥러닝
  • keras
  • tensorflow
  • 컴퓨터-비전
HYUN TAEK CHOI 댓글 3 좋아요 0 조회수 134

xcode 26.2 에서 ReducerOf<Self> 이슈

미해결

SwiftUI + TCA: 실전 프로젝트로 완성하는 차세대 iOS 아키텍처

강의 내용처럼 EditNameReducer 에서 ReducerOf<Self> 를 사용하면 아래처럼 에러가 발생합니다. @Reducer 매크로 타입은 빌드시점이 되야 EditNameReducer 가 Reducer 타입인걸 알기 때문에 사용 못한다고 하는데 강의는 에러 없이 되서 xcode26.2 에서 왜 안되는지 알고 싶습니다. 결국 아래처럼 변경해서 사용 했습니다. var body: some Reducer <State, Action> { Reduce { state, action in return .none } }

  • ios
  • swift
  • swiftui
랑프_Langpeu 댓글 2 좋아요 0 조회수 108

[수업 자료 질문] Cache Aside의 특징 문의

해결됨

6주 완성! 백엔드 이력서 차별화 전략 4가지 - 똑같은 이력서 속에서 돋보이는 법

1. 현재 학습 진도 몇 챕터/몇 강을 수강 중이신가요? 6-4. 캐싱의 개념 3 2. 어려움을 겪는 부분 어떤 개념이 헷갈리시나요? 수업 자료를 보면 "Cache Aside는 구현이 간단하고 캐시 효율이 뛰어납니다. 하지만 데이터가 변경되었을 때 실시간으로 반영되지 않아 데이터 불일치 가능성이 있습니다."고 하는데, 왜 Cache Aside가 구현이 간단하고 캐시 효율이 뛰어난지 잘 이해가 가지 않습니다. Cache Aside에서는 애플리케이션 단에서 컨트롤을 다 해야 해서 구현이 길어지지 않나요? Cache Aside가 다른 전략과 비교했을 때 캐시 효율이 뛰어난 이유가 있을까요? 3. 시도해보신 내용 문제 해결을 위해 어떤 시도를 해보셨나요? 데이터 변경시 데이터 불일치에 대한 설명이 있는 것을 보면 혹시 해당 부분 설명은 Cache Aside보다는 Write Around Aside 에 대한 설명에 더 가깝지 않을까하는 생각도 해보았습니다.

  • java
  • spring
  • mysql
  • redis
  • 이력서
  • 카카오공채-채용
happyrichman 댓글 2 좋아요 0 조회수 122

[수업자료 문의] RedisTemplate으로 SETNX 시 리턴값 문의

해결됨

6주 완성! 백엔드 이력서 차별화 전략 4가지 - 똑같은 이력서 속에서 돋보이는 법

1. 현재 학습 진도 몇 챕터/몇 강을 수강 중이신가요? 6- 12 여기까지 이해하신 내용은 무엇인가요? RedisTemplate으로 SETNX를 할 수 있고, 이 때의 리턴값은 boolean이다. 2. 어려움을 겪는 부분 어떤 개념이 헷갈리시나요? 수업 자료에는 RedisTemplate을 통해 SETNX 요청시 키 존재 유무와 상관없이 모두 True를 리턴한다고 설명 3. 시도해보신 내용 문제 해결을 위해 어떤 시도를 해보셨나요? 혹시 키가 이미 존재하면 RedisTemplate에서는 False 를 리턴하는 것이 아닐까요?

  • java
  • spring
  • mysql
  • redis
  • 이력서
  • 카카오공채-채용
happyrichman 댓글 2 좋아요 0 조회수 116

OpenAI Chat Model 문제가 있는것 같습니다

해결됨

원클릭으로 AI가 생성해주는 Youtube 쇼츠 만들기 자동화(with n8n)

주제생성과 TTS 생성과정에 OpenAI Chat Model에 문제가 생긴것 같습니다. 챗gpt도 구매해보고 n8n도 유료로 해봤는데 방법을 모르겠습니다.

  • python
  • youtube-api
  • n8n
  • ai-활용-(ax)
fayest 댓글 2 좋아요 0 조회수 80

문제가 어디있나요?

미해결

파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)

다운로드 해도 문제 pdf 가 없는데요?

  • python
  • 코딩-테스트
댓글 2 좋아요 0 조회수 104

n8n 다음 단계 실행이 안 돼요

해결됨

원클릭으로 AI가 생성해주는 Youtube 쇼츠 만들기 자동화(with n8n)

n8n 단계를 실행할 때 성공적으로 실행됐다고 나오는데 실행이 안 돼요. 혹시 몰라서 새로운 계정 만들어서 해봤는데도 똑같이 나오는데 이건 어떻게 해야 되나요

  • python
  • youtube-api
  • n8n
  • ai-활용-(ax)
sws6054 댓글 2 좋아요 0 조회수 110

인기 태그

인프런 TOP Writers

주간 인기글