테스트 라이브러리가 강의는 junit4가 맞나요??
미해결
실전! 스프링 데이터 JPA
영상에서는 이제 junit5를 의존관계로 가져간다고 나와있고 build.gradle에 있는 exclude가 junit4버전에 대한걸 exclude한다고 하시는데요.. 그럼 강의가 junit5버전 쓰시는거 아닌가요? pdf는 강의 영상이 junit4 버전을 기준으로 하신다는데 이것 때문에 헷갈려요
- java
- spring
- spring-boot
- jpa
172만명의 커뮤니티!! 함께 토론해봐요.
미해결
실전! 스프링 데이터 JPA
영상에서는 이제 junit5를 의존관계로 가져간다고 나와있고 build.gradle에 있는 exclude가 junit4버전에 대한걸 exclude한다고 하시는데요.. 그럼 강의가 junit5버전 쓰시는거 아닌가요? pdf는 강의 영상이 junit4 버전을 기준으로 하신다는데 이것 때문에 헷갈려요
미해결
죽음의 Spring Batch: 새벽 3시의 처절한 공포는 이제 끝이다.
킬구형 사용자 정의 ExitStatus를 애플리케이션 종료 코드로 활용하기. 이거 커스텀 ExitCodeGenerator까지 만들었으면 jar를 실행하고 나서 $LASTEXITCODE로 조회했을 때 코드 값이 바뀌어 있어야 하는거지?
해결됨
한 입 크기로 잘라먹는 React.js 실전 프로젝트 - SNS 편
안녕하세요, 이정환 강사님. 강의를 모두 수강하고 혼자 프로젝트를 진행하고 있는 수강생입니다. 모달 store를 구현하던 중 의문점이 생겨 질문합니다. 만약 postEditorModal에 더불어 다른 모달 데이터를 관리하는 스토어(예를 들어 projectEditorModal)을 만들고 싶으면, store 파일을 두 개로 나누어 만드는 것이 맞을까요? 처음에는 똑같은 state와 actions 값을 담는 store니 하나의 파일로 관리해서 만들어도 되지 않을까 생각했는데, devtools 이름을 나누어 관리하는 것이 버그 관리나 유지 보수 관점에서 더 유리할 것 같아서요. 감사합니다.
미해결
클로드 코드 완벽 마스터: AI 개발 워크플로우 기초부터 실전까지
pro 요금제, sonnet4.5를 사용해서 강의를 따라가다 보니 금방 session의 토큰 사용량이 가득 차는 부분이 불편해서 모델 비교 설명을 확인해봤습니다. 일상적인 개발에서는 sonnet4.5가 토큰 사용량이나 성능 측면에서 뛰어난 것 같더라구요. 아마 실무 개발에서 claude를 활용하게 된다면 sonnet을 사용할 것 같은데, haiku4.5가 sonnet보다 3배 저렴하고 속도도 빠르다고 하는 내용을 보니 pro 요금제로 강의를 들을 때는 haiku 모델이 더 적합하겠다는 생각이 들었습니다. 이것 저것 모두 써보려고 하는데, 강사님의 의견이 궁금합니다! (실무에서 모델별 성능이 체감될 만큼 차이가 큰지도 궁금합니다.)
미해결
React Native with Expo: 제로초에게 제대로 배우기
npm ls react 19.1.0 npm ls react-native 0.81.5 npm ls expo 54.0.27 버전을 알려주시면 질문자분과 동일한 환경에서 답변 드릴 수 있습니다. 에뮬레이터에 location도 설정했는데 왜 마크표시를 누르면 아래 에러가 발생하는걸까요.. 빌드 지우고 다시 설치하고도 해봤습니다. LOG getMyLocation granted ERROR [Error: Uncaught (in promise, id: 1) Error: Current location is unavailable. Make sure that location services are enabled] Code: construct.js 2 | var setPrototypeOf = require("./setPrototypeOf.js"); 3 | function _construct(t, e, r) { > 4 | if (isNativeReflectConstruct()) return Reflect.construct.apply(null, arguments); | ^ 5 | var o = [null]; 6 | o.push.apply(o, e); 7 | var p = new (t.bind.apply(t, o))(); Call Stack construct (<native>) apply (<native>) _construct (node_modules/@babel/runtime/helpers/construct.js:4:65) Wrapper (node_modules/@babel/runtime/helpers/wrapNativeSuper.js:15:23) construct (<native>) _callSuper (node_modules/@babel/runtime/helpers/callSuper.js:5:108) constructor (node_modules/expo-modules-core/src/errors/CodedError.ts:11:5)
해결됨
한 입 크기로 잘라먹는 React.js 실전 프로젝트 - SNS 편
안녕하세요 선생님 supabase의 회원가입 기능을 사용하여 가입한 경우 자동으로 로컬스토리지에 토큰정보들이 저장이 되는 부분에서 이 부분들이 보안적으로 문제가 되지 않나요?? supabase를 사용하는 실무에서 이러한 문제를 어떤식으로 보통 해결하나요?
미해결
클로드 코드 완벽 마스터: AI 개발 워크플로우 기초부터 실전까지
성능은 클로드코드가 더 좋다는데. 궁금하네요.
미해결
실전! 스프링 데이터 JPA
위는 강의 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 내용과 조금 다른 것 같아 질문드립니다
미해결
(2025 최신 업데이트)리액트 : 프론트엔드 개발자로 가는 마지막 단계
강의 시간에 구글에서 찾은 이미지 말구요 그림 이미지요 모바일
해결됨
한 입 크기로 잘라먹는 Next.js
안녕하세요. 수업을 듣다가 알려주신 거랑 다르게 동작하는 것 같아 질문드립니다. 5.2 풀라우트 캐시2 스크립트 기준 10:09 "자, 이런 Fetch 메서드는 자동으로 No Store 옵션을 갖는다고 말씀을 드렸죠?" -> 그래서 예상한 결과값은 dynamic page를 예상했는데 static page로 나오는 것 같습니다 npm run build를 했을 때 cache 옵션을 안 준 경우 const response = await fetch(`${process.env.NEXT_PUBLIC_API_SERVER_URL}/book`) Route (app) Size First Load JS ┌ ○ / 288 B 106 kB 이렇게 static page로 나오고 cache 옵션 no-store로 준 경우 Route (app) Size First Load JS ┌ ƒ / 288 B 106 kB 이렇게 dynamic page로 나와서 next 공식 문서를 찾아보니 https://nextjs.org/docs/15/app/api-reference/functions/fetch auto no cache (default): Next.js fetches the resource from the remote server on every request in development, but will fetch once during next build because the route will be statically prerendered. If Dynamic APIs are detected on the route, Next.js will fetch the resource on every request. 이렇게 build 때는 static 이라고 해서 질문이 생겼습니다. 어떤 블로그에서는 또 브라우저마다 다르게 동작한다고 해서 헷갈립니다..! 답변 주시면 감사드리겠습니다.
미해결
한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
이렇게 노트북으로 배포한 상태에서 동일한 url을 제 휴대폰으로 검색해서 들어가니까 제 휴대폰으로는 데이터들이 안 보이는데 버그인가요?
해결됨
실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (아니오) [질문 내용] 안녕하세요. 컬렉션 조회 최적화 부분에서 페이징 + 검색 조건 관련해서 궁금한 점이 있어서 질문드립니다. 질문) Order 리스트 페이징을 하고 싶은데@BatchSize는 안쓰고 5번처럼 QueryDto직접 쿼리 2번 + map O(0) 방식으로 처리하려고 합니다. 이 때 만약 검색 조건이 toMany 로 맺어진 테이블 (orderItem.quantity, orderItem.item.name 등) 에 있다면 toOne 방향 루트 join fetch 쿼리 할 때 이 조건을 함께 포함시켜면 되는걸까요 (join orderItem .. where .. 같이) 예를들어 item.name이 "tesla"인 item을 포함하고 있는 모든 order를 페이징 적용해서 보여주고 싶은 경우에 어떻게 하면 좋을지 궁금합니다.
미해결
한 입 크기로 잘라먹는 React.js 실전 프로젝트 - SNS 편
like테이블을 생성하고자 작성을 한 후 Add foregin key relation 을 클릭하여 public schema를 선택한 이후에도 하위 테이블 목록이 보이지 않습니다..ㅠㅠ 딱히 다른 설정을 만진것이 없이 강의를 따라 쭉 해보고 있는데 무언가가 바뀐건가요? 강의 내에서는 post테이블이면 public.post로 나오지만 지금 현재는 post로만 보이는 상태인데 어떤 부분이 바뀌었나? 혹은 설정을 못한 부분이 있나 잘 모르겠습니다..
미해결
리액트 기초 (Introduction to React)
제가 알기로는 props 로 알고있는데 강의에서 강사님이 props를 계속 probs 로 사용하셔서 헷갈립니다. probs 도 쓰이는 표현인가요?
미해결
React 완벽 마스터: 기초 개념부터 린캔버스 프로젝트까지
해당강의의 교안 내용과 강의를 보며 이해한 부분을 블로그에 정리해서 글을 써도 되는지 궁금합니다!
미해결
토비의 스프링 6 - 이해와 원리
3.0.2 버전의 경우 readValue가 JacksonException을 throw하는 것으로 타입이 선언되어 있는데요. (unchecked Exception 타입) public <T> T readValue(String content, Class<T> valueType) throws JacksonException Unchecked Exception(상위 에러 타입이 RuntimeException)이지만 강의처럼 try catch 이용하여 JacksonException을 catch 하면 될까요? 아님 RuntimeException 이니 별도로 catch 없이 코드를 작성하는게 좋을까요?
미해결
이펙티브 자바 완벽 공략 3부
더 백기선 시리즈는 모두 사고 싶은데, 너무 이전의 강의들이라 솔직히 사기가 망설여지는데 궁금하네요. 추가로 이펙티브4판도 출시예정인지요
미해결
스프링 부트와 리액트로 구현하는 보안 JWT 로그인
로그인구현 직접하는줄 알고 결재했는데 직접구현하는 강의가 없는건지 제가 못찾은건지 바로 서버 생성하고 배포하는걸 보여주시는데 직접구현하는거는 어디서봐야할까요? 다른강의일까요?
미해결
클로드 코드 완벽 마스터: AI 개발 워크플로우 기초부터 실전까지
클로드 pro price 사용중입니다. 이번 과제를 진행하면서 초기화없이 한 섹션?(이 단위를 부르는 명칭을 잘 모르겠네요)에서 진행을 했는데, 약 5~6번의 수정을 거치니 토큰 사용량(current session)이 한도에 도달해버리네요. 미션 템플릿에 따라 처음 plan 요청 후에는, accept edit 모드로 간단하다고 생각되는 수정 사항을 요청했습니다. 수정 내용으로는 1. 블랙+옐로우의 어두운 컬러감 말고 main, secondary 컬러 다시 정해서 밝은 테마, 다채로운 컬러 사용해서 수정해줘 2. 경력 섹션에 카드 형식말고 아코디언 형식의 타임라인 형태로 수정해줘 이런 식으로 두가지 정도씩해서 4~5번 수정사항을 요청했습니다. 매 수정 때마다 거의 10분을 잡아먹드라구요 중간에 clear가 없었던 탓일까요? 토큰 사용 속도가 너무 빠른데. 만약 그렇다면 clear를 중간 중간에 해주면 사용량이 줄어들까요?
미해결
죽음의 Spring Batch: 새벽 3시의 처절한 공포는 이제 끝이다.
강의 섹션4. 데이터베이스를 지배하라. 챕터에서 아래는 JPA 방식으로 일대다 관계를 가진 데이터를 페치 조인으로 가져오는 예제 코드야. returnnew JpaCursorItemReaderBuilder <Post>() .name( "postBlockReader" ) .entityManagerFactory(entityManagerFactory) .queryString( """ SELECT p FROM Post p JOIN FETCH p.reports r WHERE r.reportedAt >= :startDateTime AND r.reportedAt < :endDateTime """ ) .parameterValues(Map.of( "startDateTime" , startDateTime, "endDateTime" , endDateTime )) .build(); 근데 jdbc 커서 예제에서는 킬구형이 아래처럼 단일 테이블만 조회하는 예제를 사용했어. @Bean public JdbcCursorItemReader < Victim > terminatedVictimReader () { returnnew JdbcCursorItemReaderBuilder<Victim>() .name( "terminatedVictimReader" ) .dataSource(dataSource) .sql( "SELECT * FROM victims WHERE status = ? AND terminated_at <= ?" ) .queryArguments(List.of( "TERMINATED" , LocalDateTime.now ())) .beanRowMapper(Victim. class ) .build(); } 근데 내가 지금 하려고 하는 건 jdbc 커서 방식에서 일대다 관계 테이블 데이터를 조회해서 일일정산 데이터 만드는 기능으로 복습해보려고 하는데, 데이터가 뻥튀기 되서 강의 예제에서 해당 케이스를 찾아보려고 하는데, 못 찾아서 질문글 작성했어. jdbc 방식으로 일대다 관계 데이터를 Reader로 읽어와서 위에 jpa 구조로 매핑하려면 어떻게 해야하는지 알려줄 수 있어? @Bean @StepScope public JdbcCursorItemReader<OrderBatchJoinDto> jdbcCursorReader( @Value("#{jobParameters['orderDate']}") LocalDate orderDate) { LocalDateTime startOrderDate = orderDate.atStartOfDay(); LocalDateTime endOrderDate = orderDate.atTime(23, 59, 59); return new JdbcCursorItemReaderBuilder<OrderBatchJoinDto>() .name("jdbcCursorReader") .dataSource(dataSource) .sql(""" SELECT ob.ORDERS_BATCH_ID, ob.USER_ID, ob.STATUS, ob.ORDER_DATE_TIME, oib.ORDERS_ITEM_BATCH_ID, oib.ORDERS_BATCH_ID, oib.PRODUCT_BATCH_ID, oib.PRODUCT_NAME, oib.PRICE, oib.QUANTITY FROM orders_batch ob LEFT JOIN orders_item_batch oib ON ob.ORDERS_BATCH_ID = oib.ORDERS_BATCH_ID WHERE ob.ORDER_DATE_TIME BETWEEN ? AND ? ORDER BY ob.ORDERS_BATCH_ID, oib.ORDERS_ITEM_BATCH_ID """) .queryArguments(List.of(startOrderDate, endOrderDate)) .beanRowMapper(OrderBatchJoinDto.class) } public class OrderItemBatchDto { private Long id; private Long ordersBatchId; private Long productBatchId; private String productName; private int price; private int quantity; } public class OrderItemBatchDto { private Long id; private Long ordersBatchId; private Long productBatchId; private String productName; private int price; private int quantity; }