inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

172만명의 커뮤니티!! 함께 토론해봐요.

실무에서도 패키지 구조는 학습과 같이 많이 사용하게 되나요?

미해결

실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 안녕하세요! 패키지구조에 관련하여 문의드립니다! 강의에서는 controller service .. 패키지가 이렇게 나뉘어져있는데 member - controller - service order - controller - service ... 이런 패키지구조도 있어 질문드립니다! 프로젝트, 기업마다 규칙이 다르겠지만 보통 보편적으로 어떤 패키지구조를 사용하게 되나요??

  • java
  • spring
  • spring-boot
  • jpa
6udguin 댓글 1 좋아요 1 조회수 125

자바 그룹핑

미해결

김영한의 실전 자바 - 고급 3편, 람다, 스트림, 함수형 프로그래밍

질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 안녕하세요 갓영한님 자바에서 이렇게 그룹핑 하는 경우도 있을까요 ? 실무에서 보통 쿼리쪽에서 하지않나용??

  • java
  • 함수형-프로그래밍
  • lambda
  • optional
H K 댓글 2 좋아요 0 조회수 108

비관적 락 VS 네임드 락

미해결

재고시스템으로 알아보는 동시성이슈 해결방법

안녕하세요. 해당 강의를 통해 다양한 락의 특징과 장단점을 배울 수 있어 현재 프로젝트에 적용할 수 있었습니다. 적용한 부분: 상품 재고 감소에 대한 동시성 제어 적용했던 락: 네임드 락 적용한 이유: 상품 테이블에 재고 컬럼이 포함되어 있기 때문에 비관적 락을 적용할 경우, 해당 row를 단순 조회하거나 다른 비즈니스 로직에서 락 대기 등으로 인해 영향을 미칠 수 있을 것이라 판단하여 네임드 락을 적용했습니다. 궁금한 점: 적용 이후 테스트 과정에서 알게 된 점이, MySQL의 단순 select 쿼리는 FOR UPDATE 로 인해 락이 걸린 row를 조회하더라도 락 대기나 차단이 발생하지 않는다는 사실이었습니다. 또한 네임드 락과 비관적 락 간의 부하 테스트 결과, 성능 차이가 거의 없다는 점에서, 정합성이 중요한 주문/결제 상황이라면 낙관적 락은 배제하고, 오히려 네임드 락보다는 비관적 락을 적용하는 것이 더 적절하지 않을까 하는 의문이 들었습니다. 질문: 상품 테이블에 재고 컬럼이 포함되어 있다고 하더라도 단순 조회 성능에 영향을 주지 않는다는 점에서, 네임드 락보다 비관적 락을 적용하는 것이 더 타당한 선택일지 궁금합니다. 실무적인 기준에서 어떤 판단이 더 적절할지 조언 부탁드립니다.

  • java
  • spring
  • 동시성
springYam 댓글 3 좋아요 0 조회수 189

강의자료 오타

미해결

스프링 웹 MVC 완전정복

안녕하세요, 강의를 듣다가 강의 자료에 오타가 난 부분이 있어 글 올립니다. 아래 [기존] 부분들을 [수정]으로 바꾸셔야 할 것 같습니다. 감사합니다. ------------------------------------- 04. 서블릿 이해 HttpServletRequest 기본 [기존] https://github.com/onjsdnjs/servlet/tree/httpRequestServletApi [수정] https://github.com/onjsdnjs/servlet/tree/httpServletRequestApi HttpServletRequest - 요청 처리 [기존] https://github.com/onjsdnjs/servlet/tree/httpRequestServletProsess [수정] https://github.com/onjsdnjs/servlet/tree/httpServletRequestProsess HttpServletResponse [기존] https://github.com/onjsdnjs/servlet/tree/httpResponseServletApi [수정] https://github.com/onjsdnjs/servlet/tree/httpServletResponseApi HttpServletResponse – 응답 처리 [기존] https://github.com/onjsdnjs/servlet/tree/httpResponseServletProcess [수정] https://github.com/onjsdnjs/servlet/tree/httpServletResponseProcess

  • java
  • spring
  • spring-boot
  • thymeleaf
jennie 댓글 2 좋아요 0 조회수 101

