inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

3번 문제 질문 있습니다.

미해결

김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 코드 진행 마지막을 이렇게 작성하였는데, else if로 마무리하면 실행이 되고, else 문으로 마무리를 하면 오류가 납니다. 원래 이렇게 푸는 방법이 잘못된 것인가요? 아니면 else if로만 마무리해야 오류가 나지 않는 이유가 따로 있을까요?

  • java
  • 객체지향
yewonjeong57 댓글 2 좋아요 0 조회수 113

seo 최적화 기준은 데이터 fetching인가요 아님 데이터 렌더링인가요?

미해결

Next + React Query로 SNS 서비스 만들기

seo 관련해서 궁금한게 있습니다. seo 최적화라는게 크롤링 봇이 서버에서 렌더링된 html을 크롤링하고 인덱싱하는걸로 알고 있습니다. 만약 서버 fetch 를 했지만 data 자체는 렌더링하지 않은 경우는 크롤링 봇이 어떻게 인식을 하는지 궁금합니다. 예를 들어 서버 fetch를 했지만 아래와 같이 서스펜스 역할하는 로직으로 인해 클라이언트 환경에서 hydrate 된 이후에 데이터가 렌더링된다면 서버에서 fetch는 이루어졌지만 렌더링된건 아니기 때문에 크롤링봇이 데이터를 인식하지 못하게 되는걸까요?? export function ConditionalClientWrapper({ children, fallback, }: ConditionalClientWrapperProps) { const [mounted, setMounted] = useState(false); useEffect(() => { setMounted(true); }, []); if (!mounted) return fallback ?? null; return children; } <ConditionalClientWrapper fallback={<Loading />}> //dataList에서 서버 fetch 가 이루어집니다. <dataList /> </ConditionalClientWrapper> SEO 최적화를 위한 조건이 데이터 렌더링인지 단순 서버 fetch 만하면 되는건지 궁금합니다. 추가로 리액트 쿼리의 prefetch를 사용하면 seo 최적화를 가질 수 있는건가요?? 감사합니다!

  • react
  • next.js
  • react-query
  • next-auth
  • msw
변재정 댓글 2 좋아요 0 조회수 106

bulk연산 후 flush하는 이유를 모르겠어요

미해결

실전! 스프링 데이터 JPA

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 안녕하세요 bulk연산을 하면 영속성 컨텍스트의 내용을 flush하는 동시에 영속성 컨텍스트의 내용을 변경하지 않고 DB에서 값을 변경해버려서 1차 캐시와 데이터가 다르게 된다고 이해했습니다. 그렇다면 bulk연산 할 때 기존에 1차캐시 값들을 flush한다고 이해를 했습니다. 그런데 저희 코드에서 벌크한 뒤에 flush와 clear를 해주는데 clear만 해주면 되는 것 아닌가요?

  • java
  • spring
  • spring-boot
  • jpa
재우양 댓글 3 좋아요 0 조회수 186

빌드는 잘 되었고 pm2 start를 하는데 typeerror가 발생합니다.

해결됨

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

