inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

/init 와 CLAUDE.md 파일 한글화에 대해 질문

미해결

클로드 코드 완벽 마스터: AI 개발 워크플로우 기초부터 실전까지

안녕하세요. 강의 잘 듣고 있습니다. 두가지 질문이 있어서요 프로젝트 진행중에 새로운 기능이나 변경 사항이 있을때마다 /init를 해주면 좋은가요?(토큰 사용량과는 상관없이) CLAUDE.md 파일 내용은 원래 영어로 되어 있는건에 이번 강의에서 보니깐 한글로 요청해서 하시던데, 클코가 프로젝트를 이해하고 수행하는데 영어와는 차이가 없을까요? (역시 토큰 사용량과 상관없이, 한글 사용해도 클코가 잘 이해하고 잘 따르는지 궁금합니다.)

  • react
  • next.js
  • cursor
  • tailwindcss
  • claude
kelo 댓글 1 좋아요 0 조회수 756

Link 컴포넌트는 그러면 웬만하면 무조건 쓰는편이 좋은가요?

미해결

Next.js 까보기: "쓸 줄 아는 개발자"에서 "알고 쓰는 개발자"로

예를들어 landing 페이지에서 특정 페이지를 prefetching하는데 가져오는 그 페이지내에서 사용되는 데이터가많거나 할경우 prefetch가 독이되는 경우가 있을까요? 아니면 웬만하면 무조건 쓰는게 맞을까요?

  • react
  • typescript
  • next.js
dev_junior 댓글 2 좋아요 0 조회수 124

윈도우 git 설치후 파워쉘에서 버전 검색을 했더니 오류가 뜹니다.

미해결

클로드 코드 완벽 마스터: AI 개발 워크플로우 기초부터 실전까지

