inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

[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

eslint 설정

해결됨

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

실제 코드에 나와 있는 설정과 아래의 설명이 반대로 바뀐 거 같은데 어디에 맞춰서 설정해주면 될까요?

  • react
  • typescript
  • next.js
라연 댓글 2 좋아요 0 조회수 98

오타제보

미해결

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

강의명 : 파일 입출력과 성능 최적화4 - Buffered 스트림 읽기 강의 위치: 1분 22초 오타 위치: 2. IO 기본1.pdf 26페이지 최하단 오타 내용 : Buffered Output Stream 분석 -> Buffered Input Stream 분석 해당 부분의 강의는 BufferedInputStream 에 대한 내용이므로 BufferedInputStream 분석 이 되어야하지 않나 싶습니다. 감사합니다

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

MemberRepository의 JPA 종속성에 관하여

해결됨

토비의 클린 스프링 - 도메인 모델 패턴과 헥사고날 아키텍처 Part 1

쉽게 이해할 수 있게 설명해주셔서 강의 잘 봤습니다. 👍 강의 후반부(39. 문서와 코드 다듬기)에 MemberRepository에 @Query를 사용하면서 JPA 종속성이 추가되었는데 이 부분에 대해서 언급 없이 2가지 조인 방식과 관련하여 설명하고 넘어갔습니다. 강의 중반부(23. 회원 애플리케이션의 포트 정의)의 MemberRepository 설명과 같이 spring-data-commons의 Repository라는 마커 인터페이스를 사용하는 것은 동의하나 application layer에 기술 종속성이 추가된 내용 관련하여 부가 설명 요청 드려도 될까요? 물론 다음 강의에 해당 설명이 있을것으로 생각되지만.. MemberQueryRepository로 분리하고 adapter layer에서 구현하는 방향이 더 좋아보이는데 개선 방향도 같이 부탁드립니다.

  • java
  • spring
  • spring-boot
  • jpa
  • 리팩터링
  • ddd
hklee.study 댓글 1 좋아요 0 조회수 437

강사님 질문 있습니다.

미해결

코드로 배우는 React 19 with 스프링부트 API서버

이미지를 저장할 때 이미지 파일을 저장할 때가 있고 이미지 이름을 저장할 때가 있다고 하셨는데 그러면 이미지를 파일 시스템이나 DB상에 저장을 하므로 그 파일에 접근하기 위해서 DB상에 이미지 이름을 저장한다고 생각하면 될까요? 제가 생각한게 맞는지 궁금합니다.

  • react
  • typescript
  • spring-boot
  • jpa
  • jwt
moriental 댓글 2 좋아요 0 조회수 57

sql 연결 오류

미해결

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

Caused by: org.hibernate.service.spi.ServiceException: Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment] 이러한 오류가 뜨는데 어떻게 해결해야 할지 잘 모르겠습니다 ㅠㅠ application.yml 코드는 다음과 같습니다 spring: datasource: url: "jdbc:mysql://localhost/library" username: "root" password: "" driver-class-name: com.mysql.cj.jdbc.Driver

  • java
  • spring
  • aws
  • mysql
  • spring-boot
  • jpa
ksangyun04 댓글 2 좋아요 1 조회수 68

문자 집합 호환성 여부를 판단할 때

미해결

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

어떤 두 문자 집합이 호환되는지의 기준은 해당 언어를 표현하는 바이트가 일치해야함 그리고 해당 문자 집합들의 문자의 바이트(비트) 값이 일치해야함. 위 두가지를 모두 만족한다면 두 집합은 서로 호환된다고 이해하면 될까요?

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

prebuild 프로젝트 build 방법

해결됨

React Native with Expo: 제로초에게 제대로 배우기

expo에서 prebuild를 진행한 후 native 코드를 직접 수정한 경우, 이후 빌드는 eas build로 가능한가요? 아니면 Xcode/Android Studio 같은 native 빌드 환경을 사용하는 것이 더 적절한가요?

  • react
  • react-native
  • 하이브리드-앱
  • typescript
  • expo
박준태 댓글 2 좋아요 0 조회수 188

processorNonTransactional 멱등성 질문

해결됨

죽음의 Spring Batch: 새벽 3시의 처절한 공포는 이제 끝이다.

강의 잘 보고 있다. 잘 정리된 자료 덕분에 배치 작업을 이해하고 있는 중이다. 다만 설명 중 이해 안되는 부분이 존재한다. 바로 이 부분 멱등하지 않은 ItemProcessor 를 내결함성(FaultTolerance) 기능 과 함께 사용해야 하는 상황이라면, 반드시 processorNonTransactional 를 설정하도록 하자. 오히려 멱등하지 않은 ItemProecessor의 경우에는 이 설정을 비활성화 해야 하는 거 아닌가? 나의 부족한 영어실력과 GPT를 통해 스프링 배치는 ItemProcessor가 트랜잭션이나 멱등성을 가져야 한다고 되어 있는 것으로 이해하였다. It must be either transactional or idempotent. 출처: https://docs.spring.io/spring-batch/reference/transaction-appendix.html 떠라서 멱등하지 않은 ItemProcessor는 processorNonTransactional()을 지양해야 하는 것으로 나는 이해된다... 답변 부탁한다. (존대로 질문하면 rm -rf 하신다길래 이렇게 남겨요 ㅎㅎ..)

  • java
  • spring
  • spring-boot
  • spring-batch
  • backend
