inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

프로젝트 초기화

미해결

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

이번 미션을 진행하면서 궁금한 점이 있어 질문드립니다. 이전 강의에서 프로젝트를 처음 시작시 보통 초기화(/init)하여 claude.md파일을 생성한다고 했는데 이번 미션에는 초기화없이 Plan Mode로 계획을 수립/구현하는데 그럼 구현 후 초기화하면 되는 걸까요? 초기화 하는 시점이 궁금합니다. 그리고 만약 구현 후 초기화하면 코드베이스를 분석하여 claude.md 파일을 생성하면 그 이후에 수정사항은 Plan Mode가 아닌 claude.md 파일에서 지침을 수정하면 이전 컨텍스트를 기억해서 수정하는게 아니라 claude.md 파일을 분석해서 수정하니까 token 소모가 덜 들것 같은데 claude.md 파일을 수정해서 구현을 요청해도 되는 걸까요?

  • react
  • next.js
  • cursor
  • tailwindcss
  • claude
지구별여행자 댓글 2 좋아요 0 조회수 160

Repository Adapter 설계에 대해 피드백을 부탁드립니다

미해결

토비의 클린 스프링 - 도메인 모델 패턴과 헥사고날 아키텍처 Part 1

안녕하세요 토비님!! 강의를 완강하고 제 프로젝트를 리팩토링하면서 피드백받고싶은점이 생겨 질문글을 올립니다. Repository Port를 기술에 종속시키지 않기 위해 Adapter에서 JPA, MyBatis, QueryDSL을 조합하는 구조를 선택했는데, 이 설계 방향이 적절한지 조언을 구하고 싶습니다. 현재 구조 core/ └── domain/ └── application/ └── required/ ← Port 인터페이스 └── ~Repository adapter/ └── persistence/ ├── ~RepositoryAdapter ← Port 구현체 ├── ~JpaRepository ← Spring Data JPA └── ~MybatisMapper ← Mybatis 매퍼 인터페이스 의존 관계 [Service] → [Repository] ←impl― [RepositoryAdapter] → [JpaRepository] → [MybatisMapper] → [JPAQueryFactory] (core) (core) (adapter) (adapter) 예시 @Repository @RequiredArgsConstructor public class ItemRepositoryAdapter implements ItemRepository { private final ItemJpaRepository itemJpaRepository; private final ItemMybatisMapper itemMybatisMapper; @Override public List<Item> findBySearchRequest(ItemSearchRequest request) { return itemMybatisMapper.findBySearchRequest(request) .stream() .map(Item::from) .toList(); } @Override public List<Item> saveAll(List<Item> items) { return itemJpaRepository.saveAll(items); } } @Repository @RequiredArgsConstructor public class AuctionRepositoryAdapter implements AuctionRepository { private final JPAQueryFactory jpaQueryFactory; private final AuctionJpaRepository auctionJpaRepository; @Override public void deleteAllByRegionAndRealmId(RegionType region, Long realmId) { QAuction qAuction = QAuction.auction; BooleanBuilder filter = new BooleanBuilder(); filter.and(qAuction.region.eq(region)); if (realmId == null) { filter.and(qAuction.realmId.isNull()); } else { filter.and(qAuction.realmId.eq(realmId)); } jpaQueryFactory.delete(qAuction) .where(filter) .execute(); } @Override public int saveAll(List<Auction> auctions) { if (auctions.isEmpty()) return 0; return auctionJpaRepository.saveAll(auctions).size(); } } 이 구조를 선택한 이유 동적 쿼리, 벌크 연산 등 JPA만으로 해결하기 어려운 케이스가 있어 MyBatis와 QueryDSL을 병행 사용하고 있습니다. 일반적인 방식인 Port 인터페이스가 Spring Data JPA Repository를 상속하는 구조를 채택하지 않은 이유: MyBatis나 QueryDSL 기반 구현체를 만들 수 없음 CustomRepository 인터페이스를 별도로 만들어야 하는 복잡도 증가 현재 방식의 장점: Port 인터페이스가 순수 Java 인터페이스로 유지됨 RepositoryAdapter에서 상황에 맞는 기술을 자유롭게 조합 가능 추가 인터페이스 없이 단순한 구조 유지 저는 현재 구조가 의존 관계도 외부에서 내부로 향하고 테스트도 쉬워서 괜찮다고 생각하는데 토비님의 생각도 듣고싶습니다!! 좋은 강의 감사합니다!!

  • java
  • spring
  • spring-boot
  • jpa
  • 리팩터링
  • ddd
