'모든개발자를 위한 HTTP웹 기본지식' 에서 배운 바로는 URL를 설계할때, 회원조회를 위한 url 이라 치면, "/member/{id}" 같이 PathVariable인 회원id 값을 url에 명시해 두었습니다. 그런데 이번에 쿠키와 세션을 학습하면서 느낀건데, 애초에 그냥 "/member" 로만 해도, 로그인한 세션값으로 회원 정보를 가져와 해당 회원에 맞는 화면을 응답해도 되지 않을까요? 비슷한 또 다른 예시인데, userA가 자신이 주문한 item들을 전체 조회하고자 할때 요청할 url를 "/orders/{memberId}" 로 하여 memberId를 통해 회원객체를 조회하고, 조회한 객체의 주문목록을 화면으로 뿌려주는것보다는, "/orders" 로만 url을 잡고 세션값을 통해 현재 요청을 날린 회원 객체를 받아 주문목록을 화면에 뿌려주는것이 조금 더 url을 간결하게 만들 수 있지 않을까.. 라는 생각이 들었습니다. 결론: url을 "/member/{id}" 으로 잡았던 이유가 아직 세션을 학습하기 이전이라 그런것인가요, 아니면 다른 이점이 있기 때문일까요?
안녕하세요~ 대학교 한 학기처럼 탄탄하게 빅데이터 파이프라인 관련해서 차근차근 다뤄주시니 도움이 되고 있습니다. Spark Advanced 과정에서 Spark를 자세히 다루면서 학습하고 있습니다 혹시 과제가 있던데? 데이터를 Data Storage에서 배운 HDFS 위에 적재하고 Spark를 돌리면 너무 좋을 것 같은데 혹시 이 부분에 대해서도 가이드 해주시나요? 감사합니다.
안녕하세요 선생님🙇♀️ 쿼리문을 작성하다가 아래와 같이 작은 따옴표와 큰따옴표 둘 다 적용해 보았는데, 결과는 같게 나왔습니다. 그러면 쿼리문 작성 시, 작은따옴표와 큰 따옴표의 차이가 없는 걸까요?? 감사합니다. select * From Customers where Country like "M%" ; select * From Customers where Country like 'M%' ;
안녕하세요 선생님, 강의를 수강하고 있는 학생입니다. 수강하는 도중 음량 관련하여 약간의 개선 가능한 부분이 눈에 띄어 연락 드리게 되었습니다. 강의를 연속해서 듣는 경우 지속적으로 음량이 오르내리는 점을 체감할 수 있었습니다. 약간의 차이면 상관이 없겠으나 심한 경우 볼륨 80이 적절한 회차 직후 볼륨 30이 적절한 회차도 존재하였습니다. 이러한 문제점으로 인해 계속해서 음량을 바꿔주지 않으면 원활하게 수강하기가 어려웠습니다. 이러한 현상은 코딩 테스트 강의 뿐만 아니라 cs 지식 강의 역시 마찬가지인 것으로 보입니다. 녹음 상황을 항상 같게 할 순 없으니 기본 음량 차이는 어쩔 수 없을 것으로 보입니다. 따라서 프로그램을 통해 녹화된 영상의 음량 증폭시키는 등의 방법으로 전체적인 음량이 비슷하게 조정된다면 수강에 많은 도움이 될 것 같습니다. 직접 사용해본 것은 아니나, Audacity, Shotcut, OpenShot 등의 무료 프로그램에서 이러한 음량 조정이 가능하다고 합니다. 내용이 정말 좋은데 이런 부분이 보완되면 더 좋은 강의가 되지 않을까 하여 글을 남기게 되었습니다. 감사합니다.
안녕하세요. 대학교 알고리즘 대회 준비중인 고3입니다. 강의에 제공하는 교안을 다운받아서 5월 초부터 지금까지 64쪽까지 하기는 했습니다 그런데 앞쪽에 나오는 개념들이 아직 배우지 않았는 뒤쪽에 그 개념 설명이 있는 경우에는 제가 어떻게 공부해야 해야하는지 모르겠습니다. 예를 들어 64쪽에 이터레이터 예제코드에는 push_back()이 있고 이거는 88쪽에 개념이 설명되어있습니다. 또 42쪽의 split에는 백터 개념이 사용되는데 이거는 그 앞에서 배우지 않았던 거라서 이게 뭐지? 하게 되구요.. 이런식으로 뒤쪽에 개념 설명이 있는 것들이 앞쪽에 코드예제에 사용될 때가 있는데 이럴때는 이떻게 공부해야할까요?? 혹시나 제가 잘못 공부하고 있는게 아닌지 걱정됩니다. ㅜㅜ 8월달이 대회이고, 저는 php를 조금 했고 이 강의를 처음 시작할땐 c++은 거의 몰랐었습니다. 아, 그리고 글을 읽어보니 부트캠프 코딩테스트는 5주차 정도면 쉽게 하실 수 있을거라는 댓글을 보았는데 혹사 대학교 알고리즘 대회도 동일할까요? 국민대 알고리즘 대회를 준비하고 있습니다. 감사합니다!!
안녕하세요 영한님 영한님의 새로운 도전 응원 드린다는 말씀 먼저 드립니다. 😄 질문이 있습니다. Service Layer에서 발생한 Exception을 @ControllerAdvice를 통해 예외처리하는 방법 말고 바로 예외가 발생한 페이지 View(Thymeleaf)로 예외처리에 대한 결과를 전달할 수 있는 방법 이 있을까요? 예를 들어 회원 탈퇴 Service에서 Exception이 발생하면 그 결과를 회원 탈퇴 View에 예외를 전달하는 것 입니다. 제가 고민해본 결과 2가지 방법이 있는것 같습니다. Service Layer에서 발생한 예외를 커스텀하게 처리하여 BindingResult를 통해서 원하는 View로 전달 @ControllerAdvice에서 @ExceptionHandler(Exception.class)설정하여 각 페이지에 대하여 ModelAndView를 이용하여 전달 아래는 Service Layer에서 예외처리를 하는 예시코드 입니다. MemberController @Controller @RequiredArgsConstructor public class MemberController { private final MemberService memberService; // 회원 탈퇴 @PostMapping("/withdrawal") public String withdrawal(@ModelAttribute("form") WithdrawalForm form) { // 회원 탈퇴 로직 memberService.withdrawalMember(form.getUserId()); return "redirect:/user/login"; } } MemberServiceImpl @Service @Transactional @RequiredArgsConstructor public class MemberServiceImpl implements MemberService { private final MemberRepository memberRepository; // 회원 탈퇴 @Override public void withdrawalMember(String userId) { // 회원 조회 Optional<Member> optionalMember = memberRepository.findByUserId(userId); Member findMember = optionalMember.orElseThrow(() -> new IllegalArgumentException("존재하는 회원이 없습니다.")); // 회원 삭제 memberRepository.delete(findMember); } } 감사합니다.
package chap_04; public class _11_Continue { public static void main(String[] args) { int max = 20; // 최대 음료 판매 수량 int sold = 0; // 현재 음료 판매 수량 int noShow = 17; // 대기번호 17번 손님이 노쇼 for(int i = 0; i <= 50; i++) { System.out.println(i + "번 손님, 주문하신 음료 나왔습니다."); sold++; System.out.println(sold); // ++sold, sold++ 값이 같게 출력됨??? if(sold == max) { System.out.println("금일 재료가 모두 소진되었습니다."); break; } } System.out.println("금일 영업을 종료합니다."); } } 안녕하세요! 증감 연산자 관련하여 질문 드립니다. 강의에서 sold++ 후위 연산자를 사용하셨는데요. "System.out.println(i + "번 손님, 주문하신 음료 나왔습니다.");" 다음에 현재 음료 판매 수량을 증가시키기 위해 전위 연산자 ++sold 를 사용해야 된다고 생각했었는데요. 강사님께서는 왜 전위 연산자인를 사용하지 않고 후위 연산자를 사용하셨는지 이유가 궁금합니다. "System.out.println(i + "번 손님, 주문하신 음료 나왔습니다.");" 다음에 ++sold 를 입력해도 결과 값이 같게 나오던데, 왜 전위 연산자와 후위 연산자 결과 값이 동일하게 출력되는지 이유를 모르겠습니다. 😢
안녕하세요. 개발자도구의 콘솔 탭을 띄운상태이거나 개발자 도구를 끈 상태에서는 페이지가 1초 내외로 렌더링되는데 네트워크 탭만 켜면 30초 이상 딜레이가 됩니다. 해당 현상에 대한 원인이 무엇일까요? _app.tsx에서 30초 가량 지연이 되네요.. 다음은 _app.tsx 파일입니다. 늘 친절한 강의 감사합니다!
self.pay_status = self.meta["status"] order_detail 뷰 구현 파트에서 결제 완료 후 템플릿에서 {{payment.pay_status}} 를 하려고 보니 meta가 비어있는 값이더라구요. 혹시 이 meta가 어떻게 저장되는지 알 수 있을까요? payment = OrderPayment.create_by_order(order) 에서 payment.meta 를 print해 보아도 비어있는 값이라 어디서 잘못되었는지 찾고 있습니다..