orderItems[0] 은 아직 단일주문만 가능하기에 인가요?

미해결

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 안녕하세요! 강의를 듣는 도중 궁금한게 있어 질문드립니다. <td th:text="${item.orderItems[0].item.name}"></td> <td th:text="${item.orderItems[0].orderPrice}"></td> <td th:text="${item.orderItems[0].count}"></td> 부분에 [0] 인건 아직 단일 주문만 가능하기에 [0] 으로 하신건가요? 개인적으로 변경하여 한 번에 여러 개의 주문이 가능하게 될 경우에는 [0] 하드코딩이 아닌 타임리프 반복문의 인덱스를 넣으면 되는건가요??

  • java
  • spring
  • 웹앱
  • spring-boot
  • jpa
6udguin 댓글 1 좋아요 0 조회수 68

회원 가입 이메일 문의

미해결

제로베이스부터 배우는 웹개발의 개념과 바이브 코딩

안녕하세요 선생님.. 선생님 강의를 따라하다가, 회원 가입한 사람 모두가 글을 쓸수 있는 낚서장 같은 블로그를 만들었는데, 회원 가입 페이지나 등록 등을 커서에서 만들어서 잘 동작하는것 같고, 수파베이스에서도 세팅을 해주었는데, 회원가입에서 이메일과 비번을 입력하면 제게 확인 메일이 와야 하는데 오질 않네요. 이거 혹시 smtp 서비스를 추가해야 되는건가요?

  • react
  • 웹앱
  • next.js
  • cursor
  • 인공지능(ai)
kelo 댓글 1 좋아요 0 조회수 75

npx prisma db push 문제 완전 해결!

미해결

한 입 크기로 잘라먹는 Next.js

아래 동일한 문제로 고통받는 분들이 계시는 것 같아서 깔끔하게 정리해서 올려드립니다. 1.운영체제 및 환경설정 -맥북 m1, 윈도우 11 2.이슈발생 -터미널 내 npx prisma db push 입력 시, 아래 오류 발생 -오류코드 : 아래 문자열 3.해결방안 -여러가지 해결방안이 있겠지만, 저는 아래와 같이 해결했습니다. -prisma 폴더 > schema.prisma 파일 > 14번째 줄, directUrl 삭제 (*아래처럼) 변경 전 변경 후 -.env 파일 > directURL 설정하지 않기 (*아래처럼!!! / 단, keyword는 본인 키워드로 변경 필수!) 그리고, npx prisma db push 입력 시, 문제없이 실행!! 4.원인분석 -아마도 DATABASE_URL과 DIRECT_URL을 둘 다 사용할 때, 뭔가 문제가 발생했던 것 같습니다. 물론 .env 파일 내 DIRECT_URL 키 생성 후 정상적인 값을 입력해보기도 했지만, 저는 계속 동일한 문제가 발생했기 때문에 그냥 서버 연결 방식을 1개만 선택했는데, 이 방법으로는 잘 되었습니다. 혹시나 저와 동일한 문제로 고민하실까 해서 완벽하지는 않지만, 공유드립니다. 감사합니다.

  • react
  • typescript
  • next.js
Json 댓글 3 좋아요 0 조회수 287

26. String 클래스 - 주요 메서드2 동영상 재생

미해결

김영한의 실전 자바 - 중급 1편

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 지금 거의 40분째 동영상이 재생되지 않고 있습니다. 크롬 브라우저로 접속했고, 새로고침, 인터넷 연결 확인, 창 닫기 및 다시 열기 등 가능한 모든 방법을 시도해봤지만 여전히 심한 버퍼링 현상으로 인해 진도를 나갈 수 없습니다. 영상 자체에 문제가 있는지, 아니면 플랫폼의 오류인지 확인 부탁드립니다. 27번강의도 제대로 재생이 안됩니다

  • java
  • 객체지향
Hyunju Lee 댓글 1 좋아요 0 조회수 77

값 타입 컬렉션 대안 질문드립니다.

미해결

자바 ORM 표준 JPA 프로그래밍 - 기본편