Reverie 댓글 2 좋아요 0 조회수 139

리트코드 1280. Students and Examinations

해결됨

[백문이불여일타] 데이터 분석을 위한 중급 SQL

SELECT st.student_id , st.student_name , su.subject_name , COUNT(e.student_id) AS 'attended_exams' FROM Students AS st CROSS JOIN Subjects AS su LEFT JOIN Examinations AS e ON st.student_id = e.student_id AND su.subject_name = e.subject_name GROUP BY su.subject_name ORDER BY st.student_id, su.subject_name [리트코드 1280. Students and Examinations] 정답과 다르게 작성한 부분은 GROUP BY 입니다. 저는 GROUP BY에 sb.subject_name 만 작성했습니다.. 이 때 Output이 Alice 결과만 나오는 것도 이해가 안가고 [CROSS JOIN+연습문제풀이] 해설영상을 보면 6분12초 "GROUP BY의 기준컬럼으로 사용하면 되겠구요" 라는 부분이 이해가 안가요..ㅠㅠ 제가 GROUP BY의 개념이해가 부족한 것 같은데... 어느 부분을 제가 못잡고 있는 걸까요? 추가로 도움될만한 영상이나 글이 있을까요? +추가) 같은 맥락으로.. 해커랭크 [ Average Population of Each Continent ] SELECT co.CONTINENT , FLOOR(AVG(ci.population)) FROM CITY AS ci INNER JOIN COUNTRY AS co ON ci.COUNTRYCODE = co.CODE GROUP BY co.CONTINENT, ci.population 해당문제는 GROUP BY에 컬럼 둘 다 넣었는데 얜 또 컬럼 하나만 넣어야 되더라구요 ㅠ

  • sql
[SQL 실전반 6기] 벨벨 댓글 3 좋아요 0 조회수 114

SSO KeyStore not available

미해결

실습으로 손에 잡히는 SQLD(2과목)

파일 경로는 위에 캡쳐 보시다시피 잘 적은거 같은데, 자꾸 오류가 뜨네요..ㅠ 비전공자에게 환경설정 설명이 너무 러프하다는 생각이 듭니다ㅠㅠ 한시간째 붙잡고 있어요.

  • sql
  • oracle
  • mssql
  • SQLD
송송뀨 댓글 2 좋아요 0 조회수 110

created_at 관련 구현과 DB ENUM에 대해

미해결

김영한의 실전 데이터베이스 - 설계 1편, 현대적 데이터 모델링 완전 정복

안녕하세요, 강사님. 이번 강의를 듣고 2가지 궁금증이 생겨 질문을 올리게 되었습니다. created_at 과 updated_at 구현 DB 레벨에서 ON UPDATE 와 DEFAULT CURRENT_TIMESTAMP 를 활용할 수 있다고 말씀해 주셨는데요, JPA에서는 @CreatedDate 와 @LastModifiedDate 로 애플리케이션 단에서 이를 구현할 수도 있습니다. 실무에서는 각각을 언제 사용할까요? 그리고 권장하는 구현이 따로 있으실까요? DB ENUM 타입을 잘 사용하지 않는 이유 실무에서 DB ENUM 데이터 타입 사용을 권장하지 않는다는 말씀으로 이해했습니다. 단순히 해당 ENUM 값의 범위가 변경되었을 때 이를 바꿔주는 것 이상으로 성능 이슈가 있어서라고 생각했습니다만, 정확히 알기가 어렵습니다. 자세한 설명을 부탁드려도 될까요? 감사합니다.

  • sql
  • mysql
  • dbms/rdbms
  • 소프트웨어-설계
  • jpa
ZZAMBA 댓글 1 좋아요 0 조회수 89

텍스트 파일 한글 인코딩 깨져서 나오는 문제 질문

해결됨

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

다음 이미지와 같이 hook-test.txt를 생성했을 때 테스트 훅!이 나오는 것이 아니라 다음과 같이 깨져 나오는데 해결방안이 있을까요?

  • react
  • next.js
  • cursor
  • tailwindcss
  • claude
로로로도로로 댓글 2 좋아요 0 조회수 1327

/status line 문제

미해결

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

어떻게 해야할까요?

  • react
  • next.js
  • cursor
  • tailwindcss
  • claude
김현우 댓글 2 좋아요 0 조회수 200

헥사고날 part2 강의 출시 예정일 문의 드립니다.

