묻고 답해요
160만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결제미니의 개발실무 - 커머스 백엔드 기본편
이상적인 공부 방법
강사님이 추구하시는 생각하는 공부에 대해서 많이 고민해보게 되었습니다.그렇다면 강사님이 생각하셨을 때, 이 강의를 보고 공부하는 이상적인 방법은 어떤게 있다고 생각하시나요?예를 들면, 하나의 섹션을 먼저 다 보고 요구 사항 정리부터 다시 시작해보기 아니면 각 강의마다 끝나고 요구사항을 정리해보고 다음 넘어가기.. 등등 강사님도 커리큘럼을 만드실 때 이런식으로 하면 좋을 것 같다가 있으셨을 것 같은데 궁금합니다.
-
미해결제미니의 개발실무 - 커머스 백엔드 기본편
Controller에서 비즈니스 로직 흐름이 나타나는 것에 대하여..
안녕하세요.결제 부분 강의를 보니 payments API를 보면 컨트롤러에서 주문을 조회하고, 사용 할 쿠폰을 조회하고, 포인트를 조회하고, 조회 된 데이터를 PaymentService로 전달하는 스타일이더라구요. 제가 진행중인 사이드 프로젝트도 커머스가 주제입니다. 제 프로젝트도 처음에는 강의 코드 스타일대로 컨트롤러에서 필요한 데이터를 조합하고, 결제를 처리하는 Service 쪽으로 넘기는 형식이었는데, 이게 점점 결제 기능이 고도화되면서 뭔가 컨트롤러에서 비즈니스 로직의 흐름이 보이는게 맞나? 라는 생각이 들게 되었고 어느 순간부터 웬만한 Controller에서는 1개의 xxxService.method()만 호출하고 이 method가 요청에 대한 비즈니스 로직을 전부 담당하게 되었습니다.@Service class QuestionPaymentService( private val questionOrderGenerator: QuestionOrderGenerator, private val promotionApplier: PromotionApplier, private val orderCouponApplier: OrderCouponApplier, private val paymentCouponApplier: PaymentCouponApplier, private val questionPaymentRecorder: QuestionPaymentRecorder, private val pointCommandAPI: PointCommandAPI, private val eventPublisher: EventPublisher, ) { @Transactional fun payment(command: QuestionPaymentCommand): QuestionPayment { val order = questionOrderGenerator.generateQuestionOrder(command.userId, command.questionIds) val questionPayment = QuestionPayment.create(command.userId, order) promotionApplier.apply(order) orderCouponApplier.apply(questionPayment, command) paymentCouponApplier.apply(questionPayment, command) pointCommandAPI.usePoint(questionPayment.userId, questionPayment.realAmount) questionPaymentRecorder.record(questionPayment) eventPublisher.publish(toEvent(questionPayment)) return questionPayment } }위 코드는 제 프로젝트의 결제 부분인데요. 강의에서 말씀하신 것처럼 Service가 너무 많은 걸 알게되더라구요.(주문도 생성하고, 쿠폰도 적용하고, 프로모션도 적용하고...)지금 이 글을 작성하다보니, 갑자기 제 코드가 못생겨보이네요..강의 코드와 비슷한 방식으로 위 코드를 바꿔본다면, 컨트롤러에서는 orderService를 이용해서 주문을 생성하고, couponService, promotionService 등을 이용해서 전처리를 한 뒤 PaymentService을 이용해 실 결제 금액만큼 금액을 지불하도록 하는 로직과 결제 내역을 저장하는 로직만 있을 것 같아요. 반대로 제 프로젝트 방식대로 강의 코드의 payments API를 만들어본다면, Payment를 만들기 위해서PaymentCreateService와 같은 곳에서, orderReader, ownedCouponReader, pointReader 등을 조합해서 Payment를 생성하는 방식이 될 것 같아요.결국 Service가 적은 책임만 가지게 된다면, Controller 입장에서는 복잡한 요청을 처리하기 위해선 다양한 Service를 조합하게 되고 Controller가 비즈니스 로직의 흐름을 보여주는 형태가 될 수 있다고 생각이 드는데요.(사실 Controller가 비즈니스 로직의 흐름을 보여주면 안된다는 걸 어디서도 듣지 않았지만 뭔가 어색한 것 같아요.)물론 계속 말씀하시는것 처럼 정답은 없다는 것은 알지만, 그냥 단순히 재민님은 주로 많은 책임을 가지는 Service보다는 Controller에서 작은 단위의 Service로 조합해서 처리하는 것을 선호하시는지 궁금합니다.재민님을 지속 성장 가능한 소프트웨어 포스팅으로 알게되었고, 유튜브에서도 많은 도움이 되었어요.그렇게 얻은 다양한 인사이트들을 개인 프로젝트에도 적용해보면서 다양한 시도를 하고 있는데 마침 제 관심사인 커머스 주제로 강의가 나와서 정말 행복합니다.
-
미해결토비의 클린 스프링 - 도메인 모델 패턴과 헥사고날 아키텍처 Part 1
JPA 모델과 도메인 모델을 분리했을 때 식별자는 어디에 두는 게 맞을까요❓
안녕하세요 토비님 🙃여러 데이터 접근 기술을 병행해야 하는 상황에서, 도메인 모델과 JPA 모델을 분리해서 관리하고 있습니다.이때 한 가지 궁금증이 생겼습니다.RDB 외의 데이터 접근 기술(예: Redis, MongoDB 등)을 고려하면 도메인 모델에서도 식별자(ID) 개념이 필요할 것 같은데, 이런 경우 도메인 객체가 ID를 직접 가지는 것이 괜찮을까요?만약 괜찮다면, 이는 RDB의 책임(시퀀스, AUTO_INCREMENT 등)에 위임하지 않고, 별도의 UUID나 Snowflake ID 등 도메인 차원의 식별자 생성 전략을 두어야 할 것 같은데 이런 방향성에 대해 어떻게 생각하시는지 궁금합니다.
-
미해결비전공자도 따라하는 워드프레스 홈페이지 제작
카페24에서 도메인 연결까지 했는데요
도메인이 뉴닉네임이랑 기존 닉네임이랑 2번을 결제해서 같은 도메인 주소가 2개 떴어요. 그리고 연결을 하나 했는데 인증서 설치 완료가 안떠요.
-
미해결비전공자도 따라하는 워드프레스 홈페이지 제작
버티컬 스크롤, 모바일 환경
안녕하세요.버티컬 스크롤 위젯이 웹에서는 잘 작동하는데, 모바일에서는 작동하지 않는 것 같습니다.원래 이런 건가요?
-
미해결비전공자도 따라하는 워드프레스 홈페이지 제작
제가 만드는 화면이 왜 알려주신 것과 다를까요?
안녕하세요. 지금 22강을 따라서 진행하고 있습니다.본문에 Animated Text를 넣는 부분을 실습하고 있는데, 두 가지 질문이 있습니다.Before / Animated / After Text가 각각 라인이 분리돼서 표시됩니다. 이 부분을 한 줄로 표시하도록 변경하는 옵션이 있나요? 현재 사용중인 플러그인의 버전은 아래와 같습니다. 강좌에서 설명해주신 것처럼 Before/After Text와 Animated Text의 크기를 다르게 설정하는 옵션을 찾을 수가 없는데, 설치된 플러그인의 버전(vs. 강좌) 차이일까요?* 혹시 강좌에서 사용한 버전은 어떤 걸까요?
-
미해결비전공자도 따라하는 워드프레스 홈페이지 제작
엘리멘터 라이센스 키 mismatch
안녕하세요. 이유는 확실히 모르겠지만 갑자기 엘리멘터 라이센스 키가 일치하지 않는다고 하네요.. 최근에 카페24 호스팅이 만료 되어서 오늘 다시 연장했는데 혹시 이 것 때문인지 모르겠어요. 엘리멘터 다시 설치 하려면 어떻게 해야 할까요?
-
미해결비전공자도 따라하는 워드프레스 홈페이지 제작
컨테이너 사진 추가
강의에서 컨테이너에서 사진 추가하고 하면 사진이 화면 가득 찬다고했는데 저는 가득 차지않아서요 full 부분도 했습니다. 레이아웃으로 수동으로 키워야하는 수준입니다.
-
미해결비전공자도 따라하는 워드프레스 홈페이지 제작
엘리멘트 프로
안녕하세요!제가 얼마 전에 맛보기 영상을 통해서 엘리멘트 프로를 제공한다는 걸 보고서 강의를 결제했습니다! 저는 당연히 강의를 결제하면 무료로 제공이 되는 것인 줄로 알고 다운을 받지 않고 있었는데, 오늘 보니 갑자기 이벤트 종료로 다운을 받을 수가 없어서요ㅠㅠ 제가 이것 때문에 타사이트의 강좌가 아닌 인프런을 통해 해당 강좌를 신청해 듣고 있는데, 혹시 엘리멘트 프로를 제공 받을 수 있는 다른 방법은 없을까요?
-
미해결비전공자도 따라하는 워드프레스 홈페이지 제작
이 강의 마스터하고나서는 그 다음단계 강의는 없나요?
제가 아직 이강의를 다 들은건아닙니다..이걸듣고나서 크몽에서 홈페이지를 만드는 부업을 하고싶은데요.이것만으로도 충분한지 궁금해요.고가의 홈페이지의뢰를 받을생각도없고 기본적인 크몽에서 15만원정도 단가하는 수준으로요궁금합니다.
-
미해결비전공자도 따라하는 워드프레스 홈페이지 제작
AnWP 글목록 썸네일 질문
안녕하세요. 강의 내용대로 AnWP설치하고, 블로그 페이지에 Classic blog 를 선택해서 목록을 넣었는데요. 썸네일 이미지를 등록했는데, 첨부 이미지처럼 이미지 비율이 다를경우에 리스트에서도 그대로 적용이 되어서 나타나는데, 이미지가 잘리더라도 같은 비율로 나오게 할수는 없는건지 궁금합니다. 우
-
미해결비전공자도 따라하는 워드프레스 홈페이지 제작
헤더 푸터 질문
안녕하세요! 설명 너무 잘해주셔서 열심히 공부하고 있습니다 ㅎㅎ헤더푸터 만들때, 엘리멘터 설치하면 기본으로 있는 템플릿 기능을 쓰지 않고 엘리멘터킷으로 하는 이유가 있는지 궁금합니다. 아니면 혹시 제가 엘리멘터 프로를 깔아서 템플릿 메뉴가 있는걸까요?
-
미해결비전공자도 따라하는 워드프레스 홈페이지 제작
전 왜 x 가 보이지 않을까요?
다 보이는데 X만 보이지 않습니다. 어떻게 해야하는지요? 완전 초보 헤매고 있습니다.
-
미해결비전공자도 따라하는 워드프레스 홈페이지 제작
플러그인 추가
Elementor Header & Footer 가 없는데요...
-
미해결비전공자도 따라하는 워드프레스 홈페이지 제작
강의 자료는 따로 없을까요??
강의 자료는 따로 없을까요??
-
미해결비전공자도 따라하는 워드프레스 홈페이지 제작
추가 CSS 폰트변경이 안됨
추가 CSS 에서 폰트 변경이 안 되는데 어떤 이유가 있을까요..주석 처리하면 원래 폰트로 변경되었다가 주석 풀면 다시 돌아오는 그런 부분도 변경이 안 됩니다.동영상에 있는 설정은 다했습니다.개별적으로 변경하는 건 됩니다.
-
미해결비전공자도 따라하는 워드프레스 홈페이지 제작
렌딩페이지 이미지 문제
랜딩페이지에 원페이지 이미지가 안나오는데 어떻게 해결하면 될까요?
-
미해결비전공자도 따라하는 워드프레스 홈페이지 제작
엘리멘토 프로 이벤트 참여는 어떻게 하나요?
이벤트 참여 정보가 어디있는지 알수가 없네요
-
미해결비전공자도 따라하는 워드프레스 홈페이지 제작
PC버전-모바일버전 수정 오류
안녕하세요. 강사님!먼저 좋은 강의 감사합니다.PC버전과 모바일 버전을 번갈아 가면서 강의 도중에 수정하시는데 저는 모바일 버전을 수정하고 오면 PC버전 레이아웃이 변경되어있습니다. 예를 들면 모바일 버전에서 Wordpress Menu로 바꾸고 Navigation Menu를 삭제하면 PC버전에도 삭제가 되어있습니다. 서로 따로따로 관리하고 꾸미고 싶은데 어떻게 설정해야할까요?
-
미해결비전공자도 따라하는 워드프레스 홈페이지 제작
페이지 오류
안녕하세요 이렇게 페이지를 만들었는데,어떤 페이지에 들어가도'쁘띠성형'에서 만든 페이지가 뜹니다ㅠㅠ왜그럴까요?