git : 'git' 용어가 cmdlet, 함수, 스크립트 파일 또는 실행할 수 있는 프로그램 이름으로 인식되지 않습니다. 이름이 정확 한지 확인하고 경로가 포함된 경우 경로가 올바른지 검증한 다음 다시 시도하십시오. 위치 줄:1 문자:1 + git -v + ~~~ + CategoryInfo : ObjectNotFound: (git:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException 이렇게 떠용. 재설치 해야 하나요?

  • react
  • next.js
  • cursor
  • tailwindcss
  • claude
조르바 댓글 2 좋아요 0 조회수 292

활용 앱 30강 에러 질문입니다

해결됨

앨런 iOS 앱 개발 (15개의 앱을 만들면서 근본원리부터 배우는 UIKit) - MVVM까지

let backButton: UIButton = { let button = UIButton(type: .custom) button.setTitle("Back", for: .normal) button.setTitleColor(.white, for: .normal) button.backgroundColor = UIColor.blue button.titleLabel?.font = .boldSystemFont(ofSize: 20) button.addTarget(self, action: #selector(backButtonTapped), for: .touchUpInside) return button }() backButton 설정시에 addTarget 첫번째 인자로 self 로 전달하니까 'self' refers to the method 'FirstViewController.self', which may be unexpected 라는 warning 문구가 xcode 내에 표시되어서 xcode 에서 추천하는 방향대로 아래 코드블록 처럼 FirstViewController.self 로 전달하니까 backButton 클릭시 Exception 이 발생하는데요. button.addTarget(FirstViewController.self, action: #selector(backButtonTapped), for: .touchUpInside) 이 부분 왜 Excpetion 이 발생하는건지 궁금합니다. self 로 전달하면 문제는 없는데 경고문구가 나오는게 신경쓰입니다. 경고문구를 없애고 버튼 클릭에도 문제가 없으려면 어떻게 하는게 좋을까요? Exception 문구는 아래와 같습니다. *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '+[NextVC.FirstViewController backButtonTapped]: unrecognized selector sent to class 0x100e4a3d8' *** First throw call stack: (0x19df92964 0x19ae81814 0x19e02d140 0x19df1235c 0x19df1a200 0x1a4c49f58 0x1a4501154 0x1a4501498 0x1a44fdf08 0x1a450001c 0x1a4c7a2d4 0x1a4c7b734 0x1a4c5e170 0x1a3892d38 0x1a38a1e28 0x1a3894c50 0x1a38a2ee4 0x1a38a2374 0x28cd15560 0x19dee34cc 0x19df130b0 0x19df12fd8 0x19deeac1c 0x19dee9a6c 0x23fb18498 0x1a38c2df8 0x1a386be54 0x1a3997820 0x100e365cc 0x100e3653c 0x100e36648 0x19aed6e28) libc++abi: terminating due to uncaught exception of type NSException

  • ios
  • iOS-Autolayout
  • mvc
  • mvvm
  • uikit
이한재 댓글 2 좋아요 0 조회수 99

부분집합 전역변수 질문

미해결

2026 코딩테스트 올인원 [JAVA]

public class Subsets { List<List<Integer>> ans = new ArrayList<>(); List<List<Integer>> solution(int[] nums, int m) { dfs(nums, m, 0, new ArrayList<>()); return ans; } void dfs(int[] nums, int m, int start, List<Integer> curr) { //base case ans.add(new ArrayList<>(curr)); // 매순간 ans에 추가 //상태 전이 for(int i=start; i< nums.length; i++) { curr.add(nums[i]); dfs(nums, m, i+1, curr); curr.remove(curr.size()-1); } } } ans를 전역변수로 설정하고 for문으로 상태 전이할때마다 ans값을 수정하는 방식으로 구현할때 addAll(dfs(nums, m, i+1, curr));으로 하니 dfs가 void로 리턴돼서 에러가 나는데 위의 코드 블럭과 같이 dfs(nums, m, i+1, curr);로 실행하고 basecase에서만 ans에 curr을 추가하는 방식으로 하면 되는걸까요? 질문 봐주셔서 감사합니다!

  • java
  • 코딩-테스트
  • 알고리즘
  • data-structure
ming 댓글 2 좋아요 0 조회수 75

31. 객체 업데이트 하기 - 10:15 질문

미해결

React 완벽 마스터: 기초 개념부터 린캔버스 프로젝트까지

안녕하세요, 평소에 짐코딩님 강의 잘 듣고 있습니다. setForm에서 오브젝트로 title만 업데이트 해주더라도 기존의 description 값은 어떻게 그대로 유지가 되는 걸까요?

  • react
  • React-Context
  • react-router
  • tailwindcss
  • react-query
Jaehyeon Lee 댓글 2 좋아요 1 조회수 82

Redux DevTools 에서 anonymous가 두 번씩 찍혀요

해결됨

한 입 크기로 잘라먹는 React.js 실전 프로젝트 - SNS 편

안녕하세요 강의 잘 듣고 있습니다! 다름이 아니고 (3.5) Zustand 미들웨어 2 강의를 들으며 실습 중, 알려주신 Redux DevTools 설치 이후 강의와 같이 한번 클릭하여도 anonymous가 두 번씩 찍혀서 노출되는데 제가 다시 확인해봐야 할 부분이 있을까요? 감사합니다.

  • react
  • typescript
  • zustand
뚜루뚜루 댓글 2 좋아요 0 조회수 86

OperationEx3에서 꼭 boolean을 써야 하나요?

미해결

김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 김영한님은 이렇게 푸셨는데 저는 이렇게 풀었습니다. 이게 문제가 있는 건지 알고 싶습니다. package operator.ex; public class OperationEx3 { static void main(String[] args) { int score = 88; System.out.println(80 <= score && score <= 100); } }

  • java
  • 객체지향
dhada0137 댓글 1 좋아요 0 조회수 87

강의 잘 듣고 있습니다.

해결됨

[VOD] 6주 완성! 개발 실무를 위한 고농축 바이브코딩 (Cursor AI, Figma)

안녕하세요. 바이브코딩 강의 너무 잘 듣고 있습니다. 혹시 강의에서 완성된 코드의 github 주소 혹은 완성된 결과 프로젝트를 받을 수 있을까요? 매번 자료를 다운로드 받는 게 다소 번거롭기도 하고, 완성된 결과를 비교하면서 공부하고 싶어서 그렇습니다...! ㅠ

  • react
  • next.js
  • cursor
  • 프롬프트엔지니어링
  • 바이브코딩
수수수 댓글 2 좋아요 0 조회수 121

파일명 질문

미해결

한 입 크기로 잘라먹는 React.js 실전 프로젝트 - SNS 편

안녕하세요 선생님 선생님 리액트 기초 강의를 들었는데 제 기억에서는 그 리액트 파일명을 대문자로 써야한다? 이렇게 들었던 거 같은데 (아니면 죄송) 왜 여기에서는 파일명을 소문자로 쓸까요? 그리고 파일명하고 그 내보내는 함수를 다르게 쓰는 이유가 있나요? 그리고 왜 화살표함수로 안만들고 function으로 할까요? 그리고 export를 아래에 안쓰는 이유가 있을까요? 수업시간에 설명했는데 제가 놓친거면 죄송합니다 ㅠㅠ

  • react
  • typescript
  • react-query
  • supabase
  • zustand
김성관 댓글 2 좋아요 0 조회수 51

예제 빌드시 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 조회수 77

빠른 메모리 저장

미해결

클로드 코드 완벽 마스터: AI 개발 워크플로우 기초부터 실전까지

강의 중 프롬프트 창에 #을 입력해서 빠르게 등록을 하는데, 저의 경우는 #을 입력해도 # to memorize가 보이지 않습니다

  • react
  • next.js
  • cursor
  • tailwindcss
  • claude
크리스추 댓글 1 좋아요 1 조회수 94

claude 스타터킷 개발 설정

해결됨

클로드 코드 완벽 마스터: AI 개발 워크플로우 기초부터 실전까지

스크린샷에서 레이아웃부터 어떻게 설정하면 되는거죠?

  • react
  • next.js
  • cursor
  • tailwindcss
  • claude
read.eun77 댓글 2 좋아요 0 조회수 109

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 조회수 137

claude code

미해결

클로드 코드 완벽 마스터: AI 개발 워크플로우 기초부터 실전까지

cursor에서 control+esc 를 눌렀을 때 claude code가 나오지 않을때는 어떻게 하나요?

  • react
  • next.js
  • cursor
  • tailwindcss
  • claude
read.eun77 댓글 3 좋아요 0 조회수 212

[질문] CLAUDE.md 파일

미해결

클로드 코드 완벽 마스터: AI 개발 워크플로우 기초부터 실전까지

스크린샷처럼 .claude 안에 md 파일이 없는 경우는 어떻게 해야 하나요?

  • react
  • next.js
  • cursor
  • tailwindcss
  • claude
read.eun77 댓글 2 좋아요 0 조회수 231

Starter Kit을 만드는 이유가뭔가요?

미해결

클로드 코드 완벽 마스터: AI 개발 워크플로우 기초부터 실전까지

안녕하세요 이 Starter Kit을 만드는 이유가 뭘까요? Starter kit에 대한 자세한 설명이 필요합니다 ㅠ 아무래도 이걸 왜 만드는지 알아야 개발하는데 집중이 되고 이해가 돼서 궁금합니다. 그냥 연습을 위한 프로젝트 중 하나인지, 앞으로 프로젝트를 위한 스타터 킷인지 궁금합니다.

  • react
  • next.js
  • cursor
  • tailwindcss
  • claude
은석 댓글 1 좋아요 0 조회수 195

이제 npm 설정할 떄 오류가 안 뜨나요?

미해결

클로드 코드 완벽 마스터: AI 개발 워크플로우 기초부터 실전까지

해당 동영상대로 next.js의 설치 자체를 클로드코드에게 맡겼는데요, 영상대로라면 오류가 나야하는데 오류 없이 잘 설치가 됩니다. (빈 폴더가 아닌데도) 혹시 이 부분을 클로드 측에서 업데이트해서 잘 되는걸까요?

  • react
  • next.js
  • cursor
  • tailwindcss
  • claude
은석 댓글 2 좋아요 1 조회수 126

eslint설정 관련입니다.

미해결

한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지

안녕하세요. 지금 리액트 따라하기 하면서 보고있는데 eslint 부분 설정에서 저는 eslintrc.cjs란 파일이 없고 eslint.config.js란 파일만 있는데 rules 상에서는 처음에 no-unsed-vars는 error로 되있어서 off로 바꿔줬는 "react/prop-types": "off" , 부분은 어떡해 추가해 줘야 하는지요.

  • javascript
  • react
  • node.js
  • 카카오공채-개발
김민정(질풍가도) 댓글 2 좋아요 0 조회수 218

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 조회수 80

인기 태그

인프런 TOP Writers

주간 인기글