본문 바로가기

IT개념

(51)
[자료구조] 1-2. [순환 알고리즘과 시간복잡도] 알고리즘의 성능 분석 기법 실행시간을 측정하는 방법 두 개의 알고리즘 실제 실행 시간을 측정하는 것 실제로 구현하는 것이 필요 동일한 하드웨어를 사용해야 함 알고리즘의 복잡도를 분석하는 방법(이론적) 직접 구현하지 않고 수행시간을 분석하는 것 알고리즘이 수행하는 연산 횟수를 측정하여 비교 일반적으로 연산의 횟수는 n의 함수 시간 복잡도 분석: 수행시간 분석 공간 복잡도 분석: 수행시 필요한 메모리 공간 분석 파이썬의 실행시간 측정 코드 예 import time myBag = [] start = time.time insert(myBag, '축구공') ... end = time.time() print("실행시간 =", end-start) 복잡도 분석 시간 복잡도 산술, 대입, 비교, 이동의 기..
[자료구조] 1-1. 추상자료형 및 알고리즘의 성능 분석 ## 자료구조 자료구조는 컴퓨터에 저장되는 데이터가 사용자가 어떻게 편하고 효율적으로 사용할 수 있을지 정리하는 것이다. 모든 자료마다 적합한 구조가 있다. 책장에 정리된 책의 모습이 있다면 그 책은 장르의 코드 별, 제목의 순서 별로 정리가 되어 있을 것이다. 그 책 속 또한 목차를 통해 정리가 되어 있다. 혹은 지하철 노선도가 사람들이 직관적으로 알아보기 편리한 형태인 선형으로 정리되는 것 등 이러한 것들을 통틀어 자료구조라고 일컫는다. 자료의 컴퓨터 저장 모든 데이터는 0과 1로 저장된다. 컴퓨터에서 단순 자료는 프로그래밍 언어의 데이터 형식에 해당하는 정수, 실수, 문자, 문자열 등으로 나눈다 정수: 0, 100, -10 등 (소수점이 없는 음수, 0, 양수, Int또는 Integer) 실수: 0..
[운영체제] 1-1. 컴퓨터 시스템과 운영체제 개요 1 컴퓨터 시스템 컴퓨터 시스템의 개념적 구성 하드웨어 + 소프트웨어 펌웨어 컴퓨터 시스템의 4대기능 입력 (키보드) 처리 (CPU) 저장,보관 (디스크) 출력 (모니터) 컴퓨터의 구성 구분 내용 필수장치 중앙처리장치,메인 메모리 주변장치 입력장치, 출력장치, 저장장치 CPU와 메모리 CPU: 명령어를 해석해 실행하는 장치, 두뇌에 해당 메모리: 작업에 필요한프로그램과 데이터를 저장하는 장소, 바이트 단위로 분할되어 분할 공간마다 주소로 구분 입, 출력 장치 입력장치: 외부의 데이터를 컴퓨터에 입력하는 장치 출력장치: 컴퓨터에서 처리한 결과를 사용자가 원하는 형태로 출력하는 장치 클록(clock) CPU 속도와 관련된 단위 클록이 일정 간격으로 틱(tick)을 만들면, 이에 맞추어 CPU안의 모든 구성 부품..
[소프트웨어 공학] 1-2. 소프트웨어 개발 프로세스의 세부 단계 소프트웨어 공학 소프트웨어 공학이란? 하드웨어의 빠른 발전은 사용자 요구 증가, 불 만족 등 문제 발생 이러한 문제점이나 위기를 극복하기 위한 학문 소프트웨어 개발 과정에 공학적인 원리를 적용하여 소프트웨어를 개발 최소 비용 고품질 개발을 위해 모든 도구, 방법론을 총칭 과학적인 지식을 컴퓨터 프로그램의 설계와 제작에 응용 (이를 개발, 운영, 유지 보수하는데 필요한 활동을 문서화) 소프트웨어 공학의 접근법 즉흥적인 개발의 문제점 개발 지연과 예산 초과 낮은 품질 유지보수 곤란 재작업 접근법 개발, 운영, 유지보수, 소멸에 대한 체계적인 접근 방법 일회성이 아닌 반복 사용이 가능한 의미 결과를 예측할 수 없는 주먹구구식이 아닌 엔지니어링 기법을 도입하려고 함 유사한 소프트웨어를 만들 수 있음 소프트웨어 ..
[소프트웨어 공학]1-1. 소프트웨어 개념과 공학 소개 소프트웨어의 정의 및 특징 소프트웨어가 사용되는 곳 컴퓨터를 작동시키는 프로그램으로 하드웨어의 동작을 제어하는 수많은 명령어로 구성 하드웨어를 이용해 데이터를 처리하고 정보를 제공하여 여러 응용분야의 업무를 자동화함 컴퓨터 외에도 다양한 장비와 장치에서 사용됨 소프트웨어(software)란? 프로그램 + 프로그램 개발, 운영, 보수에 필요한 정보 일체 프로그램, 자료구조, 문서를 총칭 프로그램 산술, 논리적인 계산을 신속하게 처리하기 위한 명령어들과 데이터들의 집합 자료구조 자료의 형성 과정에서 컴퓨터 기억 장치 안에 자료 표현이나 처리 방법 등을 분석, 연구 등 데이터의 관계 처리 알고리즘 등 문서 각 단계마다 생산되는 문서, 메뉴얼, 계획서, 평가서, 분석서 등.. 소프트웨어의 특징 논리성(비가시성)..
[DataBase] 1-2. 데이터베이스 시스템(DBMS) 데이터베이스 관리 시스템 데이터베이스 특징 질의를 실시간으로 처리하며 응답할 수 있어야 한다(실시간 접근성) 삽입/삭제/갱신에 의해 계속 변화며(계속 변화) 여러 사용자가 동시에 데이터를 공유할 수 있다(동시 공유) 데이터 내용에 따라 참조할 수 있다(내용기반 참조) 데이터베이스 관리 시스템 개념 Case1. A사 직원은 캐비닛 파일 박스에 서류를 담아 놓고 필요할 때 마다 꺼내 오는 일을 한다. 캐비닛 > 비서 > 파일 박스 > 서류 Case2. 컴퓨터에 기반을 둔 데이터베이스 환경에는 컴퓨터 소프트웨어가 처리한다. DBMS > 데이터베이스 > 데이터 데이터베이스 관리 시스템 등장 배경 파일 시스템은 컴퓨터 보조기억장치 파일(file)에 데이터를 저장함 여기서 파일은 순차적인 레코드로 구성되어 있고, ..
[DataBase] 1-1. 데이터베이스의 필요성 및 정의와 특성 이해 데이터베이스의 필요성 데이터와 정보 데이터(Data) 현실 세계의 관찰, 측정하여 수집한 사실이나 값 정보(Information) 의사 결정을 유용하게 할 수 있도록 데이터를 처리한 결과물 정보처리 데이터에서 정보를 추출하는 과정 또는 방법 정보 시스템과 데이터베이스 정보시스템 조직 운영에 필요한 데이터를 수집해 필요할 때 유용한 정보를 만들어 주는 수단 데이터베이스 정보 시스템 안에서 데이터를 저장하고 있다가 필요할 때 제공하는 역할을 담당 데이터베이스의 정의와 특징 데이터베이스란? 특정 조직의 여러 사용자가 공유할 수 있도록 통합해서 저장한 운영 데이터의 집합 데이터베이스 4대 정의 요소 공유데이터: 특정 조직 여러 사용자가 함께 소유하고 사용할 수 있음 통합데이터: 최소한의 중복과 통제 가능한 중복..
[NetWork] 1-2. 스위칭 네트워크와 프로토콜 스위칭 네트워크 근거리통신망(LAN, Local Area Network) 제한된 조직 내에서 사용하는 통신망 LAN은 대게 개인 소유로 단일 사무실, 건물 등과 호스트와 연결 다양한 형태의 LAN 종류 광대역통신망(WAN, Wide Area Network) 지리적 제한이 없는 거리/장소를 넘나드는 통신 네트워크 또는 컴퓨터 네트워크 사업, 교육, 정부 기관들은 광역 통신망을 이용해 데이터를 중계함 인터넷은 광역 통신망 (Mesh형태) 스위칭(switching)이란? 통신망은 스위치가 최소한 두 개의 링크를 연결하는 교환 네트워크이며 스위치 장비는 한 네트워크에서 다른 네트워크로 데이터를 전달하는 기능을 수행하며 이를 스위칭이라고 함 (데이터를 어디로 보낼지) 회선교환 네트워크(Circuit Switchi..