회원가입때 넣은 정보들을 (1)순수jdbc이든, (2)jdbc Template이든, (3)JPA이든 다 저장할 방법은 있는데, 1에서 2로 넘어갈땐 중복코드를 많이 지워주고, 2에서 3으로 넘어갈땐 더 코드가 짧고 간결해진다. 라고 이해했는데 맞나요?? jpa가 저장하는 방법은,, 회원정보 들어오면, hibernate가 그 정보가지고 알아서 select, insert문 만들어서 db에 자동으로 저장해준다 인가요? 코드가 간결하다는 것 외에 jpa가 앞선 2개의 방법과는 다른게 무엇인가요?? JPA가 정확히 어떤건지 잘 감이 안옵니다... 서버와 DB를 연결해주는 3가지 방법중 하나인데, 그중에서 sql을 직접 작성하지 않는 가장 간결한 방법인가요??
제가 이해한바로는, jdbc 회원 레포지토리를 변경한 후에 스프링 설정을 변경(SpringConfig 파일)해줘야 하는데, 이때 개방폐쇠원칙에 의해(?) 다형성을 활용해 springconfig 파일에 있는 코드만 바꿔도 ..... 메모리 저장방식에서 DB저장방식으로 바뀌게 되고, 이로써 더이상 정보가 날아가지 않고 껐다켜도 회원목록이 잘 저장된다..... 인데 혹시 맞게 이해한걸까요 ???? SpringConfig에서 코드를 바꿈으로써 메모리저장에서 DB저장으로 바뀌게 된건가요??? 조금 논외이긴 한데.... 저희가 데이터를 DB에 저장을 했는데 이 DB는 spring이 제공하는 DB인가요? 저는 DB를 약간 무형의 USB정도로 생각하고 있는데 이것도 쓰려면 돈을 내야하지 않나요? SPRING을 공부하는 사람들이 다 DB를 쓰면 이 큰 용량을 회사가 어떻게 감당하는건가요?? 너무 엉뚱한 질문인데... 궁금합니다
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] https://inf.run/P9aM 안녕하세요 영한님, 위 질문 및 답변에 대하여 몇가지 추가적으로 질문이 있습니다. 저도 김문근님의 고민과 같은 고민을 하고 있었는데 JPA강의에서도 관련된 질문이 있는지 계속 찾아보았습니다만 속이 뻥 뚫리는 답이 없어서 여기까지 왔습니다. 그런데 한가지 영한님이 계속 말씀하시는 부분은 "실무에서는 상속관계 매핑을 꼭 필요할 때 부분적으로 사용한다" 이었습니다. 그렇다면 상속관계 매핑을 실무에서 잘 사용하지 않는 이유는 무엇인가요? 위 예제처럼 상속관계 매핑(싱글테이블)전략을 사용하지 않고 한 테이블에 데이터들이 들어간다면 비어있는 값은 null로 되는 것은 상속관계 매핑과 다를게 없을 것 같은데 이 부분에서의 이점은 무엇일까요? 오늘 하루 이 고민하다 시간이 훌쩍 지나갔네요... 영한님과 JPA의 시작과 끝을 함께하고 싶습니다. 강의 정말 감사합니다!!
controller의 정확한 역할이 무엇인가요?? controller라는 이름은 그냥 그렇게 쓰기로 한 암묵적인 약속인가요? 아니면 원래 문법상 그렇게 써야하는건가요?? controller 안에 있는 파일들은 항상 @Controller로 감싸주는 것 맞나요??? 그리고 조금 논외이긴 한데 자바에서 패키지랑 디렉토리의 차이가 무엇인가요?? 아이콘이 달라서 차이가 있을거라고 생각되는데 정확한 차이를 모르겠습니다 답변해주시면 감사하겠습니다 !!
스프링 빈과 의존관계에서, (1)컴포넌트 스캔과 자동 의존관계 설정 / (2) 자바 코드로 직접 spring 빈 등록하기 총 2가지 방법으로 설명해주셨고 2가지 방법 모두 알아야한다고 말씀해주셨는데, 두 방법이 사용되는 상황이 다른가요?? 각 방법이 어떤 차이가 있고 장단점이 있다면 궁금합니다!
값이 들어왔을때 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(); } 이런건 그냥 외우는 건가요?
안녕하세요. 코드를 읽어보며 흐름을 파악하다가 궁금증이 생겨 질문 드립니다. 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 에게 반환시켜 주는 걸까요? 감사합니다.
안녕하세요, 영한님! 강의 정말 잘 듣고 있습니다! 강의 중 궁금한 부분이 생겨 질문 드립니다. `@EntityGraph(attributePaths={"team"}) ` attributePaths 속성에 들어가는 이름이 연관 관계가 걸려있는 필드의 이름이 들어가는 건가요?
데이터 전처리 - 스케일링 - 01 강의 1분47초에서 표준화로 데이터의 피처 각각이 평균이 0 이고 분산이 1인 가우시안 정규분포로 바꿔준다고 했는데요. 원래 데이터가 정규분포를 가졌다면 xi_new (표준화 식)식 으로 평균이 0 이고 분산이 1인 정규분포를 도출할 수 있지만 애초에 정규분포를 이루지 않는 데이터의 경우 는 해당 식을 적용한다고 해서 정규분포가 되지 않을 텐데 이런 경우는 어떻게 해서 정규분포로 만든다는 것일까요? 답변 부탁드립니다. 감사합니다.
강의를 들으면서 코드를 다 따라 쳐보고, 적당히 필기하면서 듣고... 그러고 있는데 강의를 다 들으면 해당 내용들에 대해 어떻게 공부를 해야하나요?? 강의 전체 한바퀴를 다 돌린 후에 어떻게 공부를 해야하는지 궁금합니다 안보고 직접 만들기에는 제가 너무 실력이 딸리는데.... 추천하시는 공부법이 있을까요???