배포를 준비하고 있는데 개발/로컬 환경에서는 문제가 없이 잘 되다가 상용 환경에 배포를 하려고하니 에러가 발생하고 있습니다. 빌드는 에러 없이 잘 되었는데 pm2 start를 하니 [TypeError: Cannot read properties of undefined (reading 'filter') 타입에러가 갑자기 나타나버렸습니다. 우선 filter 사용하는 부분에 대한 예외처리들을 넣어주었는데 동일한 에러가 계속 발생하고 있습니다. 어떠한 경우에 이런 에러가 발생하는 것일까요?

  • react
  • typescript
  • next.js
Hailey.h.jang 댓글 2 좋아요 1 조회수 70

show-sql true 로그 저장 관련 질문입니다.

미해결

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

안녕하세요 강사님. 쿼리가 날라가는 것을 보기 위해 show-sql을 true로 하면 로그에 쿼리가 전부 다 보이는데 만약 운영서버에서 로그를 저장하거나 유지해야 하는 경우에는 쿼리가 모두 로그에 찍히면 너무 저장용량을 많이 잡아먹는거 아닌가요? 현업에서는 어떻게 사용하나요?

  • java
  • jpa
AAA 댓글 1 좋아요 0 조회수 54

클라이언트가 FIN과 함께 보내는 ACK는 무엇에 대한건가요?

미해결

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

강의 2분정도부터 나오는 설명에 대해서 서버에서 close()하여 보내는 1.FIN 을보내고 이에 대한 응답으로 OS에서는 2. ACK를 전달합니다. 이제 클라이언트에서도 close() 하여 FIN을 보내는데 이때 ACK도 같이 보내어 3. FIN + ACK 함께보내는데요, 이때 ACK는 무엇에 대한 응답인건가요? 2. ACK 에 대한 응답인건가요? 응답을 잘받았다고 응답하는건지..

  • java
  • 네트워크
  • 객체지향
yoon6669 댓글 2 좋아요 1 조회수 135

버스요금 계산 실제 예제에 오탈자

해결됨

기초 탄탄! 독하게 시작하는 Java - Part 1 : 절차적 프로그래밍

fee가 20세 이상인 경우 1000원으로 문제에 표기되어 있지만 동영상 강의 촬영중의 실습 코드에는 이상이 없지만 실습 코드 전체 다운로드에 포함되어있는 실습 코드에는 100으로 되어있어 0이 생략되어있음

  • java
Rylah 댓글 2 좋아요 0 조회수 94

업데이트 버전 수강

해결됨

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

기존에 강의를 구매했었는데 업데이트 버전 수강하려면 재구매 해야 하는 거지요?

  • react
  • node.js
  • seo
  • graphql
  • next.js
강유정 댓글 2 좋아요 0 조회수 108

노드 삭제시 노드 null값으로 초기화

해결됨

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

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] MyLinkedList의 remove함수에서 removeNode.item = null; removeNode.next = null; 를 해주는데, GC가 처리를 해주는데 꼭 이 과정이 필요한지 궁금합니다.

  • java
  • 객체지향
  • 코딩-테스트
  • 알고리즘
khcho1492 댓글 2 좋아요 0 조회수 102

강의영상에 대한 질문

해결됨

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

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 강의내용이라기보딘 강의영상에 대한 질문인데요.. 강의영상 음성언어로 영어,일본어,베트남어가 있던데 영한님께서 직접 다 녹음하시는건가요? 목소리가 영한님 목소리라서,, 개인적으로 궁금해서 여쭤봅니다 ㅎㅎ

  • java
  • 객체지향
  • 코딩-테스트
  • 알고리즘
khcho1492 댓글 1 좋아요 0 조회수 78

안녕하세요 API 테스트 하는 부분에서 질문 있습니다.

해결됨

스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판

안녕하세요 ! 선생님 코드를 보면 댓글 서비스에서 댓글을 생성할때 request로 들어온 articleId 나 writerId에 대해서 실제로 데이터 베이스에 있는지 검증하는 부분이 없는데, 이렇게 구현을 하면 확실히 테스트 코드를 짤때 실제 데이터 베이스에 저장된 게시글을 넣어주지 않아서 편한것 같습니다. 혹시 실제 현업에서 코드를 짤때도 request 로 넘어온 데이터를 따로 검증을 하지 않아도 되는 건가요? @Transactional public CommentResponse create(CommentCreateRequest request) { Comment parent = findParent(request); Comment comment = commentRepository.save( Comment.create( snowflake.nextId(), request.getContent(), parent == null ? null : parent.getCommentId(), request.getArticleId(), request.getWriterId() ) ); return CommentResponse.from(comment); }

  • java
  • mysql
  • spring-boot
  • kafka
  • redis
댓글 2 좋아요 0 조회수 80

고급편 우선순위

미해결

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

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문 전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 이제 중급까지 듣고 고급편을 들어야되는데 생각보다 람다식이 스프링이나 다른곳에서 함수형을 많이 쓰는것 같은데 시간이 많이 없으면 고급 1,2편보다 람다식,스트림인 고급3편을 들어도 괜찮을까요? 고급 1,2편을 안봐도 문제없을까요??

  • java
  • 함수형-프로그래밍
  • lambda
  • optional
