post-thumbnail

공간데이터 타입과 R-tree 구조

지도 기능을 구현하기 위해서 데이터베이스에 위도, 경도 좌표 저장이 필요했다.효율적으로 좌표를 저장하기 위해서 "공간데이터" 타입을 설정해줄 수 있다.공간데이터를 적용하기 전에, 공간데이터 타입의 종류와 데이터베이스에 따른 차이점 등을 알아보자.R-tree 자료구조 기

2025년 10월 29일
·
0개의 댓글
·
post-thumbnail

에어비엔비 지도 검색 분석 🔍

에어비엔비에서 아무런 검색값 없이 검색하게 되면 내 근처의 숙소 리스트를 보여줍니다.그런데 저는 로그인을 하지 않았고, 위치 허용 여부를 선택한 적 없습니다.그런데 어떻게 내 근처의 숙소 리스트를 보여줄까요?에어비엔비의 경우 URL 파라미터의 값으로 상태관리를 주로 하

2025년 10월 29일
·
0개의 댓글
·

React의 상태 관리 - useReducer, ContextAPI

리액트에서의 상태는 시간이 지나면서 변할 수 있는 동적 데이터이며, 값이 변경될 때마다 컴포넌트의 렌더링 결과물에 영향을 준다. 리액트 앱 내의 상태는 지역 상태 / 전역 상태 / 서버 상태로 구분할 수 있다.리액트 내부 API만을 사용해서 상태를 관리할 수 있지만 성

2025년 10월 21일
·
0개의 댓글
·
post-thumbnail

useState, useEffect, useRef 훅 잘쓰는법

리액트에 훅이 추가(리액트 16.8 버전)되기 이전에는 클래스 컴포넌트에서만 상태를 가질 수 있었다. componentDidMount, componentDidUpdate와 같이 하나의 생명주기 함수에서만 상태 업데이트에 따른 로직을 실행시킬 수 있었다.리액트 훅이 추가

2025년 10월 20일
·
0개의 댓글
·
post-thumbnail

Debounce과 Throttle을 활용한 최적화

디바운스는 짧은 시간 동안 동일한 이벤트가 연속적으로 발생할 때, 마지막 이벤트만 실행되도록 하는 기법으로 성능 최적화에 자주 사용된다.많은 이벤트가 발생하는 상황에서 불필요한 함수 호출을 줄이고, 최종 입력이나 동작만 반영하고 싶을 때 활용된다.1) 검색 자동완성사용

2025년 10월 2일
·
0개의 댓글
·
post-thumbnail

OSI 7 Layer의 역할을 파악하자

학습목표: OSI 7계층에서 각각 어떤 역할을 하는지 명확하게 파악한다. > - 각 계층의 데이터 전송 단위 / 목적지 식별 방법 / 물리적 하드웨어에 대해 이해한다. 이전까지 OSI 7 계층 중에서 응용계층을 중점적으로 학습하고 구현했었다. 웹 개발을 하다보면 사용

2025년 10월 2일
·
0개의 댓글
·
post-thumbnail

민감 정보를 담은 쿠키를 안전하게 보호하자!

학습 목표: 민감한 정보를 담은 쿠키를 안전하게 보호하기 위해 브라우저 레벨부터 서버 속성까지 다양한 방법을 학습한다.쿠키를 저장하는 공간을 전통적으로 쿠키 통(COOKIE_JAR)라고 부른다.브라우저는 헤더로 Set-Cookie를 받으면 COOKIE_JAR를 업데이트

2025년 9월 26일
·
0개의 댓글
·
post-thumbnail

WS + WAS 서버 Nginx로 배포하기(ft. 배포 스크립트)

학습 목적: WS 와 WAS 를 명확하게 책임/역할 별로 구분하는 것학습 목적을 달성하기 위해 정적 컨텐츠는 Web Server, 동적 컨텐츠는 WAS가 담당하도록 했습니다. 쉽게 말해, WAS 앞단에 Web Server를 하나 둬서 효율적으로 서버 트래픽을 관리하는

2025년 9월 25일
·
0개의 댓글
·
post-thumbnail

웹 요청 방식 비교 분석 Form vs Fetch API - 네트워크 계층과 브라우저 처리 관점의 차이

단순 HTML <form> 전송 방식과 fetch API 전송 방식은 기능적으로는 "서버로 HTTP 요청을 보낸다"는 점에서 같지만, 네트워크 계층 동작 방식과 브라우저 처리 관점에서 중요한 차이가 있다.핵심 차이점 ◦ 요청 생성 주체: 브라우저 자동 생성

2025년 9월 19일
·
0개의 댓글
·
post-thumbnail

Node.js의 net 모듈로 웹 서버 만들기

