REST API와 GraphQL은 클라이언트와 서버 간 데이터를 주고받는 방식이 서로 다른 API 설계 방식입니다.REST API는 자원 중심의 구조로, URL(엔드포인트)을 통해 각각의 자원에 접근하고 HTTP 메서드(GET, POST, PUT, DELETE 등)를 활용해 CRUD 작업을 수행합니다. 예를 들어 /users, /products처럼 명확한 엔드포인트가 있고, 각 엔드포인트는 고정된 응답 구조를 갖습니다. 이 방식은 구조가 단순하고, HTTP의 캐싱이나 로깅 등 기본 기능을 활용하기에 좋습니다.반면, GraphQL은 단 하나의 엔드포인트(/graphql)를 사용하며, 클라이언트가 직접 필요한 데이터의 구조를 쿼리 형태로 정의하여 요청할 수 있는 방식입니다. 이로 인해 오버페칭(필요 이상의 ..
1. 프로젝트 개요 (Project Overview)핏메이트(Fitmate)는 '핏'과 '메이트'를 결합한 이름으로, 헬스와 관련된 맞춤형 트레이닝을 돕는 친구 같은 존재를 의미합니다. 이 서비스는 운동 전문가와 건강 운동을 배우고자 하는 유저를 매칭하여 1:1 맞춤형 운동 프로그램을 제공하는 것을 목표로 합니다. 또한, AI 챗봇 기능을 제공하여 사용자 입력을 분석하여 맞춤형 운동 추천 및 운동 관련 질문에 대한 응답을 제공합니다.2. 담당한 작업 (Task & Contribution)백엔드 개발데이터베이스 설계레슨 관련 API 개발레슨 요청 및 취소 기능레슨 목록 및 레슨 상세 조회내가 신청한 레슨 목록 조회나의 요청 레슨에 대한 지정 견적 요청 생성지정 견적 요청에 대한 반려 기능 (트레이너)견..
**프롬프트 엔지니어링(Prompt Engineering)**은 GPT-4o와 같은 대형 언어 모델을 활용할 때 더 나은 결과를 얻기 위한 전략과 전술을 의미합니다.이 가이드에서는 효율적인 프롬프트 작성법과 성능 향상을 위한 주요 전략을 소개합니다. 더 나은 결과를 얻는 6가지 전략1️⃣ 명확한 지시 작성 (Write clear instructions)모델은 사용자의 의도를 추측할 수 없습니다. 원하는 형식, 길이, 전문성을 명확히 지정하면 더 정확한 답변을 받을 수 있습니다.전략 예시:질문에 세부 정보를 포함하기 (예: "Excel에서 숫자를 더하는 법" → "Excel에서 전체 행의 합계를 자동으로 계산하는 법")특정 인물이나 역할을 지정하기 (예: "전문가처럼 설명해줘" → "헬스 트레이너처럼 설명..
VPC는 무엇이며, 왜 중요한가요?VPC란?VPC(Virtual Private Cloud)는 AWS에서 제공하는 가상 네트워크 환경으로, 사용자가 정의한 방식으로 AWS 리소스를 격리하고 제어할 수 있는 클라우드 네트워크입니다.VPC가 중요한 이유 보안 강화AWS 리소스를 외부로부터 격리하고, 불필요한 접근을 차단해 네트워크 보안을 강화.네트워크 제어IP 범위, 서브넷, 라우팅 등 네트워크 설정을 사용자 맞춤으로 구성해 트래픽을 세밀하게 관리.확장성과 유연성필요에 따라 서브넷 추가, 라우팅 수정 등을 통해 손쉽게 확장 가능.하이브리드 클라우드Direct Connect, VPN을 통해 온프레미스 데이터 센터와 연결하여 하나의 네트워크처럼 사용 가능. S3 버킷의 사용 사례와 주의할 점은 무엇인가요?S3 버..
AWS의 글로벌 infrastructure 에는 어떤 구성 요소들이 포함되어 있나요? 리전(Region)AWS 서비스가 배포된 물리적 위치.각 리전은 여러 가용 영역(AZ)으로 구성.리전 간은 독립적이며 장애 격리 가능.예: us-east-1(버지니아 북부), ap-northeast-2(서울).가용 영역(Availability Zone, AZ)하나의 리전에 포함된 독립적인 데이터 센터 그룹.각 AZ는 별도의 전력, 네트워크, 냉각 시스템을 갖춤.고가용성을 위해 여러 AZ에 애플리케이션 배포 권장.엣지 로케이션(Edge Location)콘텐츠를 사용자 가까이에서 캐싱하고 전송하는 CloudFront 네트워크.레이턴시(지연 시간)를 줄이고 빠른 응답 제공.주로 CDN(콘텐츠 전송 네트워크)에 사용됨.로컬 영..
TypeScript의 동작 원리TypeScript는 JavaScript의 상위 집합(Superset)으로, 정적 타입 검사 기능을 추가한 프로그래밍 언어입니다.컴파일 단계에서 타입 오류를 검출하고, 작성된 TypeScript 코드는 트랜스파일(transpile) 과정을 통해 일반 JavaScript로 변환됩니다. TypeScript의 동작 원리를 단계별로 설명하면 다음과 같습니다.코드 작성.ts 또는 .tsx 파일로 작성.정적 타입(Type Annotations), 인터페이스(Interface), 제네릭(Generics), 열거형(Enum) 등을 사용하여 타입 안정성 강화.타입 검사 (Type Checking)타입스크립트 컴파일러(tsc)는 작성된 코드를 파싱하여 AST(Abstract Syntax Tr..
1. 프로젝트 개요 (Project Overview)사용자들이 번역 챌린지에 참여하고 작업물을 제출하며, 피드백과 알림을 통해 협업할 수 있는 번역 플랫폼을 개발하였습니다. 주요 기능으로는 회원가입 및 인증, 번역 작업물 관리, 챌린지 참여 현황 조회, 알림 시스템 등이 포함되었습니다 2. 담당한 작업 (Task & Contribution)사용자 인증 API 개발회원가입, 로그인, 로그아웃 API 및 토큰 갱신 API 개발.활동에 따른 회원 등급 조정 로직을 트리거와 저장 프로시저로 구현.번역 작업물 관련 API 및 로직 개발번역 작업물 상세 조회, 제출, 관리자 수정 및 삭제 API 개발.번역 작업물에 하트를 남길 수 있는 API 개발.사용자 챌린지 현황 관리 API 개발참여 중인 챌린지, 완료한 챌린..
RESTful API는 웹 서비스 개발에서 널리 사용되는 아키텍처 스타일인 REST(Representational State Transfer)를 따르는 API를 말합니다. REST는 웹의 기존 기술과 HTTP 프로토콜을 활용하여 시스템 간의 상호 운용성을 높입니다. RESTful API의 개념자원(Resource)의 개념화모든 것은 자원으로 취급되며, 각 자원은 고유한 URI로 식별됩니다.HTTP 프로토콜의 활용CRUD 기능을 HTTP 메서드로 매핑하여 사용합니다.GET: 자원의 조회POST: 자원의 생성PATCH, PUT: 자원의 수정DELETE: 자원의 삭제다양한 표현(Representation) 형식 지원JSON, XML 등 다양한 형식으로 자원의 상태를 주고받을 수 있습니다.클라이언트-서버 구조클..
기능React만 사용할 때Next.js 사용할 때서버 사이드 렌더링(SSR) 및정적 사이트 생성(SSG)기본적으로 클라이언트 사이드 렌더링(CSR) 방식. SEO 최적화 어려움 및 초기 로딩 지연.SSR과 SSG를 지원하여 SEO 최적화와 빠른 초기 로딩 속도 제공.파일 기반 라우팅 시스템React Router와 같은 라이브러리 필요. 폴더 구조와 라우팅이 분리됨.파일 기반 라우팅 제공. pages 폴더에 파일 생성 시 자동 라우팅.API 라우트 기능API 서버를 별도로 구축해야 하며, 백엔드와의 통신 필요.API 라우트를 통해 API 엔드포인트 생성 가능. 백엔드 서버 없이도 API 구축 가능.이미지 최적화 및성능 최적화 기능이미지 최적화 기능이 기본 제공되지 않음. 외부 라이브러리로 별도 수행.nex..
- Total
- Today
- Yesterday
- 무결성
- 타입스크립트 동작원리
- typscript
- fitmate
- 데이터베이스 정규화
- seo
- 프로젝트
- 스프린트풀스텍2기
- useMemo
- 코드잇스프린트프리코스
- usecalback
- 개발리포트
- 타입 정의 파일
- 렉시컬
- React
- 취업까지달린다
- docthru
- 모드잇
- virtual dom
- 데이터 이상
- 렌더링
- 코드잇스프린트
- semantic tag
- 스프린트풀스택2기
- 독스루
- 리액트
- 배열 키 설정
- 풀스택
- lexical
- d.ts
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 |