해결됨

토비의 클린 스프링 - 도메인 모델 패턴과 헥사고날 아키텍처 Part 1

Part1 강의 너무 재미있게 봐서 Part2강의가 너무 기다려집니다. Part2 강의 출시가 언제쯤 되는지 혹시 계획이 있으신지 궁금합니다. 항상 좋은 강의해주셔서 감사합니다.

  • java
  • spring
  • spring-boot
  • jpa
  • 리팩터링
핑거_박수민 댓글 2 좋아요 0 조회수 310

battle table 오류

해결됨

초보자를 위한 BigQuery(SQL) 입문

현재 battle 미리보기 오류까진 해결하는 방법을 확인해서 basic2로 새로 세팅해서 battle을 만드는 과정에 있습니다. 그과정에서 해당 오류가 뜨고 있습니다. 이렇게 세팅된 상태이긴합니다. 근데 battle. CSV 파일 확인해보니 timestamp 쪽에서 사용자지정이 아닌 일반으로 되어, 시간이 안나오고 문자열로 된 상태인데, 이거땜에 오류가 발생하는건지 문의드립니다. 테이블 만들기

  • sql
  • bigquery
  • 데이터-리터러시
민수 댓글 2 좋아요 0 조회수 109

새로운 기능 추가할때 작업 프로세스 질문

미해결

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

안녕하세요, PRD.md -> ROADMAP.md -> Shrimp 로 작업 쪼개기 후 MVP 만든 후에, 기능을 새로 추가할때마다 똑같은 프로세스 ( PRD.md -> ROADMAP.md -> Shrimp ) 를 반복해야 하나요? 아니면 그냥 클로드에 바로 해당 기능을 추가해달라고 하는게 좋을까요?

  • react
  • next.js
  • cursor
  • tailwindcss
  • claude
ae0505 댓글 2 좋아요 0 조회수 71

강의 마지막이 잘려있는것 같습니다

해결됨

부트캠프에서 알려주지 않는 것들 (리액트) 1편

강의 마지막이 잘려있는 것 같습니다

  • react
  • tdd
  • React-Context
  • jest
  • 소프트웨어-테스트
정중한 몽구스 댓글 2 좋아요 0 조회수 88

신규 쿼리 공간 오류 문의

미해결

[개념반]배워서 바로 쓰는 SQL 쿼리

안녕하세요, 2026년 수강중인 사람입니다. 기존에 첨부해주신 실습 링크 https://www.w3schools.com/sql/trysql.asp?filename=trysql_select_all 에서 limit과 같은 몇몇 기능이 실행이 안되던데, 새로 첨부해주신 https://easysqls.w3spaces.com/ -> 여기는 아예 사이트 자체가 안열립니다. 로딩만 계속 되구요 강의가 나온 지 꽤 오래된것 같은데, 이부분 해결해주셨음 합니다.

  • sql
반디 댓글 1 좋아요 0 조회수 69

왜 컨트롤러는 변한게 없는데 새로 만든 html 파일이 뜨나요?

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

지난 강의에서 index.html을 만들고 이번에 hello-static.html을 만들어서 실행했는데 왜 새로 만들어진 html이 띄워지나요?

  • java
  • spring
  • mvc
  • spring-boot
one 댓글 2 좋아요 0 조회수 143

M:N 관계의 연관 엔티티 설계 순서

미해결

김영한의 실전 데이터베이스 - 설계 1편, 현대적 데이터 모델링 완전 정복

이런 식으로 실무적으로 접근했을 때 이 강의에서 예시를 들어주셨던 것처럼 (학생, 과목, 수강), (사용자, 영화, 평가) 엔티티를 개념적 모델링 단계에서 먼저 설계를 할텐데, 이때 설계 순서가 궁금합니다. (학생, 과목), (사용자, 영화) 와 같은 기본 엔티티를 먼저 만든 다음에 M:N 다대다 관계인 것을 확인하고 이것을 풀어내면서 동시에 비즈니스적 의미를 넣기 위해 중심(연관) 엔티티를 만드는 게 일반적인가요? 아니면 처음부터 학생 -> 수강 -> 과목 or 사용자 -> 평가 -> 영화 로 이어지도록 설계하는 게 일반적인가요?

  • sql
  • mysql
  • dbms/rdbms
  • 소프트웨어-설계
  • SQLD
박동규 댓글 2 좋아요 0 조회수 101

안녕하세요 9.3 프로필 수정 기능 구현하기 질문드립니다.