검토 댓글 1 좋아요 1 조회수 140

props 데이터 전달

해결됨

한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지

props 데이터 전달이 이해가 안되는데요 버튼에 텍스트를 추가한건 없는거같고 컬러만 RED로 추가한거같은데 왜 메일 버튼에만 RED라는 텍스트가 나오는걸까요? 컬러를 레드로 했으면 빨간색으로 바껴야되는데 문자만 red로 바뀌고 색은 바뀌지 않은 문제를 문의드립니다. 그리고 서버를 껏다 켯고 코드를 바꿧는데도 메일 버튼이 빨간색으로 바뀌지 않습니다ㅠㅠ

  • javascript
  • react
  • node.js
rkdtjdtls91 댓글 2 좋아요 0 조회수 63

vite 설치에 대해 질문있습니다.

미해결

React 완벽 마스터: 기초 개념부터 린캔버스 프로젝트까지

안녕하세요 vite를 설치해서 리액트를 잘 사용하다가 최근 vite를 설치하고 npm run dev로 실행을 하니 아래 이미지와 같은 에러가 계속 나더라구요. 찾아보니 버전과 관련이 되어 있는거 같은데 아무리 찾아봐도 해결이 되지 않더라구요. 현재 vite는 사용하지 못하는건가요?

  • react
  • React-Context
  • react-router
  • tailwindcss
  • react-query
부드러운 족제비 댓글 2 좋아요 0 조회수 104

compareTo

미해결

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

[질문 내용] 처음 문제를 풀떄 Card 클래스에 compareTo 오버라이딩을 @Override public int compareTo(Card o) { if(number != o.getNumber()){ return this.number - o.number; } return shape.compareTo(o.getShape()); } 위 코드처럼 작성했는데 숫자가 낮은 카드 먼저 안 나올때가 있는데 잘못 작성한걸까요?

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

세션 6의 퀴즈 5번 정답 옵셔널 캐치올 아닌가요?

미해결

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

문제에서도 /docs 가 있고, 해설에도 옵셔널 캐치올에는 /docs 가 포함 될때도 사용된다고 되어 있는데, 막상 답은 캐치올을 선택해야 답으로 나오네요.

  • react
  • 블로그
  • next.js
  • cursor
  • cursorai
Jmob 댓글 2 좋아요 1 조회수 110

자바 버전에 관하여

해결됨

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

자바 21버전이 아닌 17버전을 사용해도 괜찮나요?

  • java
  • mysql
  • spring-boot
  • kafka
  • redis
커디널스 댓글 1 좋아요 0 조회수 70

하이라이트질문

미해결

한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지

아무리 봐도 껏다켰다 하시는 부분에서 하이라이트가 계속 나오는데 뭐를 보고 하이라이트 표시가 안된다는 건가요? 혹시 제가 하이라이트를 잘못 알고 있는건가 문의드립니다.

  • javascript
  • react
  • node.js
최동혁 댓글 1 좋아요 0 조회수 148

질문

미해결

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

안녕하세요 문제1번 관련 문의 사항이 있어 글 남깁니다. 1번에 getCount는 synchroinized 하는 이유가 뭔가요? 중간에 호출되는 부분이 없는 것 같고, t1.join() t2.join() 으로 마지막 출력할때도,,, synchroinized이게 안필요하다는 생각이 들어서요 제가 이해를 잘못한건지 문의드립니다.

  • java
  • 객체지향
  • 동시성
  • multithread
  • thread
hi_man159 댓글 1 좋아요 0 조회수 73

라이브러리 버전 일치 이슈

미해결

React 완벽 마스터: 기초 개념부터 린캔버스 프로젝트까지

npm init vite@5.2.3 를 통해 설치 후 npm i를 통해 필요한 라이브러리를 다운 받을시에, 터미널 창을 통해 각종 경고 안내가 나옵니다. 예를 들어 하나만 보여드리자면, npm warn deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported 입니다. 이처럼 온갖 라이브러리들이 '더 이상 지원하지 않는 버전임'을 명시하고 있는데, 최신 버전을 사용해서 수업을 따라가야 하나요, 아니면 '더이상 지원하지 않는 버전'의 라이브러리를 사용해서 코드를 짜도 이상이 없을까요? 안내해주신 것처럼 라이브러리 버전을 맞춰서 수업을 따라가고 싶은데, 터미널에서 이러한 경고를 보여주니, 버전을 맞출시에 '지원하지 않는 버전'문제로 인한 추가적인 오류가 생길까 걱정됩니다. 요약 1.터미널에서 말하는 '더 이상 지원하지 않는 버전' 안내를 무시하고, 짐코딩님 강의의 라이브러리 버전을 사용해도 문제가 없을까요? 2.최신 버전을 사용하고, 달라진 문법등의 오류를 감당하는게 나을까요? 2번 질문의 문제에 대한 기술적인 지원을, 짐코딩님을 통해 받을 수 있을까요?

  • react
  • React-Context
  • react-router
  • tailwindcss
  • react-query
주병규 댓글 1 좋아요 0 조회수 98

인기 태그

인프런 TOP Writers

주간 인기글