All Article

공부한 내용을 정리합니다
Computer Science/Operating System

기억장치, 메모리 관리

정보처리기사 필기 준비하며 정리한 내용입니다. 기억장치 제일 빠른 순서대로 레지스터 캐시 메모리 주기억장치 ROM 읽기전용 RAM 휘발성 일반적 주기억장치 보조기억장치 시스템 소프트웨어 로더 링커 : 모아서 묶어준다 to excute file 유틸리티 번역기(컴파일러,어셈블러) 장치 드라이버 운영체제 (대표적!) 구성 제어 프로그램 ⭐ 감시 작업관리 데이터 관리 처리 프로그램 📌운영체제 기능 관리 프로세스 메모리 파일 입출력 보조기억장치 네트워킹 정보 보안 명령 해석 시스템 운영체제 성능 평가 기준 ⭐ 처리량 반환시간 신뢰도 : 결과 사용가능도 : 가용성 운영체제의 종류 다중 사용자, 다중 작업 지원 트리 구조 파일 시스템 윈도우 선점형 멀티태스킹 GUI Plug and Play OLE 리눅스 이식성 유..

Software Engineering/SDLC

서버 프로그램 구현

정보처리기사 필기 준비하며 정리한 내용입니다. 서버 개발 프레임워크 프레임워크의 특징 모듈화 재사용성 확장성 제어의 역흐름 inversion of control API 데이터를 제공하는 측에서 공개적으로 데이터를 주고받을 수 있는 규칙을 미리 정의해 두면 외부의 컴퓨터들이 데이터를 가져다 쓸 수 있게 하는 기술 SOAP (Simple Object Access Protocol) HTTP HTTPS SMTP 등(개방된 포트) 프로토콜을 통해 XML 기반의 메시지를 컴퓨터 네트워크 상에서 교환하는 프로토콜 WSDL 설명서. xml 기반 UDDI 도서관 REST ROA (Resource Oriented Architecture) 자원 기반의 구조 개념으로 구현됨 구성요소 자원 Resource URI로 자원 지정 ..

Computer Science/Database, SQL

SQL, 병행제어와 회복

정보처리기사 필기 준비하며 정리한 내용입니다. 📌트랜잭션 한꺼번에 모두 수행되어야 할 연산 트랜잭션의 성질 원자성 : 모두 반영되든지 아예 안되든지. COMMIT과 ROLLBACK에 의해 보장됨 일관성 : 트랜잭션 전-후에 시스템 고정요소의 상태는 같아야 독립성, 격리성 : 다른 트랜잭션이 끼어들 수 없다 영속성 : 완료된 결과는 영구적으로 반영되어야 한다. 트랜잭션의 상태 1. 실행시작 2. 활동 : 실행중 3-A1. 부분완료 : COMMIT 전 상태 3-A2. 완료 : COMMIT 후 3-B1. 실패 : 오류 발생하여 중단된 상태 3-B2. 철회 : ROLLBACK 후 📌SQL 문법의 종류 SQL은 기본적으로 대소문자를 구분하지 않는다. DDL Data Definition Language 데이터 정의..

Computer Science/Database, SQL

데이터베이스 설계 - 물리

정보처리기사 필기 준비하며 정리한 내용입니다. DB 물리요소 조사 분석 물리 데이터베이스 설계 논리-물리 데이터 모델 변환 = 사상 고려사항 무결성 일관성 회복성 보안 효율성 확장성 📌스토리지 (저장장치) 🔻종류 DAS Direct Attached Storage 직접 호스트에 연결 속도가 빠름, 확장 쉬움 물리적 연결수가 제한죔 NAS Network Attached Storage 네트워크에 부착 여러 장치들에서 입출력 가능 병목현상에 취약 SAN Storage Area Network 광을 이용한 네트워크. 고속! 가상화 환경 구축하기 좋음 고속이라 비싸고 복잡하다 🔻RAID Redundant Array of Inexpensive Disks 복수의 HDD를 하나의 드라이브와 같이 인식하고 표기 구성 스트라..

Computer Science/Database, SQL

데이터베이스 설계 - 개념, 논리

정보처리기사 필기 준비하며 정리한 내용입니다. 데이터베이스 정의 공유 데이터 저장 데이터 통합 데이터 운영 데이터 특징 실시간 접근성 - 즉시 처리 계속적인 변화 - 항상 최신 동시 공유 - 동시에 내용에 의한 참조 - 주소가 아닌 내용! 데이터의 독립성 - 서로 영향X 데이터 언어 DDL - 정의 → 스키마에 사용되는 제약 조건을 DML - 조작 (검색, 삽입, 삭제, 갱신 연산) DCL - 제어 스키마 데이터베이스 구조와 제약조건에 관한 명세 데이터 사전에 저장된다 (사용자는 수정 불가) 3계층 스키마 외부 스키마 - 여러개. 사용자 뷰 — 논리적 독립성 : 개념이 변경되어도 외부에 영향X — 개념 스키마 - 전체적인 뷰. 스키마 대표 — 물리적 독립성 : 내부 변경한다고 개념과 외부에 영향X — 내..

