●네트워크 토폴로지 (위상)-컴퓨터, 케이블 및 기타 네트워크 구성 요소의 배열 또는 물리적 배치 상태를 말한다.*링형(루프형) - 컴퓨터와 단말기들을 서로 이웃하는 것끼리 포인트 투 포인트 방식으로 연결데이터는 단방향 또는 양방향으로 전송 가능단방향 링의 경우 컴퓨터, 단말기, 통신 회선 중 하나라도 고장나면 전체에 영향*버스형 - 한 개의 통신 회선에 여러 대의 단말기가 연결, 물리적 구조 간단, 단말기의 추가와 제거 용이*스타형(중앙 집중형) - 단말기의 추가와 제거가 쉽다, 교환 노드의 수가 가장 적다.●인터넷 주소-IP 주소: 인터넷에 연결된 모든 컴퓨터 자원을 구분하기 위한 고유한 주소, 숫자로 8비트씩 4부분 총 32비트A~E 클래스까지 5단계 구성(A-국가나 대형, B-중대형, C-소규모, D-멀티캐스트, E-실험용)서브넷 마스크: 4바이트의 IP 주소 중 네트워크 주소와 호스트 주소를 구분하기 위한 비트IPv6: IPv4의 주소 부족 문제를 해결하기 위해 개발, 16비트씩 8부분 총 128비트, 각 부분 16진수 표현, ‘:’ 구분도메인 네임: 숫자로 된 IP 주소를 사람이 이해하기 쉽게 문자 형태로 표현호스트 컴퓨터 이름, 소속 기관 이름, 소속 기관 종류, 소속 국가명 순으로 구성DNS: 문자로 된 도메인 네임을 컴퓨터가 이해할 수 있는 IP 주소로 변환하는 역할 시스템●HTML (Hyper Text Markup Language)-웹 문서를 만들기 위하여 사용하는 기본적인 프로그래밍 언어의 한 종류하이퍼텍스트를 작성하기 위해 개발, HTML에서 사용하는 명령어를 태그(tag)HTML은 문서의 글자크기, 글자색, 글자모양, 그래픽, 문서이동(하이퍼링크) 등을 정의하는 명령어HTML로 작성된 문서를 HTML문서SGML에서 특히 하이퍼텍스트를 강조하여 만들어진 언어, ASCII 문자로 구성된 일반적인 텍스트로 구성컴파일러가 필요치 않으며, 웹 브라우저에서 해석이 가능한 사용하기 쉬운 언어●공개 키 암호화-서로 다른 키로 데이터를 암호화, 복호화한다공개키는 데이터베이스 사용자에게 공개하고, 비밀키는 관리자가 비밀리에 관리하는 방법비대칭 암호 방식, 대표적으로 RSA장점: 키의 분배가 용이, 관리해야 할 키의 개수가 적다.단점: 암호화/복호화 속도가 느리다, 알고리즘이 복잡하고 파일 크기가 크다.●모의 코드-컴퓨터 프로그램이나 알고리즘이 해야 하는 내용을 자세히 기술해 놓은 것프로그래밍 언어보다는 자연어에 가깝게 표현해 놓은 것프로그램을 개발하는 과정에서 상세한 단계로 사용●순차검색/이진검색-순차검색 : 순서화되어 있지 않은 파일에서 순차적으로 검색하는 방식찾고자 하는 Key 값을 첫 번째 레코드 Key 값부터 차례로 비교하여 검색하는 방식프로그램 작성이 가장 쉽다, 짧은 리스트에서 자주 사용, 효율성이 크게 떨어진다.-이진검색 : 반드시 순서화된 파일이어야 검색할 수 있다.전체 파일을 두 개의 서브 파일로 분리해 가면서 Key 레코드를 검색한다.찾고자 하는 Key 값을 파일의 중간 레코드 Key 값과 비교하면서 검색한다.●while/repeat 루프-while루프 : while 루프는 반복문의 일종으로, 주어진 불린 자료형 조건을 기반으로 코드가 반복적으로 수행할 수 있게 도와준다. 이 루프는 if 문의 반복으로 생각할 수도 있다. while은 코드와 조건의 블록을 이루고 있다.조건이 true라면 블록 안의 코드는 실행한다. 조건이 false가 될 때까지 이 작업을 반복한다. 블록을 실행하기 전에 while 루프를 검사하므로 제어 구조는 사전 시험 루프(pre-test loop)로 불리기도 한다. 루프를 실행한 뒤에 조건 을 시험하는 do while 루프와 비교된다.-repeat루프 : 본체 실행 후에 종료 조건을 테스트 하므로 사후 테스트 루프라고 한다.●변수/상수/리터럴-변수 : 고급 프로그래밍 언어들에서는 주기억장치상의 위치들을 숫자 형태의 주소 대신 의미 있는 이름을 사용하여 표시할 수 있다. 이러한 이름들이 나타내는 주소 위치의 값을 프로그램 실행 중 변경할 수 있다는 사실을 반영하여 변수라 부른다.-상수 : 프로그래밍 언어들에서는 변경되지 않는 특정 값에 서술적 이름을 부여하는 것을 허용한다. 이러한 이름을 상수라 한다.-리터럴 : 프로그래밍 언어에서 직접 값을 나타내는 자구 단위를 말한다.●배열(array)-비슷한 구조의 것을 하나의 데이터 구조에 번호를 매겨 저장하는 방식배열은 데이터 묶음의 저장, 정렬, 검색을 매우 유용하게 할 수 있다.배열을 이용하면 while이나 for문과 함께 사용하여 루프나 리스트 조사 등에 유용하게 사용할 수 있다.●컴파일러-고급 언어로 작성된 소스 프로그램 전체를 목적 프로그램으로 번역한 후, 링킹 작업을 통해 컴퓨터에서실행 가능한 실행 프로그램을 생성함번역 과정이 번거롭고 번역 시간이 오래 걸리지만, 실행 속도가 빠르다.컴파일러 사용 언어- FORTRAN, COBOL, PASCAL, C, C++, PL/1●소프트웨어 개발1.분석 : 목표는 제안 시스템에서 제공할 서비스들을 규정하는 것과 이러한 서비스들에 부과되는 시간제약이나보안 등등의 조건을 식별하는 것제안 시스템을 사용할 사람의 요구사항을 조사하는 일 포함2.설계 : 소프트웨어의 구조, 알고리즘, 자료 구조 등을 작성하는 단계, 에러가 가장 많이 발생3.구현 : 설계 단계에서 작성된 문서를 기초로 하여 코딩하고 번역하는 단계프로그램을 실제로 작성하고, 데이터 파일을 만들고, 데이터베이스를 개발하는 작업들을 포함한다.4.테스트 : 구현된 소프트웨어에 내재되어 있는 오류를 찾는 단계검증테스트- 구현된 소프트웨어 시스템이 분석 단계에서 정해진 요구사항들과 명세를 준수하는지 확인결함테스트- 오류를 찾아 고치기 위한 것●프로토타이핑-개발자와 사용자간의 완성된 시스템을 만들기 이전에 시험적으로 그 시스템의 전체 또는 일부분을 시제품(Prototype)으로 만들어 제품으로서의 타당성이나 가능성을 확인하면서 개발하는 것진화적 프로토타이핑 : 이 과정을 통해 완성된 최종 시스템으로 발전해간다.폐기형 프로토타이핑 : 최종 설계를 새로 구현하면서 프로토타입을 버리는 방식단기 프로토타이핑 : 개발 초기 단계에서 제안 시스템의 단순화된 형태를 단기간에 구축함.●프로그램 테스트 방법-화이트 박스 테스트: 원시 코드를 오픈시킨 상태에서 원시 코드의 논리적인 모든 경로를 검사하여 검사 사례를 설 계하는 방법설계된 절차에 초점을 둔 구조적 테스트, 테스트의 초기에 적용, 모듈안의 작동을 직접 관찰 가능