이야기를 나눠요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
혹시저처럼 무료버전에서 옵션수정시 VM옵션 안되실떄
-까지 붙여주셔야합니다
-
실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
깊이있는 학습을 하는 방법 질문입니다
안녕하세요 3년차 백엔드 개발자 입니다!주로 기술 학습은 인강/구글링을 통해 해왔는데, 더 깊이있는 학습을 위해서 어떻게 학습을 하는게 좋을까요? 예를 들어 트랜잭션의 내부 원리와 서버에 요청을 받는 순간부터 응답으로 보내는 과정을 꼼꼼하게 알고싶으면 디버깅하면서 학습하는 방법밖에는 없을까요?
-
백엔드 개발자 성능 개선 초석 다지기
부하테스트는 배포 환경에서 하려면 어떻게 해냐하나요?
현재 로컬에서 강의 내용에 나온대로 부하테스트를 돌려봤는데요. 이걸 바탕으로 AWS EC2에 배포하고 부하테스트를 해보려고 합니다. 하지만 현재 프리티어를 사용하고 있어 비용문제는 어떻게 되는지가 궁금합니다. 여기서 궁금한 부분은 다음과 같습니다. EC2 환경에서도 똑같이 하면 되는건지?트래픽을 보내면 요금이 청구될텐데 어떻게 해야하는지?
-
코드로 배우는 React with 스프링부트 API서버
백엔드가 너무어려워요
삭제된 글입니다
-
코드로 배우는 React with 스프링부트 API서버
사이트 만들고 공유해도 되나요?
따라서 만들고 있는데요. 다 만들고 여기에 공유해도 되나요?
-
실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
실제 개발할 때의 마음가짐에 대해 질문드립니다.
Q. 실제 개발시에는 메서드가 하나 추가될 때마다 테스트해줘야 하는 것 맞을까요?강의 상에서는 Order, OrderItem 코드 작성하시는 순서가 되게 유기적으로 매끄럽게 구성되어있는데요. 실제 코드 작성할 때는 실수도 나올 수 있고, 특정 메서드에 어느 클래스에 위치해야하는 게 좋을지에 대한 고민같은 것이 동반될 것 같다는 생각이 들 것 같다는 생각이 듭니다(실제로도 그래왔던 것 같구요).좋은 강의를 수강하다보니 새로운 상황을 혼자 맞이할 때 막막한 순간에 어떤 마음가짐을 가져야할 지 고민이 되어 질문드립니다.p.s) 지금은 열심히 완강을 향해 달려가고 있는 중이라 강의평을 남기지 못하고 있는데, 여유가 되면 감사 인사 꼭 드리도록 하겠습니다. 항상 고마워요 영햔님....
-
자바 ORM 표준 JPA 프로그래밍 - 기본편
db 테이블 생성
실제 운영서버에서는 jpa 자동 생성을 사용하기 보다는 직접 db에서 create table을 이용해서 생성하는 걸 권장하시는 건가요??
-
실전! Querydsl
일대다 페이징 방법
상품 이미지들 -> 상품 1대다 매핑관계에서 view에 페이징을 이용해 데이터를 호출하는데 여기서 기존 페이징 처리하는 코드를 응용해서 querydsl을 작성했을 때 productId 값이 productImage의 개수 만큼 row 수가 늘어나는 문제가 있는데 이건 따로 애플리케이션에서 중복 코드를 삭제하고 해야되는지 아님 다른 방법이 있는지 잘 모르겠습니다... Entity @NoArgsConstructor(access = AccessLevel.PROTECTED) @Getter public class Products extends BaseTimeEntity { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "productId") private Long productId; private String productName; private String productColor; private Float productSize; private Float productWeight; private String productOther; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "userId") private Users user; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "factoryId") private Factories factory; @OneToMany(mappedBy = "products") private List<ProductImage> productImage; @Entity @NoArgsConstructor(access = AccessLevel.PROTECTED) public class ProductImage { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "imageId") private Long imageId; private String imagePath; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "productId") private Products products; @Builder public ProductImage(String imagePath, Products products) { this.imagePath = imagePath; this.products = products; } }
-
실전! 스프링 데이터 JPA
JPA 프로젝트 성능테스트 환경 구축 질문있습니다.
강사님의 강의를 보고 Spring/JPA 토이 프로젝트를 만들고 성능 테스트를 진행해보려고 합니다.현재 프로젝트는 AWS EC2 프론티어 클라우드 서버에서 구동 중인데, 성능 테스트 시 aws를 이용하게 되면 부담스러운 비용이 발생할까봐 우려되었습니다.때문에 로컬 환경에서 가상머신을 띄우고 실구동환경의 컴퓨팅 자원과 동일하게 세팅한 뒤 테스트를 진행해보려고 하는데, 이러한 방식으로 진행한 테스트 결과가 실제 서버에 적용할 수 있을만큼 유의미한지 궁금합니다. 질문 읽어주셔서 감사합니다.
-
실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
테스트 환경에서 h2 db 를 사용하는 경우 실용성에 대하여
테스트 환경에서 h2 메모리 db 를 사용하는 방식에 대한 실용성 관련 고민이 있습니다. 프로젝트를 진행하다보면 기본적으로 orm 기반으로 구현을 하지만 일부 예외적인 기능들은 특정 dbms 에 의존적인 쿼리를 직접 실행하는 경우가 불가피하게 발생하는 듯 합니다. 이 경우 특정 dbms(예를들어 mysql) 에 대한 의존성이 발생할 수 밖에 없는데요. 이때 운영 dbms 와 다른 메모리 db(h2) 를 사용하여 테스트를 작성하게 불가능해지고 결국엔 실환경과 동일한 테스트용 db 를 세팅하는식으로 다시 변경하게 되는 듯 합니다. (결국 메모리 db 를 이용한 간단한 테스트를 사용할 수 없는 상황) 실무적인 차원에서 이런 경우 보통 어떤 방식으로 해결하는게 최선일지 궁금합니다.
-
Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
Spring Cloud Config 사용시 의존 문제
강의 잘 듣고 있습니다. msa를 현업에서 적용시키려고 하고있는데 질문이있습니다.Spring Cloud Config 가 가지고 있는 경로에 Database 연결 정보를 넣고 db를 사용하는 Micro service들이 해당 config서비스를 빌드시 참조하도록 설계해보았는데요,Spring Cloud Config service에 너무 의존을 하고 있는거 같단 생각이 듭니다.해당 서비스가 먹통이되면 다른 서비스 모두 db는 사용할 수 없다는 치명적인 이슈가 있으니까요. 현업에서 Spring Cloud Config 서비스를 구현할 때에 이렇게 크리티컬한 정보는 사용하지 않는지, 사용한다면 어떻게 의존성이 강한 문제를 해결 할 수 있는지 궁금합니다.
-
실전! 스프링 데이터 JPA
SSR 시 HTTP Patch 메소드는 redirect를 수행할 수 없나요 ?
@RequestMapping(value = "blog/{blogId}/poster/{posterId}/edit", method = RequestMethod.PATCH) ResponseEntity<String> editPoster(@PathVariable(required = false) Long blogId, @PathVariable(required = false) Long posterId, @ModelAttribute PosterDto posterDto, Model model) throws URISyntaxException { categoryService.findCategoryAndAddToModel(blogId, model); posterService.updatePosterByDto(posterId, posterDto); String redirectUrl = "/blog/" + blogId + "/poster/" + posterId; System.out.println("redirectUrl = " + redirectUrl); // 리다이렉션을 원하는 경우 URI location = new URI(redirectUrl);// 새로 업데이트된 리소스의 URI 생성; return ResponseEntity.status(HttpStatus.SEE_OTHER).location(location).body("Resource updated successfully"); } 안녕하세요 JPA주제는 아니지만 아무리 찾아봐도 안떠서 여기에라도 질문을 올립니다..일단 제가 하고있는 프로젝트는 서버사이드 렌더링으로 타임리프를 사용하고있습니다.영한님의 MVC 강의 중 PRG(Post Redirect and Get) 기법을 사용하는 것을 보고 항상 Post method로 데이터를 수정하고 redirect 하는 컨트롤러를 만들었습니다.어느날 Patch 나 Put 이 데이터를 수정하는데 쓰이는 HTTP method라는 말을 듣고 Patch나 Put을 사용한 후 리다이렉트를 해줬는데 리다이렉트가 안되는 문제가 발생하였습니다.구글링을 해봐도 Patch 후에 redirect 하는 방법은 거의 나오질 않고 gpt한테 물어보니 저런 방법을 쓰라고 해서 썼지만 화면이 전환되지 않는 문제가 있었습니다.Patch method 는 redirect를 할 수 없는지 그렇다면 redirect 를 사용한다면 Post method 를 사용하는 것이 좋은지 궁금합니다.
-
스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
자바 스프링 공부 방향과 로드맵
안녕하세요. 자바를 공부하고 있고 스프링 공부를 준비중인 대학 휴학생입니다.제 수준은 대학에 들어와 처음으로 컴퓨터공학이란 학문과 코딩에 입문하였으며 C언어와 자바를 배워 별찍기와 정말 간단한 예제를 풀었던 수준입니다. 아는 것도 별로 없고 궁금증도 많지만 조언을 구하거나 상담을 하며 도움을 받을 방법이 안 보여 인터넷에서 찾아보기를 반복했습니다. 계속해서 많은 정보만 쌓이다보니 길을 잃게 되었습니다.최근에 자바를 다시 공부하기 시작했습니다. 자바를 다시 공부를 하면 김영한님의 스프링 강의를 통해 공부를 해야지 하고 있었는데, 다시금 막힌 부분이 생겼습니다. 자바 ORM 표준 JPA 프로그래밍 - 기본편스프링 부트와 JPA 활용 1,2스프링 데이터 JPAQuery DSL위 5개의 강의들을 스프링 완전 정복 로드맵에서 어느 강의들 사이에 듣는게 좋은지 궁금합니다. 가장 궁금한 부분은 스프링 완전 정복 로드맵을 시작하기 전 JPA를 먼저 공부해야하는지입니다.추가적으로 지금 목표하는 부분은 스스로 JAVA와 스프링으로 무언가를 할 수 있으면 좋겠습니다. 후에 대학생 수준으로 교내외에서 IT협업활동을 진행하고 싶은데 이때 자바와 스프링으로 백엔드, 서버, 웹 부분을 맡을 수 있는지 아니라면 어떤 부분을 할 수 있는지 또 이런 활동이나 동아리, 단체에서 위와 같은 부분을 담당할 수 있다면 김영한님의 로드맵 기준으로 어느 강의까지 들으면 가능할지 궁금합니다.수준 낮은 질문에 부끄럽고 죄송합니다.
-
실전! 스프링 데이터 JPA
Spring Data JPA로 Mysql Full Text Search 기술 가용여부 질문
안녕하세요 스프링 데이터 JPA 강의를 듣다 질문이 생겨 문의드립니다.토이프로젝트로 JPA를 사용하여 Mysql 전문검색(Full Text Search)를 해보는 중입니다. public interface JpaMenuReviewRepository extends JpaRepository<MenuReview, Long> { @Query(value = "SELECT * FROM menu_review WHERE MATCH (comments) AGAINST (:keyword IN NATURAL LANGUAGE MODE)", nativeQuery = true) List<MenuReview> findMenuReviewByCommentsContainingOnFullTextSearchWithQuery(@Param("keyword") String keyword); } JPA에서는 Full Text Search를 지원하지 않아서 nativeQuery로 다음과 같이 쿼리문을 작성하였습니다.그런데 전문검색을 위해서 Table의 컬럼에 Full index를 추가해야 전문검색 쿼리가 작동한다고 알고 있는데요,JPA의 해당 특징은 "JPA의 DDL 자동 생성 기능" 또는 "JPA의 스키마 자동 생성 기능"으로 알고 있습니다.이 기능은 JPA가 애플리케이션의 Entity 클래스를 분석하고, 이를 바탕으로 데이터베이스 스키마를 자동으로 생성하거나 업데이트하는 역할을 하여 @Entity, @Table, @Column 등의 애노테이션을 사용하여 엔티티 클래스를 정의하면, JPA는 이 정보를 바탕으로 필요한 테이블과 컬럼을 데이터베이스에 생성하는데요,이럴 경우에는 제가 "ALTER TABLE tbl_query ADD FULLTEXT INDEX FullText (`comments` ASC)" 해당 ddl문을 넣을 수 없어서 곤란한 상황입니다. JPA, Mysql에서는 Full Text Search를 사용할 수 없는 건가요? 차선책으로 Elastic Search, Postgre, Mongo를 구상중인데 차선책으로 우회해야할지 고민입니다.추가로 실무에서는 전문검색 기능을 위해 어떤 방법을 쓰시는지, 관련해서 문의드리고 싶습니다.강의내용과 동떨어져 있는 질문이라 죄송합니다.
-
실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
그러면 API를 개발할 때 최선의 방법은 무엇인가요?
이번 API 개발 고급 - 컬렉션 조회 최적화를 쭉 들으면서 생긴 고민입니다.V1 ~ V3 까지의 각각의 명확한 차이점과 최적화 과정에 대해 이해하고 왜 이렇게 사용하는지에 대략적으로 이해하였습니다. 반면에 V4, V5, V6의 경우 DTO를 직접 조회를 통해 쿼리문의 간소화를 진행시키는 방법으로 최적화를 진행하는 것에 배웠는데 질문 1) 최종적인 실무에서는 V3.1의 fetch join 방식과 DTO를 통해 최소한의 쿼리 줄이는 방식 중 어느 것이 더 대중화된 방식인지 궁금합니다.질문 2) 명확히 정해진 방식이 없다면 어느 부분에서는 fetch join 방식이 유용한지 dto 방식이 유용한지 아직 잘 이해가 되지 않습니다. 관련 지식을 학습할만한 검색 키워드를 알려주실수 있으신가요?
-
자바 ORM 표준 JPA 프로그래밍 - 기본편
슬슬 머리 터질 거 같으면 개추
이해가 안되고 머리가 아파온다
-
실전! Querydsl
면접 때, fetchjoin 관련 질문을 받았었는데요
"N+1 문제 관련하여 어떻게 하면 해결할 수 있느냐?"최근에 위와 같은 질문을 받았었는데요. 당연히 일반적으로 fetch join을 사용하니까 위와 같이 대답을 했었는데. 그렇다고 모든 걸 fetch join으로 사용할 수 없으니까 다른 최적화된 방법에 대해 아는게 있냐고 질문하시더라고요. 그래서 그 부분과 관련해서 질문드리는데요. 혹시 이론적인 부분 말고 실무적으로 위와 같은 내용을 해결할 수 있는 방법이 있을까요?제가 생각했던 방법 중의 하나는 연관 관계를 맺지 않은 상태에서 해당 테이블의 PK를 갖고 있는 건데. (예를 들어, 주문 테이블, 상품 테이블이 있다면 주문 테이블에서 상품 테이블의 PK를 단순 컬럼 선언으로 갖고 있는 구조) 이런 구조로 해결할 수도 있나요?이론적으로 JPA에서는 연관관계를 맺지만 실무적으로도 연관관계를 무조건적으로 맺어야 하나요? 예를 들어, FK가 걸려있는 회원과 게시판 테이블이 있는데 '게시판 글 등록'을 하게 되면 실제 존재하는 회원인지 회원 테이블에서 확인을 할 텐데 회원 테이블의 데이터가 1,000만명이면 그걸 다 확인하는 구조일텐데 현실적으로 이런 것들을 고려해서 실무에서는 어떡게 해결하시는지 궁금합니다.
-
스프링 DB 2편 - 데이터 접근 활용 기술
DB1편을 듣지않고 2편을 듣기 어려운가요?
삭제된 글입니다
-
실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
목록을 보는 회차에서 zipcode가 안불러와지는 이유가..?
앞선 수강생처럼 Whitelabel Error PageThis application has no explicit mapping for /error, so you are seeing this as a fallback.Mon Oct 30 21:40:32 KST 2023There was an unexpected error (type=Internal Server Error, status=500).An error happened during template parsing (template: "class path resource [templates/members/memberList.html]")org.thymeleaf.exceptions.TemplateInputException: An error happened during template parsing (template: "class path resource [templates/members/memberList.html]") 여기서 zipcode받는 부분을 html부분에서 빼고 받지 않으면 실행이 됩니다. 그런데 zipcode를 받는 부분이 문제가 없어보이는데... 계속 검토중이긴 합니다만..혹여나아시는게 있을까 싶어서..
-
Practical Testing: 실용적인 테스트 가이드
테스트 가이드 강의 수강하고 프로젝트 진행 중 번외로 질문하고 싶은 것이 있어 문의남깁니다 !
제가 테스트 강의를 다 보고 프로젝트를 진행하던 도중에 막혔던 테스트 케이스가 있어 이렇게 문의드립니다. 바쁘시겠지만 혹시나 시간이 나신다면 한번 피드백 주시면 감사하겠습니다 ㅠㅠ https://mingeonho1.tistory.com/entry/JUnit5-WithMockUser%EC%97%90%EC%84%9C-username%EC%9D%B4-%EC%9D%98%EB%8F%84%EB%8C%80%EB%A1%9C-%EC%9E%91%EB%8F%99-%EC%95%88-%ED%95%A8간단하게 궁금한점을 작성해봤습니다.- 블로그에 작성한 것처럼 외부로 분리해서 테스트한게 맞았을까요??- @WithMockUser에 대해 제가 정확하게 이해한게 맞을까요??- 틀리거나 부족한 내용은 없을까요??좋은 하루보내세요 감사합니다.