묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
setState()를 호출하지 않으면 build가 실행 안되는 건가요?
안녕하세요. setState()를 실행하면, build()함수가 실행되는 것을 배웠는데요. build()가 처음 실행된 이후로, setState()를 명시적으로 호출하지 않는다면, build()함수가 실행되는 경우는 없는 것인가요? 즉, setState()를 개발자가 명시적으로 넣어주지 않았다면, 화면 갱신이 절대 발생 안되는 것인지가 궁금했습니다. 나중에 강의를 더 나가면 저절로 알게될지도 모르겠지만, 궁금해서 문의드립니다. 감사합니다.
-
미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
where 키워드가 들어가는 메서드와 아닌 메서드
예를들어서 count는 조건을 걸때 where : {} 이런식으로 하는데 sum은 바로 {}만 하더라구요. 이런식으로 where 키워드를 쓰는 메서드와 안쓰는 메서드가 많이 나뉘던데 어떤 기준인지 알 수 있을까요? 헷갈리네요..
-
해결됨수익형 AI Agent n8n 전문가 강의, 블로그·쇼츠 자동화
n8n 접속에서 막혔습니다...
이렇게 나오는데, 어떤 방식으로 해결할 수 있을까요? 문과생은 너무 힘드네요...
-
해결됨Windows System 프로그래밍
c 런타임 라이브러리 관련 질문
개요 15분경에 윈도우 자체는 malloc, free를 가지고 있지 않고 내부에서 Windows API의 메모리 관련 함수들을 호출한다는 것의 의미가 궁금합니다. 보통 Unix 계열의 OS에서 malloc은 심히 POSIX스러운(?) 함수들로 이루어진 내부 구현을 malloc 자체로써 그대로 노출하고 있고, 그에 반해 Windows에서의 malloc은 malloc 자체의 구현을 가지고 있는것이 아니라 malloc을 호출하면 C 런타임 라이브러리가 Windows API의 메모리 관련 함수들을 호출해주는 매개체 역할을 하는것으로 위의 의미를 이해했는데 올바른 방향으로 이해한것일까요?
-
미해결설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
vivado linux 사용 이유.
안녕하세요 강의를 신청하여 막 듣기 시작했는데 궁금증이 생겨서 문의드립니다. 일단 기존에 개인적인 학습에 의해서 vivado 2020.2를 다운 받아 window 환경에서 vivado tool을 이용해서 사용해왔는데, 강사님께서는 linux를 이용을 하시는 강점이 있을까요? 2020.2에 amd 사이트 다운로드 file에는 bin파일이 없어서 linux환경으로 하기 어려운거 같은데 20.2버전은 삭제하고 다시 22.2로 받아야 하나요?
-
미해결클로드 코드 완벽 마스터: AI 개발 워크플로우 기초부터 실전까지 (with 커서 AI)
커서AI에 있는 클로드랑, 클로드코드랑 차이가 뭔가요??
성능은 클로드코드가 더 좋다는데. 궁금하네요.
-
미해결데이터 드리븐 그로스 마케팅 - 고객 중심의 문제 해결력 업그레이드
강의 교안 요청합니다.
강의 교안 요청합니다.안녕하세요. 수강평 작성 완료 하였습니다. 아래 메일로 강의 교안 받아 볼 수 있을까요?ch.mint07@gmail.com감사합니다.
-
미해결Facebook Ads MasterClass 2025 - All Campaign Creations
이벤트 관리자 - 데이터 연결 불가
이벤트 관리자에서 데이터 연결 -> 새 데이터 소스를 만드려고 하니 앱만 연결 가능하고 웹은 비즈니스 관리자 계정이 필요하다고 나옵니다.온라인 강의 화면과 다른데 어떻게 해야할까요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
17822번 문제 제출 코드 55%에서 틀리네요.
안녕하세요 선생님해당 문제에서 마지막 예제만 값이 다르게 나오고 제출하면 55%에서 틀렸다고합니다. 틀린 코드 찾겠다고 시간 투자했는데잘안되서 질문 올립니다.제가 놓친 부분이 있을까요?http://boj.kr/375aed9c1e224d2b912b0d06ec199266
-
해결됨[CS 기술면접 1] 말이 트이는 컴퓨터 구조
부동소수점에서 음수 지수를 위한 범위 표현 방식
음수 지수 때문에 지수부분 범위를 -127에서 128로 범위가 잡혀 있던데 원래는 이전 강의 시간에서 배운대로 8bit로 표현될 수 있는 범위가 -2의n-1승 ~ 2의n-1승 - 1로 -128~127사이 아닌가요?
-
해결됨한번에 똑바로 배우는 AI 쇼츠 크리에이터 with 프리미어 프로
수업 진행중 프로그램 패널에서 화면이 검정으로 변하면서 안보여요
컴퓨터 문제 인지 모르겠는데오른족 프로그램 패널에서 글자 입력하고 이것저것 하고 잇으면 화면이 검정으로 변하면서 안보여요왼쪽밑 타임패널인가 여기에서 마우스로 위치를오른쪽으로 옮겨서 다음 화면영상으로 이동하면 화면이 돌아와요 그리고 왼쪽으로 타임을 마우스로 이동하하면 다시 화면이 나와요자꾸 검정으로 바껴써 진행이 조금 어렵네요혹시 이유를 알수 있을까요?
-
미해결자바스크립트로 배우는 자료구조 & 알고리즘 (개념+문제풀이)
연결리스트 뒤집기
function solution(arr) { return arr.reverse(); } console.log(solution([1, 2, 3, 4, 5])) console.log(solution([3, 2, 1]))이런식으로 자바스크립트 내장함수사용해서 풀기보다는 연결리스트를 구현해서 한번씩 풀어보고 하는게 학습하는데 더 도움이되는걸까요??
-
미해결죽음의 Spring Batch: 새벽 3시의 처절한 공포는 이제 끝이다.
Batch6: jobOperator.startNextInstance() throws UnexpectedJobExecutionException
KILL-9형 도와줘,,!!!spring boot 4.0.0, spring batch6, java24 사용중이야 아래 코드를 스케줄러를 통해 "deleteSuspendedJob"을 1분마다 동작하게 하고 싶었어. 그리고 실제로 동작하긴 해. 딱 1번만.... @Configuration class DeleteSuspendedScheduler( private val jdbcTemplate: JdbcTemplate, private val jobOperator: JobOperator, private val jobRepository: JobRepository, private val transactionManager: PlatformTransactionManager, ) { @Scheduled(cron = "0 */1 * * * *") //1분마다 실행되길 기대함 fun runDeleteSuspendedJob() { jobOperator.startNextInstance(deleteSuspendedJob()) } @Bean fun deleteSuspendedJob(): Job = JobBuilder("deleteSuspendedJob", jobRepository) .incrementer(RunIdIncrementer()) .start( deleteSuspendedStep()) .build() @Bean fun deleteSuspendedStep(): Step = StepBuilder("deleteSuspendedStep", jobRepository) .tasklet(DeleteSuspendedTasklet(jdbcTemplate), transactionManager) .build() }아래는 에러 로그야. 2025-12-11T19:37:31.332+09:00 INFO 39640 --- [ main] com.clip.BatchApplicationKt : Started BatchApplicationKt in 6.378 seconds (process running for 6.894) 2025-12-11T19:38:00.017+09:00 INFO 39640 --- [ scheduling-1] o.s.b.c.l.s.TaskExecutorJobOperator : Launching next instance of job: [deleteSuspendedJob] with parameters: [{JobParameter{name='run.id', value=1, type=class java.lang.Long, identifying=true}}] 2025-12-11T19:38:00.019+09:00 INFO 39640 --- [ scheduling-1] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=deleteSuspendedJob]] launched with the following parameters: [{JobParameter{name='run.id', value=1, type=class java.lang.Long, identifying=true}}] 2025-12-11T19:38:00.052+09:00 INFO 39640 --- [ scheduling-1] o.s.batch.core.job.SimpleStepHandler : Executing step: [deleteSuspendedStep] 2025-12-11T19:38:00.065+09:00 INFO 39640 --- [ scheduling-1] c.c.b.b.t.DeleteExpiredBlacklistTasklet : 0개의 기간 만료된 탈퇴 이력(재가입 방지용) 레코드가 삭제되었습니다. 2025-12-11T19:38:00.067+09:00 INFO 39640 --- [ scheduling-1] o.s.batch.core.step.AbstractStep : Step: [deleteSuspendedStep] executed in 14ms 2025-12-11T19:38:00.067+09:00 INFO 39640 --- [ scheduling-1] o.s.b.c.l.s.TaskExecutorJobLauncher : Job: [SimpleJob: [name=deleteSuspendedJob]] completed with the following parameters: [{JobParameter{name='run.id', value=1, type=class java.lang.Long, identifying=true}}] and the following status: [COMPLETED] in 15ms 2025-12-11T19:39:00.007+09:00 INFO 39640 --- [ scheduling-1] o.s.b.c.l.s.TaskExecutorJobOperator : Launching next instance of job: [deleteSuspendedJob] with parameters: [{JobParameter{name='run.id', value=2, type=class java.lang.Long, identifying=true}}] 2025-12-11T19:39:00.009+09:00 ERROR 39640 --- [ scheduling-1] o.s.s.s.TaskUtils$LoggingErrorHandler : Unexpected error occurred in scheduled task org.springframework.batch.core.job.UnexpectedJobExecutionException: Illegal state (only happens on a race condition): job instance already complete with name=deleteSuspendedJob and parameters={JobParameter{name='run.id', value=2, type=class java.lang.Long, identifying=true}} at org.springframework.batch.core.launch.support.SimpleJobOperator.startNextInstance(SimpleJobOperator.java:314) ~[spring-batch-core-6.0.0.jar:6.0.0] at org.springframework.batch.core.launch.support.TaskExecutorJobOperator.startNextInstance(TaskExecutorJobOperator.java:133) ~[spring-batch-core-6.0.0.jar:6.0.0] at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) ~[na:na] at java.base/java.lang.reflect.Method.invoke(Method.java:565) ~[na:na] at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:359) ~[spring-aop-7.0.1.jar:7.0.1] at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190) ~[spring-aop-7.0.1.jar:7.0.1] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:158) ~[spring-aop-7.0.1.jar:7.0.1] at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:370) ~[spring-tx-7.0.1.jar:7.0.1] Caused by: org.springframework.batch.core.launch.JobInstanceAlreadyCompleteException: A job instance already exists and is complete for identifying parameters={JobParameter{name='run.id', value=1, type=class java.lang.Long, identifying=true}}. If you want to run this job again, change the parameters. at org.springframework.batch.core.launch.support.TaskExecutorJobLauncher.createJobExecution(TaskExecutorJobLauncher.java:149) ~[spring-batch-core-6.0.0.jar:6.0.0] at org.springframework.batch.core.launch.support.TaskExecutorJobLauncher.run(TaskExecutorJobLauncher.java:108) ~[spring-batch-core-6.0.0.jar:6.0.0] at org.springframework.batch.core.launch.support.SimpleJobOperator.startNextInstance(SimpleJobOperator.java:294) ~[spring-batch-core-6.0.0.jar:6.0.0]원래 Kill9형 강의 보고 잡 런쳐로 정상동작 하도록 만들었던 걸, 이번에 배치6로 올리면서 JobLauncher가 JobOperator로 옮겨졌다는 문서를 보고 바꾼뒤로 퇴근을 못하고 있어,,역시 공식 문서보단 kill9 형 문서를 보고 했어야 했던걸까??오퍼레이터와 스케줄러를 통해 잡을 특정 주기마다 동작하는 방법(위 내 코드)이 뭐가 잘못된건지 알려주면 고맙겠어!!형 제발 도와줘!!!cf.https://github.com/spring-projects/spring-batch/issues/5115
-
미해결실전! 스프링 데이터 JPA
pdf 파일과 차이점이 있는 것같은데 문제 없나요?
위는 강의 pdf 파일에서 캡쳐한 build.gradle 설정 내용입니다.아래는 제가 프로젝트 생성후 캡쳐한 build.gradle의 의존성 사진입니다. pdf 설명대로 JUnit4를 추가했습니다.그런데 pdf 파일에testImplementation(‘org.springframework.boot:spring-boot-starter-test’) { exclude group: ‘org.junit.vintage’, module: ‘junit-vintage-engine’ }가 있던데 이것도 추가해줘야하는 부분인가요?없으면 추후 강의를 진행하는데 문제가 될까요?현재 pdf 파일에 있는 build.gradle 내용과 제가 방금 프로젝트 생성 후의 build.gradle 내용과 조금 다른 것 같아 질문드립니다
-
미해결고수가 되는 파이썬 : 동시성과 병렬성 문법 배우기 Feat. 멀티스레딩 vs 멀티프로세싱 (Inflearn Original)
daemon=True가 안 먹히네요
안녕하세요. 저는 daemon=True 해도 서브가 모두 돌고 끝납니다. 무슨 이유가 있을까요? # 스레드 실행 함수 def thread_func(name, d): logging.info('Sub-Thread %s: starting', name) for i in d: print(i) logging.info('Sub-Thread %s: finished', name) ... # 함수 인자 확인 # daemon : default False x = threading.Thread(target=thread_func, args=('First', range(20000)), daemon=True) y = threading.Thread(target=thread_func, args=('Second',range(10000)), daemon=True)19:16:32: Main-Thread: all done012...1999919:16:32: Sub-Thread Second: finished19:16:32: Sub-Thread First: finished
-
미해결
재생불가
안드로이드 7 태블릿이여서 호환이 안되 여러 브라우저를 다운받아 실험적으로 들어가려 하니 이미 한달에 5개, 3회 삭제가 안된다구 뜨고 강의를 들을수가 없네요. 이거 제한 해제해 주세요.
-
미해결
교육자료 요청드립니다.
고객의 친구가 되기 위한 UX Writing 교육 자료를 받아 볼 수 있을까요?
-
미해결[LV1] 왕초보 이펙트 (VFX) 기초부터 튼튼하게! (UE5, Blender)
혹시 타임라인 창에서 이펙트 처음부터 재생은 어떻게 하시는 건가요?
원띵님이 뭔가 단축키를 입력하시는 것 같은데 이펙트를 타임라인 창에서 이펙트를 처음부터 재생하는 단축키가 있으면 편할 것 같습니다. 어떤 키를 눌러서 타임라인 창에서 이펙트를 처음부터 다시 재생하시는 건가요?
-
해결됨우리 엄마도 할 수 있는 머신러닝 (기초이론)
강의교안 요청 드립니다.
안녕하세요, 강의 신청 완료했습니다. (결제 완료)아래 메일로 강의자료 보내주시면 감사하겠습니다.zzangzone91@gmail.com감사합니다.
-
해결됨Flutter 앱 개발 기초
user-not-found, wrong-password 코드가 더 이상 반환되지 않습니다
2023년 9월 15일 이후 프로젝트에서는 Email Enumeration Protection이 기본 활성화되어 user-not-found, wrong-password 코드가 더 이상 반환되지 않습니다 -> INVALID_LOGIN_CREDENTIALS 코드로 통합 try { await FirebaseAuth.instance.signInWithEmailAndPassword( email: email, password: password, ); onSuccess(); notifyListeners(); } on FirebaseAuthException catch (e) { if (e.code == 'INVALID_LOGIN_CREDENTIALS' || e.code.contains('invalid-credential') || e.code == 'wrong-password' || e.code == 'user-not-found') { onError('이메일 또는 비밀번호를 확인해주세요.'); } else if (e.code == 'invalid-email') { onError('이메일 형식을 확인해주세요.'); } else { onError(e.message!); } } catch (e) { onError('서버 오류가 발생하였습니다 $e.toString()'); }