안녕하세요. 강의에서, 값 타입 컬렉션일때는 findMember.getAddressHistory().remove(new Address("old1", "street", "zipcode")); findMember.getAddressHistory().add(new Address("new1", "street", "zipcode")); 이렇게 값을 삭제하고 추가하는 방식으로 값을 수정해줬었습니다. 1. AddressEntity entity = findMember.getAddressHistory().get(0); // entity.setAddress(new Address("newCity", "street", "zipcode")); addressEntity.getAddress().setCity("new1"); 엔티티로 변경하게되면 이렇게 수정해주면 될까요? 그리고 위와같은 수정 방식에 대해서 entity.setAddress(new Address("newCity", "street", "zipcode")); 를 하든, addressEntity.getAddress().setCity("new1"); 를 하든 동일하게 update쿼리가 하나만 발생하는것을 확인했습니다. 근데 왜 addressEntity.getAddress().setCity("new1"); 를 해도 JPA가 변경감지를 통해 update쿼리를 발생시키는지 궁금합니다. 값 타입을 수정할때는 findMember.setHomeAddress(new Address("newCity", a.getStreet(), a.getZipcode())); 이런식으로 새로운 인스턴스를 생성해서 기존 인스턴스를 교체해야한다고 하셨는데 왜 해당 부분에서는 통으로 새로운 인스턴스를 생성해서 교체하지않고 단순히 addressEntity.getAddress().setCity("new1"); 를 하면 update쿼리가 발생하는 이유가 무엇인가요? 그리고 값타입 컬렉션 대신에 이렇게 사용하는 이유가 기존 delete로 다 삭제하고 insert를 각각 해주는걸 단순히 update쿼리 하나로 해당 엔티티에 대해서만 수정하게 하기위해 인가요?? 감사합니다.

  • java
  • jpa
오리쉐리 댓글 1 좋아요 0 조회수 107

영상이 재생이 안됩니다.

미해결

나도코딩의 자바 기본편 - 풀코스 (20시간)

영상이 계속 로딩만 되며 제대로 재생이 안됩니다. 1편 오리엔테이션 (1분53초) 이후 넘어가지 않으며, 4편 윈도우에서 intelliJ 설치하기 (7초) 이후 넘어가지 않습니다. 결제 후 시작조차 못하고 있습니다. 크롬으로 실행하였으며, Chrome이 최신 버전임 버전 136.0.7103.114(공식 빌드) (64비트) 버전은 최신 버전입니다.

  • java
  • 객체지향
반준 댓글 3 좋아요 0 조회수 196

다른 예외 처리 방식

미해결

자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]

강사님께서는 데이터를 먼저 읽고 없으면 예외를 발생시켰는데, 그렇게 하지 않고 일단 업데이트(혹은 삭제)를 시키고 나서 변경된 row의 개수가 0이면 예외를 발생시키는 방법으로 예외 처리를 해도 괜찮나요? 코드는 아래와 같습니다. if(jdbcTemplate.update(sql, request.getName(), request.getId()) == 0) { throw new IllegalArgumentException(); }}

  • java
  • spring
  • aws
  • mysql
  • spring-boot
  • jpa
푸른하늘 댓글 2 좋아요 0 조회수 63

projects rules type

미해결

Next.js 완벽 마스터 (v15): 노션 기반 개발자 블로그 만들기 (with 커서AI)

최신 cursor에는 project rules 작성 시에 타입을 정할 수 있는데 4가지 중에 어떤 타입으로 하면 되는지, 패턴 "app/**/*.{ts,tsx}"은 어디에 넣어야할지도 같이 업데이트 해주시면 좋을 것 같습니다 !

  • react
  • 블로그
  • next.js
  • cursor
  • cursorai
냐냐 댓글 2 좋아요 0 조회수 126

인프런 자바 강의 보고있는데요. 질문.

미해결

Java TPC (생각하고, 표현하고, 코딩하고)

인프런 자바강의랑 패스트캠퍼스 자바강의랑 뭐가 더 최신 강의에요? 강의 내용도 다른가요? 혹시 인텔리제이 쓰는 강의는 없나요?

  • java
  • 객체지향
코드스타크 댓글 1 좋아요 0 조회수 199

교안 오타인지 확인 부탁드립니다!

미해결