Computer Science/Algorithm

애플리케이션 성능 개선 - 알고리즘

정보처리기사 필기 준비하며 정리한 내용입니다. 알고리즘 문제를 해결하기 위한 절차나 방법 자연어, 순서도, 의사 코드, 프로그래밍 언어 등을 이용하여 표현 조건 입력 출력 명확성 유한성 효과성 설계 기법 분할과 정복 더는 쪼갤 수 없을 정도로 작은 문제로 나누기 동적 계획법 더 작은 문제로 나누기 탐욕법 가장 좋은 해결책을 그때그때 찾기 백트래킹 더이상 해가 없으면 왔던 길 되돌아가기 성능 분석 알고리즘 효율성 높이기 위해 자원(시간과 공간)을 어떻게 소모하는가에 따른 분석 시간 복잡도 알고리즘의 수행시간 분석한 결과 빅오 표기법의 유형 O(1) : 오직 한단계만. 가장 빠르다 스택, Hash 함수 O(log n) 이진탐색 O(n) 배열 순차 탐색 O(n log n) 퀵, 힙, 병합 정렬 O(n^2) 버..

Software Engineering/SDLC

테스트

정보처리기사 필기 준비하며 정리한 내용입니다. 소프트웨어 테스트 기본 원칙 인간이 하기 때문에 완벽한 테스팅은 불가능하다. 결함 집중의 법칙 애플리케이션 결함의 대부분은 소수의 특정한 모듈에 집중되어 존재 파레토 법칙 살충제 패러독스 동일한 테스트 케이스로 반복 실행하면 그 케이스에서는 결함을 발견할 수 없다 그러나 다른 곳에서는 나타난다! 테스팅은 정황 context에 의존한다 오류-부재의 궤변 사용자의 요구사항을 만족하지 못하는 오류를 고쳐봤자 품질이 높다고는 할 수 없다 테스트 프로세스 개발과 유사하다 테스트 계획 테스트 분석 및 디자인 테스트 케이스 및 시나리오작성 테스트 수행 테스트 결과 평가 및 리포팅 테스트 산출물 테스트 계획서 **테스트 케이스 (**케이스란 하나의 단위) 테스트를 위한 설..

Software Engineering/SDLC

제품 소프트웨어 패키징, DRM, 국제 표준

정보처리기사 필기 준비하며 정리한 내용입니다. 제품 소프트웨어 패키징 패키징 고객이 소프트웨어를 사용할 수 있도록 묶은 것 업데이트 받는 것도 패키징! 매뉴얼 작성도 패키징! 배포까지 말하는 것이 패키징 작업 패키징 방법 일반적인 3가지 CD / USB APP 스토어에서 받는 것 WEB 서비스 📌애플리케이션 패키징 무조건 고객(사용자) 입장에서 패키징을 고려해야 한다! 패키징된 서비스는 고객이 설치해야 하기 때문에 사용자의 실행 환경을 이해한다! 컴퓨터 상태 (OS, CPU, 메모리 등) 수행 순서 ⭐ 기능 식별 모듈화 진행 // 여기까지는 개발 빌드 진행 : 배포본 형태로 만드는 것 (묶는 것) 웹 JAVA 기준으로 war파일(압축파일) 이 나온다. 이걸 가지고 아래의 환경 분석을 수행! (컴퓨터라면 ..

Software Engineering/SDLC

소프트웨어 구현 - 단위 모듈, 개발 도구, 버전&형상관리

정보처리기사 필기 준비하며 정리한 내용입니다. 단위 모듈—단위 테스트 📌단위 모듈 구현 단위모듈 : 하나의 모듈. 하나의 일처리 단위! 개념 소프트웨어를 기능 단위로 분해하여 구현하는 기법 각 모듈이 독립적으로 활용될 수 있게 구현 모듈은 크기가 작고 하나의 일만을 수행하도록, 읽기 쉽도록 만들어야 모듈은 최대한 작게 만들어야! 장점 오류의 파급효과 최소화 모듈 재사용으로 개발 및 유지보수가 용이! 효과적인 모듈화 결합도를 줄이고 응집도를 높여 모듈의 독립성을 높임! ⭐ FAN-OUT 최소화, FAN-IN 증가 단위 모듈 설계의 원리 ⭐ 단계적 분해 : 처음엔 간단히 작성 → 점점 세밀히 작성 추상화 : 복잡한 문제 일반화 → 이해하기 쉽도록 독립성 : 응집도는 높이고 결합도를 낮춰 정보은닉 : 내부 데..