본문 바로가기

분류 전체보기

(179)
소프트웨어 아키텍처 1. 소프트웨어 아키텍처 (1) 소프트웨어를 구성하는 요소들 간의 관계를 표현하는 시스템의 구조 (2) 애플리케이션 분할 방법과 분할된 모듈에 할당될 기능, 모듈 간의 인터페이스 등을 결정 2. 모듈화(Modularity) (1) 시스템의 기능들을 모듈 단위로 나누는 것 (2) 모듈의 크기를 작게 나누면 통합 비용이 많이 듬 (3) 모듈의 크기를 크게 나누면 통합 비용은 적게 들지만 모듈 한 개의 개발 비용이 많이 듬 3. 추상화(Abstraction) (1) 전체적이고 포괄적인 개념을 설계 한 후 구체화시켜 나가는 것 * 추상화 유형 - 과정 추상화 : 자세한 수행 과정을 정의 하지 않고, 전반적인 흐름만 파악할 수 있게 설계하는 방법 - 데이터 추상화 : 데이터의 세부적 속성이나 용도를 정의하지 않고..
개발 환경 구축 1. 개발 환경 구축 개발 프로젝트를 이해하고 소프트웨어 및 하드웨어 장비를 구축하는 것 2. 하드웨어 환경 클라이언트와 서버로 구성 * 클라이언트 : 개인용 컴퓨터, 스마트폰 등 * 서버 종류 특징 웹 서버 클라이언트로부터 직접 요청을 받아 처리 저용량의 정적 파일을 제공 웹 애플리케이션 서버 동적 서비스를 제공하거나, 서버 사이의 인터페이스 역할을 수행 데이터베이스 서버 데이터베이스와 이를 관리하는 DBMS를 운영 파일 서버 데이터베이스에 저장하기 비효율적이거나 서비스 제공을 목적으로 유지하는 파일들을 저장 3. 소프트웨어 환경 시스템 소프트웨어와 개발 소프트웨어로 구성 * 시스템 소프트웨어 : 운영체제(OS), 웹 서버 및 WAS 운용을 위한 서버 프로그램, DBMS 등 * 개발 소프트웨어 종류 특..
XML 1. XML(eXtensible Markup Language) (1) 특수한 목적을 갖는 마크업 언어를 만드는 데 사용되는 다목적 마크업 언어 (2) 웹브라우저 간 HTML 문법이 호환되지 않는 문제와 SGML의 복잡함을 해결하기 위해 개발 (3) 사용자가 직접 문서의 태그를 정의 할 수 있고, 다른 사용자가 정의한 태그를 사용할 수 있음 (4) 트리 구조로 되어 있어 상위 태그는 여러 개의 하위 태그를 가질 수 있음 2. SOAP(Simple Object Access Protocol) (1) 네트워크 상에서 HTTP/HTTPS, SMTP 등을 이용하여 XML을 교환하기 위한 통신 규약 (2) 프록시와 방화벽 영향 없이 통신 가능, RESTful 프로토콜을 이용하기도 함 3. WSDL(Web Servic..
연계 데이터 보안 1. 전송 구간 보안 전송되는 데이터나 패킷을 쉽게 가로챌 수 없도록 암호화 기능이 포함된 프로토콜을 사용 데이터나 패킷도 암호화하여야 함 2. 데이터 보안 송신 시스템에서 연계 데이터의 데이터를 추출할 때와 수신 시스템에서 데이터를 운영 DB에 반영할 때 데이터를 암·복호화 하는 것 * 데이터 암·복호화 처리 절차 - 송신 시스템 1) DB에서 연계 데이터 추출 2) 보안 적용 대상 컬럼 암호화 3) 연계 데이터를 인터페이스 테이블 또는 파일에 등록 및 송신 - 수신 시스템 4) 수신된 데이터 중 암호화 한 컬럼 복호화 5) DB에 반영 3. 암·복호화 적용 절차 암호화 적용 대상, 암호화 알고리즘, 암호화 키 선정 -> 암호화 적용 대상 컬럼 데이터 길이 변경 -> 암호화 알고리즘 라이브러리 확보 및..
연계 매커니즘 1. 연계 매커니즘 (1) 데이터 생성 및 전송 담당하는 송신 시스템과 데이터 수신 및 운영 DB 반영을 담당하는 수신 시스템으로 구성 (2) 송·수신 시스템 사이에 모니터링하는 중계 시스템을 설치 할 수 있음 * 연계 매커니즘 연계 방식 - 직접 연계 방식 : 중간 매개체 없이 송·수신 시스템이 직접 연계하는 방식(DB Link, API/Open API, DB Connection, JDBC 등) - 간접 연계 방식 : 송·수신 시스템 사이 중간 매개체를 두어 연계하는 방식(연계 솔루션, ESB, 소켓, 웹 서비스 등) 2. 연계 매커니즘의 과정 (1) 송신 시스템 및 송신 모듈 연계 데이터 생성 및 추출 -> 코드 매핑 및 데이터 변환 -> 인터페이스 테이블 또는 파일 생성 -> 연계 서버 또는 송신 ..
통합 구현 1. 통합 구현 송·수신 모듈과 중계 모듈 간의 연계를 구현하는 것 2. 통합 구현의 구성 요소 (1) 송신 시스템과 모듈 - 송신 시스템 : 데이터를 생성 및 변환하여 전송하는 시스템, 송신 모듈과 모니터링 기능으로 구성됨 - 송신 모듈 : 전송 데이터를 생성하고 필요에 따라 전송 데이터의 변환 등을 수행함 (2) 수신 시스템 과 모듈 - 수신 시스템 : 수신 받은 데이터를 정제 및 변환하는 시스템, 수신 모듈과 모니터링 기능으로 구성 - 수신 모듈 : 수신 데이터를 정제하고 애플리케이션이나 DB 테이블에 적합한 데이터로 변환하는 작업 수행 (3) 중계 시스템 : 내·외부 시스템 간 또는 내부 시스템 간의 연계 시 사용되는 아키텍쳐 (4) 연계 데이터 : 송·수신 시스템 간 송·수신되는 데이터 (5) ..
정렬(Sort) 1. 삽입 정렬(Insertion Sort) (1) 이미 순서화된 파일에 새로운 하나의 레코드를 순서에 맞게 삽입시켜 정렬하는 방식 (2) 평균, 최악 수행 시간 복잡도 O(n2) 예시: 주어진 배열: [5, 3, 8, 4, 2] 처음에는 첫 번째 요소(5)는 이미 정렬된 부분으로 간주합니다. 두 번째 요소(3)를 정렬된 부분에 삽입합니다. 이때, 3은 5보다 작으므로 5의 앞에 위치합니다. 결과 배열: [3, 5, 8, 4, 2] 세 번째 요소(8)은 이미 정렬된 부분에 삽입될 위치를 찾아 삽입합니다. 결과 배열: [3, 5, 8, 4, 2] 네 번째 요소(4)를 삽입합니다. 결과 배열: [3, 4, 5, 8, 2] 마지막으로 다섯 번째 요소(2)를 삽입합니다. 결과 배열: [2, 3, 4, 5, 8]..
이진 트리 1. 이진 트리 (1) 차수가 2 이하인 노드들로 구성된 트리 (2) 이진 트리의 레벨 i에서 최대 노드의 수는 2i-1 (3) 이진 트리에서 Terminal Node 수가 n0, 차수가 2인 노드 수가 n2라 할 때 n0 = n2 + 1 2. 트리 운행법 (1) 트리를 구성하는 각 노드들을 찾아가는 방법 (2) 트리 운행법 종류 - Preorder 운행 : Root-Left-Right - Inorder 운행 : Left-Root-Right - Postorder 운행 : Left-Right-Root 3. 수식의 표기법 (1) 전위 표기법(PreFix) : 연산자-Left-Right (2) 중위 표기법(InFix) : Left-연산자-Right (3) 후위 표기법(PostFix) : Left-Right-연..
트리 1. 트리 (1) 정점(Node, 노드)와 선분(Branch, 가지)를 이용하여 사이클을 이루지 않도록 구성한 그래프(Graph)의 특수한 형태 (2) 하나의 기억 공간을 노드(Node)라고 하며, 노드와 노드를 연결하는 선을 링크(Link)라고 한다 2. 트리 용어 정리 (1) 노드(Node) : 트리의 기본 요소로 자료 항목과 다른 항목에 대한 가지를 합친 것 (2) 근 노드(Root Node) : 최상위 노드 (3) 디그리(Degree,차수) : 각 노드에서 뻗어나온 가지의 수 (4) 단말 노드(Terminal Node) = 잎 노드(Leaf Node) : 자식이 하나도 없는 노드, Degree가 0인 노드 (5) 비단말 노드(Non-Termianl Node) : 자식이 적어도 1개 있는 노드 (6..
자료 구조 1. 자료 구조 자료를 기억장치 공간 내에 저장하는 방법과 자료 간의 관계, 처리 방법 등을 연구 분석하는 것 * 자료 구조의 분류 2. 배열(Array) (1) 크기와 형이 동일한 자료들이 순서대로 나열된 자료의 집합 (2) 반복적인 데이터 처리 작업에 적합한 구조 (3) 정적인 자료 구조, 기억장소의 추가가 어려움 (4) 데이터 삭제 시 기억장소가 빈 공간으로 남아 있어 메모리 낭비 발생 3. 연속 리스트(Contiguous List) (1) 연속되는 기억장소에 저장되는 자료 구조 (2) 중간에 데이터 삽입을 위해서는 연속된 빈 공간이 있어야 함 (3) 삽입, 삭제 시 자료 이동이 필요 4. 연결 리스트(Linked List) (1) 자료들을 임의의 기억공간에 기억시키되 노드의 포인터 부분을 이용하여..