본문 바로가기

반응형

전체 글

(66)
[스터디 모집 앱 개발] 3: 모집글 CRUD 개발 이번 단계에서는 모집글(Post) 모델을 만들고, CRUD API와 프론트 UI를 구현합니다.1️⃣ 백엔드: Post 모델 & Prisma 마이그레이션model Post { id Int @id @default(autoincrement()) title String content String image String? // 선택적 이미지 authorId Int author User @relation(fields: [authorId], references: [id]) createdAt DateTime @default(now()) updatedAt DateTime @updatedAt}# 마이그레이션npx pr..
[스터디 모집 앱 개발] 2: 설치 & 초기 세팅 & 로그인 1️⃣ 폴더 구조study-project/ ┣ package.json # 루트 워크스페이스 관리 ┣ tsconfig.json # 공통 TypeScript 설정 ┣ node_modules/ ┣ frontend/ # Next.js 앱 ┃ ┣ package.json ┃ ┣ app/ ┃ ┃ ┣ page.tsx # 루트 페이지 ┃ ┃ ┣ auth/ ┃ ┃ ┃ ┣ login/page.tsx ┃ ┃ ┃ ┗ register/page.tsx ┃ ┃ ┣ posts/ ┃ ┃ ┃ ┗ create/page.tsx ┃ ┣ components/ ┃ ┗ public/ ┣ backend/ # Nest.js 앱 ┃ ┣ package.json ┃ ..
[스터디 모집 앱 개발] 1: 프로젝트 구조 설계 & 기술 스택 확정 [기술 스택 ]프론트엔드Next.js (React 기반 프레임워크)서버 사이드 렌더링(SSR)과 정적 사이트 생성(SSG) 지원SEO 최적화 및 빠른 렌더링 가능라우팅 시스템 내장Tailwind CSS빠른 스타일링과 일관성 유지컴포넌트 UI 개발 효율성 극대화Axios / React QueryAPI 호출 및 상태 관리 간소화비동기 데이터 관리 최적화TypeScript타입 안정화백엔드Nest.js (Node.js 프레임워크)모듈 구조 기반 → 대규모 프로젝트에도 적합데코레이터 기반으로 코드 가독성 향상의존성 주입(DI) 지원 → 테스트 및 확장성에 유리JWT 인증로그인/회원가입 후 토큰 기반 인증 처리프론트엔드와 쉽게 연동 가능SwaggerAPI 명세 자동화협업 및 문서화 용이 데이터베이스MySQL관계형..
Spring Boot에서 Lombok @AllArgsConstructor 에러 해결 과정 최근 프로젝트에서 @AllArgsConstructor가 작동하지 않는 문제가 발생했습니다. IntelliJ에서 Lombok 설정과 Maven 빌드 설정을 점검하며 해결한 과정을 정리했습니다.1. IntelliJ 설정 확인먼저 Lombok 플러그인 설치와 Annotation Processing 설정을 확인했습니다.IntelliJ → Settings → Plugins → Lombok 설치Settings → Build, Execution, Deployment → Compiler → Annotation Processors → Enable annotation processing 체크이 설정이 되어 있어야 IDE 내에서 Lombok 어노테이션이 정상적으로 인식됩니다.2. Maven Lombok 의존성 확인pom.x..
Web Worker 사용법 ✨ React에서 Web Worker 사용법React 애플리케이션에서 Web Worker를 활용해 무거운 연산도 끊김 없이 처리하는 방법을 알아봅니다.🧠 React에서 Web Worker를 쓰는 이유UI 렌더링과 연산을 분리해 렌더링 지연 방지대량 데이터 처리 시 성능 향상백그라운드에서 작업 처리로 UX 개선---📦 1. 기본 구조React에서는 Web Worker 파일을 별도로 생성하고, 메인 컴포넌트에서 불러와 사용합니다.worker.js// worker.jsonmessage = function (e) { console.log('React 컴포넌트에서 받은 데이터:', e.data); // 예시: 무거운 계산 let sum = 0; for (let i = 0; i ---App.jsimpor..
이미지 / 폰트 / 번들 최적화 웹 페이지 속도와 성능을 극대화하는 핵심, 이미지·폰트·번들 최적화 전략을 정리합니다.🧠 왜 최적화가 중요한가?웹 성능의 대부분은 리소스 크기와 로딩 속도에 달려 있습니다.이미지, 폰트, 번들 크기를 줄이면 Core Web Vitals 점수가 향상됩니다.네트워크 비용 절감 및 SEO 개선 효과까지!📷 이미지 최적화1. 포맷 변경JPEG → WebP, AVIF로 변환 (용량 최대 80% 절감)투명 이미지 → PNG → WebP2. Responsive Image 적용3. Lazy Loading---🔤 폰트 최적화1. 서브셋 폰트 사용필요한 글자만 포함한 subset font 생성2. font-display 속성@font-face { font-family: 'CustomFont'; src: url('..
Lazy Load 완전 정복 ✨ Lazy Load 완전 정복웹 페이지 성능 최적화의 핵심, Lazy Load를 쉽게 이해하고 활용하는 방법을 알려드립니다.🧠 Lazy Load란? Lazy Load는 사용자가 실제로 필요로 하는 시점에 리소스(이미지, 스크립트, 컴포넌트 등)를 불러오는 기법입니다. 초기 페이지 로딩 시간을 줄이고 불필요한 네트워크 사용을 최소화합니다.💡 왜 중요한가요? 초기 렌더링 속도가 빨라집니다. 불필요한 데이터 전송이 줄어 네트워크 효율이 좋아집니다. 사용자 체감 성능이 크게 향상됩니다.🛠️ Lazy Load 적용 방법1. 이미지 Lazy Load (HTML native 속성)2. React 컴포넌트 Lazy Loadimport React, { Suspense, lazy } from 'react'..
코드 스플리팅(Code Splitting)이란? ✨ 코드 스플리팅(Code Splitting) 완전 정복웹 애플리케이션을 빠르게 만들고 효율적으로 관리하는 핵심 기법, 코드 스플리팅을 알아봅니다.🧠 코드 스플리팅이란? 코드 스플리팅(Code Splitting)은 애플리케이션의 자바스크립트 코드를 여러 개의 작은 청크(chunk)로 분할하여 필요한 부분만 로드하도록 하는 최적화 기법입니다.💡 왜 필요할까요? 초기 로딩 속도가 빨라져 사용자 경험이 좋아집니다. 불필요한 코드가 로드되지 않아 네트워크 부담 감소 유지보수가 쉽고, 업데이트도 빠르게 적용 가능🛠️ 코드 스플리팅 적용 방법1. React에서 동적 import 활용import React, { Suspense, lazy } from 'react';const LazyComponent =..

반응형