tonyworld 댓글 3 좋아요 0 조회수 160

Category 엔티티 계층 질문드립니다.

미해결

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

@Entity @Getter @Setter public class Category { @Id @GeneratedValue @Column(name = "catagory_id") private Long id; private String name; @ManyToMany @JoinTable(name = "category_item",joinColumns = @JoinColumn(name = "category_id"),inverseJoinColumns = @JoinColumn(name = "item_id")) private List<Item> items = new ArrayList<>(); @ManyToOne @JoinColumn(name = "parent_id") private Category parent; @OneToMany(mappedBy = "parent") private List<Category> child = new ArrayList<>(); } 이 부분에서, 카테고리의 계층? 을 표현하기위해 카테고리 엔티티를 위와 같이 하셨는데요. 여기에서 @OneToMany(mappedBy = "parent") private List<Category> child = new ArrayList<>(); 이 부분이 무슨 의미로 사용되는지 이해가 잘 되지않습니다.. 연관관계의 주인이 아닌쪽이기 떄문에 mappedBy를 적어준거같은데, 해당 코드가 필요한 이유와 사용되는 목적이 무엇인지 질문드립니다. 그리고 private Category parent와 private List<Category> child = new ArrayList<>();가 어떤 연관관계가 있길래 연관관계를 맺는것인지 이해가 잘 되지않아서 질문드립니다. 감사합니다.

  • java
  • spring
  • 웹앱
  • spring-boot
  • jpa
오리쉐리 댓글 2 좋아요 0 조회수 149

타입 매개변수 제한

해결됨

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

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 타입 매개변수를 Animal로 상한을 지정함으로써 제네릭 타입 안에서 Animal 클래스의 기능을 사용할 수 있다는 건 이해했는데, Animal의 자식인 Dog, Cat의 기능도 사용을 못하나요? 코드를 짜서 실행해본 결과 사용이 안되는걸로 확인 했습니다.. 만약 안되는거면 왜 그런지, 만약 Dog, Cat의 기능을 사용하고 싶다면 어떻게 해야하는지 궁금합니다.(다운 캐스팅을 해야하는건지..?)

  • java
  • 객체지향
  • 코딩-테스트
  • 알고리즘
khcho1492 댓글 1 좋아요 0 조회수 72

페이지 라우터의 단점을 보완할 방법

해결됨

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

안녕하세요. 강의에서 설명해주신 페이지 라우터의 단점 중 "불필요한 컴포넌트들도 JS 번들에 포함된다"는 내용에 대해 질문드리고 싶습니다. 제가 이해한 바로는, 초기 HTML은 사전 렌더링 시 모든 컴포넌트를 포함하여 만들어지되, 실제로 브라우저에서 하이드레이션(클라이언트 측 React 활성화)이 일어나는 컴포넌트는 상호작용이 필요한 컴포넌트나 CSR 방식으로 처리된 컴포넌트에 한정 되어 이들만 JS 번들에 포함되는 것으로 생각했습니다. 즉, 단순히 정적인 컴포넌트는 HTML로만 렌더링되고, JS 번들에는 포함되지 않거나 최소화된다고 이해했는데, 혹시 이 부분에서 제가 잘못 이해하고 있는 걸까요? 초기 렌더링 시 어떤 요소들이 HTML로 렌더링되고, 어떤 컴포넌트들이 JS 번들에 포함되는지 기준을 설명해주시면 감사하겠습니다.

  • react
  • typescript
  • next.js
kos7662 댓글 2 좋아요 0 조회수 91

fetchUser 요청시 userPoint.amount

해결됨

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

충전 금액이 balance에 누적되는 것 같은데, userPoint에는 따로 저장되는 것이 아닌가요? 아니라면 충전 된 유저의 포인트는 어떻게 가져와야 될까요? 그리고, 사진처럼 fetchUser 하면 userPoint.amount 가 non-nullable field 라며 userPoint의 amount를 못가져오는데 혹시 오류일까요?

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

인증 관련 질문

해결됨

스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판

