inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

남은 기간 학습방향

해결됨

(2026 최신!) 일주일만에 합격하는 정보처리기사 실기

안녕하세요 강의 잘 듣고있습니다. 프로그래밍을 배운적이 있어서 기출 문제 강의 부터 보고 킬러문제 1,2개 제외한 나머지는 대체로 이해 하고 푸는 수준입니다. 올려주신 문제는 모두 다 풀었는데 현시점에서 새로운문제를 더 풀어보는게 나은지 이론암기와 현재까지 풀었던 문제 복습하고 시험장 가는게 나을지 .. 조언을 구해 봅니다..

  • python
  • java
  • c
  • 정보처리기사
  • 정보처리산업기사
김선경 댓글 2 좋아요 0 조회수 123

섹션3 Shadcn/ui 생성 시

미해결

한입 리액트 실전 라이브러리 키트 - Zustand, Tanstack Query, TailwindCSS

( 해당 섹션 수강하던 2026-04-03 기준 ) npx shadcn@latest init 명령어 입력하면 2가지 선택지를 제공해줘요. Select a component library 라고 떠요 선택지에 Radix, Base 있는데 Radix가 흔히 아는 Shadcn/ui 라고 합니다. Which preset would you like to use? Nova (아이콘 Lucide, 폰트 Geist) Vega (아이콘 Lucide, 폰트 Inter) Maia (아이콘 Hugeicons, 폰트 Figtree) Lyra (아이콘 Phosphor, 폰트 JetBrains Mono) Mira (아이콘 Hugeicons, 폰트 Inter) Luma (아이콘 Lucide, 폰트 Inter) 강의에선 7:16 참고 하시면 base color 고르라는 선택지가 나왔고, 강사님께선 Neutral 고르셨습니다. 저는 저게 안나와서 gemini 에게 물어봤고 이와 같은 답변을 얻어서 진행했습니다. 혹시나 참고가 될까싶어 작성합니다.

  • react
  • 웹앱
  • tailwindcss
  • react-query
  • zustand
ggomsoo 댓글 1 좋아요 0 조회수 159

[건의][6장][작전1] deprecated 메소드

미해결

죽음의 Spring Batch: 새벽 3시의 처절한 공포는 이제 끝이다.

