목록웹개발 (자바, 스프링, React)/Next.js (25)
개발 공부
기본 태그반응형 디자인: sm:, md:, lg:, xl: 접두사를 사용하여 다양한 화면 크기에 대응다크 모드: dark: 접두사를 사용하여 다크 모드 스타일 정의간격 조절: space-y-*, space-x-* 클래스로 요소 간 간격 조절Flexbox 활용: flex, items-*, justify-* 클래스로 레이아웃 구성색상 커스터마이징: Tailwind 설정 파일에서 색상 팔레트 확장 가능코딩HTML 구조 먼저 작성가장 기본적인 스타일 (배경, 텍스트 색상, 크기 등) 적용레이아웃 관련 클래스 (flex, grid 등) 추가간격, 패딩, 마진 조정반응형 디자인을 위한 클래스 추가다크 모드 지원을 위한 클래스 추가필요에 따라 커스텀 클래스 또는 @apply 지시어 사용
https://github.com/themesberg/flowbite-admin-dashboard GitHub - themesberg/flowbite-admin-dashboard: Free and open-source admin dashboard template built with Tailwind CSS and FlowbiteFree and open-source admin dashboard template built with Tailwind CSS and Flowbite - themesberg/flowbite-admin-dashboardgithub.com Flowbite Admin Dashboard를 기존 웹 어드민 페이지에 적용하고 주요 컴포넌트를 사용하는 방법에 대해 설명해드리겠습니다.환경 설정Ta..
웹 개발에서 CSS 프레임워크는 UI 설계 속도를 크게 높여줍니다. 특히 Tailwind CSS와 Bootstrap은 각기 다른 방식으로 웹 스타일링을 간편하게 만들어 주기 때문에 많은 개발자들이 애용하는 대표적인 프레임워크입니다. Next.js를 이용해 모바일 애플리케이션의 관리자 웹 페이지를 만들 때, 각 프레임워크의 장단점과 모바일 환경에서의 적합성을 알아보겠습니다.1. Tailwind CSS란?Tailwind CSS는 유틸리티 기반의 CSS 프레임워크로, 작은 단위의 CSS 클래스들을 활용해 신속하게 스타일링을 구축할 수 있게 합니다. 예를 들어, 텍스트 색상, 마진, 패딩 등을 지정할 때, 미리 정의된 CSS 클래스(예: text-blue-500, p-4)를 적용하면 됩니다. Tailwind의 ..
layout 컴포넌트에 'use client'를 사용하는 것은 일반적으로 권장되지 않습니다. 특히 루트 레이아웃(app/layout.js)에는 'use client'를 사용할 수 없습니다. 그러나 특정 상황에서는 하위 레이아웃에 'use client'를 사용해야 할 수도 있습니다. 이에 대한 주요 포인트는 다음과 같습니다:루트 레이아웃:루트 레이아웃은 반드시 서버 컴포넌트여야 합니다.여기에 'use client'를 사용할 수 없습니다.하위 레이아웃:필요한 경우 하위 레이아웃에 'use client'를 사용할 수 있습니다.예를 들어, 클라이언트 사이드 상태 관리나 브라우저 API를 사용해야 할 때 필요할 수 있습니다.대안적 접근:레이아웃을 클라이언트 컴포넌트로 만들지 않고, 클라이언트 컴포넌트를 레이아웃 ..
서버 사이드 렌더링(SSR)의 주요 이점과 클라이언트 사이드 렌더링(CSR)의 단점을 요약하면 다음과 같습니다:SSR의 이점:초기 로딩 속도 향상: 서버에서 렌더링된 HTML을 바로 받아 표시하므로 초기 페이지 로드가 빠릅니다.SEO 최적화: 검색 엔진 크롤러가 완전히 렌더링된 콘텐츠를 쉽게 읽을 수 있어 SEO에 유리합니다.저사양 기기 및 느린 네트워크 지원: 클라이언트의 처리 부담을 줄여 다양한 환경에서 더 나은 성능을 제공합니다.소셜 미디어 공유 최적화: 미리 렌더링된 메타 태그로 소셜 미디어 공유 시 더 나은 미리보기를 제공합니다.CSR의 단점:초기 로딩 시간 증가: JavaScript를 다운로드하고 실행한 후에야 콘텐츠가 표시되어 초기 로딩이 느릴 수 있습니다.SEO 문제: JavaScript ..
포트 3000은 Next.js의 기본 개발 서버 포트입니다.이 포트는 package.json 파일의 scripts 섹션에서 설정됩니다:"scripts": { "dev": "next dev", "build": "next build", "start": "next start"}next dev 명령어를 실행하면 3000 포트가 기본으로 사용됩니다.이 과정에서 next.config.js 파일은 Next.js의 설정을 커스터마이즈하는 데 사용됩니다. 예를 들어, 다른 포트를 사용하고 싶다면:// next.config.jsmodule.exports = { server: { port: 4000 }} 이렇게 설정하면 개발 서버가 4000 포트에서 실행됩니다.
Next.js 13은 React 기반의 웹 애플리케이션 프레임워크로, 2022년 10월에 출시되었습니다. 이 버전은 성능 향상과 개발자 경험 개선을 목표로 여러 새로운 기능을 도입했습니다.배경:서버 사이드 렌더링(SSR)과 정적 사이트 생성(SSG)의 장점을 결합React 18의 새로운 기능을 최대한 활용웹 애플리케이션의 성능과 사용자 경험 향상 필요성Next.js 13 이상의 App Router에서는 기본적으로 모든 컴포넌트가 서버 컴포넌트로 취급됩니다. 필요에 따라 클라이언트 컴포넌트를 사용하여 동적 기능을 구현하고, 서버 컴포넌트와 클라이언트 컴포넌트를 적절히 조합하여 성능과 사용자 경험을 최적화할 수 있습니다. 서버 컴포넌트:레이아웃 (layout.js)페이지 간 공통 UI를 정의서버에서 렌더링되..
.ts와 .tsx 파일 확장자의 주요 차이점은 다음과 같습니다:JSX 지원.ts: JSX를 지원하지 않는 순수 TypeScript 파일입니다..tsx: JSX 구문을 포함할 수 있는 TypeScript 파일입니다.사용 목적.ts: 일반적인 TypeScript 코드, 유틸리티 함수, 클래스, 인터페이스 등을 작성하는 데 사용됩니다..tsx: React 컴포넌트나 JSX를 포함하는 UI 관련 코드를 작성하는 데 주로 사용됩니다.컴파일 과정.ts: TypeScript 컴파일러(tsc)로 직접 컴파일됩니다..tsx: JSX 변환 단계가 추가로 필요합니다.코드 예시.ts 파일:function greet(name: string): string { return `Hello, ${name}!`;}.tsx 파일:imp..
JSX는 JavaScript XML의 약자로, React에서 주로 사용되는 JavaScript 확장 문법입니다. JSX를 사용하면 JavaScript 코드 안에 HTML과 유사한 마크업을 작성할 수 있어, UI 컴포넌트를 더 직관적으로 표현할 수 있습니다.JSX의 주요 특징과 사용법은 다음과 같습니다:HTML과 유사한 문법:const element = Hello, World!;JavaScript 표현식 사용:const name = "John";const element = Hello, {name}!; 속성 정의:const element = ; 자식 요소 포함:const element = ( Title Paragraph ); 컴포넌트 렌더링:function Welcome(props) { ..
1. Link 컴포넌트 사용하기 (Next.js)Next.js에서는 페이지 간 내비게이션을 위해 HTML의 태그 대신 next/link의 컴포넌트를 사용하는 것이 필수입니다. 이를 통해 클라이언트 사이드 내비게이션이 가능해지며, 페이지 전환이 더 빠르고 효율적입니다. import React from 'react';// 부적절한 코드const Header: React.FC = () => { return ( My Admin App 홈 {/* HTML a 태그 사용 */} );};// 적절한 코드const Heade..