본문 바로가기

이것저것 공부8

ESLint와 Prettier의 차이 및 특징 ESLint 코드의 문법적 오류와 스타일 규칙을 검사하고, 코드 품질을 높이는 도구- console.log 사용 금지- 변수 사용 시 const 권장(let 사용 x)- eqeqeq 규칙으로 == 대신 === 사용- 사용되지 않은 변수 경고  Prettier 코드 스타일을 자동으로 포맷팅 하는 도구로, 주로 코드 일관성을 유지하기 위해 사용- 코드 들여쓰기- 세미콜론 추가- 큰 따옴표 > 작은따옴표로 변경- 줄 바꿈 처리   ESLint와 Prettier를 함께 쓴다면?ESLint는 코드의 품질을 관리하고 문법적인 오류를 잡는데 초점Prettier는 코드의 스타일을 일관성 있게 자동으로 맞추는데 초점 문법적인 문제 해결과 스타일을 맞출 수 있기 때문에 코드의 품질, 일관성 모두 높아진다. 2025. 3. 21.
옵셔널 체이닝(Optional Chaining) 옵셔널 체이닝이란옵셔널 체이닝(optional chaining) 연산자(?.)는 객체가 null 또는 undefined일 때 발생하는 오류를 방지하는 연산자이다.객체의 특정 속성에 안전하게 접근할 수 있다.   옵셔널 체이닝 예제[예제] 옵셔널 체이닝이 없을 때const user = null;console.log(user.name); // ❌ TypeError: Cannot read properties of null (reading 'name') [예제] 옵셔널 체이닝이 있을 때const user = null;console.log(user?.name); // ✅ undefined (에러 발생 X) [예제] 깊은 객체에서 안전한 접근const user = { profile: { name:.. 2025. 3. 5.
API 게이트웨이(API Gateway) API Gateway: 현대 웹 서비스의 중재자API Gateway는 최근 웹 개발에서 점점 더 중요한 역할을 담당하고 있습니다. 여러 API와의 요청을 효과적으로 관리하고 보안을 강화하는 이 기술은 특히 서버리스 환경에서 유용합니다. 이번 블로그에서는 API Gateway의 개념, 기능, 장단점, 그리고 다른 기술과의 차이점을 살펴보겠습니다.API Gateway란?API Gateway는 클라이언트와 서버 간의 모든 요청을 중재하고 처리하는 "게이트" 역할을 하는 서비스입니다. 여러 API를 하나로 묶어 클라이언트가 서버와 효율적으로 통신할 수 있도록 도와주는 중간 관리자 역할을 합니다. 이는 공통적으로 인증, 사용량 제어, 요청 및 응답 변조 등의 다양한 기능을 제공하여 클라이언트가 여러 서버와 복잡하.. 2025. 1. 16.
자료구조 힙(Heap) 예제 및 개념 자료구조: 힙(Heap)1. 힙의 개념힙(Heap)은 자료구조의 한 종류로, 특정 조건을 만족하는 트리 형태로 데이터를 저장하는 방법입니다.완전 이진 트리(Complete Binary Tree) 형태로 구성됩니다.최대값과 최소값을 빠르게 찾기 위해 사용됩니다.주로 **우선순위 큐(Priority Queue)**와 같은 알고리즘에서 활용됩니다.2. 힙의 종류2.1 최대 힙(Max Heap)루트 노드가 항상 가장 큰 값을 가집니다.부모 노드는 자식 노드보다 항상 크거나 같습니다.2.2 최소 힙(Min Heap)루트 노드가 항상 가장 작은 값을 가집니다.부모 노드는 자식 노드보다 항상 작거나 같습니다.3. 힙과 이진 탐색 트리의 차이힙은 최대값/최소값 검색을 위해 설계된 구조입니다.이진 탐색 트리는 탐색을 위.. 2025. 1. 15.
Swagger API 사용법 2탄 1탄에서 기본적인 Swagger 세팅은 마쳤다.이번엔 좀 더 심화 과정을 진행해보려 한다.     1. chatGPT한테 ' 아까 세팅한 api server와 swagger에 CRUD를 추가해 줄 수 있어?'라고 질문했더니 아래와 같은 내용을 답변해 줬다.index.js 파일을 아래 내용으로 변경한다. const express = require('express');const swaggerUi = require('swagger-ui-express');const swaggerJsdoc = require('swagger-jsdoc');const app = express();const port = 3000;// Swagger 설정const swaggerOptions = { definition: { ope.. 2024. 11. 27.
Swagger API 사용법 번외(CRUD 설명) 💡crud.js 파일을 잠깐 훑어보자  코드 상단에 빈 배열을 가진 items라는 변수와,1이라는 숫자를 가진 idCounter 변수가 선언되어 있다. let items = [];let idCounter = 1;  [ POST(create) 방식]router.post('/items', (req, res) => { const { name } = req.body; const newItem = { id: idCounter++, name }; items.push(newItem); res.status(201).json(newItem);}); 클라이언트가 POST 요청으로 /items 경로에 데이터를 전송한다.전송된 데이터 { name }을 읽고 새로운 아이템 객체를 생성한다.새 아이템을 items 배열에.. 2024. 11. 25.