자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
안녕하세요 선생님. 강의를 듣던 중 궁금한 점이 생겨서 이렇게 글을 남기게되었습니다. UserLoanHistory라는 Entitiy는 강의에서 말씀하셨듯이 User와 ManyToOne의 관계를 가져가는데, 이게 또 Book과의 관계를 보더라도 ManyToOne이 성립할수 있지 않나 싶습니다.(물론 UserLoanHistory의 변수로 pk인 bookId가 아닌 bookName을 쓰셔서 조금 다를수 있지만...) 따라서 user_loan_history 테이블을 설계할때 칼럼을 book_name이 아닌 book_id로 해서 만든다면 그게 좋은 선택일지 궁금합니다 만일 1번의 테이블 설계가 나쁘지 않은 방식이라면 UserLoanHistory Entity에 Book에 대해서도 ManyToOne을 무조건 해주는게 좋은지, 아니면 '유저'의 대출기록만 자주 쓰이고 '책'의 대출기록은 거의 조회되지않을거 같으면 굳이 ManyToOne을 해줄 필요가 없을지 궁금합니다.
spring boot4 + 이클립스를 사용중입니다. src/test/resources 경로에 applicaion.yaml파일을 넣어도 인식을 못해서 3시간을 해맸습니다.. 구글링으로 java build path에서 설정 경로를 확인할 수 있다는 사실을 알게되었는데 src/test/java 경로로 설정이 되어있더군요. 여기 경로에 넣으니까 잘 작동됩니다. 어째서 src/test/resources 경로가 기본값이 아니였던걸까요..
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 영한님, 안녕하세요. 강의를 들으며 부족하다고 느껴졌던 기본기를 덕분에 잘 습득하고 있습니다! 타입 매개변수 제한 강의를 듣고 나서 궁금한 점이 생겨 Q&A를 남기게 되었습니다. 제네릭을 도입하고 타입 매개변수를 제한함으로써, 1. 코드의 재사용성 증가 2. 타입 안정성 보장 위 두 가지의 강력한 장점을 가진다는 부분을 잘 이해했습니다. 다만, 클라이언트 코드에서 인스턴스를 생성하는 과정에 타입 매개변수를 아래와 같이 Animal로 지정하게 된다면 개발자의 실수가 발생할 수 있는 부분이 있다고 생각합니다. AnimalHospitalV3<Animal> animalHospital = new AnimalHospitalV3<>(); animalHospital.set(new Dog("dog", 100)); Dog biggerAnimal = (Dog) animalHospital.bigger(new Cat("cat", 100)); 위와 같은 코드는 다형성만을 사용하여 개션한 코드와 같이 Java 컴파일러가 잡아주지 못하고, 런타임 시점에 오류가 발생하게 됩니다. (Animal 클래스를 추상 클래스, interface로 선언해도 타입 인자로 지정하는 것을 막지 못합니다.) 이런 상황일 때, 개발자의 실수를 최대한 방지할 수 있는 방법이 어떤 것이 있을지 궁금합니다. 항상 좋은 강의 만들어주셔서 감사합니다. 덕분에 잘 배우며 기본기를 다져가고 있습니다!
명령어에서 startDateTime, endDateTime 의 jobParameters 부재 코드에서 @StepScope 어노테이션과 startDateTime, endDateTime 의 jobParameters 파라미터 부재 1번은 다른 사람이 심지어 이전에 쓴 문제더라고 ? 아마 형이 반영 안한건 모아서 한번에 수정할 계획인거 같아 보이네. 2번의 경우에는 @StepScope 도 빠져서 JobParameter 를 입력해도 오류가 발생했어. 또한 해당 메소드의 파라미터 부분을 1번과 마찬가지로 jobparameter로 받아야 할 것으로 보여져. 읽다가 하나씩 돌려보는데, 오류 터져서 놀라가지고 시간을 좀 썼어, 형. 1번은 내가 이해하는데, 2번은 형 실수가 좀 큰듯.
기본기 부족한 n년차 개발자 입니다. 입문, 기본, 중급1까지 완강했고, 현재 중급2 수강중입니다. (최종목표는 자바, 스프링, 데이터베이스 대부분의 강의를 로드맵 따라 익혀가는 것입니다.) 컬렉션 프레임워크(ArrayList) 부분부터 좀 버거운 느낌이 있는데, 강의를 어설프게 이해하며 따라가고 있는 것 같아 문의드립니다. (사실 잘 이해 못하고 있는 걸지도...) 우선 강의 듣는 자세는 다음과 같습니다. 하나하나 따라치며 강의를 듣기에는 오래 걸리고 하다가 지쳐서 중도포기 할 것 같아 강의를 쭉 돌려본다는 생각으로 학습하고 있습니다. (1배속) IDE에서 소스코드 열고 강의 들으면서 중간중간 눈으로 이해하며 넘어가고 있음 (부분적으로만 아조 조금씩 따라 치고 있음) 강의자료 설명 부분은 어느정도 이해가 가는데 코드 작성 부분에서는 조금 버겁게 느껴짐 즉, 과연 내가 이 코드들을 작성할 수 있을까, 다음 강의들을 잘 따라갈 수 있을까 걱정되는 부분이 있음 어떻게 해야 잘 습득해갈 수 있을까요? 강의는 더할 나위 없이 만족하고 있습니다
안녕하세요, 짐코딩님! 강의 잘 듣고 있습니다 😊 89강에서 제가 만든 스타터킷이 아닌, 강사님 소스코드를 git clone한 후 npm i 를 실행했는데, 아래와 같은 결과가 나왔습니다. 발생한 상황: npm warn deprecated node-domexception@1.0.0: Use your platform's native DOMException instead added 691 packages, and audited 692 packages in 8s 10 vulnerabilities (1 low, 4 moderate, 4 high, 1 critical) critical을 포함한 보안 취약점 10개가 발견되어서, 아래 명령어로 강제 수정을 시도했습니다. npm audit fix --force 결과: npm warn audit Updating next to 15.5.12, which is outside your stated dependency range. changed 3 packages, and audited 698 packages in 4s found 0 vulnerabilities Next.js가 15.5.12로 업데이트되면서 취약점은 모두 해결됐습니다. 질문 드리고 싶은 점: npm audit fix --force 로 Next.js 버전이 강의 소스코드와 달라졌는데, 이렇게 만들어둔 스타터킷 사용 시 구버전 이슈가 나타나면 이렇게 수정해서 사용하면 되는것이 맞나요? git clone한 강사님 소스코드에서 이런 취약점이 발생하는 게 정상인가요, 아니면 제 환경 문제일까요? 비개발자로서 강의를 따라가고 있어서 이런 부분이 헷갈립니다. 답변 주시면 감사하겠습니다!
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예/ 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 아니오 [질문 내용] 수정 또는 삭제시에 한번 find 메서드를 호출해서 select하여 데이터의 값을 영속성 컨텍스트에 올려놓은뒤에 수정 또는 삭제시에는 객체의 값만 바꾼후에 commit 을 통해 쿼리가 날라간다고 설명해주셨는데, 보통 수정또는 삭제시에 객체를 조회하지않고 바로 update 또는 delete 쿼리를 사용하는데 jpa를 사용하면 무조건 find 메서드를 통해 select후에 update 또는 delete작업을 해야되는건가요?
질문 가이드 읽고 삭제 후 오타제보 JobScope와 StepScope 사용 시 주의사항 ... 2. Step 빈에는 @StepScope와 @JobScope와를 사용하지 말라. -> @Step 빈에는 @StepScope 와 @JobScope 와 를 사용하지 말라 -> 말이 확실히 이상해
안녕하세요! 매번 새롭게 업데이트 되는 내용 덕분에 행복사할 것 같은 1인입니다. ㅋ.ㅋ 현재 현업에서 클로드코드를 사용하고 있는데요 예를 들어서 해당 프로젝트를 처음 접하는 사람이 어떤 기능을 구현해달라고 프롬프트에 작성을 했을 시. 기존 프로젝트의 .claude에 rules 같은걸 바로 읽어서 구현을 하는게 아닐텐데 이런 상황에서는 어떻게 해야할까요? 프로젝트 내에 있는 CLAUDE.md에 rules를 다 명시해야할까요??
형 스프링부트 4에서는 jdbc starter 추가 안하면 안되던데 뭐지 ```build.gradle.kts description = "batch" dependencies { implementation("org.springframework.boot:spring-boot-starter-jdbc") implementation("org.springframework.boot:spring-boot-starter-batch") implementation("org.springframework.boot:spring-boot-h2console") runtimeOnly("com.h2database:h2") testImplementation("org.springframework.boot:spring-boot-starter-batch-test") } ``` implementation("org.springframework.boot:spring-boot-starter-jdbc") 위 처럼 의존성 명시적으로 처리해주기 전에는 아래 에러떳었어. Could not autowire. No beans of 'PlatformTransactionManager' type found.
안녕하세요 현업에서 일하고 있으며, 팀 내, 바이브 코딩이 본격화되면서 다들 잘 쓰고 있지만, 후발주자로 따라 붙고 있습니다. 강의 정말 잘 들었고, 워크플로우에 대한 개념 잘 배웠습니다. 추가로 업무에서 skills를 사용하고 있는데 이에 대한 강의나 도움될만한 정보를 알고 싶어서 질의 게시판 이용하여 문의 남깁니다.