미해결

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

마지막 부분인 9.5 프로필 인가부분까지 수업을 들으면서 코드를 작성했는데, ProfileDetailPage가 제대로 렌더링 되지 않아서 질문드립니다. 코드가 혹시 잘못되었을까해서 깃허브 보고 다시 확인했는데, 코드는 강의 내용이랑 맞는 것 같습니다. 뭐가 문제인지 잘모르겠어요

  • react
  • typescript
  • react-query
  • supabase
  • zustand
댓글 3 좋아요 0 조회수 93

이런 플젝 만드는데 얼마나 걸리시나요?

미해결

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

강의에 관한 질문은 아니긴한데 개인적으로 궁금해서 여쭤봅니다..! 강의 설명 준비하시는 거 말고 이 정도 규모 프로젝트 만들 때 얼마나 걸리시나요??.. 사람마다 다르겠지만 대충 기간이 궁금해서요..! 불편하신 질문이었다면 죄송합니당..

  • react
  • typescript
  • react-query
  • supabase
  • zustand
쁘엔 댓글 1 좋아요 0 조회수 122

동일하게 쿼리를 작성했는데 화면과 다른 값이 나옵니다

해결됨

BigQuery(SQL) 활용편(퍼널 분석, 리텐션 분석)

SELECT user_id , event_date , event_name , event_timestamp , user_pseudo_id , MAX(IF(par.key='firebase_screen', par.value.string_value, NULL)) AS firebase_screen , MAX(IF(par.key='food_id', par.value.int_value, NULL)) AS food_id , MAX(IF(par.key='session_id', par.value.string_value, NULL)) AS session_id FROM `advanced.app_logs` CROSS JOIN UNNEST(event_params) AS par WHERE event_date = '2022-08-01' GROUP BY ALL LIMIT 100; app_logs 피벗하는 문제인데 food_id가 null 밖에 없는 건 아니지만 보여주신 화면과 그 값이 많이 상이한 거 같아서요.. 이유가 뭔지를 알 수 있을까요 ㅜㅜ

  • sql
  • Google-Analytics
  • firebase
  • google-sheets
  • bigquery
S-EK 댓글 2 좋아요 0 조회수 104

백엔드 서버 오류납니다.

미해결

한 입 크기로 잘라먹는 Next.js

백엔드 서버 다운받아서 실행하려고 npm run start 했는데 오류가 발생합니다. .env파일도 보이지 않습니다.

  • react
  • next.js
kyk9412 댓글 2 좋아요 0 조회수 111

UnsupportedOperationException 발생

미해결

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

