묻고 답해요
129만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결
강의 내용에서 이해안되는 부분 질문드립니다.
package jpabook.jpashop.domain; import jakarta.persistence.*; import jdk.jshell.Snippet; import lombok.Getter; import lombok.Setter; import java.time.LocalDateTime; import java.util.ArrayList; import java.util.Date; import java.util.List; @Entity @Table(name = "orders") @Getter @Setter public class Order { @Id @GeneratedValue @Column(name = "order_id") private Long id; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "member_id") private Member member; @OneToMany(mappedBy = "order", cascade = CascadeType.ALL) private List<OrderItem> orderItems = new ArrayList<>(); @OneToOne(cascade = CascadeType.ALL, fetch = FetchType.LAZY) private Delivery delivery; //배송정보 private LocalDateTime orderDate; //주문시간 @Enumerated(EnumType.STRING) private OrderStatus status; //주문상태 [ORDER, CANCEL] //이 연관관계 부분입니다. //==연관관계 메서드==// public void setMember(Member member) { this.member = member; member.getOrders().add(this); } public void addOrderItem(OrderItem orderItem) { orderItems.add(orderItem); orderItem.setOrder(this); } public void setDelivery(Delivery delivery) { this.delivery = delivery; delivery.setOrder(this); } //==연관관계 메서드==// public void setMember(Member member) { this.member = member; member.getOrders().add(this); } public void addOrderItem(OrderItem orderItem) { orderItems.add(orderItem); orderItem.setOrder(this); } public void setDelivery(Delivery delivery) { this.delivery = delivery; delivery.setOrder(this); }이 연관관계 메서드 부분이 이해가 안되어서 질문드립니다.setMember 메소드에서 member.getOrders().add(this); 이 부분이 전혀 이해가 안되는데 설명 부탁드립니다. addOrderItem 메소드에서 orderItems.add(orderItem); 와 orderItem.setOrder(this); 이 부분이 전혀 이해가 안되는데 설명 부탁드립니다. setDelivery 메소드에서 delivery.setOrder(this); 이 부분이 전혀 이해가 안되는데 설명 부탁드립니다.
-
미해결
강의 내용에 의문점이 생겨 질문드립니다.
package jpabook.jpashop.domain.repository; import jakarta.persistence.Entity; import jakarta.persistence.EntityManager; import jpabook.jpashop.domain.item.Item; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Repository; import java.util.List; @Repository @RequiredArgsConstructor public class ItemRepository { private final EntityManager em; public void save(Item item) { if (item.getId() == null) { // 이 부분입니다. em.persist(item); } else { em.merge(item); } } public Item findOne(Long id) { return em.find(Item.class, id); } public List<Item> findAll() { return em.createQuery("select i from Item i",Item.class).getResultList(); } } 위의 코드에서 item.getId() == null을 왜 사용하는건가요??MemberRepository 클래스와 코드 형식이 거의 비슷한데, MemberRepository 클래스에서는 member.getId() == null 코드를 사용하지 않아서 질문드립니다.그리고 item은 처음에 id가 없다는 말도 이해안되어서 질문드립니다.감사합니다.
-
미해결
강의 내용 질문드립니다.
package jpabook.jpashop.domain.repository; import jakarta.persistence.EntityManager; import jakarta.persistence.PersistenceContext; import jakarta.persistence.PersistenceUnit; import jpabook.jpashop.domain.Member; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Repository; import java.util.List; @Repository @RequiredArgsConstructor public class MemberRepository { private final EntityManager em; public void save(Member member) { em.persist(member); } public Member findOne(Long id) { return em.find(Member.class, id); } public List<Member> findAll() { // 회원 목록 조회 return em.createQuery("select m from Member m", Member.class) ry .getResultList(); } public List<Member> findByName(String name) { return em.createQuery("select m from Member m where m.name = :name", Member.class) .setParameter("name", name) .getResultList(); } } 위의 코드에서 findByName메소드에서 왜 단건조회가 아닌 리스트 조회를 사용한건가요? 어차피 중복가입은 안되고 이름으로 조회하니까 하나의 결과가 나와야하는거 아닌가요?findByName 메소드에서 setParameter은 왜 있는건가요? 설명부탁드릴게요.
-
미해결
강의 질문입니다.
@Entity @Getter @Setter public class Member { @Id @GeneratedValue @Column(name = "member_id") private Long id; private String name; @Embedded private Address address; @OneToMany(mappedBy = "member") // 맵핑된 거울. 여기에 값을 넣는다고해서 Foreign key 값이 변경되지 않음. private List<Order> orders = new ArrayList<>(); }위 코드에서, @GeneratedValue는 시스템상에서 생성되는 값이라는 의미의 어노테이션 맞나요? 그리고 Address 타입의 변수는 @Embedded인 이유가 무엇인가요?
-
미해결
김영한 강사님의 수업중에 궁금한 점이 있어서 질문드립니다.
실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발 강의를 수강중인데 궁금한 점이 생겨서 질문드립니다.OrderItem과 Item이 단방향 다대일관계라고 나와있는데, 다른 것들은 다 양방향인데 왜 예네들만 단방향인건가요?그리고 "하나의 주문상품은 여러 개의 상품을 주문할 수 있으니" 다대다 아닌가요?? 하나의 상품도 여러 개의 주문상품에 들어갈 수 있으니" 양방향 관계 아닌가요??
-
미해결
Next에서 자동 로그인 구현
안녕하세요 😃 현재 Next.js 사용해 프로젝트 진행중인데 한번 로그인하면 웹에 재접속 시 자동으로 로그인 처리되도록 하고 싶습니다. 현업에서는 어떤 방식으로 진행하는지 궁금합니다! 답변 주시면 정말 정말 감사합니다!!
-
미해결
현재 spring security 관련해서 회원가입 로직인데 포스트맨 안돌아가는데 한번 봐주시고 피드백 해주실분 계신가요? ㅠㅠ
회원가입은 로그인 로직과는 별개로 생각하고 코드를 구성하고 있는데.... 로그인 로직 (email로 username을 대체했습니다) -> 이것도 문제가 되나요... 아님 알아야될 부분이 있을까요security_config controller (여기선 /register 이게 문제가 되는지...)registerRequest - 회원가입할때 받아서 결국이걸 통해서 build해서 register할때 user엔터티를 만들어 db에 저장합니다.repository( jpa 쿼리문이 문제가 되는지)현재 postman 사용할때 서버를 실행하고 http://localhost:8080/register (POST)를 넣고raw( 현재 json형식으로 requestbody로 보내기에 ) - email, password 작성json으로 send 하면 현재 401오류가 뜹니다. 오류 : responsebody에 아무것도 들어가지 않고오류 : 사진 첨부하겠습니다.이렇게 되는데 혹시 알려주실분 있나요 ㅠㅠㅠㅠ 그리고 다른 로그인 인가 작업까지 해서 알려주시면 제가 성의를 좀 표하겠습니다. ㅠㅠㅠ 일주일째 프로젝트도 안돌아가다가 이제 돌아가서 스트레스가 이만저만이네요 ㅠㅠㅠ 010 3구7칠 삼0사공 혹시 몰라서 연락처 남깁니다. ㅠㅠㅠㅠ
-
해결됨김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
[7. Scanner][문제와풀이4] ScannerWhileEx3 질문
안녕하세요 선생님, 선생님께서 남겨주신 코드와 다르게 제 코드처럼 작성해도 무방할지 질문드립니다. [선생님 코드] 선생님께서 작성하신 코드는 input 지역변수의 스코프 값이 넓습니다.public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int sum = 0; int count = 0; int input = 0; System.out.println("숫자를 입력하세요, 입력을 중단하려면 -1을 입력하세요 : "); while (true) { input = scanner.nextInt(); if (input == -1) { break; } sum += input; count++; } double average = (double) sum / count; System.out.println("입력한 숫자들의 합계 : " + sum); System.out.println("입력한 숫자들의 평균 : " + average); }[제가 작성한 코드] 저는 input의 스코프값이 넓다고 생각해서 자체적으로 while문에서만 해당 변수를 부여하고, 사용했는데 하기와 같이 사용해도 무방할까요?public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int sum = 0; int count = 0; System.out.println("숫자를 입력하세요, 입력을 중단하려면 -1을 입력하세요 : "); while (true) { int input = scanner.nextInt(); if (input == -1) { break; } sum += input; count++; } double average = (double) sum / count; System.out.println("입력한 숫자들의 합계 : " + sum); System.out.println("입력한 숫자들의 평균 : " + average);
-
미해결
코드캠프 프론트엔드 고농축 강의 질문드립니다.
안녕하세요. 코드캠프 프론트엔드 고농축 강의 내용 관련하여 질문 드립니다.우선 제가 원하는 내용은리액트 내용의 전반적인 복습타입스크립트 학습넥스트 js 학습이렇게 세 가지를 핵심으로 뽑을 수 있는데요.고농축 커리큘럼 소개에는 위의 내용이 다 적혀있긴 하지만 커리큘럼을 봤을 때 next js는 따로 탭이 분리 되어있지는 않더라구요. 어떤 부분이 next js 관련 부분인지 궁금하고, 또 커리큘럼의 전반적인 수준도 궁금합니다.
-
미해결비전공 기획자 및 관리자를 위한 IT 필수 지식
섹션 5 부록. IT 용어 시리즈 가)편에서
섹션 5부록. IT 용어 시리즈 가)편에서맨먼스와 턴기 아닌 계약 방식의 차이가 헷갈려요.둘다 개발하는데 몇명을 어느정도 기간 동안 투입시킨다는 개념 아닌가요?
-
미해결설계독학맛비's 실전 FPGA를 이용한 HW 가속기 설계 (LED 제어부터 Fully Connected Layer 가속기 설계까지)
Bitstream이 생성이 안돼서 질문드립니다!
안녕하세요 맛비님. LED 깜빡이기 실습을 하는 과정에서 맛비님이 올려주신 코드로 실행을 했는데 Bitstream 생성 과정에서 다음과 같은 오류가 떠서 진행이 안되네요 ㅠㅠ혹시 어떻게 해결해야하는지 알 수 있을까요??
-
미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
카드 역배치 문제 질문있습니다.
import sys input=sys.stdin.readline card=list(range(21)) for _ in range(10): start,end=map(int,input().split()) tmp=card[start:end+1] tmp.sort(reverse=True) card[start:end+1]=tmp for i in range(1,len(card)): print(card[i],end=" ")위와 같은 코드로 작성을 했는데 10가지의 경우에 어떤 경우에는 역배치가 잘 되는데 어떤 경우에는 역배치가 되지 않습니다. 이 코드의 문제점을 모르겠습니다...!
-
미해결Java TPC (생각하고, 표현하고, 코딩하고)
Wrapper 클래스란?(실습) 프로젝트에서
강사님 좋은 강의 잘 듣고 있습니다!Wrapper 클래스란?(실습) 프로젝트에서Object 배열을 아래처럼 반복문에 넣어 실행했을 때obj[i]와 obj[i].toString의 값이 다른데,obj[i]는 이때 Integer 형으로 배열에 저장되어 있고,obj[i].toString은 String 형으로 출력되기 때문에 false가 출력되는 걸까요?
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
연습문제(달팽이) 21분:59초 질문
int nextX = x+ dx[dir];로 선언해주셨는데, 만약에 cin >> N 값에 3을 입력하면 dir이 Right의 방향을 가리키고 있다가 down으로 nextX=3이 되면 방향이 전환된 후 int nextX = x+ dx[dir];을 거치면 nextX 가 2값을 갖게 되는 데 왜 그런지 잘 모르겠습니다..
-
미해결코딩테스트 실전 모의고사(with C++) : 대기업 대비
왜 DP로 풀어야하는지 궁금합니다
DFS 풀이는 시간초과가 발생하는 이유가 궁금합니다.DFS 풀이는 시간초과가 발생하기 때문에 DP로 풀어야하는건가요?이에 대한 설명은 없어서 질문드립니다. DFS 시간초과 코드는 다음과 같았습니다.struct Work { int s, e; int score; }; int n, m, r; vector<Work> schedule; int result = 0; bool compare(Work a, Work b) { return a.s < b.s; } void dfs(int now, int start, int score) { if (now >= n) { result = max(result, score); return; } result = max(result, score); for (int i = start; i < m; i++) { if (schedule[i].s < now) continue; dfs(schedule[i].e + r, i + 1, score + schedule[i].score); } } int main() { cin >> n >> m >> r; for (int i = 0; i < m; i++) { int s, e, score; cin >> s >> e >> score; schedule.push_back({ s,e,score }); } sort(schedule.begin(), schedule.end(), compare); dfs(0, 0, 0); cout << result; return 0; }
-
미해결
따라하며 배우는 노드, 리액트 시리즈 - 레딧 사이트 만들기(NextJS) 질문
따라하며 배우는 노드, 리액트 시리즈 - 레딧 사이트 만들기(NextJS) 강의에서 레딧 사이트를 만드는데 강의 미리보기에 강의 소개를 보면 , 포스팅 등록시에 텍스트만 입력하는 화면만 보여지는데요 이부분에 이미지라던지, 동영상 파일이라던지, 유튜브 URL 등 을 업로드 하는 내용도 포함되어 있을까요?
-
미해결Flutter 입문 확장판 - 인스타그램 클론 2.0
앱 자체 질문이요!
안녕하세요. 영상 보며 따라하는 수강생입니다. 앱 관련해서 질문 드립니다! 이 인스타그램 클론2.0 영상 따라하고 배포하면 여러사람이 로그인해서 실제 인스타그램처럼 활용할 수 있나요? 약 30명이상 정도가 이 앱을통해 SNS기능을 사용하고 싶습니다! 서버가 있는 것으로 알고 있어서.. 답변 부탁드립니다...!
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
섹션4 K번째 큰 수
강의에서 for문을 돌리실 때 for(let i=0; i<n; i++){ for(let j=i+1; j<n; j++){ for(let k=j+1; k<n; k++){ tmp.add(card[i]+card[j]+card[k]); } } } j = i+1, k = j + 1 로 하게 되면 범위가 모든 숫자의 합의 경우의 수가 안나오지 않나요??? 예를 들어 입력 예제를 봤을 때 13 15 34 23 45 65 33 11 26 42 인 경우 13+13+13 같은 경우의 수는 빼고 값을 구하는 건데 문제에선 같은 숫자의 카드가 여러개 있을 수 있다고 되있어서요. 설명 한번만 해주시면 감사하겠습니다ㅠㅠ
-
해결됨
딕셔너리 키-값 같이 출력하는 방법
출력: 이렇게 나오게 만들고 싶어서 for, if-elif 문을 사용하였는데 딕셔너리일 때 어떤 식으로 코드를 작성해야 입력 부분의 중복을 없앨 수 있을지 고민입니다.. 전문가님들 고견 부탁드려요! 소중한 시간 내주셔서 감사합니다~~ 출력: 입력: - 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
-
미해결[실전 게임 코드 리뷰] 유니티 클리커 게임
GameScene 과 DevScene 을 나누신 이유?
안녕하세요! 많은 강좌들이 설명식 강의라 집중도 못하고 맨날 해야지 해야지 하고 못했었는데 이렇게 직접 좋은 소스를 보고 배울 수 있게 해주셔서 감사합니다!제목과 동일하게 GameScene 과 DevScene 을 나누신 이유? 가 있는지 궁금해서 여쭤봅니다. 소스상에서는 완전히 구현되지 않은 것 같은데 헷갈려서요.1. 구현이 완벽한 상태인데 제가 소스 분석을 잘못한건지 2. 구현이 완벽하지 않다면 DevScene은 어떤 역할을 하기 위해 별도로 생성하셨는지 궁금합니다. 차근히 공부하면서 또 모르는거 있으면 질문드릴게요 ㅠㅠ 감사합니다.