강의자료 부탁드립니다
미해결
프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
강의자료 부탁드립니다!!ohzongin@naver.com
- python
172만명의 커뮤니티!! 함께 토론해봐요.
미해결
프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
강의자료 부탁드립니다!!ohzongin@naver.com
미해결
자바 ORM 표준 JPA 프로그래밍 - 기본편
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 안녕하세요. 해당 강의 11분 44초 쯤 JpaMain 실행 시 INSERT 쿼리가 나가는 것을 볼 수가 있는데 제가 실습해본 결과 detached entity passed to persist: hellojpa.Member 에러가 발생합니다. 에러를 해결하려고 구글링 해본 결과 엔티티에 @GeneratedValue를 사용해서 값을 자동으로 생성하겠다고 선언을 했는데 아이디를 직접 세팅 후 persist를 호출해서 에러가 발생한다고 나와 있어서 JpaMain에서 member.setTeamId(team.getId())를 지우고 실행해봤는데 정상적으로 INSERT 쿼리가 나가는 것을 확인했습니다. 하지만 Member 엔티티에서 @GeneratedValue를 id에만 적용하고 teamId에는 @GeneratedValue를 적용하지 않았는데 해당 에러가 왜 발생한지 잘 모르겠습니다. 해당 에러 및 해결 방법에 대해 알려주시면 감사하겠습니다.
해결됨
자바 ORM 표준 JPA 프로그래밍 - 기본편
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 안녕하세요 연관관계 코드로 쳐보면서 하다가 이상한 부분이 있어서 궁금증이 생겨 질문합니다. Member : N Team : 1 로 Member가 연관관계 주인인 상태로 member와 team 객체의 연관관계를 설정하고 public class Member { @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "TEAM_ID") private Team team; } public class Team { @OneToMany(mappedBy = "team") // Member의 team과 연결되어있다. private List<Member> members = new ArrayList<>(); } member 저장후 team 저장시 member insert team insert 가 나간 뒤에 member update 쿼리가 나가는데 이때 member의 모든 필드에 대한 업데이트 쿼리가 나갑니다. Member member = new Member(); member.setUsername("member1"); Team team = new Team(); team.setName("team1"); member.setTeam(team); team.getMembers().add(member); em.persist(member); em.persist(team); em.flush(); em.clear(); 이게 왜이런지 모르겠습니다. member가 먼저 추가되면서 teamId가 설정됬을 텐데 실질적인 team 이 데이터베이스에 없어서 team이 추가된 뒤에 연관관계를 맞추기위해 member의 모든 필드를 update했다고 봐야하나요? 그러면 teamId만 update 해주면 되는데 모든 필드를 업데이트하는 이유가 궁금합니다. 항상 감사합니다.
미해결
김영한의 실전 자바 - 기본편
자바 메모리 구조 강의 9:40 쯤에 제가 제대로 이해한게 맞는지 확인 부탁드립니다. Item1, Item2 인스턴스 2개를 생성하면 name, price, quantity 는 고유한 값을 가지므로 힙 영역에 보관되지만 getName 메서드, getTotalPrice 메서드는 메서드 영역에 보관된다. 이 말이 맞는지 확인 부탁드립니다.
미해결
초보자를 위한 ChatGPT API 활용법 - API 기본 문법부터 12가지 프로그램 제작 배포까지
바로 이전 강의에서 01번 파일에서 쓰던 terminal 말고 새로 터미널을 생성해서 해야 하나요? 새로 new terminal을 생성했을 때 코드 앞부분에 (ch02_env) 가 안뜨는데 그러면 가상환경을 다시 활성화 해야하는건가요? 같은 폴더 안이라도 매 파일마다 터미널을 새로 생성해야하는건지 아니면 한번 가상환경을 생성하고 활성화 했으면 그걸로 쭉 써도 되는지 가상환경 개념이 헷갈립니다ㅜㅜ
미해결
김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 안녕하세요 올려주신 강의자료를 참조하여 깃허브 블로그에 올려도 괜찮을까요? 혹 저작권때문에 먼저 여쭤봅니다!
해결됨
(2026 최신!) 일주일만에 합격하는 정보처리기사 실기
이론관련한 부분은 개념설명 요약본 존재, 문제는 프로그래밍 문제는 존재하지 않는 것 같아요. 혹시 프로그래밍 문제 + sql 문제만 다맞는 전략이기 때문일까요? sql응용문제도 따로없어서 의도가 궁금하여 질문드립니당
해결됨
자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
communications link failure 오류가 나는데 mysql 재설치를 몇 번해도 연결이 안되네요 어떻게 해결해야할까요..?
해결됨
(2026 최신!) 일주일만에 합격하는 정보처리기사 실기
안녕하세요 선생님 코드 관련 궁금한 부분이 있어서 질문드립니다. 하노이의 탑 코드를 보면 #include <stdio.h> void hanoi(int n, char from, char to, char aux) { if (n==1) { printf("디스크 1을 %c에서 %c로 이동\n", from, to); return; hanoi(n-1, from, aux, to); printf("디스크 %d을(를) %c에서 %c로 이동\n", n, from, to); hanoi(n-1, aux, to, from); } int main() { int num = 3; hanoi(num, 'A', 'C', 'B'); return 0; } 으로 되어있는데요. void hanoi로 함수를 호출하게 되면 n이 1이라면 void hanoi(int n, char from, char to, char aux) { if (n==1) { printf("디스크 1을 %c에서 %c로 이동\n", from, to); return; 첫번째 if 조건 절로 호출하게 되지만 만약 1이 아니면 아래 함수를 호출하는 거라면 else 등의 함수가 있어야 아래 함수로 내려갈 수 있는것이 아닌가 궁금한데요. void 함수에서는 요런부분이 생략이 가능한건지 아니면 제가 놓치고 있는 부분이 있는지 궁금합니다.
미해결
자바 ORM 표준 JPA 프로그래밍 - 기본편
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. package jpabook.jpashop; import jakarta.persistence.EntityManager; import jakarta.persistence.EntityManagerFactory; import jakarta.persistence.EntityTransaction; import jakarta.persistence.Persistence; import jpabook.jpashop.domain.*; import org.hibernate.boot.model.source.spi.IdentifierSource; import javax.swing.text.html.parser.Entity; import java.time.LocalDateTime; import java.util.ArrayList; import java.util.List; public class JpaMain { public static void main(String[] args) { EntityManagerFactory emf = Persistence.createEntityManagerFactory("hello"); EntityManager em = emf.createEntityManager(); EntityTransaction tx = em.getTransaction(); tx.begin(); try{ Address address = new Address("city1", "street1", "10000"); Member member = new Member(); Order order = new Order(); Delivery delivery = new Delivery(); List<Order> orders = new ArrayList<>(); member.setName("raewoo"); member.setAddress(address); order.setMember(member); order.setDelivery(delivery); orders.add(order); member.setOrders(orders); delivery.setOrder(order); delivery.setAddress(address); em.persist(member); em.persist(order); em.persist(delivery); em.flush(); em.clear(); System.out.println("================================"); Address address2 = new Address("city2", "street2", "10000"); Member findMember = em.find(Member.class, member.getId()); Order findOrder = em.find(Order.class, order.getId()); findMember.setAddress(address2); em.flush(); em.clear(); //여기!! System.out.println(findMember.getAddress().getCity()); System.out.println("================================"); System.out.println(findMember.getOrders().getFirst().getDelivery().getAddress().getCity()); tx.commit(); }catch (Exception e){ tx.rollback(); } finally { em.close(); } emf.close(); } } 이렇게 메인 메서드를 작성했습니다. //여기!! 라고 주석처리 해놓은 em.clear()가 있으면 콘솔에 아래와 같이 결과가 나오고요, Hibernate: select m1_0.MEMBER_ID, m1_0.city, m1_0.street, m1_0.zipcode, m1_0.CREATED_DATE_TIME, m1_0.name, m1_0.UPDATED_DATE_TIME from Member m1_0 where m1_0.MEMBER_ID=? Hibernate: select o1_0.ORDER_ID, o1_0.CREATED_DATE_TIME, o1_0.DELIVERY_ID, o1_0.MEMBER_ID, o1_0.orderDate, o1_0.status, o1_0.UPDATED_DATE_TIME from ORDERS o1_0 where o1_0.ORDER_ID=? Hibernate: /* update for jpabook.jpashop.domain.Member */update Member set city=?, street=?, zipcode=?, CREATED_DATE_TIME=?, name=?, UPDATED_DATE_TIME=? where MEMBER_ID=? city2 ================================ 보시는 바와 같이 마지막 =======을 기준으로 system.out.println() 문이 하나 더 출력되어야하는데, 출력되지 않습니다. 하지만 em.clear()를 없애면 ================================ Hibernate: select m1_0.MEMBER_ID, m1_0.city, m1_0.street, m1_0.zipcode, m1_0.CREATED_DATE_TIME, m1_0.name, m1_0.UPDATED_DATE_TIME from Member m1_0 where m1_0.MEMBER_ID=? Hibernate: select o1_0.ORDER_ID, o1_0.CREATED_DATE_TIME, o1_0.DELIVERY_ID, o1_0.MEMBER_ID, o1_0.orderDate, o1_0.status, o1_0.UPDATED_DATE_TIME from ORDERS o1_0 where o1_0.ORDER_ID=? Hibernate: /* update for jpabook.jpashop.domain.Member */update Member set city=?, street=?, zipcode=?, CREATED_DATE_TIME=?, name=?, UPDATED_DATE_TIME=? where MEMBER_ID=? city2 ================================ Hibernate: select o1_0.MEMBER_ID, o1_0.ORDER_ID, o1_0.CREATED_DATE_TIME, o1_0.DELIVERY_ID, o1_0.orderDate, o1_0.status, o1_0.UPDATED_DATE_TIME from ORDERS o1_0 where o1_0.MEMBER_ID=? Hibernate: select d1_0.DELIVERY_ID, d1_0.city, d1_0.street, d1_0.zipcode, d1_0.CREATED_DATE_TIME, d1_0.status, d1_0.UPDATED_DATE_TIME from Delivery d1_0 where d1_0.DELIVERY_ID=? Hibernate: select o1_0.ORDER_ID, o1_0.CREATED_DATE_TIME, o1_0.DELIVERY_ID, o1_0.MEMBER_ID, o1_0.orderDate, o1_0.status, o1_0.UPDATED_DATE_TIME from ORDERS o1_0 where o1_0.DELIVERY_ID=? city1 이렇게 ORDERS를 조회하는 쿼리문이 나오고, city1이 정상적으로 출력됩니다. em.clear()가 있고 없고에 왜 이런 차이가 발생하는 건가요? 쿼리가 나가지 않는다던가, 어떤 null 값을 읽어온다던가 하면 예외가 나오거나, null로 나와야 할텐데, System.out.println()문 자체가 씹히는 건 어떤 경우인가요? 왜 이런건가요?
해결됨
실전! 코틀린과 스프링 부트로 도서관리 애플리케이션 개발하기 (Java 프로젝트 리팩토링)
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요 강사님! 테스트 코드와 관련하여 질문이 있습니다. 프로젝트를 해보면서 고민이 되었던 것 중 하나가 테스트 코드를 작성할 때 명확한 메서드명을 작성해야하는가에 대해서 고민이었습니다. @Dipslay로 어떤 테스트인지 명시를 하고 있음에도 메서드명이 명확한 것이 좋을까요?
미해결
프로그래밍 시작하기 : 도전! 45가지 파이썬 기초 문법 실습 (Inflearn Original)
with open("../source/32-2.json", "w") as out: 여기서 as 를 alias 라는 의미로 말씀하셨는데 너무 어색한것 같아요. 파이썬 구문이 자연어에 가깝다는 장점이 바로 이 문장에서도 잘 나타나는데요 with 수단, 가지다 as 는 ~로, 동시성... 의미로 맥락을 연결해 볼게요. "../source/32-2.json" 파일을 쓰기 모드로 열고 사용을 할텐데, 이 파일을 out이라는 객체로 해서" 이렇게 해석하면 with open 문이 쉽게 습득되지 않을까요?
해결됨
(2026 최신!) 일주일만에 합격하는 정보처리기사 실기
이해가 어려운 섹션이나 영상 설명은 질문으로 꼭 남겨주세요. 기출문제를 풀다가 막힌 개념이 있나요? 질문으로 회차나 번호, 개념을 예시로 질문해주세요. 답변에 도움이 됩니다. 이론 문제는 통합본 PDF 파일로 제공될 예정입니다. (6월 중 업로드 예정) 합격을 가르는 것은 역시 코드해석문제. 이론을 외울 시간이 없다면 코드에 익숙해지고, 중요 개념을 몇 가지 외워가면 합격할 수 있습니다. 쉬프트연산 >>>2 일 때 1100이면 0011이 된다하셨는데 >>>3이라 세번을 밀게 될 때 1도 0으로 되나요? EX) >>>3 1100 -> 0001 이렇게?
해결됨
[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
비전공자(심지어 법학 전공입니다)에 직장 병행하면서 시험 준비했는데, 강의 듣고 한번에 합격할 수 있었습니다. 강의가 체계적으로 잘 구성되어 있어서 정말 도움이 많이 되었습니다. 시험 전날 늦은 시간에 질문 올렸는데도 친절하게 답변해주셔서 감사합니다. 답안 제출 못할 뻔 했는데 빠르게 답변해주셔서 숙지하고 답안 잘 제출할 수 있었습니다 ㅎㅎ;
미해결
JSP 웹 쇼핑몰 프로그래밍 기본 과정(JSP WEB Programming)
말로 설명은 가득차지 않아도 라고 하시는데 설명글은 버퍼가 가득 차면 자동출력이라고 적혀있어서요 뭐가 맞는거에요? 인프런 ai답변좀 해주세요
미해결
삼각형의 실전! OpenAI Triton 초급
안녕하세요! 좋은 강의해주셔서 정말 감사드립니다 이전 공지에서 혹시 Softmax, Flashattention 등의 내용까지 초급으로 포함시키실 것이라고 말씀하셨는데 혹시 강의가 추가되는 일정을 구체적으로 알 수 있을까요? 감사합니다
해결됨
실전! 스프링 데이터 JPA
안녕하세요! 정말 오랜만에 질문 올립니다. 다름이 아니라 아래와 같이 Parent, Child 가 있고 이 둘을 양방향으로 맺었을때 @Getter @NoArgsConstructor(access = AccessLevel.PROTECTED) @Entity public class Parent { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String name; @OneToMany(mappedBy = "parent", cascade = CascadeType.PERSIST) private final Set<Child> children = new HashSet<>(); public Parent(String name) { this.name = name; } public void addChild(Child... childs) { for (Child c : childs) { c.addParent(this); children.add(c); } } } @Getter @NoArgsConstructor(access = AccessLevel.PROTECTED) @Entity public class Child { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String name; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "parent_id", nullable = false) private Parent parent; public Child(String name) { this.name = name; } public void addParent(Parent parent) { this.parent = parent; } } 아래와 같이 테스트코드를 짜면 @AutoConfigureTestDatabase(replace = AutoConfigureTestDatabase.Replace.NONE) @DataJpaTest(showSql = false) class ParentRepositoryTest { @Autowired ParentRepository parentRepository; @Autowired ChildRepository childRepository; @Rollback(false) @Test @DisplayName("delete, deleteAll, deleteAllInBatch 를 비교한다.") public void differenceBetweenDeleteAllAndDeleteAllInBatch2() { Parent parent1 = new Parent("부모 1"); Child child1 = new Child("자식 1"); Child child2 = new Child("자식 2"); Child child3 = new Child("자식 3"); parent1.addChild(child1, child2, child3); parentRepository.save(parent1); Parent parent = parentRepository.findAllWithChildren("부모 1").get(); parent.getChildren().remove(child1); childRepository.delete(child1); } } parent.getChildren().remove(child1); 의 존재 여부에 따라 delete 쿼리가 나갈지 말지 결정되더라구요. 이거에 대해서 고민을 해봤습니다. 제가 내린 결론은 "하나의 tx 에서 Parent 가 속한 Child 들 중 하나를 childRepository.delete(Child) 혹은 deleteAll() 을 통해 지우려할때, Parent 의 Child 의 컬렉션에서 지울 Child 를 먼저 remove 하여 부모 자식간의 연결관계를 끊어주는 작업이 선행되어야 한다. 그 이유는 삭제할 Child 를 repository 에서 지우기만 하면 Parent 에 남아있는 컬렉션에는 지워진 데이터가 카컬렉션에 남아있어 로직에 문제가 발생할 수 있기 때문이다. 그래서 Parent 에서 지울 Child 를 먼저 remove 를 사용하지 않으면 delete 쿼리가 나가지 않는 것이고, 먼저 remove 를 하면 delete 쿼리가 나가는 것이다" 라고 결정지었습니다. 아무래도 JPA 에서 최고 권위자인 김영한강사님의 조언이 필요합니다. 감사합니다. (고아객체 제거인 orphanRemoval 은 일부러 사용하지 않았습니다. 순수 delete 에서만 그 원리를 알고싶습니다. 항상 무지성으로 querydsl 혹은 in 절로 지우기만해서 근본을 까먹은거같네요 ㅠㅠ)
해결됨
(2026 최신!) 일주일만에 합격하는 정보처리기사 실기
오늘 유튜브에서 우연히 이 강의를 알게되어서 목차 내용보고 확신이 들어 바로 구매 하였습니다. 실기시험까지는 얼마 남지 않아서 열심히 해보려고합니다. 근데 강의 듣기전에 교안이 있으면 인쇄를 해놓고 영상 재생해보려고 하는데 어디에도 교안은 따로 없는거같아서요!! 원래 교안이 없는것이고, 그냥 영상만 보고 쭉 이해하면 되는것인가요?
미해결
백엔드 개발을 위한 필수 강의 - 스프링 부트3
This application has no explicit mapping for /error, so you are seeing this as a fallback. 404 뜹니다.. spring.application.name = sbb spring.h2.console.enabled= true spring.h2.console.path= /h2-console spring.datasource.url= jdbc:h2:~/local spring.datasource.driverClassName= org.h2.Driver spring.datasource.username= sa spring.datasource.password= application.properties 입니다.. 뭐가 문제일까요 ㅠ
미해결
김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
다운로드 소스 코드 진행 방법 따라하는 중인데요, 5:49 강의에는 overwrite 하겠냐고 뜨는데 저는 그렇게 안되고 안된다고만 뜹니다. 넘어갈 수 없는데 어떻게 하나요