네트워크 기초
컴퓨터들이 서로 소통하기 위해서는 주소와 규칙이 필요함.
- IP(Internet Protocol) : 인터넷에 연결된 기기의 고유 식별 주소.(비유:건물주소)
- Port(포트) : 한 컴퓨터 내에서 실행되는 특정 프로그램의 번호.(비유:건물 안의 방번호)
- HTTP는 기본적으로 80번,HTTPS는 443번 포트를 사용함
- DNS(Domain Name System) : naver.com 같은 문자를 IP 주소로 변환해주는 '인터넷 전화번호부'
프론트엔드(Front-end) : 사용자의 접점
사용자가 HTTP 요청을 직접 만들지 않아도 버튼 클릭이나 입력만으로 서비스가 동작하게 해주는 프로그램
-
역할 : 사용자가 보는 UI구현, 사용자 입력 처리 및 HTTP요청 변환, 서버 응답을 화면에 반영
-
주요 기술 스택
- HTML : 화면의 구조 정의
- CSS : 스타일과 레이아웃 담당
- JavaScript : 화면의 동작과 로직 구현
- 브라우저 이해 : 사용자의 디바이스,브라우저 환경에서의 동작 제어
- HTTP / REST API : 서버와의 통신
- React /Vue /Svelte : UI와 상태 관리를 구조화
-
프론트엔드 vs 클라이언트 : 프론트엔드는 주로 브라우저에서 실행되는 웹 UI를 의미하며, 클라이언트는 웹을 포함해 모바일 앱, 데스크톱 앱 등 서버와 통신하는 모든 프로그램을 포괄하는 개념임.
백엔드(Back-end) : 서비스의 핵심 로직
클라이언트의 요청을 해석하고, 비즈니스 로직을 수행하며 데이터베이스를 관리함.
-
역할 : 요청 검증, 비밀번호 함호화 등 보안 처리, 데이터 조회·저장·수정, API 설계 및 제공.
-
회원가입 예시 :
사용자가 UI에 정보를 입력하면 -> 프론트엔드가 HTTP 요청을 전송 -> 백엔드가 값을 검증하고 비밀번호 암호화 후 DB에 저장 -> 성공/실패 응답 반환
-
주요 기술 스택
- 프로그래밍 언어(Python,,Java,Node.js) : 비즈니스 로직 구현
- 웹 프레임워크(FastAPI,Spring) : 요청,응답 처리 및 구조화
- HTTP /REST API : 클라이언트와의 통신 규약
- 데이터베이스 / SQL : 데이터 저장,조회,관리
- 운영체제 / 클라우드 /인프라 : 서비스 배포 및 확장
- 로그,모니터링 : 장애 분석과 안정성 확보
-
API의 책임 : REST API의 설계와 일관성은 주로 백엔드가 책임지며, 프론트엔드는 정의된 스펙(계약)에 맞춰 요청을 보낸다.
데이터와 저장소 (Database)
단순한 값인 '데이터'가 맥락에 맞게 정리되면 '정보가'가 되고, 이를 활용할 때 비로소 '지식'이 됨.
즉 , 서비스에서 발생하는 모든 정보를 체계적으로 보관하는 곳임.

-
RDB vs RDBMS :
- RDB(Relational Database) : 표(Table) 형태로 구성된 관계형 데이터 모델 그 자체임
- RDBMS(Management System) : RDB를 관리하는 소프트웨어임.(예 :MySQL,PostgreSQL,Oracle)
-
데이터 모델링의 핵심 :
- Primary Key(PK) : 각 행을 구별하는 고유 신분증임
- Foreign Key(FK) : 다른 테이블의 PK를 참조하여 테이블 간의 관계(Realtionship)를 맺어줌
- 이를 통해 데이터 중복을 막고 데이터의 무결성을 유지함
정리
- 사용자가 프론트엔드에서 행동을 하면,
- 네트워크(IP/Port)를 타고 HTTP 요청이 백엔드로 전달됨
- 백엔드는 데이터베이스(RDBMS)에서 필요한 정보를 꺼내 가공한 뒤,
- 적절한 응답 코드와 함께 결과를 다시 사용자에게 돌려줌