Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 | 31 |
Tags
- https://eo-oe.tistory.com/
- https://hjmag1120.tistory.com/
- https://mynameiskgws.tistory.com/
- https://vetenir.tistory.com/
- 스파르타코딩클럽
- 이리5조
- 태어난김에 보스까지
- https://ji-han.tistory.com/
Archives
- Today
- Total
info8995 님의 블로그
서버프로그램 구현 본문
✅ 서버 종류 및 역할
- 웹 서버
- 클라이언트로부터 직접 요청을 받아 처리
- HTML, CSS, 이미지 등의 저용량 정적 파일 제공
- 웹 애플리케이션 서버(WAS)
- 동적 서비스 제공
- 웹 서버와 DB 서버, 파일 서버 간의 인터페이스 역할 수행
- 데이터베이스 서버
- 데이터베이스와 이를 운영하는 DBMS 관리
- 파일 서버
- 대용량 또는 데이터베이스에 넣기엔 비효율적인 파일 저장 및 관리
✅ 소프트웨어 환경
- 시스템 소프트웨어
- 운영체제(OS), 웹서버/WAS 운영용 서버 프로그램, DBMS 등
- 개발 소프트웨어
- 요구사항 관리 도구: 요구사항 수집, 분석, 추적 지원
- 설계/모델링 도구: UML 기반 설계 및 모델링 지원
- 구현 도구: 프로그래밍 언어, IDE 등
- 빌드 도구: 컴파일, 배포, 라이브러리 관리
- 테스트 도구: 요구사항 검증 테스트
- 형상 관리 도구: 버전 및 변경 이력 관리
✅ 웹 서버의 주요 기능
- HTTP/HTTPS 프로토콜 지원
- 요청/응답 통신 기록(로그)
- 정적 파일(html, css, 이미지 등) 관리
- 네트워크 트래픽을 제한하는 대역폭 제한
- 가상 호스팅(여러 도메인 운영)
- 사용자 인증 기능
✅ 개발 언어 선정 기준
| 기준 | 내용 |
| 적정성 | 개발 목적에 부합 |
| 효율성 | 효율적인 코드 구현 가능 |
| 이식성 | 다양한 환경에서 사용 가능 |
| 친밀성 | 개발자 이해도 및 활용도 높음 |
| 범용성 | 다양한 분야에서 활용 사례 존재 |
✅ 소프트웨어 아키텍처와 설계 개념
- 아키텍처: 시스템의 구성 요소와 관계를 구조화한 것
- 모듈화: 기능을 모듈 단위로 분리하여 유지보수 용이성 확보
- 추상화: 복잡한 내용을 간단하게 표현 (과정/데이터/제어 추상화)
- 단계적 분해: 상위 개념 → 하위 개념으로 점차 구체화 (Wirth 제안)
- 정보은닉: 내부 정보 보호, 모듈 간 독립성 확보
✅ 상위 설계 vs 하위 설계
- 상위 설계 (아키텍처 설계)
- 전체 시스템 구조 설계
- 구조, DB, 인터페이스 등 포함
- 하위 설계 (상세 설계)
- 컴포넌트, 자료 구조, 알고리즘 설계
✅ 아키텍처 패턴 종류
- 레이어 패턴: 계층 기반 구조 (예: OSI 7계층)
- 클라이언트-서버 패턴: 서버-클라이언트로 구성된 구조
- 파이프-필터 패턴: 데이터 스트림을 필터 단위로 처리
- MVC 패턴: 모델-뷰-컨트롤러 구조, 대화형 앱에 적합
✅ 객체 지향 프로그래밍(OOP)
- 구성 요소: 객체, 클래스, 메시지
- 특징
- 캡슐화: 내부 구현 은닉
- 상속: 부모 클래스의 속성/연산을 자식이 물려받음
- 다형성: 동일 메시지에 대해 객체별로 다르게 반응
- 연관성: 객체 간 참조 관계
✅ 객체 지향 분석 및 설계
- 분석 방법론
- 럼바우: 객체, 동적, 기능 모델
- 부치: 거시/미시적 프로세스
- Jacobson: 유스케이스 기반
- Coad & Yourdon: E-R 다이어그램 사용
- Wirfs-Brock: 분석과 설계를 구분 없이 연속 진행
- SOLID 원칙
- SRP: 단일 책임 원칙
- OCP: 개방-폐쇄 원칙
- LSP: 리스코프 치환 원칙
- ISP: 인터페이스 분리 원칙
- DIP: 의존 역전 원칙
✅ 모듈의 독립성
- 결합도 (Coupling)
→ 낮을수록 좋음
순서: 내용 > 공통 > 외부 > 제어 > 스탬프 > 자료 - 응집도 (Cohesion)
→ 높을수록 좋음
순서: 기능 > 순차 > 통신 > 절차 > 시간 > 논리 > 우연
※ 본 내용은 starrykss님의 Tistory 글을 참고하여 정리한 것입니다.
'TIL(Today I Learned) > 정처기 실기' 카테고리의 다른 글
| 정처기 실기 코딩문 (0) | 2025.05.20 |
|---|---|
| 서버프로그램 구현2 (0) | 2025.03.28 |
| 정처기 통합구현 (0) | 2025.03.26 |
| 데이터 입출력 구현2 (0) | 2025.03.25 |
| 데이터 입출력 구현1 (0) | 2025.03.24 |