김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 여기에 질문 내용을 남겨주세요. 교안 7. 고급 동기화 - concurrent.Lock.pdf 중 7페이지 두번째 줄 Thread.park(), Thread.parkNanos(long millis) -> LockSupport.park(), LockSupport.parkNanos(long millis) 수정되는 것이 맞는 내용 같은데 확인 부탁드립니다! 제가 잘못 알고 있다면, 다시 학습하겠습니다 :)

  • java
  • 객체지향
  • 동시성
  • multithread
  • thread
김재훈 댓글 2 좋아요 0 조회수 97

DP 가장 높은 탑 쌓기: 내림차순 정렬

미해결

자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비

오름차순 정렬 후에 dy에는 해당 인덱스의 벽돌이 가장 밑에 있을 경우로 생각해서 코드를 작성 했는데 제 논리에서는 엣지 케이스가 없는데 이런 아이디어로 dp를 풀어도 괜찮을까요? dp에는 자신이 가장 아래 있을 경우에 가장 높은 높이를 넣어줬고 내림차순이니 앞에 인덱스보다 무게가 더 높다면 해당 인덱스의 높이를 현재 인덱스의 벽돌에 올릴 수 있다는 생각으로 문제 풀이에 접근 했습니다. public void solution(int[][] arr, int n) { Arrays.sort(arr, Comparator.comparingInt((int[] a) -> a[0])); int[] dy = new int[n]; dy[0] = arr[0][1]; int maxHeight = dy[0]; for (int i = 1; i < n; i++) { int height = arr[i][1]; int weight = arr[i][2]; int mh = height; for (int j = i - 1; j >= 0; j--) { if (weight > arr[j][2]) { mh = Math.max(mh, height + dy[j]); } } dy[i] = mh; maxHeight = Math.max(maxHeight, mh); } System.out.println(maxHeight); }

  • java
  • 코딩-테스트
임인혁 댓글 2 좋아요 0 조회수 85

[02-03] 모바일 레이아웃 헤더

해결됨

[코드캠프] 부트캠프에서 만든 '완벽한' 프론트엔드 코스

안녕하세요 ~ 해당 수업 그대로 했는데 실행시 헤더만 보이고 page.tsx 에 작성된 <div>내용입니다 ~</div> 네 줄 내용이 안나옵니다. 수업 두세번 보면서 점검을 했는데 ..어디를 수정해야 할지 모르겠습니다. 아래는 제 코드 캡처해서 올립니다. 실행시는 아래처럼 내용이 안뜹니다.

  • react
  • react-native
  • 하이브리드-앱
  • graphql
  • next.js
댓글 2 좋아요 0 조회수 79

싸이월드 만들기 1탄 피드백 부탁드립니다.

해결됨

