묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결김영한의 실전 자바 - 기본편
다형성에서 클라이언트가 의미하는게 무엇인지 궁금합니다.
다형성의 본질은 클라이언트를 변경하지 않고, 서버의 구현한 기능을 유연하게 변경할 수 있다라고 하셨는데 여기서 말하는 클라이언트는 결국 Car와 같이 기본이 되는 인터페이스를 의미하는건가요?
-
미해결스프링 부트 개념과 활용
HateOas 가 업데이트가 되어서, "Spring HATEOAS" 코드를 아래처럼 하셔야 될겁니다.
package hello.hateoas; import org.springframework.hateoas.RepresentationModel; public class Hello extends RepresentationModel<Hello> { private String prefix; private String name; public String getPrefix() { return prefix; } public void setPrefix(String prefix) { this.prefix = prefix; } public String getName() { return name; } public void setName(String name) { this.name = name; } @Override public String toString() { return prefix + name; } } package hello.hateoas; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; import static org.springframework.hateoas.server.mvc.WebMvcLinkBuilder.linkTo; import static org.springframework.hateoas.server.mvc.WebMvcLinkBuilder.methodOn; @RestController public class SampleController { @GetMapping("hello") public Hello hello() { Hello hello = new Hello(); hello.setPrefix("Hey."); hello.setName("keesun"); hello.add(linkTo(methodOn(SampleController.class).hello()).withSelfRel()); return hello; } } Test Code 는 동일 합니다.
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
Edge는 home.html이 실행안되고 index.html이 실행됩니다.
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]강의를 보며 코드를 따라하며 실행해보는 도중, Microsoft Edge 에서 home.html 은 실행이안되고 계속 index.html이 실행이 되는 문제가 발생해서 Chrome으로 실행을 해보았더니 Chrome에서는 정상적으로 home.html이 실행이 됩니다. 뭐가 문제인걸까요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
컴포넌트 스캔과 자동 의존관계 설정 듣던 중 발생한 오류
에러 : \service\MemberServiceTest.java:18:35java: constructor MemberService in class hello.hellospring.service.MemberService cannot be applied to given types; required: hello.hellospring.repository.MemberRepository found: no arguments reason: actual and formal argument lists differ in length 안녕하세요 강의를 수강하던 중 에러의 이유를 알 수 없어 이렇게 질문 남기게 되었습니다.찾아보니까 롬복 문제라는것 같기도 한데?? 안쓴거같은데 잘 모르겠습니다.감사합니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
자바 스프링입문 환경설정 질문입니다. 도와주세요ㅠ
안녕하세요 지난번에 질문드렸는데 정확하게 설명이 안되어서 다시한번 질문합니다ㅜ다름이 아니라 환경설정할때 강의에서는 자바11 권장으로 되어있는데 자료를 보니 17이상이면된다고 써있었습니다.지금 제 프로젝트 셋팅과, execution,build,deployment 셋팅, 그리고 라이브러리에대해서 잘 설정되어있는지 궁금해서 질문합니다.1. 자바11권장이라고 되어있고 cmd창에서 자바버젼을 확인해보니 없다고 나옵니다. 자바 입문->기본편까지 듣고 가비지컬렉션과 예외처리를 공부한 후 스프링 입문 강의를 들으려고 하는데 제가 자바를 처음에 설치를 했는지 잘모르겠습니다. 자바 입문편과 기본편 강의들을때는 인텔리제이 설치후 jdk설정도 맞춰놓고 강의를 잘 들었습니다. 이 상태로 스프링 강의들을때 환경설정을 시키는대로 하면 별 문제가 없이 강의를 들을수 있는걸까요?제 프로젝트 셋팅과, execution,build,deployment 셋팅이 사진처럼 되어있는데 잘 되어있는건지 궁금합니다!라이브러리 설명을 해주시는데 제꺼랑 다른 라이브러리들이 제꺼에는 있고 강의에는 없는것들도 반대인 상황도 많아서 라이브러리가 이렇게 설정되어있어도 상관없는건지 잘 모르겠어서 질문합니다. 항상 친절하신 답변 감사합니다. 답변 기다리겠습니다.!
-
해결됨자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
Jpa 데이터베이스 매칭 관련 질문입니다.
안녕하세요 강사님.인프런 스터디 과제 7일차 문제 1번 jpa 코드로 변환하던 중 warehousingDate 컬럼 부분에서 문제가 발생하였습니다.Fruits의 테이블 컬럼 이름은 warehousingDate 입니다. { "name":"바나나", "warehousingDate":"2024-02-25", "price":7000 }jpa 코드로 바꾼 후 위에처럼 post 하였더니 아래와 같은 결과가 나왔습니다.Unknown column warehousing_date in field list라고 에러가 뜹니다. 처음에는 @Column(name="warehousing_date") 을 붙이지 않아서 에러가 나는 줄 알고 @Column(name="warehousing_date") 을 붙이고도 진행하였더니 똑같은 에러가 발생하였습니다.그래서 Fruits 앤티티 warehousingDate 변수명을 warehousing_date로도 변경을 해봤더니 똑같은 에러가 발생하였습니다. Fruits 엔티티는 아래와 같습니다.@Entity public class Fruits { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String name; @Column(name="warehousing_date") private LocalDate warehousingDate; private long price; @Column(nullable = true) private boolean sales; public Fruits() { } public Fruits(String name, LocalDate warehousingDate, long price, boolean sales) { this.name = name; this.warehousingDate = warehousingDate; this.price = price; this.sales = sales; } public String getName() { return name; } public void setName(String name) { this.name = name; } public LocalDate getWarehousingDate() { return warehousingDate; } public void setWarehousingDate(LocalDate warehousingDate) { this.warehousingDate = warehousingDate; } public long getPrice() { return price; } public void setPrice(long price) { this.price = price; } public boolean isSales() { return sales; } public void setSales(boolean sales) { this.sales = sales; } public Long getId() { return id; } public void setId(Long id) { this.id = id; } }컨트롤러 코드는 아래와 같습니다.@PostMapping("/api/v1/fruit") public void fruitInformation(@RequestBody FruitCreateRequest information){ fruitService.saveInformation(information); }서비스 코드는 아래와 같습니다.private final FruitJpaRepository fruitRepository; public FruitService(FruitJpaRepository fruitRepository) { this.fruitRepository = fruitRepository; } public void saveInformation(FruitCreateRequest request){ fruitRepository.save(new Fruits(request.getName(),request.getWarehousingDate(), request.getPrice(), request.getSales())); }RequestDto 코드는 아래와 같습니다.public class FruitCreateRequest { private String name; private LocalDate warehousingDate; private long price; private boolean sales; @JsonIgnore private Long id; public String getName() { return name; } public void setName(String name) { this.name = name; } public LocalDate getWarehousingDate() { return warehousingDate; } public void setWarehousingDate(LocalDate warehousingDate) { this.warehousingDate = warehousingDate; } public long getPrice() { return price; } public void setPrice(long price) { this.price = price; } public void setSales(boolean sales) { this.sales = sales; } public void setId(Long id) { this.id = id; } public Long getId() { return id; } public void setId(long id) { this.id = id; } public boolean getSales(){ return sales; } } 혹여나 제가 놓친 부분이 없는 지 확인해 주시면 감사하겠습니다. 그리고 fruits 컬럼명은 warehousingDate 라 적었는 데 hibernate는 warehousing_date과 매칭할려는지 알고싶습니다.질문이 서투른 점 양해바랍니다..
-
미해결백엔드 개발자 성능 개선 초석 다지기
DB 데이터 부탁드립니다.
캐싱 쪽 하고 있는데 테이블만 주시고 DB 데이터가 없습니다. 강의 보면 그냥 더미데이터로 진행하시는 것으로 보여 저도 그냥 아무 데이터 여러 개 넣어서 진행에는 문제가 없습니다만 데이터에 관한 설명이 전혀 없는 점 아쉽습니다.. 이거 찾느라고 인프런, 노션, 깃허브에 분산된 자료를 왔다갔다 하느라 시간도 뺏겼슴다.. 시간 나실 때 다른 분들을 위해 더미데이터나 관련 설명이라도 추가 부탁드립니다.
-
해결됨자바 ORM 표준 JPA 프로그래밍 - 기본편
[h2] id 및 name 값 대치 문제
안녕하세요, 우선 학습하던 부분은 다음과 같습니다. 강의 : 자바 ORM 표준 JPA 프로그래밍 - 기본편섹션 : 2 - JPA 시작하기 -> 애플리케이션 개발먼저 강의에서 영한님께서 설명하신 것처럼 id(1L)와 name("helloA")을 생성하는 코드를 작성한 후, h2에 성공적으로 row가 삽입된 것을 확인하였습니다.그리고, 이어서 또 다른 id(2L)와 name("helloB")를 생성 후, 성공적으로 쿼리가 날려진 것을 목격한 후, h2에서 확인을 진행하였으나 값이 대치가 되어버린 문제 상황을 마주했습니다. 강의에서 영한님께서는 기존 값뿐만 아니라 새로 생성한 값까지 포함해서 총 2개의 row가 존재하는 반면, 저는 기존 row를 새 값이 대치해버림에 따라 row가 하나만 존재하는 상황에 대해서 원인과 해결 방법을 여쭙고자 합니다. 감사합니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
h2 아이콘
[질문 내용]제가 h2 db를 껐다 켜고 싶어서, 하단 트레이 쪽에 있는 h2 아이콘을 우클릭>exit을 했더니 아예 아이콘이 사라졌습니다..다시 키려고 h2.bat을 재실행은 했는데 아이콘이 없어서 create a new db를 어떻게 해야하는지 모르겠습니다.도움 부탁드립니다!
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
clearStore가 소용이 없습니다
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 이렇게 영상에 나온대로 clearStore을 작성했음에도계속 오류가 뜹니다clearStore의 문제가 아닌건가요?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
need more stock
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]상품주문 test에서 코드를 똑같이 따라 쳤는데 need more stock exception이 나요그리고 그 아래 상품주문_재고수량초과 테스트를 적을 때 @Test 에 expected를 적는데 expected라는 메소드를 해결할 수 없다고 빨간줄이 떠요링크 공유합니다https://drive.google.com/file/d/1Yr0w6SZWSH3Usqd8Gbx8bhQTcfRmmWHz/view?usp=sharing
-
미해결실습으로 배우는 선착순 이벤트 시스템
DB Lock 대신 Redis를 이용하는 이유
DB Lock을 이용하면 시간이 오래 걸린다는 성능 저하 문제가 발생하기 때문에 Redis를 써야 한다고 이해하였습니다. 하지만 강의 영상에서는 Redis가 싱글스레드를 이용한다고 하셨는데 그럼 똑같이 DB Lock과 마찬가지로 시간이 오래걸리는 것이 아닌가요..?
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
에러
[질문 내용]위와 같이 application.properties도 공백없이, 빠짐없이 작성하고 나머지 코드도 강의교재 복붙해서 넣었는데 이름 등록 버튼 누르면 다음과 같은 에러가 뜹니다...도움 부탁드립니다! 2024-02-27T15:02:44.697+09:00 INFO 10564 --- [nio-8080-exec-7] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting...2024-02-27T15:02:46.290+09:00 ERROR 10564 --- [nio-8080-exec-7] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Exception during pool initialization.org.h2.jdbc.JdbcSQLInvalidAuthorizationSpecException: Wrong user name or password [28000-224] 2024-02-27T15:02:46.293+09:00 ERROR 10564 --- [nio-8080-exec-7] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed: java.lang.IllegalStateException: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection] with root causeorg.h2.jdbc.JdbcSQLInvalidAuthorizationSpecException: Wrong user name or password [28000-224]
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
윈도우 db 끄기
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]강의에서 선생님이 db끄면 실행안된다면서 보여주셨는데, 윈도우에서는 db 끄는 명령어가 뭔가요?
-
미해결자바 동시성 프로그래밍 [리액티브 프로그래밍 Part.1]
다대일과 다대다 스레드 매핑 Block I/O시 질문
다대일에서 한 스레드가 I/O 발생 시 프로세스 자체를 블록하기 때문에 모든 스레드들이 Block이 발생하는데다대다에서는 한 스레드가 I/O 발생 시 커널이 다른 스레드의 수행을 스케줄할 수 있는 이유가 궁금합니다.다대일도 다대다처럼 커널이 다른 스레드의 수행을 스케줄하면 안되나요?왜 다대일만 프로세스 블록시키고 다대다는 프로세스를 블록시키지 않고 모든 스레드들이 Block이 발생하지 않나요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
환경설정 질문입니다.
안녕하세요 환경설정에서 제가 자바17을 이용하고 있는데 자바11을 권장하다고 하셔서 상관없는지 유무를 알고 싶습니다.그리고 build,execution,deployment 빌드 툴에서 gradle로 들어가서 intelliJ로 바꾸는과정을 해보았는데 그 아래 gradle JVM이 강의에서는 자바11로 체크가 되어있는데 전 Project SDK openjdk-21로 되어있습니다 이경우는 상관이없을까요? 또 distribution에 Wrapper로 되어있습니다 이것도 상관없을까요?
-
미해결김영한의 실전 자바 - 기본편
스택 구조
만약 method2() 가 method1() 내부에서가 아니라 제가 화살표 친 부분 즉, method1() 다음 줄에 emthod2(8) ; 이렇게 적혀 있으면 스택에는 아래서부터 main mehtod , method1, method2 순으로 쌓이는건가요? 근데 윗줄부터 실행하면 method1 이 method2 보다 우선적으로 실행하는거 아닌가요 ? 제가 아는 스택 구조라면 method2() , method1() , main method() 순으로 종료가 되어야 하는데, 제가 말한 식으로 있을때에는 성립하지 않는 것 같습니다.
-
미해결김영한의 실전 자바 - 기본편
자바 중급 강의 언제쯤..
자바 중급 강의 언제나오나요..ㅠㅠ강의 다들었습니다..3월초에 일단 완성된 강의 만이라도 먼저 올려주시고 추가되는 강의 후에 넣어주실수없나요ㅠㅠ
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
상품수정 바꿀 사항은 적고 수정했는데 원래값도 존재
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.가격과 재고수량을 바꾸고 submit을 했는데 원래값도 그대로 있어요
-
미해결나도코딩의 자바 기본편 - 풀코스 (20시간)
퀴즈 13 질문
FileWriter fw = new FileWriter("saying.txt"); BufferedWriter bw = new BufferedWriter(fw);복습 차원에서 파일 생성하고 작성 하는 것 까지 한번 해봤는데요.위 부분에서 앞선 강의에선 윗줄과아랫줄을 합쳐서 BufferedWriter bw = new BufferedWriter(new FileWriter("saying.txt"));이렇게 만들고 이것을 TryWithResources 방법으로 구현하는 방법을 배웠는데, TryWithResources방법이 기억이 안 나서 try { BufferedWriter bw = new BufferedWriter(new FileWriter("saying.txt")); bw.write("세 살 __ 여든까지 간다"); bw.newLine(); // . // . // . } catch (IOException e) { throw new RuntimeException(e); }이렇게 전체를 트라이캐치 구문으로 묶어 버렸어요. 실행 해보니 파일에 글자가 아예 안 찍히더라고요. TryWithResources방법을 안 써도 글자는 찍힐 거라고 생각했는데 왜 안 찍히는 것일까요.