172만명의 커뮤니티!! 함께 토론해봐요.
미해결
죽음의 Spring Batch: 새벽 3시의 처절한 공포는 이제 끝이다.
킬구형, 히사시 부리데쓰요야 JPA ItemReader와 ItemWriter를 배워보니 생각보다 복잡하고 여러 고려사항들이 많이 보이는 것 같아, 물론 JPA와 통합이 되서 좋지만 JPA를 쓰고 있어도 Jdbc ItemReader/ItemWriter가 훨씬 더 간단해보이고 별다른 추상화도 많이 없어서 성능도 괜찮아 보이는데, 실무에서는 어때? JPA ItemReader / ItemWriter를 더 많이 써 Jdbc ItemReader/ItemWriter를 더 많이써? PS: 킬구형 어떻게 이렇게 자세한 내용들을 알 수 있는거야? spring batch 공식 docs를 봐도 내용이 없던데 ㅋㅋㅋ 킬구형 없었으면 큰일 날뻔했자너~
java spring spring-boot spring-batch backend
gyuyoung park
2025-12-22T15:23:29.756Z
댓글 2
좋아요 1
조회수 166
미해결
실무에 바로 적용하는 프런트엔드 테스트 - 1부. 테스트 기초: 단위・통합 테스트
안녕하세요. API 요청이 포함된 컴포넌트를 대상으로 단위/통합 테스트할때 요청 상태에 따라 로딩, 에러 UI가 적절하게 렌더링 되는지도 검증을 해야하는지 궁금합니다. 해야한다면, API 호출하는 모든 테스트에서 로딩/에러 UI 검증을 하는게 일반적이고 맞는 건지, 아니면 제 경우에는 ErrorBoundary랑 Suspense를 다음처럼 합쳐서 에러/로딩 처리용 wrapper(?)를 만들었는데, 이런 wrapper 테스트를 따로 작성하는게 맞는건지.. 궁금합니다 ㅎㅎ.. interface ComposedBoundaryProps extends ErrorBoundaryPropsWithRender { suspenseFallback: ReactNode; children: ReactNode; reset: () => void; } const ComposedBoundary = ({ suspenseFallback, children, fallbackRender, reset, }: ComposedBoundaryProps) => { return ( <ErrorBoundary onError={(error: unknown) => { // ... }} onReset={reset} fallbackRender={fallbackRender} > <Suspense fallback={suspenseFallback}>{children}</Suspense> </ErrorBoundary> ); };
javascript react 소프트웨어-테스트 vitest
EUNSUN KIM
2025-12-22T13:43:53.083Z
댓글 1
좋아요 0
조회수 91
해결됨
수익형 AI Agent n8n 전문가 강의, 블로그·쇼츠 자동화
도메인제공 호스팅KR 웹 로그인 비번을 입력했는데 첨부와 같이 access denied 라고 나오네요 도움 부탁드립니다.
docker n8n 인공지능(ai) 프롬프트엔지니어링 ai-활용-(ax) 카카오공채-개발
최상은
2025-12-22T12:28:58.100Z
댓글 3
좋아요 0
조회수 196
미해결
코드로 배우는 React 19 with 스프링부트 API서버
Execution failed for task ':org.zerock.mallapi.MallapiApplication.main()'. > Process 'command 'C:\Users\User\.jdks\temurin-21.0.9\bin\java.exe'' finished with non-zero exit value 1 * Try: > Run with --stacktrace option to get the stack trace. > Run with --info or --debug option to get more log output. > Run with --scan to generate a Build Scan (powered by Develocity). > Get more help at https://help.gradle.org .
react typescript spring-boot jpa jwt
lgh8079
2025-12-22T11:49:02.364Z
댓글 2
좋아요 0
조회수 108
해결됨
한 입 크기로 잘라먹는 React.js 실전 프로젝트 - SNS 편
안녕하세요 선생님. 강의를 모두 수강한 후 복습을 하던 중 궁금한 점이 생겨 질문드립니다. 좋아요 기능에서 동시성 문제를 해결하기 위해 행 잠금 을 사용하는 것으로 이해했습니다. 이 경우, 첫 번째 유저의 좋아요 요청이 처리되는 동안 해당 행이 잠기게 되는데, 만약 동시에 많은 사용자(수백~수천 명)가 좋아요 버튼을 누르는 상황 이라면 요청들이 순차적으로 대기하게 되어 응답 지연이 발생되지는 않나요?? 또한 이런 이유 때문에 클라이언트 단에서는 낙관적 업데이트 를 적용하는게 맞는걸까요??
react typescript react-query supabase zustand
백승민
2025-12-22T10:42:07.743Z
댓글 2
좋아요 0
조회수 78
해결됨
클로드 코드 완벽 마스터: AI 개발 워크플로우 기초부터 실전까지
안녕하세요 짐코딩님! 클로드 코드 가격 정책 수업을 듣고 나서 결제 관련 의문이 드는 점이 발생하여 문의 드립니다. 현재 Cursor AI Pro 계정을 $20씩 지불하여 사용중입니다. 이러한 상황 속에서 클로드 코드를 추가적으로 $20를 Pro 버전을 추가적으로 결제해야 되는 건가요? 그렇게 될 경우 총 $40라는 부담스러운 가격을 지불해야되는 상황인데 어떻게 해야될 지 잘 모르겠습니다. 해당 수업을 따라가기 위해서는 Cursor AI 구독을 취소하고 Claude Code Pro를 결제해서 수업을 들어야 하는 지 여부에 대해서 여쭤보고 싶습니다.
react next.js cursor tailwindcss claude
로로로도로로
2025-12-22T08:51:39.984Z
댓글 2
좋아요 1
조회수 1033
미해결
실전! 스프링 데이터 JPA
MemberRepository의 구현체는 프록시 객체라고 배웠습니다 그렇다면 해당 프록시 객체 안에서 SimpleJpaRepository 와 MemberCustomRepositoryImpl 등을 필드로 갖고 있는 형태인가요?
조태준
2025-12-22T08:48:00.190Z
댓글 1
좋아요 0
조회수 88
미해결
클로드 코드 완벽 마스터: AI 개발 워크플로우 기초부터 실전까지
클로드 코드 가격 정책 수업을 듣고 나서 결제 관련 의문이 드는 점이 발생하여 문의 드립니다. 현재 Cursor AI Pro 계정을 $20씩 지불하여 사용중입니다. 이러한 상황 속에서 클로드 코드를 추가적으로 $20를 Pro 버전을 추가적으로 결제해야 되는 건가요? 그렇게 될 경우 총 $40라는 부담스러운 가격을 지불해야되는 상황인데 어떻게 해야될 지 잘 모르겠습니다. 또한 이러할 경우 해당 수업을 따라가기 위해서는 Cursor AI 구독을 취소하고 Claude Code Pro를 결제해서 수업을 들어야 하는 지 여부에 대해서 여쭤보고 싶습니다.
react next.js cursor tailwindcss claude
2025-12-22T08:26:27.688Z
댓글 2
좋아요 0
조회수 309
미해결
백엔드 개발자 성능 개선 초석 다지기
계속해서 똑같은 오류만 나오고있습니다. 오류를 몇시간씩 찾아봤고, 테스트의 버전을 변경하고, 다 지우고 다운로드를 다시받고, jdk버전을 홈 기준 11로도 맞춰보고 다 해봤지만 계속해서 같은 오류가 나는데 어떻게 해결할 수 있을까요?
java mysql spring-boot cache index
ParkJihun
2025-12-22T05:37:36.745Z
댓글 1
좋아요 0
조회수 76
미해결
한 입 크기로 잘라먹는 Next.js
빨간줄 설정 리액트에서 할 때 뭐 있었던 거 같은데 그 뭐였을까요 넥스트제이에스 여기에서도 가능하죠?
react typescript next.js 카카오공채-개발
김성관
2025-12-22T05:27:45.892Z
댓글 3
좋아요 0
조회수 119
미해결
실전! 코틀린과 스프링 부트로 도서관리 애플리케이션 개발하기 (Java 프로젝트 리팩토링)
안녕하세요 강의 잘 보고있습니다. 다름이 아니라 프론트쪽 코드가 궁금해서 리액트 코드좀 받고싶은데 받을 수 있을까요? 메일:ad0362320@naver.com 입니다. 항상 감사드립니다!!
java spring kotlin spring-boot 리팩터링
자바마스터하자
2025-12-22T04:12:30.948Z
댓글 2
좋아요 0
조회수 111
해결됨
수익형 AI Agent n8n 전문가 강의, 블로그·쇼츠 자동화
남박사님 안녕하세요. 알려주신 강의대로 따라해서 .kr 주소로 처음부터 실행해서 완성했는데요! 영문블로그 해보려고, .com 도메인을 새로 구매해서 다시하는 중인데, npm이 ip로는 접속이되는데 ( ip:81 ) 도메인 주소로는 접속이 안됩니다. ㅠ.ㅠ (.com:81) 제가 완전 컴맹이라, 처음부터 따라할때는 됐는데, 다만들어진거 다시하려니까 막히네요 ㅜㅜ흑흑 뭘 만져야 할지 알려주시면 감사드리겠습니다.
docker n8n 인공지능(ai) 프롬프트엔지니어링 ai-활용-(ax) 카카오공채-개발
지히
2025-12-21T12:17:53.079Z
댓글 2
좋아요 0
조회수 90
해결됨
수익형 AI Agent n8n 전문가 강의, 블로그·쇼츠 자동화
html maker 노드로 글을 출력해서 메모장에 저장 후 크롬으로 보니까 저렇게 보이는데요. 제미나이 3.0 pro로 했습니다. 왜 저럴까요?
docker n8n 인공지능(ai) 프롬프트엔지니어링 ai-활용-(ax) 카카오공채-개발
byunbros
2025-12-21T11:19:52.868Z
댓글 2
좋아요 0
조회수 67
해결됨
한 입 크기로 잘라먹는 Next.js
이런식으로 코드 입력할때마다 에러 메세지같이 띄워주는건 어떤 익스텐션 인가요?!
react typescript next.js 카카오공채-개발
최우석
2025-12-21T08:16:06.696Z
댓글 1
좋아요 0
조회수 73
해결됨
누구보다 빠르게 배우는 풀스택 게시판 만들기
강의 중에 소스 올려주신다고 했는데 소스가 안보이네요? 소스가 없더라도 진행하는 강의 부분의 코드를 한번이라도 좀 보여주면 멈추고 따라 치면서 같이 실습할텐데 css영역부분 다 짤려 보여갖고 실습 내용이 똑같이 재현이 안됩니다...
kimbora134
2025-12-21T08:07:14.610Z
댓글 2
좋아요 0
조회수 125
미해결
김영한의 실전 자바 - 중급 1편
강의 자료 42페이지에 "날짜와 시간" 포매팅으로 되어있는데 날짜만 포매팅이 아닌가 합니다
권선
2025-12-21T07:39:40.213Z
댓글 2
좋아요 0
조회수 120
미해결
타입스크립트로 배우는 리액트(React.js) : 기초부터 최신 기술까지 완벽하게
toggleTodo = useCallback( ( id : number) => { <-- 여기 이 지점에 todos 라는 state 값이 필요한 상황 ( 체크 로직 등등.. ) setTodos( (todos) => todos.map( (todo) => todo.id === id ? { ...todo, completed: !todo.completed } : todo ); }, []); 위 부분에 todos 의 state 값이 필요하게 되면 의존성 배열에 todos 를 넣어줘야 될꺼 같은데요. 이렇게 되면 React.memo 에 의해 전달될 toggleTodo props 도 변경되게 될것으로 예측 되고 결국 자식 컴포넌트들이 리렌더링이 계속 발생되지 않을까 싶은데요. 위 부분에 todos 의 state 값이 필요하게 될 경우에는 어떻게 처리를 해줘야 될까요?
react react-router redux-toolkit zustand react.js
최병국
2025-12-21T07:36:53.849Z
댓글 2
좋아요 0
조회수 74
해결됨
수익형 AI Agent n8n 전문가 강의, 블로그·쇼츠 자동화
12강의 20분쯤 부터 code 노드를 추가해서 파이썬 코드를 넣는 부분에서 첨부한 사진과 같은 에러가 뜹니다. 에러 메세지를 보니 서버에 파이썬 설치가 안된 것 같은데, 그동안 그대로 강의를 따라왔는데 어느 단계에서 파이썬 설치를 놓친건지 모르겠어서 질문을 드립니다.
docker n8n 인공지능(ai) 프롬프트엔지니어링 ai-활용-(ax) 카카오공채-개발
kaimen83
2025-12-20T21:57:59.169Z
댓글 2
좋아요 0
조회수 219
미해결
대세는 쿠버네티스 (초급~중급편)
실습 자료실에 신규 반영된 대로 Kubernetes Cluster 설치 - Windows 를 진행했습니다. vagrant up 도 문제없이 진행되고 token 으로 join 도 문제 없이 진행되어 kubectl get pod -A, kubectl get nodes 로 결과가 정상 출력되는 걸 확인했습니다만 마지막 대시보드에서 pods is forbidden: User "system:bootstrap:0f4qfi" cannot list resource "pods" in API group "" in the namespace "default" namespaces is forbidden: User "system:bootstrap:0f4qfi" cannot list resource "namespaces" in API group "" at the cluster scope cronjobs.batch is forbidden: User "system:bootstrap:0f4qfi" cannot list resource "cronjobs" in API group "batch" in the namespace "default" 등의 에러로 대시 보드에서 자원들이 출력되지 않고 있습니다. 혹시 원인이 무엇인지 알려주실 수 있으실까요?
docker kubernetes devops container
zzing199842
2025-12-20T13:48:37.961Z
댓글 2
좋아요 1
조회수 99
해결됨
비전공자를 위한 진짜 입문 올인원 개발 부트캠프
102강 강의를 듣고 있는데요, react-native-reanimated-carousel 설치 위해 노션에 링크대로 npm install react-native-reanimated-carousel@3.3.0 명령어로 설치하고 그 이후 expo install --npm react-native-reanimated react-native-gesture-handler 를 입력하여 터미널에서 설치 완료 하였습니다 질문 1. 이후 babel.config.js 파일 에 가서 plugins: ["react-native-reanimated/plugin"], 추가 해야 하는데 문제 는 babel.config.js 파일 이 존재하지 않아 어디에 플러그인 작성해야 하는지 모르겠습니다 첨부 사진 package.json에 디펜던시를 보면 아래와 같아요 "react": "19.1.0", "react-native": "0.81.5", "react-native-reanimated-carousel": "^3.3.0", "react-native-reanimated": "~4.1.1", "react-native-gesture-handler": "~2.28.0" 질문 2. Babel 설정 위해 Cache 초기화 하는 부분도 위에 질문1이 순서대로 정상적으로 진행이 되지 않아 스킵 했는데 babel.config.js에 플러그인 문구부터 저장한 뒤 바벨 설정 캐시 초기화 하는 것이 옳지요? 질문 3 102강 시작부터 ~ 18분 56초 까지 타이핑 한 grab-market-mobile의 App.js 소스 내용 아래와 같은데 이것을 실행 하면 사진과 같이 안드로이드 스튜디오(runtime not ready) 에서 에러 발생 아래 App.js 는 강의 전체 완성본 소스 가 아니라 에러가 난 시점까지의 소스 입니다 질문4 ->여기서 Carousel 부분 살펴보면 아래 App.js 소스 에서 아래와 같이 작성하는 것 맞나요 ? 만약 아래 작성 소스 가 다르면 어떻게 작성 해야하는지 댓글에 소스 적어주세요 < Carousel data = {banners} width = {Dimensions.get( " window ") .width } height = {200} autoPlay = {true} renderItem = {(obj) =>{ return( < TouchableOpacity > < Image source = {{uri :obj.item.imageUrl }} /> </ TouchableOpacity > ) }} /> import { StatusBar } from "expo-status-bar"; import React from "react"; import { StyleSheet, Text, View, Image, ScrollView, Dimensions, TouchableOpacity } from "react-native"; import BasketballImage from "./assets/products/basketball1.jpeg"; import Avatar from "./assets/icons/avatar.png"; import {API_URL} from "./config/constants"; import axios from "axios"; import dayjs from "dayjs"; import relativeTime from "dayjs/plugin/relativeTime"; import "dayjs/locale/ko"; import Carousel from "react-native-reanimated-carousel"; dayjs.extend(relativeTime); dayjs.locale("ko"); export default function App() { const [products, setProducts] = React.useState([]); const [banners, setBanners] = React.useState([]); React.useEffect(()=>{ axios.get(`${API_URL}/products`).then((result)=>{ setProducts(result.data.products); }).catch((error)=>{ console.error(error); }) axios.get(`${API_URL}/banners`).then((result)=>{ setBanners(result.data.banners); }).catch((error)=>{ console.error(error); }) },[]) return ( <View style={styles.container}> <ScrollView> <Carousel data={banners} width={Dimensions.get("window").width} height={200} autoPlay={true} renderItem={(obj)=>{ return( <TouchableOpacity> <Image source={{uri : obj.item.imageUrl}} /> </TouchableOpacity> ) }} /> <Text style={styles.headline}>판매되는 상품들</Text> <View style={styles.productList}> { products.map((product, index)=>{ return (<View style={styles.productCard} key={product.id}> {product.soldout === 1 && <View style={styles.productBlur}/>} <View> <Image style={styles.ProductImage} source={{uri: `${API_URL}/${product.imageUrl}`,}} resizeMode={"contain"} /> </View> <View style={styles.productContents}> <Text style={styles.productName}>{product.name}</Text> <Text style={styles.productPrice}>{product.price}원</Text> <View style={styles.productFooter}> <View style={styles.productSeller}> <Image style={styles.productAvatar} source={Avatar} /> <Text style={styles.productSellerName} >{product.seller}</Text> </View> <Text style={styles.productDate}>{dayjs(product.createdAt).fromNow()}</Text> </View> </View> </View>); }) } </View> </ScrollView> </View> ); } const styles = StyleSheet.create({ container: { flex: 1, backgroundColor: '#fff', paddingTop: 32, }, productCard: { width: 320, borderColor: 'rgb(230,230,230)', borderWidth:1, borderRadius: 16, backgroundColor: "white", marginBottom: 8, }, ProductImage :{ width: '100%', height: 210 }, productContents : { padding: 8 }, productSeller : { flexDirection: 'row', alignItems: 'center' }, productAvatar: { width:24, height:24, }, productFooter: { flexDirection: 'row', justifyContent:'space-between', alignItems: 'center', marginTop: 12, }, productName : { fontSize: 16 }, productPrice: { fontSize: 18, fontWeight: '600', marginTop: 8 }, productSellerName: { fontSize: 16, }, productDate: { fontSize: 16, }, productList: { alignItems:"center", }, headline : { fontSize: 24, fontWeight: "800", marginBottom:24 }, productBlur : { position: 'absolute', top: 0, bottom: 0, right: 0, left: 0, backgroundColor: "#ffffffaa", zIndex: 999, }, }); 에러 해결 차근차근 알려주셨으면 좋겠습니다 --------------------------------------------------------------------------------------------- 질문 5 babel.config.js 없기에 프로젝트 루트에 파일 을 직접 생성 하고 module.exports = { presets: ['babel-preset-expo'], plugins: ['react-native-reanimated/plugin'], }; 위 소스입력 후 저장 완료 후 캐시 초기화 를 위해 expo start -c 까지 차례대로 수행 후 ngrok과 모바일/서버로 연동 후 결과 가 위 버전 에러와 다르게 새로운 에러가 발생 했습니다 어떻게 해결 하죠? 질문6 아래 게시글 답변대로 질문 2까지 수행 하니 아래와 같은 에러가 발생 질문7 아래게시글 답변에 질문 3 및 3-1은 하라는대로 실행해보면 에러가 발생할까 실행을 안했는데 3개를 입력해 줘도 괜찮은건가요 ? 명령어 1: npm uninstall react-native-reanimated-carousel react-native-reanimated 명령어 2: npm install react-native-reanimated-carousel@3.3.0 react-native-reanimated@^2.0.0 명령어 3: expo install react-native-gesture-handler 질문8 잘 되던 안드로이드 스튜디오가 로딩을 왜 못할까요?
HTML/CSS javascript react node.js react-native 머신러닝 express tensorflow
isbcom1004
2025-12-20T09:33:31.818Z
댓글 2
좋아요 0
조회수 220