서비스 동작 원리
1. 주소 입력과 DNS 조회
브라우저에 "www.example.com"을 입력하면 DNS(도메인 이름 시스템)가 이를 해당 서버의 IP 주소로 변환
- DNS 역할: 도메인 이름과 IP 주소를 연결하는 인터넷의 주소록.
- 비유: 도메인 이름은 사람이 기억하기 쉬운 주소, IP 주소는 서버의 정확한 위치를 알려주는 지도 좌표.
과정 요약:
- 사용자가 브라우저에 주소를 입력.
- DNS 서버가 해당 주소의 IP 주소를 반환.
- 브라우저가 반환된 IP 주소를 통해 서버에 연결.
2. 서버와 데이터베이스의 역할
- 서버(Server): 클라이언트의 요청을 처리하고, 필요한 정보를 제공
- 데이터베이스(Database): 정보를 저장하고, 요청에 따라 데이터를 반환
서버-클라이언트 동작 예시:
- 사용자가 쇼핑몰에서 상품을 검색.
- 서버가 데이터베이스에서 해당 상품 정보를 가져와 클라이언트에 전달.
- 복잡한 계산이 필요한 경우(예: 할인율 계산), 서버가 연산 후 결과를 반환.
3. 구현 방법: 기본 프로그래밍 개념
- 반복문(Loop): 특정 작업을 반복 수행.
- 예: 음악 플레이어에서 노래를 반복 재생.
- 조건문(Conditional): 특정 조건에 따라 서로 다른 결과 실행.
- 예: 회원가입 시 중복된 아이디를 확인.
4. 코드 재사용과 효율적 개발
- 라이브러리: 자주 사용하는 코드를 미리 만들어 놓은 도구 모음.
- 프레임워크: 개발을 쉽게 하고 구조를 표준화하는 틀.
- Node.js: 서버 개발.
- Express: API를 쉽게 구현할 수 있는 Node.js 프레임워크.
5. 웹 개발의 핵심 기술
- HTML: 웹 페이지의 구조를 정의.
- 예: 이미지, 텍스트, 버튼 위치.
- CSS: 스타일(크기, 색상, 배경 등)을 정의.
- JavaScript: 동적인 기능과 사용자 반응을 구현.
비유:
- HTML은 건물의 뼈대,
- CSS는 외관,
- JavaScript는 건물의 전기 시스템으로, 사용자의 상호작용을 처리.
6. 데이터베이스 종류와 선택
종류특징)
SQL | 정해진 규칙에 따라 데이터를 저장, 안정적 | MySQL, PostgreSQL |
NoSQL | 비정형 데이터를 저장, 유연성 높음 | MongoDB, DynamoDB |
7. 모바일 개발의 차이점
플랫폼언어장점)
iOS | Swift | 애플 제품에 최적화, 안정성 높음 |
Android | Kotlin | 오픈 소스, 다양한 기기 지원 |
크로스 플랫폼 | Flutter | 단일 코드로 iOS와 Android 개발 가능 |
8. 데이터 직무와 블록체인
- 데이터 직무:
- 데이터 엔지니어: 데이터를 효과적으로 처리하고 관리.
- 데이터 애널리스트: 데이터를 분석해 비즈니스 전략 제안.
- 데이터 사이언티스트: 머신러닝을 통해 데이터 기반 예측 수행.
- 블록체인 개발:
- Solidity 언어를 사용해 DApp(탈중앙화 애플리케이션) 개발.
- 활용 예시: 안전한 전자 투표 시스템 구현.
9. IoT와 임베디드 시스템
- IoT(사물 인터넷): 다양한 기기가 인터넷에 연결되어 데이터 교환.
- 예: 스마트 냉장고가 유통기한을 알려줌.
- 임베디드 시스템: C 언어와 Python을 사용해 가전제품 및 로봇 청소기 설계.