>웹 프론트엔드 >JS 튜토리얼 >Next.js 인터뷰 숙달: 필수 질문(파트 7)

Next.js 인터뷰 숙달: 필수 질문(파트 7)

Barbara Streisand
Barbara Streisand원래의
2024-11-19 17:14:03204검색
Next.js Interview Mastery: Essential Questions (Part 7)

Next.js 인터뷰 가이드: 성공을 위한 100가지 질문과 답변(무료)

Next.js 인터뷰 가이드: 성공을 위한 100가지 질문과 답변으로 Next.js 마스터의 잠재력을 최대한 발휘해 보세요. 이제 막 개발자로 시작하는 사람이든, 자신의 기술을 다음 단계로 끌어올리려는 숙련된 전문가이든 관계없이 이 포괄적인 전자책은 Next.js 인터뷰에 합격하고 자신감을 갖고 취업 준비를 하는 데 도움이 되도록 설계되었습니다. 개발자. 이 가이드는 다양한 Next.js 주제를 다루므로 귀하가 발생할 수 있는 모든 질문에 잘 대비할 수 있습니다. 이 전자책에서는 SSR(서버 측 렌더링), SSG(정적 사이트 생성)와 같은 주요 개념을 살펴봅니다. ) ?, 증분 정적 재생성(ISR) ⏳, 앱 라우터 ?️, 데이터 가져오기 ? 등이 있습니다. 각 주제를 철저하게 설명하고 실제 사례와 가장 자주 묻는 인터뷰 질문에 대한 자세한 답변을 제공합니다. 질문에 대한 답변 외에도 가이드에서는 Next.js 애플리케이션 최적화, 성능 개선 ⚡ 및 확장성 보장을 위한 모범 사례 ✅를 강조합니다. Next.js가 지속적으로 발전함에 따라 React 18, 동시 렌더링 및 Suspense ?와 같은 최첨단 기능에 대해서도 자세히 알아봅니다. 이를 통해 귀하는 항상 최신 발전 사항을 확인하고 면접관이 찾고 있는 지식을 얻을 수 있습니다. 이 가이드를 차별화하는 것은 실용적인 접근 방식입니다. 이론만 다루는 것이 아니라 프로젝트에 직접 적용할 수 있는 실행 가능한 통찰력을 제공합니다. 보안 ?, SEO 최적화 ? 및 배포 사례 ?️도 자세히 탐색하여 전체 개발 수명주기에 대비할 수 있도록 합니다. 최고의 기술 회사에서 기술 인터뷰를 준비하든, 보다 효율적인 구축을 모색하든, 확장 가능한 애플리케이션을 활용하는 이 가이드는 Next.js 기술을 연마하고 경쟁에서 두각을 나타내는 데 도움이 될 것입니다. 이 책을 마치면 기본 개념부터 전문가 수준의 과제에 이르기까지 모든 Next.js 인터뷰 질문에 자신있게 답할 준비가 될 것입니다. Next.js 개발자로서 뛰어난 지식을 갖추십시오. 자신있게 다음 직업 기회를 잡으세요!

Next.js Interview Mastery: Essential Questions (Part 7)
  • 크기 지정: 레이아웃 변경을 방지하려면 항상 이미지의 너비 및 높이 속성을 지정하세요.

  • 이미지 지연 로드: 기본적으로 이미지는 지연 로드됩니다. 즉, 뷰포트에 표시될 때만 로드됩니다. 이렇게 하면 성능이 향상됩니다.

  • 외부 이미지 공급자 사용: 외부 이미지 CDN(예: Cloudinary 또는 Imgix)을 사용하는 경우 next.config.js에서 지원하도록 Next.js를 구성하세요.

    module.exports = {
      images: {
        domains: ['example.com', 'cdn.example.com'],
      },
    };
    
    
  • 반응형 이미지: 크기를 사용하여 다양한 뷰포트에 대해 다양한 이미지 크기를 정의합니다.

  • 69. Next.js에서 JWT로 사용자 인증을 어떻게 처리할 수 있나요?

    Next.js에서 JWT(JSON 웹 토큰)로 사용자 인증을 처리하려면 일반적으로 다음 단계를 따르세요.

    1. JWT 저장: 로그인 후 쿠키나 localStorage에 JWT를 저장합니다.
      • 쿠키는 각 요청과 함께 자동으로 전송되므로 토큰을 저장하는 데 선호되는 방법입니다.
    2. HTTP 헤더에 JWT 설정: API 요청의 경우 Authorization 헤더에 JWT를 보냅니다.

      const response = await fetch('/api/protected', {
        headers: {
          'Authorization': `Bearer ${token}`,
        },
      });
      
      
    3. 서버에서 JWT 확인: API 경로 또는 미들웨어에서 보호된 리소스에 액세스하기 전에 JWT를 확인하세요.

      import jwt from 'jsonwebtoken';
      
      export async function handler(req, res) {
        const token = req.headers.authorization?.split(' ')[1];
        if (!token) return res.status(401).json({ message: 'Unauthorized' });
      
        try {
          const decoded = jwt.verify(token, process.env.JWT_SECRET);
          req.user = decoded; // Attach the decoded user to the request
          next();
        } catch (err) {
          return res.status(401).json({ message: 'Invalid token' });
        }
      }
      
      
    4. 영구 로그인에 쿠키 사용: JWT를 사용하여 HTTP 전용 쿠키를 설정할 수 있으므로 사용자는 세션 전반에 걸쳐 인증 상태를 유지합니다.

    70. Next.js에서 인증을 어떻게 처리할 수 있나요?

    Next.js의 승인에는 일반적으로 인증 성공 후 사용자의 역할이나 권한 수준을 확인하는 작업이 포함됩니다. 다음은 몇 가지 접근 방식입니다.

    1. 역할 기반 인증: 사용자가 로그인하면 해당 역할을 JWT에 저장하고 사용자가 보호된 경로에 액세스하려고 할 때 이를 확인합니다.

      export async function handler(req, res) {
        const token = req.cookies.token;
        if (!token) return res.status(403).json({ message: 'Forbidden' });
      
        const decoded = jwt.verify(token, process.env.JWT_SECRET);
        if (decoded.role !== 'admin') {
          return res.status(403).json({ message: 'Forbidden' });
        }
        // Proceed with handling the request
      }
      
      
    2. 사용자 정의 미들웨어: 특정 페이지나 API 경로를 제공하기 전에 사용자에게 필요한 권한이 있는지 확인하기 위해 사용자 정의 미들웨어를 만들 수 있습니다.

    3. 승인되지 않은 사용자 리디렉션: SSR 또는 SSG 페이지의 경우 getServerSideProps를 사용하여 사용자가 승인되었는지 확인하고 승인되지 않은 경우 리디렉션할 수 있습니다.

      export async function getServerSideProps(context) {
        const token = context.req.cookies.token;
        if (!token) {
          return { redirect: { destination: '/login', permanent: false } };
        }
        return { props: {} };
      }
      
      

    위 내용은 Next.js 인터뷰 숙달: 필수 질문(파트 7)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

    성명:
    본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.