학습 관련 질문을 최대한 상세히 남겨주세요! 고민 과정도 같이 나열해주셔도 좋습니다. 먼저 유사한 질문이 있었는지 검색해보세요. 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요 좋은 강의 잘 보고있습니다. 이와 같이 마이크로 서비스로 프로젝트가 구성되면, 유저 인증과 관련된 부분은 어떻게 처리되는지 궁금합니다. 일단 스스로 생각해본 바로는, 게시글/댓글 쓰기, 좋아요 API는 로그인 한 유저만 가능하다고 하면, 각각의 서비스에서 클라이언트의 요청을 받았을 때 해당 요청을 유저 API를 호출하여 인증을 하는 방식이 있을 것 같은데 이 방법은 각 서비스들이 유저 서비스를 알고 있어야 한다는 단점이 있을 것 같습니다.. 위와 같은 상황에서의 실무에서 모범 사례나 정형화된 방법이 있을까요?

  • java
  • mysql
  • spring-boot
  • kafka
  • redis
leesh5000 댓글 2 좋아요 0 조회수 72

[id].tsx페이지 SEO 관련 질문드립니다.

해결됨

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

안녕하세요. 배포 후 SEO 확인 과정에서 이해되지 않는 부분이 있어 질문드립니다. [id].tsx 에서 동적 라우팅을 처리할 때, getStaticPaths 를 통해 id=1,2,3 에 해당하는 페이지는 빌드 시점에 SSG로 사전 렌더링되도록 설정하였고, 나머지 ID에 대해서는 fallback: true 를 사용해 첫 요청 시 SSR처럼 처리되는 것으로 이해했습니다. 또한 강의에서 router.isFallback 이 true 일 경우, SEO를 고려하여 <Head> 에 별도의 메타 정보를 넣어주는 분기 처리를 하신 것으로 알고 있습니다. 저는 이 분기 처리가 필요한 이유가, 해당 시점에는 실제 데이터가 포함된 HTML이 아직 완성되지 않았기 때문에 SEO 검사 도구나 크롤러에 최소한의 메타 정보를 제공하려는 의도라고 이해했습니다. 하지만 실제 배포된 결과를 확인해보니, id=1,2,3 외의 fallback으로 생성된 페이지들조차도 og:image 등 메타 정보가 정상적으로 노출되고 SNS 공유 시에도 커버 이미지가 잘 보이고 있습니다. 이런 경우, fallback으로 생성된 SSR 페이지임에도 불구하고 og 태그가 잘 노출되는 이유는 무엇인지 궁금합니다. SEO 관점에서 이런 동작이 가능한 이유가 있다면 설명 부탁드립니다.

  • react
  • typescript
  • next.js
kos7662 댓글 1 좋아요 0 조회수 53

BufferedInputStream이 1바이트씩 조회해도 성능이 좋은 이유

미해결

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

BufferedInputStream에서 read() 를 호출하면 buf 라는 버퍼에 있는 것을 1바이트씩 꺼내어 조회한다고 하는데, 그렇다면 처음에 FileInputStream에서 하나씩 read() 하는 것이랑 결국 호출 횟수는 같으니 똑같은 것 아닌가? 하는 생각이 들었습니다. 그러니까 버퍼에 데이터 100바이트를 FileInputStream에서 한번에 들고와도 결국 바깥에서는 1바이트씩 꺼낸다고하니 뭐가 다른건가 궁금해졌습니다. 강의에서 버퍼에 데이터가 채워져있으면 FileInputStream의 read()를 호출하지 않고 바로 버퍼에서 꺼내준다고 하셨는데요, 여기서 버퍼에 한번에 많이 가져옴으로서 FileInputStream의 read() 를 적게 호출하게 되기 때문에 이에 따라 시스템콜도 적게 호출되므로 성능이 증가하는건가요? 앞의 강의에서 FileInputStream과 FileOutputStream의 read(),write()의 횟수를 줄여야 성능이 증가한다고 하셨으니까요. 그래서 BufferedInputStream의 read()로 1바이트씩 꺼내는건 성능에 큰 지장이 없는 것인가요?

  • java
  • 네트워크
  • 객체지향
yoon6669 댓글 1 좋아요 0 조회수 95

인기 태그

인프런 TOP Writers

주간 인기글