서버 프로그램 구현

패키지 소프트웨어란 기업에서 일반적으로 필요로하는 여러 기능을 통합하여 제공하는 소프트웨어입니다. 기업에서는 패키지 소프트웨어를 구입하여 커스터마이징하여 사용합니다. 기능 요구사항 70% 이상 충족시키는 패키지 소프트웨어가 있을 때만 사용하는 것이 좋습니다. 패키지 소프트웨어 vs 전용 개발 소프트웨어 패키지 소프트웨어 전용 개발 소프트웨어 기능 요구사항 70% 이상 충족 모든 기능 요구사항 충족 안정성 품질이 검증되었음 개발자의 역량에 달림 라이선스 판매자 회사 생산성 인력과 시간이 절약됨 인력과 시간이 필요함 호환성 보장 안 됨 설계 단계부터 고려하여 개발되었음 유지보수 결함 발생 시 대응 힘듦 결함 발생 시 즉시 대응 가능
배치 프로그램이란 여러 작업들을 미리 정해진 일련의 순서에 따라 일괄적으로 처리하도록 만든 프로그램입니다. 여기서 '배치'란 Batch를 그대로 읽은 것으로, '일괄적으로 처리되는 집단'이라는 뜻입니다. 배치 프로그램의 필수 요소 - 대용량 데이터 - 자동화 - 견고성 - 안정성 / 신뢰성 - 성능 배치 스케줄러란 일괄 처리 작업이 설정된 주기에 맞춰 자동으로 수행되도록 지원해주는 도구입니다. '잡 스케줄러'라고도 불립니다. 배치 스케줄러의 종류 배치 스케줄러 특징 Spring Batch - Spring Source 사와 Accenture 사가 2007년 공동 개발 - 오픈 소스 프레임워크 Quartz - Spring Framwork로 개발되는 응용 프로그램들의 일괄 처리를 위해 사용 - 오픈 소스 라이..
API란 Application Programming Interface의 약자로, 라이브러리를 이용할 수 있도록 규칙을 정의해 놓은 인터페이스를 의미합니다. 즉, 라이브러리에 있는 다양한 기능들을 손쉽게 이용할 수 있도록 도와줍니다. 이 때, 무료로 사용할 수 있게 공개된 API를 Open API라고 합니다. API의 종류 - Windows API - SUS - Java API - 웹 API
서버 개발이란 웹 애플리케이션의 로직을 구현할 서버 프로그램을 제작하여 WAS에 탑재하는 것을 의미합니다. 프로그래밍 언어별로 서버 개발을 지원하는 프레임워크가 있습니다. 서버 개발 프레임워크는 서버 개발 시 다양한 네트워크 설정, 요청 및 응답 처리, 아키텍처 모델 구현 등을 손쉽게 처리할 수 있도록 클래스나 인터페이스를 제공하는 소프트웨어를 의미합니다. 대부분 MVC(모델-뷰-컨트롤러) 패턴을 기반으로 합니다. 프레임워크 특징 Spring Java 기반 전자정부 표준 프레임워크 Node.js JavaScript 기반 Django Python 기반 Codeigniter PHP 기반 Ruby on Rails Ruby 기반 서버 개발 과정 1) DTO/VO 구현 : 데이터 교환을 위해 자료형에 맞는 변수를..
통합 개발 환경 (IDE) 통합 개발 환경(IDE)란 개발에 필요한 다양한 툴을 하나의 인터페이스로 통합하여 제공하는 환경을 의미합니다. 통합 개발 환경 도구는 통합 개발 환경을 제공하는 소프트웨어를 의미합니다. 통합 개발 환경 도구의 종류 프로그램 개발사 플랫폼 운영체제 지원 언어 이클립스 IBM 크로스 플랫폼 Windows Linux MacOS C / C++ Java / PHP / JSP 등 비주얼 스튜디오 Microsoft Win32, Win64 Windows C / C++ / C# Basic / .NET 등 엑스 코드 Apple Mac, iPhone MacOS iOS C / C++ / C# Java / AppleScript 등 안드로이드 스튜디오 Google Android Windows Linux..
디자인 패턴이란 모듈 설계 시 참조할 수 있는 예제를 의미합니다. GoF(Gang of Four)라고 불리는 네 사람, 에릭 감마, 리차드 헬름, 랄프 존슨, 존 블리시디스가 1995년 처음으로 구체화 및 체계화하였습니다. GoF의 디자인 패턴은 ★ 생성 패턴, 구조 패턴, 행위 패턴으로 구분됩니다. 디자인 패턴의 구성은 다음과 같습니다. - 문제 및 배경 - 사례 - 샘플 코드 등 생성 패턴 GOF의 디자인 패턴 설명 빌더 Builder 인스턴스를 조합하여 객체를 생성한다 프로토타입 Prototype 원형을 두고 복제만 하여 객체를 생성한다 팩토리 메소드 Factory Method 상위 클레스에서 인터페이스를 정의하고 서브 클래스에서 실제 객체 생성을 담당한다 추상 팩토리 Abstract Factory..
코드란 자료의 분류 · 조합 · 집계 · 추출을 용이하게 하기 위해 사용하는 기호입니다. 코드의 주요 기능 - 식별 기능 - 분류 기능 - 배열 기능 - 표준화 기능 - 간소화 기능 코드의 종류 순차 코드 블록 코드 10진 코드 그룹 분류 코드 연상 코드 표의 숫자 코드 합성 코드 차례대로 일련번호 부여 공통성 있는 것끼리 구분한 후 일련번호 부여 10진 분할한 것에 다시 각각을 10진분할을 반복 대분류, 중분류, 소분류로 구분한 후 일련번호 부여 관계있는 문자를 이용 물리적 수치를 그대로 적용 2개 이상의 코드를 조합 1 2 … 1001~1100 1101~1200 … 1000 : 공학 1100 : SW 공학 1110 : SW 설계 1-01-001 2-01-001 … TV-40 L-15-220 120-7..
단위 모듈 단위 모듈은 한 가지 동작을 수행하는 기능(단위 기능)을 모듈로 구현한 것입니다. 독자적인 컴파일이 가능한 것이 특징입니다. 단위 모듈의 구현 과정 1) 단위 기능 명세서 작성 2) 입출력 기능 구현 3) 알고리즘 구현 ★ IPC란 'Inter-Process Communication'의 약자로, 모듈 간 통신 방식을 구현하기 위해 사용되는 대표적인 인터페이스 집합입니다. IPC의 대표 메소드 Shared Memory Socket Semaphores Pipes named Pipes Message Queueing 메모리를 공유하여 프로세스 간 통신 네트워크 소켓을 통해 프로세스 간 통신 공유 자원에 대한 접근 제어를 통해 프로세스 간 통신 선입선출 메모리 'Pipe'를 공유하며 프로세스 간 통신 ..
모듈은 모듈화를 통해 분리된 시스템의 각 기능을 의미합니다. 서브루틴, 서브시스템, 소프트웨어 내의 프로그램, 작업 단위 등이 모두 모듈에 해당합니다. 모듈의 독립성은 ★결합도와 응집도에 의해 측정됩니다. 결합도 & 응집도 결합도 : 여러 모듈 간에 의존하는 정도 자료 결합도 ★ 스탬프 결합도 제어 결합도 ★ 외부 결합도 공통 결합도 ★ 내용 결합도 인터페이스가 자료 요소로만 구성 자료 구조를 전달 제어 신호를 전달 다른 모듈에서 선언한 데이터 참조 공통 데이터를 사용 다른 모듈의 내부 자료를 참조 데 스 제 외 공과금 내 결합도 약함 (독립성 좋음) 결합도 강함 (독립성 나쁨) 응집도 : 하나의 모듈 내부 요소들이 서로 관련되어 있는 정도 기능적 응집도 순차적 응집도 통신적 응집도 절차적 응집도 시간적..
객체지향이란 각 요소들을 객체로 만든 후, 객체들을 조립해서 소프트웨어를 개발하는 기법을 의미합니다. 객체지향의 구성 요소 객체 / 클래스 / 메시지 객체지향 특징 - 캡슐화 : 인터페이스를 제외한 세부 내용을 은닉 - 상속 : 상위 클래스의 모든 속성과 연산을 하위 클래스가 물려받는 것 - 다형성 : 하나의 메시지에 대해 객체마다 다양한 방법으로 응답 - 연관성 : 2개 이상의 객체들이 상호 참조하는 관계 is member of is instance of is part of is a 연관화 분류화 집단화 일반화 특수화/상세화 상호 관련되어 있음 형이 같은 객체들을 모음 관련 있는 객체들을 모아 상위 객체를 구성 공통 성질로 추상화해서 상위 객체를 구성 상위 객체를 구체화해서 하위 객체를 구성 객체지향 ..
innit
'서버 프로그램 구현' 태그의 글 목록