목차 Node.js는 서버가 아니다. 그럼 어떻게 서버를 만들 수 있는걸까? net 모듈 - 웹 서버 만드는 도구 서버 객체 생성하기 HTTP 응답 형식 직접 작성해보기 HTTP 요청 구조에서 method, url 추출 결론 및 향후 목표 1. Node.js는 서버가

2025년 9월 17일
·
0개의 댓글
·
post-thumbnail

ESLint, Preitter 제대로 알고 사용하자

코드 일관성 유지: 코드 스타일 가이드를 준수하여 일관성 있는 코드 작성 가능버그 및 오류 방지: 잠재적인 버그나 오류를 사전에 찾아내고 수정할 수 있다.팀 협업 강화: 팀원 간에 코드 품질을 통일시켜 협열 효율을 높일 수 있다.eslintrc는 더 이상 사용되지 않는

2025년 9월 3일
·
0개의 댓글
·
post-thumbnail

ER 다이어그램을 단계별로 설계하자

ERD(Entity Relationship Diagram)란? ER 다이어그램은 실세계에 존재하는 물건을 여러 가지 속성을 가진 엔티티로 파악하고 엔티티(entity) 사이의 상호 관계를 관계(relationship)로 표현한 그림이다. ER 다이어그램의 속성은 데이터

2025년 9월 2일
·
0개의 댓글
·
post-thumbnail

이벤트 핸들러(Event Handler) 정리

이벤트와 핸들러의 기본 개념 "이벤트"는 우리가 웹 페이지에서 마우스를 클릭하거나 키보드를 누르는 것과 같은 사용자 행동, 또는 인풋 창에 포커스가 맞춰지거나 문서 로드가 완료되는 것과 같이 특정 시점에 발생하는 모든 행동을 의미한다. 이러한 이벤트가 발생했을 때 특정

2025년 8월 28일
·
2개의 댓글
·
post-thumbnail

로그인 방식에는 어떤 것들이 있을까? Express에 적용해보자 (세션, 쿠키)

로그인 기능을 구현할 때, 서버는 각 요청이 들어올 때마다 사용자가 로그인 인증 과정을 거쳤는지 확인(인증)하고, 로그인이 필요한 기능의 허용 여부를 결정(인가)해야 한다.우리가 사용하는 브라우저는 HTTP 통신을 통해 클라이언트와 서버가 통신을 한다. 그런데 이 HT

2025년 8월 26일
·
0개의 댓글
·
post-thumbnail

렌더링 방식 어떤걸 선택하는게 좋을까? CSR(SPA), SSR(MPA)

다중 페이지로 이뤄져있어 변경사항이 있을 때마다 서버로 페이지를 요청해서 새로 렌더링 한다. 웹 애플리케이션의 역사를 보자면, 초창기 웹은 텍스트 중심의 단순 문서였다. 따라서 MPA(Multi-Page Application) 방식으로 구현되었다. MPA는 페이지 변경

2025년 8월 25일
·
0개의 댓글
·
post-thumbnail

Node.js에서 EJS 이미지 파일 업로드 및 삭제 구현

html에서 이미지를 업로드하기 위해서는 input 태그의 type="file"을 사용하면 된다.그리고 addEventListener로 이벤트 변경이 일어나는걸 감지해서 img 태그의 profileImage.src에 해당 파일을 삽입한다.그럼 이미지 파일을 선택하고 업

2025년 8월 20일
·
0개의 댓글
·
post-thumbnail

Express+EJS 템플릿으로 HTML 렌더링하기

EJS는 html의 태그처럼 자바스크립트 내용을 삽입할 수 있다.일반 html 파일은 무조건 <script> 태그를 사용해서 분리시켜야하지만, EJS는 지정된 태그를 통해 스트립트 내용을 하나의 요소처럼 사용될 수 있게 한다.또한, 서버에서 보낸 변수를 가져와 사

2025년 8월 19일
·
0개의 댓글
·
post-thumbnail

CSS Layout

elements가 배치되는 방식 엘리먼트를 화면에 배치하는 것을 레이아웃 작업이라고도 하며, 렌더링 과정이라고도 한다. 엘리먼트는 위에서 아래로 순서대로 블록을 이루며 배치되는 것이 기본이다. 하지만 웹사이트의 배치는 다양하게 표현 가능해야 하기 때문에, 이를 다양한

2025년 8월 19일
·
0개의 댓글
·
post-thumbnail

HTML 배치를 위한 태그 (ft. 웹페이지 구조로 살펴보기)

HTML 문서의 기본 구조는 다음과 같다. 이렇게 작성하는 건 '웹 콘텐츠를 작성할 준비가 되어있는 상태'로 만드는 작업이다.HTML 코드를 보면 계층적이다.브라우저는 HTML 정보를 tree 구조로 보관하고 있다.HTML은 적절한 tag를 사용해서 구조를 만든다.ht

2025년 8월 18일
·
0개의 댓글
·