형 ... @Bean public Step threatAnalysisStep( JpaPagingItemReader<Human> humanThreatDataReader, ItemProcessor<Human, TargetPriorityResult> threatAnalysisProcessor, FlatFileItemWriter<TargetPriorityResult> targetListWriter ) { return new StepBuilder("threatAnalysisStep") .<Human, TargetPriorityResult>chunk(10, transactionManager) .reader(humanThreatDataReader) .processor(threatAnalysisProcessor) .writer(targetListWriter) .taskExecutor(taskExecutor()) // deprecated 되어서 안씀 // .throttleLimit() .build(); } ... 에서 .throttleLimit() 부분이 5 이후로 deprecated 된다고 명시되어 있어. 관심사 분리로 인해서 taskExecutor 정의 부분에서 설정하라고 권장하는 것을 확인했거든. 현재 강의가 사실상 Spring Batch 5.x 까지의 기본 내용과 원리를 살펴봤잖아 ? 그렇다 하더라도 혼란을 줄 수 있기 때문에 해당 부분은 삭제하던지 아니면 추가 내용을 기재해야 할 것으로 보여.

  • java
  • spring
  • spring-boot
  • spring-batch
  • backend
댓글 2 좋아요 1 조회수 101

next.js 를 2대이상 실행하는 경우 제공하는 cache 기능들은 어떻게 되나요?

해결됨

Next.js 마스터 클래스: Part 3 - 실전 아키텍처 완성 (서버-클라이언트 동기화, 극한의 최적화, 풀스택 보안)

MSA 에서 BFF 로 활용하는 경우 클라우드 환경에서 성능과 관련하여 2~3대 이상 실행하는 경우 관련 기능들은 어떻게 동작하나요? part2 렌더링 패러다임의 전환: 캐싱 혁명 (Caching Revolution) part3 Next.js 16 서버 캐시와 TanStack Query의 동기화 또 이와 다른 주의 할 점이나 고려해야 하는 부분이 있나요?

  • javascript
  • react
  • typescript
  • next.js
  • frontend
icoon22 댓글 2 좋아요 0 조회수 111

오타?

미해결

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

2 퀴즈 강의에서 설명된 Create React App(CRA)과 Bit의 비교 중, Bit의 특징으로 언급된 것은 무엇인가요? 이거 오타 아닌가요? Bit -> Vite?

  • react
  • React-Context
  • react-router
  • tailwindcss
  • react-query
krug 댓글 1 좋아요 0 조회수 50

노션 데이타베이스 연결 문제

미해결

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

노션데이터베이스를 API 생성하고 두개 데이터베이스 만든 후 Invoice-web으로 연결하고 .env.local에 데이터베이스키와 데이터베이스 id까지 입력했지만 오류가 발생합니다. 혼자 고치려고 이래저래 해봤는데 문제를 못 찾겠네요 ㅜㅜ

  • react
  • 인공지능(ai)
  • claude
댓글 1 좋아요 0 조회수 85

달라진 클로드코드 UI에서 release-notes가 안떠요

미해결

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

보시다 싶이 릴리즈 노트 명령어가 뜨질 않습니다..ㅠㅠ 윈도우입니다

  • react
  • 인공지능(ai)
  • claude
info 댓글 1 좋아요 0 조회수 65

Verify domains to restrict who can publish GitHub Pages on them.

미해결

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

github > settings > Pages 에 이런 메시지가 있네요 Verify domains to restrict who can publish GitHub Pages on them.

  • react
  • 인공지능(ai)
  • claude
김재영 댓글 2 좋아요 0 조회수 66

클로드가 bash 쉘을 못 읽어요

미해결

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

클로드 코드를 윈도우 환경에 설치하고 node.js, 크롬, git 까지 설치를 완료했습니다. 그리고 나서 윈도우 cmd와 git bash, powershell 과 같은 터미널에서 node / npm / git / Claude 버전을 확인하면 잘 출력 되는데 클로드 코드 내부에서 버전을 확인하려고 하면 bash 쉘을 읽을 수 없다면서 안 됩니다. 일부러 사용자 계정도 하나 더 만들어서 영문으로 바꾸기도 했는데 왜 안될까요ㅠ환경변수 설정도 전부 맞춰서 했는데도 안됩니다

  • react
  • 인공지능(ai)
  • claude
인예지 댓글 2 좋아요 0 조회수 218

wsl 에 tmux 설치후 사용하려고 합니다.

미해결

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

안녕하세요! 저는 윈도우os를 사용하고있는데 agent teams 를 분할창에서 사용하고싶어 wsl를 설치하고 거기에 tmux 설치 후 활성화해서 클로드를 실행했는데 창 분할이 안되네요. 요금제 max 쓰고 있고, 공식문서 보고 "CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS"="1" 도 설정했는데(settings.local.json에 설정) 분할 창은 안뜨고 이렇게 진행이 됩니다. 이게 in-process 방식인것같은데,, wsl 환경에서는 tmux 써도 분할창으로 작업은 안되는건가요? 에이전트들끼리 진행할때 대화하는 내용을 보고싶습니다.

  • react
  • 인공지능(ai)
  • claude
dalki7711 댓글 1 좋아요 0 조회수 188

H2데이터베이스 파일 생성

미해결

자바 ORM 표준 JPA 프로그래밍 - 기본편

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] H2 데이터베이스 파일 생성방법 강의자료에서는 저장된 설정이 server가 아닌 embedded로 되어있는데 어떤것을 따라야할까요?

  • java
  • jpa
김주현 댓글 2 좋아요 0 조회수 94

[예제][3장][작전2] windows 에서 마지막 예제

미해결

죽음의 Spring Batch: 새벽 3시의 처절한 공포는 이제 끝이다.