package hellojpa; import javax.persistence.Entity; import javax.persistence.Id; @Entity public class Member { @Id private Long id; private String name; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } } package hellojpa; import javax.persistence.EntityManager; import javax.persistence.EntityManagerFactory; import javax.persistence.EntityTransaction; import javax.persistence.Persistence; public class JpaMain { public static void main(String[] args) { EntityManagerFactory emf = Persistence.createEntityManagerFactory("hello"); EntityManager em = emf.createEntityManager(); EntityTransaction tx = em.getTransaction(); tx.begin(); Member member = new Member(); member.setId(1L); member.setName("HelloA"); em.persist(member); tx.commit(); em.close(); emf.close(); } } C:\Users\User\.jdks\temurin-21.0.9\bin\java.exe "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA 2025.2.2\lib\idea_rt.jar=65054" -Dfile.encoding=UTF-8 -Dsun.stdout.encoding=UTF-8 -Dsun.stderr.encoding=UTF-8 -classpath C:\study\ex1-hello-jpa\ex1-hello-jpa\target\classes;C:\Users\User\.m2\repository\javax\xml\bind\jaxb-api\2.3.0\jaxb-api-2.3.0.jar;C:\Users\User\.m2\repository\org\hibernate\hibernate-entitymanager\ 5.3.10.Final \ hibernate-entitymanager-5.3.10.Final .jar;C:\Users\User\.m2\repository\org\jboss\logging\jboss-logging\ 3.3.2.Final \ jboss-logging-3.3.2.Final .jar;C:\Users\User\.m2\repository\org\hibernate\hibernate-core\ 5.3.10.Final \ hibernate-core-5.3.10.Final .jar;C:\Users\User\.m2\repository\org\javassist\javassist\3.23.2-GA\javassist-3.23.2-GA.jar;C:\Users\User\.m2\repository\antlr\antlr\2.7.7\antlr-2.7.7.jar;C:\Users\User\.m2\repository\org\jboss\jandex\ 2.0.5.Final \ jandex-2.0.5.Final .jar;C:\Users\User\.m2\repository\com\fasterxml\classmate\1.3.4\classmate-1.3.4.jar;C:\Users\User\.m2\repository\javax\activation\javax.activation-api\1.2.0\javax.activation-api-1.2.0.jar;C:\Users\User\.m2\repository\org\dom4j\dom4j\2.1.1\dom4j-2.1.1.jar;C:\Users\User\.m2\repository\org\hibernate\common\hibernate-commons-annotations\ 5.0.4.Final \ hibernate-commons-annotations-5.0.4.Final .jar;C:\Users\User\.m2\repository\javax\persistence\javax.persistence-api\2.2\javax.persistence-api-2.2.jar;C:\Users\User\.m2\repository\net\bytebuddy\byte-buddy\1.9.5\byte-buddy-1.9.5.jar;C:\Users\User\.m2\repository\org\jboss\spec\javax\transaction\jboss-transaction-api_1.2_spec\ 1.1.1.Final \jboss-transaction-api_1.2_ spec-1.1.1.Final .jar;C:\Users\User\.m2\repository\com\h2database\h2\1.4.199\h2-1.4.199.jar hellojpa.JpaMain 1월 13, 2026 3:42:37 오후 org.hibernate.jpa.internal.util.LogHelper logPersistenceUnitInformation INFO: HHH000204: Processing PersistenceUnitInfo [ name: hello ...] 1월 13, 2026 3:42:37 오후 org.hibernate.Version logVersion INFO: HHH000412: Hibernate Core { 5.3.10.Final } 1월 13, 2026 3:42:37 오후 org.hibernate.cfg.Environment <clinit> INFO: HHH000206: hibernate.properties not found 1월 13, 2026 3:42:37 오후 org.hibernate.annotations.common.reflection.java .JavaReflectionManager <clinit> INFO: HCANN000001: Hibernate Commons Annotations { 5.0.4.Final } 1월 13, 2026 3:42:38 오후 org.hibernate.engine.jdbc.connections.internal.ConnectionProviderInitiator initiateService WARN: HHH000181: No appropriate connection provider encountered, assuming application will be supplying connections 1월 13, 2026 3:42:38 오후 org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator initiateService WARN: HHH000342: Could not obtain connection to query metadata : The application must supply JDBC connections 1월 13, 2026 3:42:38 오후 org.hibernate.dialect.Dialect <init> INFO: HHH000400: Using dialect: org.hibernate.dialect.H2Dialect 1월 13, 2026 3:42:38 오후 org.hibernate.engine.jdbc.env.internal.LobCreatorBuilderImpl makeLobCreatorBuilder INFO: HHH000422: Disabling contextual LOB creation as connection was null Exception in thread "main" java.lang.UnsupportedOperationException: The application must supply JDBC connections at org.hibernate.engine.jdbc.connections.internal.UserSuppliedConnectionProviderImpl.getConnection(UserSuppliedConnectionProviderImpl.java:44) at org.hibernate.internal.NonContextualJdbcConnectionAccess.obtainConnection(NonContextualJdbcConnectionAccess.java:35) at org.hibernate.resource.jdbc.internal.LogicalConnectionManagedImpl.acquireConnectionIfNeeded(LogicalConnectionManagedImpl.java:106) at org.hibernate.resource.jdbc.internal.LogicalConnectionManagedImpl.getPhysicalConnection(LogicalConnectionManagedImpl.java:136) at org.hibernate.resource.jdbc.internal.LogicalConnectionManagedImpl.getConnectionForTransactionManagement(LogicalConnectionManagedImpl.java:254) at org.hibernate.resource.jdbc.internal.LogicalConnectionManagedImpl.begin(LogicalConnectionManagedImpl.java:262) at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcResourceLocalTransactionCoordinatorImpl$TransactionDriverControlImpl.begin(JdbcResourceLocalTransactionCoordinatorImpl.java:236) at org.hibernate.engine.transaction.internal.TransactionImpl.begin(TransactionImpl.java:86) at hellojpa.JpaMain.main(JpaMain.java:16) Process finished with exit code 1 이거 에러 발생한 이유가 뭘까요? 강의 러닝타임은 11분대입니다.

  • java
  • jpa
lgh8079 댓글 3 좋아요 0 조회수 139

인기 태그

인프런 TOP Writers

주간 인기글