전체 글

공부한 내용을 정리합니다
Programming/Basics

프로그래밍 언어

프로그래밍 언어의 분류 빌드 방식에 따른 분류 컴파일 언어 C, C++ 등 인터프리터 언어 BASIC, Python 등 바이트 코드 언어 JAVA, Scala 등 절차적 프로그래밍 언어 C, COBOL, FORTRAN, BASIC 객체지향 프로그래밍 언어 특징 캡슐화 정보은닉 상속 다형성 추상화 종류 JAVA, 시뮬라67 스몰토크 오브젝티브-C C++ 파이썬 스크립트 언어 응용 프로그램 제어 종류 자바스크립트 JSP PHP ASP Perl Python VBScript 선언형 언어 종류 하스켈 HTML SQL 변수명 작성 규칙 대부분의 언어가 동일 영문자 또는 언더바로만 시작 가능 중간에 숫자와 언더바 사용 가능 중간에 공백 불가 언더바 이외의 특수문자 불가 대소문자 구분 예약어 불가 자료형 문자형 cha..

Computer Science/Network

네트워크, 데이터 교환 방식, 다중화, LAN

정보처리기사 필기 준비하며 정리한 내용입니다. 📌네트워크 거리 기반 네트워크 분류 PAN LAN MAN WAN 네트워크 토폴로지 Topology ⭐ 계층형 상위부터 트리형태 버스형 장애 시 전체 마비 성형 star ⭐ 중앙 장애시 전체 마비 링형 저렴. 충돌 없음. 구성변경 힘듦 장애 발생시 전체 마비 망형 mesh 전체가 그물로 얽힌 형태 회선수 : n(n-1) / 2 각 장치당 포트 수 : n-1 자기 빼고라서 📌데이터 전송 아날로그/디지털 아날로그 디지털 리피터 사용 방향 단방향 통신 Simplex 라디오 TV 등 반이중 통신 Half Duplex 무전기 (동시 전송 불가) 전이중 통신 Full Duplex 전화 컴 폰 등등 직렬/병렬 직렬 전송 Serial 한 비트씩 순서대로 느림 병렬 전송 Pa..

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에 의존한다 오류-부재의 궤변 사용자의 요구사항을 만족하지 못하는 오류를 고쳐봤자 품질이 높다고는 할 수 없다 테스트 프로세스 개발과 유사하다 테스트 계획 테스트 분석 및 디자인 테스트 케이스 및 시나리오작성 테스트 수행 테스트 결과 평가 및 리포팅 테스트 산출물 테스트 계획서 **테스트 케이스 (**케이스란 하나의 단위) 테스트를 위한 설..