... @Slf4j @Configuration @RequiredArgsConstructor public class LogProcessingJobConfig { private final JobRepository jobRepository; private final PlatformTransactionManager transactionManager; private final String BASE_PATH = "C:\\Users\\user\\Desktop\\batch\\section3\\flatfileitemwriter"; @Bean public Job logProcessingJob( Step createDirectoryStep, Step logCollectionStep, Step logProcessingStep ) { return new JobBuilder("logProcessingJob", jobRepository) .start(createDirectoryStep) .next(logCollectionStep) .next(logProcessingStep) .build(); } @Bean public Step createDirectoryStep(SystemCommandTasklet mkdirTasklet) { return new StepBuilder("createDirectoryStep", jobRepository) .tasklet(mkdirTasklet, transactionManager) .build(); } @Bean @StepScope public SystemCommandTasklet mkdirTasklet( @Value("#{jobParameters['date']}") String date ) { SystemCommandTasklet tasklet = new SystemCommandTasklet(); tasklet.setWorkingDirectory(BASE_PATH); String collectedLogsPath = "collected_ecommerce_logs\\" + date; String processedLogsPath = "processed_logs\\" + date; try { tasklet.setCommand("cmd.exe", "/c", "mkdir", collectedLogsPath, processedLogsPath); tasklet.setTimeout(3000); } catch (Exception e) { log.error("mkdirTasklet error: ", e); } return tasklet; } @Bean public Step logCollectionStep(SystemCommandTasklet scpTasklet) { return new StepBuilder("logCollectionStep", jobRepository) .tasklet(scpTasklet, transactionManager) .build(); } @Bean @StepScope public SystemCommandTasklet scpTasklet( @Value("#{jobParameters['date']}") String date ) { SystemCommandTasklet tasklet = new SystemCommandTasklet(); tasklet.setWorkingDirectory(BASE_PATH); String processedLogsPath = "collected_ecommerce_logs\\" + date; StringJoiner commandBuilder = new StringJoiner(" & "); for (String host : List.of("localhost")) { // Windows 환경에서 해당 코드를 적용하려면 ssh 관련 설정들을 찾아야 해서 주석 처리 // String command = String.format("scp %s:~/ecommerce_logs/%s.log %s\\%s.log", host, date, processedLogsPath, host); String sourcePath = BASE_PATH + "\\ecommerce_logs\\" + date + ".log"; String command = String.format("copy %s %s\\%s.log", sourcePath, processedLogsPath, host); commandBuilder.add(command); } tasklet.setCommand("cmd.exe", "/c", commandBuilder.toString()); tasklet.setTimeout(10000); return tasklet; } @Bean public Step logProcessingStep( MultiResourceItemReader<LogEntry> multiResourceItemReader, LogEntryProcessor logEntryProcessor, FlatFileItemWriter<ProcessedLogEntry> processedLogEntryJsonWriter ) { return new StepBuilder("logProcessingStep", jobRepository) .<LogEntry, ProcessedLogEntry>chunk(10, transactionManager) .reader(multiResourceItemReader) .processor(logEntryProcessor) .writer(processedLogEntryJsonWriter) .build(); } @Bean @StepScope public MultiResourceItemReader multiResourceItemReader( @Value("#{jobParameters['date']}") String date ) { MultiResourceItemReader<LogEntry> resourceItemReader = new MultiResourceItemReader<>(); resourceItemReader.setName("multiResourceItemReader"); resourceItemReader.setResources(getResources(date)); resourceItemReader.setDelegate(logFileReader()); return resourceItemReader; } private Resource[] getResources(String date) { try { String formattedBasePath = BASE_PATH.replace("\\", "/"); String location = "file:///" + formattedBasePath + "/collected_ecommerce_logs/" + date + "/*.log"; PathMatchingResourcePatternResolver resolver = new PathMatchingResourcePatternResolver(); return resolver.getResources(location); } catch (IOException e) { throw new RuntimeException("Failed to resolve log files", e); } } @Bean public FlatFileItemReader<LogEntry> logFileReader() { return new FlatFileItemReaderBuilder<LogEntry>() .name("logFileReader") .delimited() .delimiter(",") .names("dateTime", "level", "message") .targetType(LogEntry.class) .build(); } @Bean public LogEntryProcessor logEntryProcessor() { return new LogEntryProcessor(); } @Bean @StepScope public FlatFileItemWriter<ProcessedLogEntry> processedLogEntryFlatFileItemWriter( @Value("#{jobParameters['date']}") String date ) { String outputPath = Paths.get(BASE_PATH, "processed_logs", date, "processed_logs.jsonl").toString(); ObjectMapper objectMapper = new ObjectMapper(); JavaTimeModule javaTimeModule = new JavaTimeModule(); javaTimeModule.addSerializer(LocalDateTime.class, new LocalDateTimeSerializer(DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss"))); objectMapper.registerModule(javaTimeModule); return new FlatFileItemWriterBuilder<ProcessedLogEntry>() .name("processedLogEntryJsonWriter") .resource(new FileSystemResource(outputPath)) .lineAggregator(item -> { try { return objectMapper.writeValueAsString(item); } catch (JsonProcessingException e) { throw new RuntimeException("Error Converting item to JSON", e); } }) .build(); } @Data public static class LogEntry { private String dateTime; private String level; private String message; } @Data public static class ProcessedLogEntry { private LocalDateTime dateTime; private LogLevel level; private String message; private String errorCode; } public enum LogLevel { INFO, WARN, ERROR, DEBUG, UNKNOWN; public static LogLevel fromString(String level) { if (level == null || level.trim().isEmpty()) { return UNKNOWN; } try { return valueOf(level.toUpperCase()); } catch (IllegalArgumentException e) { return UNKNOWN; } } } public static class LogEntryProcessor implements ItemProcessor<LogEntry, ProcessedLogEntry> { private static final DateTimeFormatter ISO_FORMATTER = DateTimeFormatter.ISO_DATE_TIME; private static final Pattern ERROR_CODE_PATTERN = Pattern.compile("ERROR_CODE\\[(\\w+)]"); @Override public ProcessedLogEntry process(LogEntry item) throws Exception { ProcessedLogEntry processedLogEntry = new ProcessedLogEntry(); processedLogEntry.setDateTime(parseDateTime(item.getDateTime())); processedLogEntry.setLevel(parseLevel(item.getLevel())); processedLogEntry.setMessage(item.getMessage()); processedLogEntry.setErrorCode(extractErrorCode(item.getMessage())); return processedLogEntry; } private LocalDateTime parseDateTime(String dateTime) { return LocalDateTime.parse(dateTime, ISO_FORMATTER); } private LogLevel parseLevel(String level) { return LogLevel.fromString(level); } private String extractErrorCode(String message) { if (message == null) { return null; } Matcher matcher = ERROR_CODE_PATTERN.matcher(message); if (matcher.find()) { return matcher.group(1); } // ERROR 문자열이 포함되어 있지만 패턴이 일치하지 않는 경우 if (message.contains("ERROR")) { return "UNKNOWN_ERROR"; } return null; } } } 윈도우즈에서는 scp 명령어 관련해서 windows 서비스에서 open-ssh-server 실행 현재 사용하고 있는 사용자(windows 사용자) 가 관리자 권한을 보유 할 경우 programdata/sshd_config 파일 수정 필요 기타 파일 권한 정리 필요 로 인하여 scp 프로그램을 windows 환경의 intellij idea 에서 id, 비번치게끔 ide 콘솔에서 지원하지 않는거 같아. 그래서 제미니가 추천해준대로 실습 환경에서 scp 접속 단을 copy 로 그냥 퉁치는 것으로 바꿔놨어. 나처럼 windows 환경인 사람들이 있으면 혹시나 참고했으면 좋겠네. ObjectMapper, JavaTimeModule 같은 경우는 org.springframework.boot:spring-boot-starter-json 의존성 추가 필요

  • java
  • spring
  • spring-boot
  • spring-batch
  • backend
qlghwp123 댓글 2 좋아요 1 조회수 94

DFS/BFS

미해결

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

학습 관련 질문을 남겨주세요. 구체적으로 적을수록 좋아요! 마크다운과 단축키를 활용하면 글을 더 편하게 작성할 수 있어요. 커뮤니티 질문 & 답변에 비슷한 내용이 있었는지 먼저 검색해보세요. 편하게 질문주세요:) 직접 답변 드리도록 하겠습니다~ 안녕하세요. 제가 DFS/BFS부분이 많이 약해서 ㅠㅠ 질문입니다. lockers = [[1, 2], [3], [], [0]] 이런 이중행렬인데 인접리스트로 코드 변환 안하고 생각해도 괜찮다는 의미 인거죠…? 감사합니다.

  • java
  • 코딩-테스트
  • 알고리즘
  • data-structure
제비꼬리 댓글 2 좋아요 1 조회수 78

6.8 zustand 세션 질문입니다.

미해결

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

session.ts import type { Session } from "@supabase/supabase-js"; import { create } from "zustand"; import { combine, devtools } from "zustand/middleware"; type State = { isLoaded: boolean; session: Session | null; }; const initialState = { isLoaded: false, session: null, } as State; const useSessionStore = create( devtools( combine(initialState, (set) => ({ actions: { setSession: (session: Session | null) => { set({ session, isLoaded: true }); }, }, })), { name: "sessionStore", }, ), ); export const useSession = () => { const session = useSessionStore((store) => store.session); return session; }; export const useIsSessionLoaded = () => { const isSessionLoaded = useSessionStore((store) => store.isLoaded); return isSessionLoaded; }; export const useSetSession = () => { const setSession = useSessionStore((store) => store.actions.setSession); return setSession; }; App.tsx import { Button } from "@/components/ui/button"; import RootRoute from "./root-route"; import supabase from "@/lib/supabase"; import { useEffect } from "react"; import { useSetSession } from "@/store/session"; export default function App() { const setSession = useSetSession(); useEffect(() => { //console.log("111"); supabase.auth.onAuthStateChange((event, session) => { setSession(session); }); }, []); return <RootRoute />; } 코드는 강의와 동일하게 잘따라간 것 같은데 개발자 도구 에서 session이랑 isLoaded가 안보입니다. 새로고침을 해도, 탭을 껏다 켜도, 리액트를 껏다 켜도, 제미나이한테 물어봐도 이게 해결이 안됩니다..... +추가 App.tsx import { Button } from "@/components/ui/button"; import RootRoute from "./root-route"; import supabase from "@/lib/supabase"; import { useEffect } from "react"; import { useIsSessionLoaded, useSession, useSetSession } from "@/store/session"; export default function App() { const setSession = useSetSession(); const session = useSession(); const isLoaded = useIsSessionLoaded(); useEffect(() => { //console.log("111"); supabase.auth.onAuthStateChange((event, session) => { setSession(session); }); }, []); useEffect(() => { console.log("현재 세션 상태:", { session, isLoaded }); }, [session, isLoaded]); // 값이 바뀔 때마다 실행됨 return <RootRoute />; } 이렇게 하고 새로고침하면 콘솔에는 찍히긴 합니다 단순한 리덕스 툴킷 버그인지 콘솔에 찍히니까 넘어가도 상관없는지 모르겠습니다.

  • react
  • typescript
  • react-query
  • supabase
  • zustand
kin412 댓글 2 좋아요 0 조회수 137

fetchBoardsOfMine, fetchBoardsCountOfMine 에러 문의드립니다

미해결

[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스

프로젝트 진행 중 fetchBoardsOfMine과 fetchBoardsCountOfMine 요청 시 회원정보 인증에 실패했다는 응답이 옵니다. 같은 accessToken을 입력했을 때 fetchUserLoggedIn 요청 시에는 정상적인 응답이 오는데 위의 두 요청에선 실패응답이 오는 상황입니다. 혹시 fetchBoardsOfMine과 fetchBoardsCountOfMine에서 추가적인 인증이나 요청값이 필요한 건가요? 추가적으로 학습자료 노션에 있는 REST-API 주소( http://practice.codebootcamp.co.kr/api-docs )는 접속이 안되고 있습니다.

  • react
  • node.js
  • seo
  • graphql
  • next.js
tlstjs0712 댓글 1 좋아요 0 조회수 82

CLAUDE.md 200줄 이하 기준

미해결

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

클로드는 매 대화(요청/응답)마다 CLAUDE.md 를 읽나요? 루트 CLAUDE.md는 항상 읽고, 하위 CLAUDE.md는 해당 폴더에 접근할 때만 읽잖아요. 그러면 /rules CLAUDE.md는 항상 읽나요? 아니면 조건부로 읽나요? 200줄 이하 규칙은 어떤 CLAUDE.md가 준수해야 하나요? 루트 CALUDE.md만 준수? 개별 CLUADE.md 각각 준수? 모든 CLUADE.md를 합쳐서 준수?

  • react
  • 인공지능(ai)
  • claude
매콤한각설탕 댓글 2 좋아요 0 조회수 137

커서 킬때마다 오류

미해결

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

커서에서 터미널을 킬때 마다 아래와같이 느낌표가 뜨면서 아래와 같은 확장을 원합니다. 계속 재시동을 하고 있는데 킬때마다 이러는데 원인은 무엇인지 혹시 해결방법이 있나요?

  • react
  • 인공지능(ai)
  • claude
동영배 댓글 2 좋아요 0 조회수 74

ai 도구 질문

미해결

React Three fiber(R3F)로 배우는 인터렉티브 3D 웹 개발

혹시 glb 파일을 이미지 파일만 보고 만들어주는 ai 툴 같은게 있을까요..?

  • javascript
  • react
  • typescript
  • 인터랙티브-웹
  • three.js
  • webgl
  • react-three-fiber
jadubell 댓글 1 좋아요 0 조회수 89

인기 태그

인프런 TOP Writers

주간 인기글