묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
addStock, removeStock 동시성
addStock, removeStock의 동시성에 대해서 궁금해서 질문글을 찾아보니 동시성 문제가 당연히 발생할 수 있다는 글을 본적이 있습니다.제가 궁금한 점은 order 클래스내에서 cancel() 메소드를 호출하게 되면, order와 연관된 orderItem 클래스로 들어가서 cancel() 메소드를 호출하게 되고, orderItem과 연관된 Item 클래스로 들어가서 다시 addStock() 메소드를 호출하게 됩니다.여기서 서로 다른 스레드가 DB에서 같은 데이터(같은 레코드)를 가져오는 것은 알겠지만, 서로 다른 스레드가 똑같은 orderItem 인스턴스를 가져와 공유하게 되서 동시성 문제가 발생하는 것인가요?영속성 컨텍스트는 각각의 스레드가 지연 로딩으로 서로 다른 EntityManager를 사용하여 서로 다른 트랜잭션을 사용하기 때문에, 같은 레코드를 DB로부터 가져오지만, 1차 캐시에서 인스턴스 생성시 내부 값만 같은 서로 다른 인스턴스로 생성하지 않을까 하는 추측이 생겨 질문드립니다.
-
미해결스프링 프레임워크는 내 손에 [스프2탄]
페이징에서 없는 데이터라고 나옵니다
getPage랑 getPerPageNum이 안읽혀서강사님 깃허브에서 직접 다운받아서 했는데도 안됩니다;;
-
미해결스프링 프레임워크는 내 손에 [스프2탄]
스프링부트를 내려받는중에 오류가발생한거같네요
강의화면과는 달리 templete와 static부분이 전혀안보이네요 그리고 rest 컨트롤러도 안보이네요 여려번 다시 다운받아봤는데도 그대로네요 스프링부트 어플리케이션을 실행해도 오류가 나오네요 설치할떄 기존에 있던 자바하고 스프링부트에서 사용하는 자바버젼하고 충돌이 일어난듯한데 방법이 없을까요?
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
26강 수강 후 실습 오류
강의를 따라한 후 서버를 실행하니까 이렇게 오류가 뜨는데 해결법을 알 수 있을까요..?? 구글링해도 적절한 해결법을 못찾겠습니다 ㅠㅠㅠ
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
웹UI에서 실행하면 내부 서버 오류가 뜨네요 ㅠㅠ
위 문장의 syntax 에러가 아래와 같이 뜨는데 어떻게 해결해야할까요..?ㅜSQL은 MySQL Command Line client 사용했습니다..!
-
미해결스프링 프레임워크는 내 손에 [스프2탄]
제이쿼리로 넘길떄 안넘겨도 되는 데이터를 꼭 $().remove해줘야하는건가요??
remove해도 정상적으로 돌아가는거같던데요
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
@Embedded타입
JPA 기본편 공부하면서 @Embeddded 타입 (내장타입)은 여러 Entity에서 공유하면 안좋다고 배웠는데, Delivery 엔티티 클래스랑, Member 엔티티 클래스에 동시에 사용해도 문제가 없을까요?
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
Actuator를 통해 앱을 재시작하지않고 DB 커넥션변경 가능할까요?
Actuator와 cloud bus라는 좋은 기능을 보면서 궁금증이 생겼습니다!이를 통해 자바 어플리케이션을 재시작하지않고 DB 커넥션변경 가능할까요??actuator로 db를 계속 변경 할 수 있으면 너무 좋을 것 같습니다!!
-
미해결실전! 스프링 데이터 JPA
BaseTimeEntity를 Item 에서 extends 해서 사용할 경우에는 어떻게 해야하는건지 궁금합니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 네2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 네3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 네[질문 내용]여기에 질문 내용을 남겨주세요. 해당 강의에서는 Item 내부에 createdDate 필드를 만들고 implements Persistable을 할 때 isNew 함수가 createdDate == null 을 하더라도 문제없이 동작할 수 있음을 확인했습니다.그런데 Item 자체가 public class Item extends BaseEntity implements Persistable<String> 이런식이라면즉, createdDate가 Item class 내부가 아닌, 외부에 존재한다면 isNew 함수를 만들때 createdDate를 참조해올 수 없는데 어떻게 해결해야하는지 궁금합니다.제 개인적으로 해결방안이라고 생각한 것은BaseTimeEntity의 createdDate를 public으로 오픈한다.BaseTimeEntity에서 implements Persistable 을 받고 isNew함수를 정의한다.이렇게 할 경우에 추가적으로 생기는 문제점은 getId() 함수를 Override해야하는데, BaseTimeEntity class 내부에 id 값이 따로 없어서 곤란하다고 여겨집니다.getId() 함수를 만들어도 엔티티마다 id의 타입이 다를 수도 있다고 생각되는데 타입 문제는 어떻게 해결해야하는지 모르겠습니다.이정도 두 가지가 떠오르긴 했는데, 효과적인 방법은 아니라고 생각되어프로젝트 개발시에 엔티티들이 공통적으로 BaseEntity, BaseTimeEntity를 상속받고 있는 상황일때는 isNew함수를 어떻게 정의해야하는지 알려주시면 감사하겠습니다.
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
GeneratedValue 실습에서 insert가 안됩니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.콘솔에 쿼리가 잘 출력되는데 insert가 되지 않아요...뭐가 이유인지 잘 모르겠어요 콘솔창 이미지 캡쳐한거 첨부해서 올립니다. ㅠㅠ
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
ddl error
Caused by: org.h2.jdbc.JdbcSQLSyntaxErrorException: Cannot drop "PRODUCT" because "FKR3MKF1FYVW50W5N52XQ1B8A4B" depends on it; SQL statement: 참조때문에 drop이 안되어서 create를 다시할떄 문제가 생기는 것같습니다.
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
인증 관련해서 질문드립니다.
안녕하세요. 정말 유용한 강의 해주셔서 감사드립니다. 인증 처리 관련해서 궁금한점이 있어 질문 드려요!!궁금한점은 로그인 이외 요청에서는,AuthenticationFilter 를 통과하지 않고 진행되는 것인가요?.antMatchers("/**") .hasIpAddress("172.30.1.60") .and() .addFilter(getAuthenticationFilter()); 감사합니다.
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
카프카에 잘못된 데이터를 보냈을 때 해결 방법이 궁금합니다
제가 처음에 json 파일을 아예 잘못된 형식으로 보내는 바람에 kafka sink connector가 fail 상태가 되었었습니다.근데 문제는 이 상태에서 sink connector를 재실행을 해도 source connector랑 sink connector, topic까지 모두 새로 만들어도 계속해서 task에 잘못 요청한 데이터가 남아있어서 아무리 오랜 시간을 기다려도 계속해서 Exception이 발생한 상태가 되어 있습니다..결국 한참을 구글링하면서 찾아보다가 토픽 내에 있는 메세지를 삭제하는 방법을 찾아서 해결했습니다 ㅜㅜ 여기서 제가 궁금한 점은source connector에 잘못된 정보를 보내는 바람에 sink connector가 먹통이 되어버리면 메세지나 토픽 자체를 수동으로 삭제해주는 것 외에는 방법이 없을까요? 구글을 찾아봐도 마땅한 방법을 찾지 못했습니다이건 제가 카프카에 대해 아직 똑바로 이해하지 못해서 나온 질문인데, connector랑 topic까지 모두 따로 만들어도 하나의 sink에서 문제가 생기면 모든 커넥터가 정상적으로 동작하지 않는 게 원래 이런 게 맞는 건지 궁금합니다. 감사합니다.
-
해결됨실전! 스프링 데이터 JPA
안녕하세요 p6spy관련해서 질문드립니다.
안녕하세요 항상 강의 잘 보고 있습니다.다름이 아니라 강의 후반부에 p6spy관련해서 설명해주시는 부분이 있는데 강의자료에 스프링부트 3.0에서는 p6spy가 지원하지 않는다 하여 강의자료에 있는 내용대로 진행을 했지만 파라미터가 제대로 바인딩 되지 않는 듯하여 질문을드립니다.혹시 왜 그런지 한번 봐주실수 있을까요?아래는 현재 저의 프로젝트 파일 다운로드 경로입니다.https://drive.google.com/file/d/13kY6u4sYQLm6hCevyfRV_tqxFtbx2o0i/view?usp=sharing
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
강의 외 질문입니다.
혹시 @Builder에 대한 자세한 강의가 있을까요?아직 제가 진도를 다 못나가서 그런 건가요?대부분 @Builder를 사용하더라구요근데 활용1편 다 봤고 기본편은 이제 여기부터 시작인데 @Bulider에 내용이 없어서 질문 올립니다!
-
미해결실전! Querydsl
dto로 바로 가져오는것에대해 궁금한점이 있습니다 .
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 네 (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 네 (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? 네 (예/아니오)[질문 내용]강의를 듣기전에는 dto를 select절에서 바로 받는방법이 아닌 , 그대로 뽑아온뒤에 서비스단에서 dto도메인에 만들어둔 생성자펙터리메서드를 사용해서 반환받았습니다 . 리스트 같은경우에는 스트림맵을 사용했었고요 , 혹시 서비스단에서 반환하는방법이 단점이 있어서dto로 바로 받는방법을 사용해야하는건지 , 아니면 그저 선택 ?의 문제인지 알고싶습니다 .
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
안녕하세요
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]헷갈리는 부분이 있어 질문드립니다. em.persist(member) 를 하게 되면 DB에 저장이 바로 되는건지, 영속성 컨텍스트에만 저장이 되는건지 궁금합니다. 그리고 DB 연결이 안되어 있는 상황에서 em.persist(member) 를 하게 된다면 어디에 저장이 되는 건지도 헷갈립니다.
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
안녕하세요
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]실무에서 스프링 시큐리티를 주로 사용하는지, 로그인 세션 기능 같은 부분들은 직접 구현을 하는지 아니면 스프링 제공 기능을 사용하는지 궁금합니다.
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
프로젝트 생성 질문
앞과정까진 되다가ApplicationTest를 돌리면 이렇게 에러가 나는데 뭐가 잘못된걸까요? package jpabook.jpashop; import org.junit.jupiter.api.Test; import org.springframework.boot.test.context.SpringBootTest; @SpringBootTest class JpashopApplicationTests { @Test void contextLoads() { } }plugins { id 'java' id 'org.springframework.boot' version '2.7.8' id 'io.spring.dependency-management' version '1.0.15.RELEASE' } group = 'jpabook' version = '0.0.1-SNAPSHOT' sourceCompatibility = '11' configurations { compileOnly { extendsFrom annotationProcessor } } repositories { mavenCentral() } dependencies { implementation 'org.springframework.boot:spring-boot-starter-data-jpa' implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' implementation 'org.springframework.boot:spring-boot-starter-validation' implementation 'org.springframework.boot:spring-boot-starter-web' compileOnly 'org.projectlombok:lombok' runtimeOnly 'com.h2database:h2' annotationProcessor 'org.projectlombok:lombok' testImplementation 'org.springframework.boot:spring-boot-starter-test' testImplementation("org.junit.vintage:junit-vintage-engine") { exclude group: "org.hamcrest", module: "hamcrest-core" } } tasks.named('test') { useJUnitPlatform() }자바버전은 11이고 스프링부트는 2.7.8로 설치했습니다
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
파일들의 내용이 자꾸 과거로 돌아가는데 혹시 이런 현상 아시나요?
사용 환경은 맥, intellij입니다spring config 시작한 뒤로 이러는데yml파일이나 xml(메이븐)파일을 수정해놔도 어느 순간 이상해서 보면 수정 전으로 돌아가있습니다 ㅜㅜ인텔리제이 캐시도 초기화해봤고 git에도 올려서 커밋까지 했는데 왜이러는지 모르겠어요..강의랑은 무관한 질문인 것 같아서 망설이다가 이것 때문에 전혀 진도를 나가지 못하고 있는 상황이라 여쭤봅니다혹시 모르신다면 제가 알아서 잘 해결해보겠습니다! 불필요한 질문 드려 죄송합니다.