[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스

안녕하세요! 싸이월드 만들기 1탄 피드백 부탁 드립니다. 과제 완성 후 레퍼런스 코드를 참고해서 확인도 하였는데 궁금한 점이 있습니다. figma에 있는 '오늘의 기분' select 박스 화살표 모양을 따라해 보고 싶어 아이콘을 사용했는데 아래 코드에서 select 태그 위에 아이콘이 잘 겹치도록 하는 부분이 어려운 것 같습니다. 이렇게 두 요소를 겹치도록 할 때 크기, 위치 같은 요소를 어떻게 계산하여 맞게 지정할 수 있을까요? <!DOCTYPE html> <html lang="ko"> <head> <title>정현아님의 미니홈피 :: 사이좋은 사람들, 싸이월드</title> <link href="./styles/index.css" rel="stylesheet"> <script src="https://kit.fontawesome.com/f9748babc2.js" crossorigin="anonymous"></script> </head> <body> <div class="background"> <div class="outerbox"> <div class="wrapper"> <div class="wrapper__left"> <div class="wrapper__left__header"> <div class="today"> <!-- 각각의 span 박스를 만들어서 관리 --> <span>TODAY</span> <span>0</span> <span> | TOTAL</span> <span>12345</span> </div> </div> <div class="wrapper__left__body"> <div class="left__body__header"> <div class="left__body__header__gray"></div> <div class="left__body__header__line"></div> </div> <div class="left__body__profile"> <div class="left__body__profile__content"> <i class="fa-regular fa-face-smile"></i> 이름 </div> <div class="left__body__profile__content"> <i class="fa-solid fa-envelope"></i> Phone </div> <div class="left__body__profile__content"> <i class="fa-solid fa-phone"></i> E-mail </div> <div class="left__body__profile__content"> <i class="fa-solid fa-star"></i> 인스타그램 </div> </div> <div class="left__body__body"></div> <div class="left__body__footer"> <div class="left__body__footer__title"> 오늘의 기분 </div> <div class="left__body__footer__box"> <select class="left__body__footer__select"> <option selected="true">기쁨 😊</option> <option>슬픔 😢</option> <option>화남 😠</option> <option>행복 🥰</option> </select> <span class="left__body__footer__icon"><i class="fa-regular fa-square-caret-down"></i></span> </div> </div> </div> </div> <div class="wrapper__right"></div> </div> </div> </div> </body> </html> * { box-sizing: border-box; margin: 0px; /*위 옆 공백 제거*/ } .background { width: 1024px; height: 600px; /* background-color: bisque; */ background-image: url("../images/background.png"); padding: 20px 0px 0px 20px; /*위 오른쪽 아래 왼쪽 - 시계방향*/ } .outerbox { width: 808px; height: 544px; /* background-color: tomato; */ background-image: url("../images/outerbox.png"); } .wrapper{ display: flex; flex-direction: row; /* background-color: rebeccapurple; */ padding: 32px 0px 0px 32px; } .wrapper__left { width: 208px; height: 472px; /* background-color: bisque; */ display: flex; flex-direction: column; } .wrapper__left__header { width: 100%; height: 30px; /* background-color: aqua; */ display: flex; flex-direction: row; justify-content: center; align-items: center; } .today { font-size: 9px; } .wrapper__left__body { width: 100%; height: 100%; /*형제 속성을 제외한 나머지만 가져감*/ /* background-color: steelblue; */ border: 1px solid grey; border-radius: 15px; background-color: white; display: flex; flex-direction: column; align-items: center; padding: 20px 30px; } .left__body__header { width: 100%; display: flex; flex-direction: column; } .left__body__header__gray { width: 148px; height: 133px; background-color: grey; } .left__body__header__line { border-top: 1px dotted black; margin: 12px 0px; /*상하여백 좌우여백*/ } .left__body__profile { width: 100%; display: flex; flex-direction: column; } .left__body__profile__content { height: 12px; font-size: 10px; /* margin: 0px 0px 8px 0px; */ margin-bottom: 10px; color: #999999; } .left__body__footer { /* padding: 110px 0px 0px 0px; */ width: 100%; margin-top: 100px; } .left__body__footer__title, .left__body__footer__select { font-size: 11px; } .left__body__footer__box { position: relative; margin-top: 5px; } .left__body__footer__select { width: 141px; appearance: none; } .left__body__footer__icon { position: absolute; width: 18px; height: 18px; top: 2px; right: 2px; pointer-events: none; /* 아이콘을 클릭해도 뒤의 select가 반응하도록 설정 */ } .wrapper__right { width: 524px; height: 472px; /* background-color: violet; */ }

  • react
  • node.js
  • seo
  • graphql
  • next.js
hyunah10 댓글 2 좋아요 0 조회수 163

INDEX의 첫번째 칼럼은 정렬이 상관이 없는 것이 맞는지 궁금합니다

해결됨

6주 완성! 백엔드 이력서 차별화 전략 4가지 - 똑같은 이력서 속에서 돋보이는 법

1. 현재 학습 진도 몇 챕터/몇 강을 수강 중이신가요? 3-9강 여기까지 이해하신 내용은 무엇인가요? B+Tree 작동 원리, INDEX 생성 2. 어려움을 겪는 부분 select o1_0.id, o1_0.created_at, o1_0.member_id, o1_0.order_date, o1_0.order_number, o1_0.status, o1_0.total_amount, o1_0.updated_at from ch3_orders o1_0 where o1_0.order_date>='2023-01-01T00:00' and o1_0.status= 'COMPLETED' and o1_0.total_amount>=500 order by o1_0.order_date desc; 위와 같은 쿼리를 실행할 때, INDEX의 첫번째 필드를 date로 하였을 때, date의 정렬 방식에 따라서 속도가 달라지는 이유가 궁금합니다. (즉, 아래처럼 2가지 방식의 INDEX) CREATE INDEX ids_order_date_status_amount ON ch3_orders(order_date desc, status, total_amount); CREATE INDEX ids_order_date_status_amount ON ch3_orders(order_date, status, total_amount); 날짜 기준으로 최신 데이터를 100개 가져오는 쿼리를 실행시켰을 때, B+Tree의 leaf 노드에서는 양방향으로 이동할 수 있기 때문에 date가 ASC 정렬된 상태에서 역방향으로 읽어 최신 데이터를 읽으나, DESC 정렬된 상태에서 순방향으로 읽어 가져오나 읽는 노드의 수는 동일하다고 생각이 듭니다. 실제로 date를 각각의 정렬조건으로 INDEX를 만들어서 실제로 실행을 시켰을 때에도 거의 차이가 존재하지 않았습니다. (데이터가 많지 않아서 그런지는 모르겠습니다...) 하지만 제가 시도 한 내용이 맞는지 잘 모르겠습니다. 3. 시도해보신 내용 ASC, DESC 정렬을 시킨 INDEX를 사용하여 analyze 한 결과입니다. Limit: 100 row(s) (cost=50413 rows=100) (actual time=0.874..0.899 rows=100 loops=1) -> Index range scan on o1_0 using ids_order_date_status_amount over ('2023-01-01 00:00:00.000000' <= order_date AND 'COMPLETED' <= status AND 500 <= total_amount)... Limit: 100 row(s) (cost=50413 rows=100) (actual time=0.43..0.446 rows=100 loops=1) -> Index range scan on o1_0 using ids_order_date_status_amount over (order_date <= '2023-01-01 00:00:00.000000' AND status <= 'COMPLETED'), with index condition: (... 1번은 ASC로 정렬한 INDEX입니다. 2번은 DESC로 정렬한 INDEX입니다. 여기에서 desc로 정렬한 acutal time이 거의 2배 빨라진 것을 확인 할 수 있습니다. analyze가 정확한 값을 알려주지 않을 수도 있다는 사실을 알고 있지만, 제가 판단한 내용이 맞는지 의심이 듭니다. 딩코딩코님도 desc로 정렬을 하신거 보면 이유가 있을 것이라고도 생각합니다. Q1. 위 상황에서 INDEX의 첫번째 칼럼은 정렬 조건이 의미가 없는 게 맞나요? Q2. 만약 의미가 있다면 어떤 부분에서 의미가 있는지 궁금합니다.

  • java
  • spring
  • mysql
  • redis
  • 이력서
정석찬 댓글 2 좋아요 1 조회수 151

커맨드 패턴 개념 설명

미해결

김영한의 실전 자바 - 고급 2편, I/O, 네트워크, 리플렉션

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예 [질문 내용] 커맨드 패턴 개념 설명을 어떤 강의에서 진행하셨을까요? 바로 커맨드 패턴 적용으로 들어가는 것 같습니다!

  • java
  • 네트워크
  • 객체지향
노은영 댓글 2 좋아요 0 조회수 115

실무에서 서버/클라이언트 컴포넌트를 구분하는 방법

해결됨

한 입 크기로 잘라먹는 Next.js

안녕하세요, 강의 정말 잘 수강하고 있습니다. 강의 수강 중에 궁금한 점이 생겨 질문 드립니다. 강사님께서 말씀하신 것처럼 규모가 크고 복잡한 프로젝트의 경우는 컴포넌트의 양이 많아, 개발자가 이를 인지하지 못 하고 클라이언트 컴포넌트 아래에 서버 컴포넌트를 사용하는 경우가 자주 발생할 수 있을 것 같다는 생각이 들었습니다. 그렇다면 혹시 큰 프로젝트 내에서 이를 방지하기 위해 특별히 조치를 취하셨던 경험이나 팁이 있는지 알고 싶어서 질문드립니다. 예를 들면, 서버 컴포넌트와 클라이언트를 다른 폴더로 구분해서 분류하는 등 실무에서 실제로 사용되는 방법이 있는지 알려주시면 감사하겠습니다!

  • react
  • typescript
  • next.js
서랑 댓글 1 좋아요 0 조회수 164

인기 태그

인프런 TOP Writers

주간 인기글