묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
부트스트랩 적용 후 회색영역이 안 뜰 때 해결방법
그 회색 창 html을 보시면 class="jumbotron"으로 되어 있을텐데 부트스트랩4까지 지원해주던 클래스입니다. 부트스트랩5로 올라가면서 빠졌다고 합니다. 현재 부트스트랩 가장 최신 버전이 5.0.1이기 때문에 저처럼 최신 버전 받았다가 엥 왜 얘만 안되지 하시는 분이 있으실까봐 관련 정보를 남깁니다. 부트스트랩 4를 이용하시면 문제 없고 어차피 디자인적인 요소라 크게 신경 안쓰고 넘어가셔도 될 것 같습니다. - 부트스트랩5 점보트론 변경 정보 https://getbootstrap.com/docs/5.0/migration/#jumbotron - 부트스트랩4 다운로드 링크 https://getbootstrap.com/docs/4.6/getting-started/download/ - 다운로드 없이 cdn으로 적용하기 https://www.inflearn.com/questions/151764
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
getTotalPrice같은 조회함수가 왜 필요한지 모르겠씀니다=_=
totalPrice라는 변수를 만들어서 처음 주문 들어왔을떄 계산해서 넣어두고, 주문 취소라던지 하는 변경이 일어나면 그때 상황에 맞게 업데이트 해주는게 맞는거 아닌가요?? 일반적으로 변경보다는 조회가 빈번하니까 변경되었을때 미리 계산해두고 조회할떄는 가져다 쓰기만 하는게 더 맞지않나 싶어서요=_=
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
p6spy 성능 질문 드립니다.
안녕하세요. 강의를 듣고 사이드 프로젝트를 하면서 `p6spy` 를 잘 활용하고 있는데요. 강의 내용 중에 prod 에서는 성능 관련을 확인 후 사용해야 된다는 내용을 보고 궁금해졌습니다. 처음에는 그냥 `build.gradle` 에서 prod 설정에만 안뜨게 하면 되겠지 (dev, test 에서는 되는 것을 의도) 라고 생각했는데, profile 에 따라 `build.gradle` 이 동적으로 움직이는 건 application.xml 이랑은 다르게 좀 어렵더라구요; 그래서 질문은 2개 입니다. 1. profile 에 따라 `build.gradle` 의 설정 (특히 dependency) 이 동적으로 움직이게 하는 것을 어떻게 하면 좋을까요? 2. `p6spy` 와 같은 외부 라이브러리의 성능 검증은 어떻게 하는 것이 좋을까요?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
OrderController에 대해서 궁금한게 생겼어요
안녕하세요!! 컨트롤러를 보다가 단순 호기심이 생겨서요 MemberController와 ItemController에서는 회원가입을 하거나 상품을 등록할때, MemberForm클래스나 ItemForm클래스를 만들어서 파라미터값으로 넘겨주셨습니다. 그런데 OrderController에서는 주문을 할 때 OrderForm을 만들지 않고, 하나하나 @RequestParam으로 넘겨준 특별한 이유가 궁금해서 질문드렸어요 별다른 이유가 없으면 OrderForm을 만들어서 넘겨도 되는거죠??
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
강사님 프로그램 시작시 질문있습니다
제가 야생형 코스를 따라가고 있어서 아직까지 이해가 잘 가지 않고 그냥 따라치기 바쁘네요 ㅎㅎ 다름이 아니라 JPA를 사용하면 어플리케이션 실행 할때마다 테이블을 계속해서 만들고 시작하나요 ?? 그리고 제가 디비가 약해서 디비 관계에대해 잘 이해 못하는 부분들이 조금씩 있고 각 어노테이션들의 기능들을 기본편을 보지않고 와서 그런지 모르고 가고 있는데 계속해서 진도 진행해도 될까요?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
extends JpaRepository<> vs @Repository 질문
안녕하세요 기본편 강의 잘 들었습니다! 질문이 하나 있는데, DB에 접근하는 클래스를 만들 때 스프링 공식 사이트에서는 extends JpaRepository<> 있고 현재 강의에서는 @Repository로 접근을 하는데 둘의 차이가 있는 것 인가요? 추상적인 질문이었다면 죄송합니다 ㅠㅠ
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
ItemServiceImpl.java 클래스를 만들지 않은 이유
강사님 안녕하세요, 강의를 듣다 궁금한 점이 있어서 글 올립니다. 보통 ItemService 같은 서비스 클래스는 구현체를 만드는 것으로 알고 있는데, 혹시 강의처럼 ItemServiceImpl 클래스를 안만들고 바로 구현해도 크게 문제되지는 않는건지 궁금합니다. (JPA라서 그런건지 아니면 예제이기 때문에 단순화 시키신건지 등 ..) 답변 부탁드리겠습니다! 감사합니다!!
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
dto entity 변환은 어느 곳이 적절할까요?
1) dto -> entity 2) entity -> dto 각각의 변환은 어디가 적절할까요? 1번 2번 둘 다 controller 혹은 service 에서 하게 되는데 사람마다 스타일이 각각 다른 것 같습니다 영한님이 프로젝트에서 사용하시는 방법이 궁금합니다 (그리고 그것이 개인적으로 선호하는 방법인지도 알고 싶습니다 선호하는 것과 실제 프로젝트에서 사용하기 모호한 부분이 있을 수도 있기에 추가로 질문 드립니다) 영한님이 사용하시는 방법에 대한 이유도 알 수 있었으면 합니다 감사합니다
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
mappedBy와 cascade를 함께 썼을 때
mappedBy로 설정된 컬렉션은 읽기만 가능한 줄 알고 있어서 cascade가 적용이 안되는 게 아닌가..? 싶었는데 컬렉션에 엔티티를 추가할 경우 엔티티도 영속화 해주지만 그 엔티티의 FK 값은 반영이 안되는 것 같은데 제가 제대로 이해한 게 맞을까요?
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
gradlew dependencies
안녕하세요. 저는 windows10 사용자입니다.아래와 같이 인텔리제이 터미널 로컬에 입력하면 실패한다고 뜹니다.C:\study\jpashop>gradlew dependencies FAILURE: Build failed with an exception. * Where: Build file 'C:\study\jpashop\build.gradle' line: 39 * What went wrong: A problem occurred evaluating root project 'jpashop'. > Could not find method testImplementation() for arguments [org.junit.vintage:junit-vintage-engine, build_c5fjxfeq8g2hpdi6kd0zeexhk$_run_closure5@1757541f] on root project 'jpashop' o f type org.gradle.api.Project. * Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights. * Get more help at https://help.gradle.org BUILD FAILED in 1s =========================================다음은 환경정보입니다. C:\study\jpashop>gradlew -version ------------------------------------------------------------ Gradle 6.8.3 ------------------------------------------------------------ Build time: 2021-02-22 16:13:28 UTC Revision: 9e26b4a9ebb910eaa1b8da8ff8575e514bc61c78 Kotlin: 1.4.20 Groovy: 2.5.12 Ant: Apache Ant(TM) version 1.10.9 compiled on September 27 2020 JVM: 11.0.11 (Oracle Corporation 11.0.11+9-LTS-194) OS: Windows 10 10.0 amd64
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
로그 글씨 색깔
빌드해서 실행해봤을 때 아래 로그 색깔이 저는 전부 검은색인데 강사님 화면은 색깔이 다 들어가있어서 질문 드립니다. 따로 설정이나 설치해야 하는 플러그인이 더 있는건가요?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
insert 쿼리가 log에 안찍혀요!
test를 실행할 때 insert 로그가 안찍혀요... @Rollback(false)를 설정 했을때는 찍힙니다. @Rollback(false)를 설정하지 않아도 찍히게 하고싶은데 어떻게 해야하나요!?? yml 복붙해서 넣어드립니다... spring: datasource: url: jdbc:h2:tcp://localhost/~/jpashop username: sa password: driver-class-name: org.h2.Driver jpa: hibernate: ddl-auto: create properties: hibernate: format_sql: truelogging.level: org.hibernate.SQL: debug org.hibernate.type: trace
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
MemberRepository 와 ItemRepository에서의 em 차이점
김영한 강사님 안녕하세요. 좋은 강의 항상 잘 보고있습니다! ㅎㅎ 다름이 아니라 강의를 쭉 듣던 중 궁금증이 생겼습니다. MemberRepository에서 em은 @PersistenceContext를 붙였는데 ItemRepository에서는 @PersistenceContext를 붙이지 않고 그냥 final 처리만 되어있습니다. 제가 보기엔 둘다 같은 역할을 하는 em인것 같은데 소스코드에서는 왜 다르게 구현하신건지 궁금합니다!
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
상품 서비스 테스트코드
안녕하세요 선생님! 혼자 복습하다가 문득 호기심이 생겨, 상품 서비스의 테스트를 진행해보다 . @SpringBootTestclass ItemServiceTest { @Autowired private ItemService itemService; @Test void 상품_등록() { Book book = new Book(); book.setName("jpa"); book.setPrice(10000); Long itemId = itemService.saveItem(book); Assertions.assertThat(book).isEqualTo(itemService.findOne(itemId)); }} 이렇게 되면 테스트가 실패하는데 그 이유가 객체 타입이 달라서 그런건가요? 테스트 코드의 객체는 Book이고 service 계층에서의 반환형은 Item이라 생각하여 Repository 계층과 Service 계층의 반환형을 모두 Book으로 해도 테스트가 실패합니다. 혹시 이유를 알 수 있을까요?
-
미해결Klaytn 클레이튼 블록체인 어플리케이션 만들기 - NFT
초반 erc721 소스를 복사 후 ide 에서 소스 코드 오류가 발생합니다.
강사님께서 동영상에서 알려주신거처럼 복사해서 쓰려고 하니 위 캡처처럼 safeTransferFrom 에서 소스 오류가 발생합니다. 혹시 이유를 알수 있을까요? ㅠ
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
Unit Test가 더 좋다고했는데...
강의 중 통합 테스트도 좋지만 단위테스트가 더좋다고 하셨는데 Service에 대한 테스트 케이스를 작성할 때, 의존성이 있는 각각의 Repository 도 MockRepository를 생성해서 Service 자체만 테스트 하는게 더 좋은 방향일까요?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
양방향 연관관계에서의 편의 메서드
강의중, 연관관계 편의 메서드는 연관관계의 주인으로 설정된 엔티티에서 형성하는 것이 좋다고 하셨는데 Order 엔티티에 //연관관계 메서드public void setMember(Member member) { this.member = member; member.getOrders().add(this);}public void addOrderItem(OrderItem orderItem) { orderItems.add(orderItem); orderItem.setOrder(this);}public void setDelivery(Delivery delivery) { this.delivery = delivery; delivery.setOrder(this);} 이렇게 메서드를 구성했습니다. 그러나 Order - OrderItem 두 엔티티가 갖는 연관관계에서 주인은 OrderItem입니다. 그렇다면 Order에 .addOrderItem()을 없애고 OrderItem 엔티티에 public void setOrder(Order order){ this.order = order; order.getOrderItems().add(this);} 위와 같은 편의 메소드를 추가하는것이 맞지 않을까 질문합니다!
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
개인 프로젝트를 위해 도움 요청합니다!
안녕하세요. 비전공자로써 국비지원 학원을 수료한 취준생입니다. 학원에서 만들었던 프로젝트가 포트폴리오로 내세우기에는 너무나도 부족해서 선생님의 강의를 들으며 프로젝트를 새로 만들 계획입니다. 프로젝트를 만드는 과정에서 무척 궁금한 부분이 생겼는데 바로 '이미지 첨부'에 관한 것입니다. 학원에서 프로젝트를 만들 때는 모르는 부분이 있으면 구글링하고 이것저것 헤딩해보면서 하다보니 그때 사용했던 방법은 Multipart를 통해 이미지를 프로젝트 파일 내에 있는 폴더에 저장하는 방식을 사용했습니다. 하지만 돌이켜 생각해보니 이미지를 많이 사용하는 사이트를 만든다고 했을 때, '프로젝트 파일의 용량이 너무 불어나면 안 좋지 않을까?' 하는 생각이 들었고, 또한, 기왕에 프로젝트 제대로 만들어 볼 거 AWS Free tier를 활용해서 배포까지 해야 취업에 유리하지 않을까 싶어서 배포단계까지 가는 것을 목표로 하고 있는데요. 그렇다고 했을 때, 배포 중인 애플리케이션의 이미지 첨부 기능에 에러사항이 있지는 않을까, 하는 걱정이 앞섭니다. (아직 애플리케션을 배포해 본 경험은 없습니다...) 사실, 구글 클라우드 스토리지라는 것이 있다기에 연동은 해봤지만 제대로 활용해보지는 못했습니다. 필요하다고 하면 다시 제대로 배워 볼 생각입니다. 이하 각설하고 제 질문은, 1. 실무에서 이미지 첨부 기능을 주로 어떤 스토리지 방식에 의존하는지 2. 작은 규모의 프로젝트이지만 이미지가 약 100장(+이미지 첨부 게시판) 정도일 때 어떤 스토리지 방식을 채택하는 것이 좋을지 입니다. 이게 참... 강의 주제에 벗어나는 질문이지만 너무 궁금한 부분이고, 비전공자이다보니 주변에 실무 종사자 분들이 없어서 실례를 무릅쓰고 이런 질문을 올려보게 되었습니다. 혹시라도 다른 실무 종사자 분들의 조언이 또 있다면 감사히 받겠습니다.
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
회원가입 제출 이후 whiteLabel
안녕하세요 강사님. 강의 보며 많이 배우고 있습니다. 강의 내용대로 쭉 따라가며 진행하고 있는데 회원가입 부분에서 회원가입 제출 누르면 홈으로 리다이렉트가 안되고 403에러와 화이트라벨 페이지로 이동하게 됩니다. create 메서드에 로그를 찍어도 안찍히는걸 보니 해당 post 매핑이 잘못되었나 하여 준비해주신 자료에 있는 소스를 복사해 똑같이 붙여넣기해도 마찬가지네요... 혹시 원인이 무엇일까요..ㅠㅠ
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
테스트 오류 질문드립니다
안녕하세요 14:57초 쯤에서 진행하는 테스트에서 에러가 나는데 확인해주실 수 있을까요? 에러메시지는 아래와 같이 나옵니다. Could not write standard input to Gradle Test Executor 3. java.io.IOException: 파이프가 닫히는 중입니다 at java.base/java.io.FileOutputStream.writeBytes(Native Method) at java.base/java.io.FileOutputStream.write(FileOutputStream.java:354) at java.base/java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:81) at java.base/java.io.BufferedOutputStream.flush(BufferedOutputStream.java:142) at org.gradle.process.internal.streams.ExecOutputHandleRunner.forwardContent(ExecOutputHandleRunner.java:68) at org.gradle.process.internal.streams.ExecOutputHandleRunner.run(ExecOutputHandleRunner.java:53) at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64) at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:56) at java.base/java.lang.Thread.run(Thread.java:834) > Task :test FAILED Error: Could not find or load main class worker.org.gradle.process.internal.worker.GradleWorkerMain Caused by: java.lang.ClassNotFoundException: worker.org.gradle.process.internal.worker.GradleWorkerMain FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':test'. > Process 'Gradle Test Executor 3' finished with non-zero exit value 1 * Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights. * Get more help at https://help.gradle.org BUILD FAILED in 3s 4 actionable tasks: 1 executed, 3 up-to-date