묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결비전공자도 따라하는 워드프레스 홈페이지 제작
css 번호값 설정
자주하는 질문은어디서 볼수 있나요 CSS ID 에 고유 주소를 부여하고 다른 페이지에 ㅎ설치한 버튼 기능에 id주소의 값을 #과함께 설정을 해 주었습니다. 하지만 페이지에서 확인해 보니 연동이 안됩니다.
-
미해결김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
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); } }
-
미해결파이썬으로 마케팅 자동화하기
시간이 넘 지나서 구매했더니 현재 변경된 환경에서 어려움이 있네요.
id_elem = driver.find_element_by_id('id') id_elem.click()똑같이 따라하고 있는데 이 부분에서 계속 none type이라고 에러가 나옵니다. 완젼 초짜라 우째해야 할런지 감이 없네요.
-
미해결[VOD] 6주 완성! 개발 실무를 위한 고농축 바이브코딩 (Cursor AI, Figma)
강의 잘 듣고 있습니다.
안녕하세요. 바이브코딩 강의 너무 잘 듣고 있습니다.혹시 강의에서 완성된 코드의 github 주소 혹은 완성된 결과 프로젝트를 받을 수 있을까요?매번 자료를 다운로드 받는 게 다소 번거롭기도 하고, 완성된 결과를 비교하면서 공부하고 싶어서 그렇습니다...! ㅠ
-
미해결한 입 크기로 잘라먹는 실전 프로젝트 - SNS 편
파일명 질문
안녕하세요 선생님선생님 리액트 기초 강의를 들었는데제 기억에서는그 리액트 파일명을 대문자로 써야한다? 이렇게 들었던 거 같은데(아니면 죄송)왜 여기에서는 파일명을 소문자로 쓸까요?그리고 파일명하고 그 내보내는 함수를 다르게 쓰는 이유가 있나요?그리고 왜 화살표함수로 안만들고 function으로 할까요?그리고 export를 아래에 안쓰는 이유가 있을까요?수업시간에 설명했는데 제가 놓친거면 죄송합니다 ㅠㅠ
-
해결됨Windows System 프로그래밍
프로세스와 가상메모리의 주소 위치와 테이블 매핑
1.전시간에 프로세스가 구조체라고 한게 C언어의 문법 struct와 관련이 있나요?2.제가 현재 이해한 건 프로그램을 실행시키면 물리 메모리에 적재되는데 물리 메모리가 부족하면 안 쓰는 데이터들을 HDD에 페이지에 올리고 필요해지면 다시 물리 메모리에 올리는 식으로 이해 했는데 여기서 하드에 있는 페이지는 물리 주소랑 매핑 안되어 있고, 나중에 쓸 때 매핑 되는 거죠? 그러면 물리 페이지와 논리 페이지 둘다 램에 있는 건가요? 그중에서 하드에 있는 것도 논리 페이지면 매핑이 되야 될텐데 하드에 있는 것까지 매핑되면 물리메모리가 부족한 문제는 해결 안될 거 같아서 살짝 이해가 안되네요.3.2번에서 나오긴 했지만 가상메모리의 저장위치가 램과 하드가 맞나요?
-
미해결The 10x AI-Native Developer: 회사에서 AI로 압도적 성과를 내는 법
1-8. Dispatcher에 멘토 규칙 추가
(...중략...) // ===== 기존 보안 규칙들 (그대로 유지) ===== // 규칙 1: .env 파일 접근 제어 if (filePath.includes('.env')) { if (toolName === 'Read' || toolName === 'Grep') { console.error("❌ 보안 규칙 위반: .env 파일은 읽을 수 없습니다. 작업이 차단되었습니다."); process.exit(2); } } (...중략...) // ===== 새로운 아키텍트 멘토 규칙들 ===== // 멘토 규칙 1: 라우터 파일 수정 시 멘토링 if (filePath.includes('/routes/') && (toolName === 'Edit' || toolName === 'Create' || toolName === 'Write')) { const fileName = filePath.split('/').pop() || ''; const entityName = fileName.replace(/Routes?\.(js|ts)$/i, ''); console.error(`🎯 [라우터 수정 감지] ${entityName} API 라우터를 수정하려고 합니다.`); console.error(`📚 아키텍트 멘토의 조언: 라우터 수정 전에 다음을 확인하세요:`); console.error(` - src/models/${entityName}.js (데이터 모델)`); console.error(` - src/services/${entityName}Service.js (비즈니스 로직)`); console.error(` - 기존 API 패턴과의 일관성`); console.error(`먼저 관련 파일들을 읽고 계획을 세워주세요!`); process.exit(2); }이 코드를 보면 라우터 경로에 있는 파일을 수정하려고 할때와 .env 을 읽을때 동일하게항상 process.exit(2); 가 실행될 것 같습니다.환경변수를 절대 읽을 수 없는 것처럼라우터 경로 파일도 결국 절대로 수정할 수 없어야 하지 않나요?왜 수정 가능한건가요?
-
미해결구글 애드센스 수익형 워드프레스 블로그 만들기
도메인과 호스팅구매후 상태
강의에 대한 질문은 인프런 질문하기나, 1:1 커뮤니티 페이지에서 문의하시면 빠르게 답변 드리고 있습니다.(커뮤니티 주소 https://itconnect.dev/커뮤니티/) 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요테마 파일과 CSS, PHP 파일은 아래 링크를 통해 받아보실 수 있습니다.https://drive.google.com/drive/folders/1KtkfsZe2uy5jNMps0F6gnqlEvZnq0mRN?usp=sharing
-
해결됨Windows System 프로그래밍
유저모드와 커널모드 차이
PPT에 유저모드는 하드웨어 접근 X라고 나와있고, 커널모드는 하드웨어 직접 접근이라 나와있는데 유저모드에서 syscall을 보내면 그것도 하드웨어 접근이 맞지 않나요? 그럼 유저모드에서도 접근 O인 거 같은데 이부분이 살짝 헷갈립니다..!만약에 제가 이해한게 맞다면 syscall도 user mode 인터페이스일텐데 인터럽트를 통해 컨텍스트 스위칭이 된다면 직접 접근 할 수 있는 명령어가 아닐까 싶어서요..!
-
미해결SwiftUI + TCA: 실전 프로젝트로 완성하는 차세대 iOS 아키텍처
예제 빌드시 The compiler is unable to type-check this expression in reasonable time 에러 발생
// // 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)) }
-
미해결친절한 블렌더 - [LV.1] 기초 모델링
Shift+D 복제 관련 질문이 있습니다
Shift+D 를 하면 오브젝트의 형태변경은 연동이 안되는데 텍스쳐는 연동이 됩니다 텍스쳐가 연동되는 원인과 두 오브젝트의 텍스쳐를 다르게 하고 싶을때 해결방법을 알려주실 수 있으신가요?
-
미해결기출로 대비하는 개발자 전공면접 [CS 완전정복]
노션 접근이 안됩니다 ㅠㅠ
같은 질문 드려서 죄송합니다 선생님. 노션에 접근이 되지 않습니다.. 다시 한번만 확인 부탁드리겠습니다 ㅠㅠ
-
미해결클로드 코드 완벽 마스터: AI 개발 워크플로우 기초부터 실전까지 (with 커서 AI)
빠른 메모리 저장
강의 중 프롬프트 창에 #을 입력해서 빠르게 등록을 하는데,저의 경우는 #을 입력해도 # to memorize가 보이지 않습니다
-
미해결비전공자도 따라하는 워드프레스 홈페이지 제작
헤더질문
헤더 질문드립니다. 헤더의 메인 햄버거 모양이 모바일 화면에서 보이지 않습니다. 엑스표창은 보이지만 팝업창에 메뉴의 하위 요소가 보이지 않는이유가 혹시 글자색상이 투명색으로 지정되어도 그런 현상이 나옵니까? 메인 화면을 설정할때 처음 엘리멘터써킷 이전에 다른 메뉴를 설정을 하고 엘리멘터 써킷 메뉴를 재 지정하고 이전 메뉴를 삭제 했던 과정이 있었는데 그 과정에서 잘못되었다면 메뉴가 보이지 않을수 있는ㄴ지요
-
미해결클로드 코드 완벽 마스터: AI 개발 워크플로우 기초부터 실전까지 (with 커서 AI)
claude 스타터킷 개발 설정
스크린샷에서 레이아웃부터 어떻게 설정하면 되는거죠?
-
미해결비전공자도 따라하는 워드프레스 홈페이지 제작
헤더 질문
헤더설정 질문 드립니다. 헤더를 푸터와 함께 별도로 작업을 해 놓았고. 메인 홈화면에서는 헤더를 만든후 원래 페이지에 만들었던 헤더 페이지를 지워 헤더를 모든 페이지에 활성화 시켰습니다. 당연히 엘리멘터로 편집창에서 보면 홈화면이나 다른 블로그 게시판 이런 페이지에서는 헤더의 모습을 볼수 없지만 홈페이지 주소로 들어가면 헤더가 나옵니다. 하지만모바일 화면에서 활성화 시켜보면 헤더의 메인 햄버거 모양까지 나오고 햄버거 모양을 클릭했을때 팝업창이 활성화 되는 모습이 가려져서 보이지가 않습니다. 조언구합니다.
-
미해결비개발자 4주만에 수익화 서비스 만들기: AI 바이브코딩 웹 + 앱 ALL IN ONE
도와주세요 superbase
지금 현재날짜 12.28 슈퍼베이스 없어지고 자체클라우드 연동인데 강의는 다 슈퍼베이스 들어가서 이것저것하는데 공부가 진행이안돼요 보면서 따라해도 계속 막히고 그냥 저 혼자 맨땅에 헤딩하는 느낌이에요... 로그인기능 구현하는데 403에러나서 강의는 슈퍼베이스로 진행하는데 저혼자 그냥 어찌저찌 해보고있는데 강의를 보면서 진행이 안되니.. 미칠거같네요
-
미해결김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성
synchronized 대신 join 을 사용하여 순서를 보장할 경우 해법이 아닌가요?
[질문 템플릿]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()); } }
-
미해결스프링 부트 - 핵심 원리와 활용
@Counted 초기화
안녕하세요 강사님이 하시는것처럼 @Counted를 사용해서 메트릭을 수집하는데스프링 애플리케이션을 다시 실행하면 과거에 획득한 메트릭을 0으로 초기화되어서 처음부터 시작되더라고요.그런데 이러면 나중에 비즈니스 메트릭을 똑바로 수집하지 못하지 않나요?애플리케이션을 다시 시작해도 메트릭을 0부터가 초기화하는게 아니라 계속 누적되면서 하는 방법도 있나요?
-
미해결클로드 코드 완벽 마스터: AI 개발 워크플로우 기초부터 실전까지 (with 커서 AI)
claude code
cursor에서 control+esc 를 눌렀을 때 claude code가 나오지 않을때는 어떻게 하나요?