안녕하세요. 조은님 :) 이번에 다크 모드 관련 내용을 수강하면서 head 태그를 작성하는 부분에서 작은 의문이 생겨 질문 드리게 되었습니다. Q1. 이번 강의 중 다크모드 설정을 localStorage에서 가져오는 부분에서 head에서 script를 사용하는 이유에 대해서 알 수 있을까요?? fouc 문제를 막기위해서 저렇게 사용한다고 검색을 통해 알게 되었는데, 이 의도 맞을지 혹시 또 다른 이유가 있을지에 대해서 여쭤보고 싶습니다! Q2. 이어지는 질문으로 관련해서 공부를 하다보니 NextJS에서 제공하는 Head tag와 Script tag가 있는 걸 알게 되었습니다. 혹시 해당 태그들을 사용하지 않고 순수 HTML로 작성하신 이유에 대해서 궁금증이 생겨 여쭤보고 싶습니다! 가능하다면 두 개의 차이점에 대해서도 여쭤보고 싶습니다!
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 안녕하세요 강사님 강의 정말 잘 듣고있습니다. package jpabook.jpashop.domain; import jakarta.persistence.*; import jpabook.jpashop.domain.item.Item; import lombok.Getter; import lombok.Setter; import static jakarta.persistence.FetchType.*; @Entity @Getter @Setter public class OrderItem { @Id @GeneratedValue @Column(name = "order_item_id") private Long id; @ManyToOne(fetch = LAZY) @JoinColumn(name = "item_id") private Item item; @ManyToOne(fetch = LAZY) @JoinColumn(name = "order_id") private Order order; private int orderPrice; private int count; //==비즈니스 로직==// public void cancel() { getItem().addStock(count); } public int getTotalPrice() { return getOrderPrice() * getCount(); } } 비즈니스 로직인 cancel()과 getTotalPrice()에 대한 질문인데요 한쪽은 getter을 사용했고 다른 한쪽은 그냥 필드값을 넣었는데 혹시 이렇게 차이가 생기는 이유가 있을까요 ? getTotalprice는 getter로 orderprice와 count를 가져오지만 cancel에서는 그냥 count 필드값을 쓰는데의 차이점이 궁금합니다.
1) prefetching 이 초기 1회만 발생하는지, 페이지를 이동할때마다 해당 페이지에 맞춰서 발생하는지가 궁금합니다. 초기 접속이후에는 CSR 방식으로 동작해서 서버에서 렌더링이 발생하지 않는다고 배웠는데, 이동 가능한 페이지에 대해서 prefetching 한다고 하니, 인덱스 페이지에서 바로 이동 가능한 페이지가 아닌 경우 (특정 페이지를 통해서만 이동가능한 페이지) 의 prefetching은 어떤식으로 처리되는지가 궁금합니다. 2) 초기접속시 전달받는 JS Bundle에는 인덱스 페이지에서 이동 가능한 페이지들에 대한 JS 파일만 구성되어 있는 것인지 궁금합니다. 그 이후에 다른 페이지에 이동 요청을 보내면 필요에 따라 JS Bundle을 추가로 서버에서 전달받는 건가요?
nextjs dev모드로 실행하다가 코드 저장하면 자꾸 서버 다운될 때도 많고, 코드 새로 수정해도 반영 안 될 때가 있어서, 서버 껐다 키는 경우가 빈번한데.. 이런거 해결하는 방법 없나요.. 제 컴퓨터에서는 nextjs가 너무 무거워서 리로드 하는 시간도 너무 오래 걸려서요 ㅠㅠ
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문 전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] volatile이라는 키워만 (X) => volatile이라는 키워드만 (O) 추가로 오탈자나 조금 어색한 문장들이 보였는데 그런게 보일때마다 어디로 공유드리면 될까요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 안녕하세요. stack 2번째, 문제 풀이 를 보면서 궁금증이 생겨서 질문을 남깁니다. 문제 풀이를 듣던 도중에 영한 님이 history를 만들 때, ArryDeque를 이용해서 만들었던 것을 볼 수 있었습니다. 그러다가 계속 듣다 보니까 갑자기 이런 생각이 들더라고요.(어떤 분이 '자바 성능 비교 표' 올린 영향도 있습니다.) '앞으로만 추가하니 LinkedList가 더 빠르지 않을까?' 라는 생각 이요. 그런데 ArrayDeque를 왜 사용했을까? 생각 해보니 '앞으로만 추가 하지만, 여러 가지 이용할게 더 많아서 ArrayDeque 를 사용 했다.' 인데 이것도 추측이라서 정확하지 않네요. 그래서 LinkedList 대신 ArryDeque를 사용한 이유를 자세히 알고 싶습니다. 답변 부탁 드립니다.
직접 구현하는 Set1 - MyHashSetV1 강의중 public class MyHashSetV1 { static final int DEFAULT_INITIAL_CAPACITY = 16; LinkedList<Integer>[] buckets; private int size = 0; private int capacity = DEFAULT_INITIAL_CAPACITY; public MyHashSetV1() { buckets = new LinkedList[capacity]; for (int i = 0; i < capacity; i++) { buckets[i] = new LinkedList<>(); } } 이렇게 생성자에 객체를 생성하는데 클래스 필드에 객체를 생성하지 않고 생성자 안에서 생성하는 이유가 무엇인지 궁금해서 문의드립니다.
문제만 보고 풀었을 때, Rectangle 이렇게 정의하고 RectangleOopMain에서 이렇게 작성했는데, 이렇게 문제를 풀이해도 객체지향으로 변경한게 맞나요? 실행시켰을 때 값은 동일하게 나와서 정답인 줄 알았는데, 문제 풀고 강의 들어보니 정답과 달라서 궁금합니다.
계속해서 영한님 강의를 들으니 이해도 잘되고 재미도 있어서 제가 백엔드 개발자가 되기 위해 계속 노력할 수 있는 것 같습니다. 궁금한점은 제가 코딩테스트 문제를 계속 연습하고있는데 거기서 stream/lambda 식이 많이 활용되어서 이대로는 풀으나 마나라고 생각해서 먼저 그부분부터 알고자 학습을 진행중입니다. 혹시 스트림/람다 강의는 언제 열리는지랑 지금 과정을 알아여지 람다/스트림 과정의 이해가 쉬워지는 지 궁금합니다.
서버 배포후 제공해주는 쿠키의 domain이, .naver.com이고, 만약 로컬호스트로 개발 할 경우 localhost의 도메인을 갖게되어, 둘의 도메인이 달라, 쿠키가 담기지 않는 경우가 발생합니다. 모든 통신 요청을 서버와 직접 진행 할 경우, .naver.com의 쿠키로, 모든것이 공유가 가능하니, 정상적으로 접근이 가능한 것 같은데 이제 간혹, 라우트 핸들러나, 미들웨어를 거쳐서, 통신 할 경우 도메인이 localhost가 되어, 401 에러가 발생하게 됩니다!! 이를 해결하기 위해, 로컬에서 두개의 서버를 띄워서 테스트하는 방법말고, 보통 실무나, 현업에서는 배포된 쿠키 로그인 방식을 활용할 떄, 어떻게 Next.js에서 환경 구성을 하는지, 로컬호스트가 아닌, 다른 도메인으로 띄울 수 있는 방법이 있는지 궁금합니다.
안녕하세요, 강의 재밌게 수장중인 수강생입니다. 직전 강의 내용대로라면 공유자원인 balance 도 캐싱되어 항상 1000원이 조회되는 가시성 문제가 발생해야 할것 같은데 출금 예제에서는 발생하지 않는 이유가 궁금합니다. log() 때문에 그럴 수도 있을것 같아서 로그 제거 하고 출력해도 가시성 문제는 발생하지 않는것 같습니다. 제가 뭔가 잘못 이해한 부분이 있는것 같은데, 놓친 부분이 어디인지 잘 모르겠습니다 ㅜㅜ
revalidateTag를 사용하더라도 결국 Review page가 모두 리렌더링 되는 것으로 보입니다. 이는 자연스러운 동작일까요? 그렇다면,ReviewDetail에서 사용하고 있는 API (책 상세 정보 가져오기)는 굳이 호출될 필요가 없는데 추가 호출이 되는 것 아닐까요? 이런 상황에서 revalidateTag를 사용하는 게 좋은 방법이 맞는지 궁금합니다!
안녕하세요. 프로젝트를 진행할 때 그래들을 잘 모르고 사용했는데 마침 강의가 보여서 바로 결제했습니다. 좋은 강의 찍어주셔서 우선 감사합니다. :) 수업을 듣는데, 제가 영어를 못하는데 영어 자료이기도 하고, 강사님도 설명해주실 때 영어로 말씀하시는 경우가 있어서 한국어로 된 자막이 있으면 훨씬 이해하기가 수월하겠다는 생각이 있습니다. 감사합니다!