ID 생성이 랜덤인가요??
미해결
스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
ID는 랜덤으로 생성된다고 하셨는데 그래도 선생님 화면 보니까 1,2,3,4 처럼 순서는 있더라고요 근데 저는 갑자기 33 34로 시작하는데 뭔가 잘못돼서 이렇게 되는건가요 아니면 그냥 랜덤으로 배정받은건가요 ???
- spring
- java
- spring-boot
- MVC
- java
- spring
172만명의 커뮤니티!! 함께 토론해봐요.
미해결
스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
ID는 랜덤으로 생성된다고 하셨는데 그래도 선생님 화면 보니까 1,2,3,4 처럼 순서는 있더라고요 근데 저는 갑자기 33 34로 시작하는데 뭔가 잘못돼서 이렇게 되는건가요 아니면 그냥 랜덤으로 배정받은건가요 ???
해결됨
실전! Querydsl
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] https://inf.run/P9aM 안녕하세요 영한님, 위 질문 및 답변에 대하여 몇가지 추가적으로 질문이 있습니다. 저도 김문근님의 고민과 같은 고민을 하고 있었는데 JPA강의에서도 관련된 질문이 있는지 계속 찾아보았습니다만 속이 뻥 뚫리는 답이 없어서 여기까지 왔습니다. 그런데 한가지 영한님이 계속 말씀하시는 부분은 "실무에서는 상속관계 매핑을 꼭 필요할 때 부분적으로 사용한다" 이었습니다. 그렇다면 상속관계 매핑을 실무에서 잘 사용하지 않는 이유는 무엇인가요? 위 예제처럼 상속관계 매핑(싱글테이블)전략을 사용하지 않고 한 테이블에 데이터들이 들어간다면 비어있는 값은 null로 되는 것은 상속관계 매핑과 다를게 없을 것 같은데 이 부분에서의 이점은 무엇일까요? 오늘 하루 이 고민하다 시간이 훌쩍 지나갔네요... 영한님과 JPA의 시작과 끝을 함께하고 싶습니다. 강의 정말 감사합니다!!
미해결
따라하며 배우는 리액트 A-Z[19버전 반영]
강의 내용 중 useMemo 부분의 실습이 없어서 질문드립니다. Component.js로 컴포넌트를 작성하고 App.js에서 컴포넌트를 호출해봤는데요. App.js .. <div>{<Component a={1} b={5} />}</div> ... Component.js ... useMemo(() => compute(a,b),[a,b]); ... 이렇게 작성했을 때 useMemo가 제대로 작동하고 있는지 확인하고 싶은데요. useEffect는 console.log로 확인이 됐는데 useMemo는 어떻게 확인을 할 수 있을까요? (useEffect랑 useMemo는 방식이 달라서 useEffect에 로그를 찍어봤자 useMemo를 확인할 수 없었어요...)
미해결
스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
properties 파일에 쓰고있는데, 자동완성도안되고 회색으로 뜨네요 뭔가 문제가 있는것같고 warning도 뜹니다 혹시 이유가 무엇인가요 ???
미해결
스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
선생님께서 이제 이거를 끄면 정보가 날아가니까 끄면 안된다고 하셨는데 그럼 cmd에서 h2.bat을 실행해놓은 상태로 계속 cmd를 켜놔야하는건가요?? 나중에 insert를 많이 해서 정보를 DB에 많이 넣어놓은 상태면 노트북도 못끄나요??
미해결
자바 ORM 표준 JPA 프로그래밍 - 기본편
프록시객체가 만들어지면 1차캐시에 들어가고 그 상태에서 초기화를 하면 실제 entity가 만들어져서 프록시 맴버변수로 들어가는것으로 이해했는데 맞나요??
해결됨
실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
강의에서 말씀하신대로 만들어 보았습니다. 이렇게 하는것이 맞는건지 궁금하여 질문드리게 되었습니다. Book 도메인 UpdateItemDto ItemService ItemController 항상 감사합니다.
미해결
스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
controller의 정확한 역할이 무엇인가요?? controller라는 이름은 그냥 그렇게 쓰기로 한 암묵적인 약속인가요? 아니면 원래 문법상 그렇게 써야하는건가요?? controller 안에 있는 파일들은 항상 @Controller로 감싸주는 것 맞나요??? 그리고 조금 논외이긴 한데 자바에서 패키지랑 디렉토리의 차이가 무엇인가요?? 아이콘이 달라서 차이가 있을거라고 생각되는데 정확한 차이를 모르겠습니다 답변해주시면 감사하겠습니다 !!
해결됨
자바 ORM 표준 JPA 프로그래밍 - 기본편
강의를 수강하다가 초기화의 정확한 의미가 잘 와닫지 않아서 질문드려봅니다. 제가 이해하기로는 특정 값에 값을 set 할때 초기화한다라고 이해했는데 강의에서 .getName 도 초기화라고 표현이 되어 있더라고요 이 초기화의 정확한 뜻이 무엇일까요?
미해결
스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
스프링 빈과 의존관계에서, (1)컴포넌트 스캔과 자동 의존관계 설정 / (2) 자바 코드로 직접 spring 빈 등록하기 총 2가지 방법으로 설명해주셨고 2가지 방법 모두 알아야한다고 말씀해주셨는데, 두 방법이 사용되는 상황이 다른가요?? 각 방법이 어떤 차이가 있고 장단점이 있다면 궁금합니다!
미해결
한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
자바스크립트 함수 인강에서 return문 개념이 너무 헷갈려서요. function getArea(width*height){ let area = width* height; return area; } let area1 = getArea(100,200); return을 쓰면 위와 같이 항상 새로운 변수를 지정해서 getArea함수를 호출해야하나요? 왜 return을 사용하는지 잘 모르겠어요..
미해결
자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
값이 들어왔을때 5 2 3 3 1 3 1 1 2 2 3 이게 어떻게 a 배열, b 배열에 알아서 잘 담겨지는지 모르겠습니다. int n = sc.nextInt(); int [] a = new int[n]; int [] b = new int [n]; for(int i =0; i<n; i++){ a[i] = sc.nextInt(); } for(int i =0; i<n; i++){ b[i] = sc.nextInt(); } 이런건 그냥 외우는 건가요?
해결됨
실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
안녕하세요. 코드를 읽어보며 흐름을 파악하다가 궁금증이 생겨 질문 드립니다. public class ItemController { @GetMapping("/items/new") public String createForm(Model model) { model.addAttribute("form", new BookForm()); return "items/createItemForm"; } @PostMapping("/items/new") public String create(BookForm form) { ... 생략 } /items/new 에 GET 으로 접근하면, createForm() 이 호출되어 BookForm 객체가 생성되고, Model 객체를 통해 viewResolver로 넘어가는 로직은 이해가 됩니다. 그러나 POST 요청을 보내면, create() 가 호출되어 BookForm 객체를 인자로 받는데요. 이때, 인자로 들어온 BookForm 객체는 GET 요청시 보내준 BookForm 객체와 다른 객체더라구요. 아마 누군가가 HTML input 태그에 입력된 값을 BookForm 객체로 변환시켜 넣어주는 것 같은데요. 누가 이 책임을 갖고, 어떻게 데이터를 객체로 변환시키는지 그 흐름이 궁금합니다. 마치 @ResponseBody 에서 HttpMessageConverter 가 객체를 JSON으로 변환시켜준 것처럼 이번에도 스프링 이 HttpMessageConverter 를 통해 HTML input 데이터를 객체로 변환시켜 Controller 에게 반환시켜 주는 걸까요? 감사합니다.
해결됨
자바 ORM 표준 JPA 프로그래밍 - 기본편
liberica-1.8 다운로드 받아서 사용하면 되나요 ? h2 버젼은 2.1.214로 하면 될까요 ??
해결됨
한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
안녕하세요~ 강의 듣던 중 궁금증이 생겨 질문 남깁니다 useReducer로 CREATE 상태 로직을 분리할 때, 기존과 다르게 newItem을 reducer에서 생성하는 이유가 무엇인가요? 아래처럼 기존과 동일한 방식으로 newItem을 onCreate 내에서 생성했을 경우에도 정상 동작하는 것 같은데 혹시 동작이나 성능면에서 차이점이 있나요? +) 계속 생각할수록 로직을 분리할 때 어디서부터 어디까지 분리해야할지 기준을 잘 모르겠어요,,ㅠ 강의에서 CREATE로직 분리 시 newItem을 reducer에서 생성한 것 처럼, INIT로직 분리 시에도 initData를 reducer에서 생성 할 수 있을 것 같은데(아래 코드).. 분리하는 로직의 기준점? 같은걸 어떻게 잡아야할지 잘 모르겠습니다ㅜㅜ 혹시 어떤 기준으로 분리해야할지 규칙이나 팁같은게 있을까요?
해결됨
한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
안녕하세요 강사님! 최적화3 - useCallback 강의 듣던 중 의문점이 생겨 질문 남깁니다. onCreate에 useCallback을 사용하고 의존성 배열을 빈 값으로 두면 mount시에 한번만 실행되기 때문에 data state가 초기값인 빈 배열인 상태이다 <= 까지는 이해하였습니다. 그런데 함수형 업데이트를 이용해서 인자로 data를 전달하면 최신 data state를 반영할 수 있다는 부분이 잘 이해가 안갑니다. onCreate가 mount시에 생성되고 생성시의 data state가 계속 유지된다면 인자로 전달되는 data state또한 초기값인 빈 배열이 들어가게되어 결국 setData(([]) => [ newItem, [] ]) 처럼 동작해야 하는것이 아닌가요? 어떻게 인자로 전달되는 data에는 최신 상태가 반영되는건가요??
미해결
실전! 스프링 데이터 JPA
안녕하세요, 영한님! 강의 정말 잘 듣고 있습니다! 강의 중 궁금한 부분이 생겨 질문 드립니다. `@EntityGraph(attributePaths={"team"}) ` attributePaths 속성에 들어가는 이름이 연관 관계가 걸려있는 필드의 이름이 들어가는 건가요?
해결됨
스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
스프링 데이터 jpa는 기본적인 함수를 제공한다고 했는데 기본적인거 말고는 직접 개발자가 작성해야하는건가요?
미해결
스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
강의를 들으면서 코드를 다 따라 쳐보고, 적당히 필기하면서 듣고... 그러고 있는데 강의를 다 들으면 해당 내용들에 대해 어떻게 공부를 해야하나요?? 강의 전체 한바퀴를 다 돌린 후에 어떻게 공부를 해야하는지 궁금합니다 안보고 직접 만들기에는 제가 너무 실력이 딸리는데.... 추천하시는 공부법이 있을까요???
미해결
실전! 스프링 데이터 JPA
안녕하세요. 강의 열심히 듣는 중에 궁금한 점이 있습니다. 17:30초 쯤에 Page를 1부터 시작하기 부분에서 1. Pageable, Page를 파리미터와 응답 값으로 사용히지 않고, 직접 클래스를 만들어서 처리한다. 그리고 직접 PageRequest(Pageable 구현체)를 생성해서 리포지토리에 넘긴다. 물론 응답값도 Page 대신에 직접 만들어서 제공해야 한다. 이 부분을 직접 구현해보려고 했는데 제가 놓치는 부분이 있는 건지 잘 안 되더라구요. 그래서 https://inflearn.com/questions/201572 이 질문에 답변해주신 분의 블로그를 참고하여 커스텀을 해봤습니다. package study.datajpa.dto; import lombok.Getter; import org.springframework.data.domain.PageImpl; import org.springframework.data.domain.Slice; @Getter public class PageableCustom { private boolean first; private boolean last; private boolean hasNext; private int totalPages; private long totalElements; private int page; private int size; public PageableCustom() { } public PageableCustom(PageImpl page) { this.first = page.isFirst(); this.last = page.isLast(); this.hasNext = page.hasNext(); this.totalPages = page.getTotalPages(); this.totalElements = page.getTotalElements(); this.page = page.getNumber() + 1; this.size = page.getSize(); } public PageableCustom(Slice slice) { this.first = slice.isFirst(); this.last = slice.isLast(); this.hasNext = slice.hasNext(); this.page = slice.getNumber() + 1; this.size = slice.getSize(); } } package study.datajpa.dto; import lombok.Getter; import org.springframework.data.domain.PageImpl; import org.springframework.data.domain.Pageable; import org.springframework.data.domain.SliceImpl; import java.io.Serializable; import java.util.List; @Getter public class PageCustom<T> implements Serializable { private List<T> content; private PageableCustom pageableCustom; public PageCustom(List<T> content, Pageable pageable, long total) { this.content = content; this.pageableCustom = new PageableCustom(new PageImpl(content, pageable, total)); } public PageCustom(List<T> content, Pageable pageable, boolean hasNext) { this.content = content; this.pageableCustom = new PageableCustom(new SliceImpl(content, pageable, hasNext)); } } @GetMapping("/memberscustom") public PageCustom<MemberDto> listCustom(Pageable pageable) { Page<MemberDto> map = memberRepository.findAll(pageable).map(MemberDto::new); return new PageCustom<MemberDto>(map.getContent(), map.getPageable(), map.getTotalElements()); } 결과적으로는 커스텀에 성공했지만 코드 내용부분에서 뭔가 아쉬운 부분이 있더라구요. 이게 블로그 보면서 작성한 MemberController 단 내용인데, 보시면 listCustom(Pageable pageable) 에서 Pageable pageable 이 파라미터를 그대로 하지말고 이 부분 또한 커스텀해서 PageRequest.of()를 이용하라고 설명하시더라구요. 혹시 PageRequest.of()를 활용해서 코드를 좀더 최적화 할 수 없을까요? 제가 놓치는 부분이 있는 것 같은데 잘 떠오르지 않아서 이렇게 질문 드립니다! https://drive.google.com/file/d/1I__dQwuBmtkUdvT5RahN8ksF3Tr21UP8/view?usp=sharing 아! 제 프로젝트 구글 링크 드립니다!ㅎㅎ 항상 양질의 강의 감사합니다!