분류 전체보기(313)
-
11. 응용 SW 기초 기술 활용
Chapter01 운영체제의 특징 (중요도: ★★★) ◆ 운영체제(OS: Operating System): 사용자가 컴퓨터의 하드웨어를 쉽게 사용할 수 있도록 인터페이스를 제공해주는 소프트웨어 ◆ 운영체제 종류: 윈도즈(Windows), 유닉스(Unix), 리눅스(Linux), 맥(Mac), 안드로이드(Android) ◆ 메모리 관리 기법 반입 기법: 메모리 적재 시기 결정(When) 배치 기법: 메모리 적재 위치 결정(Where) 할당 기법: 메모리 적재 방법 결정(How) 교체 기법: 메모리 교체 대상 결정(Who) ◆ 메모리 배치 기법 최초 적합(First-fit): 프로세스가 적재될 수 있는 가용 공간 중에서 첫 번째 분할에 할당하는 방식 최적 적합(Best fit): 가용 공간 중에서 가장 크기..
2022.09.23 -
10. 애플리케이션 테스트 관리
Chapter01 애플리케이션 테스트 케이스 설계 (중요도: ★★★) ◆ 애플리케이션 테스트: 애플리케이션에잠재되어 있는 결함을 찾아내는 일련의 행위 또는 절차 ◆ 애플리케이션 테스트 원리 완벽한 테스팅은 불가능: 결함을 줄일 수는 있으나, 결함이 없다고 증명할 수 없음 파레토 법칙(Pareto Principle): 20%에 해당하는 코드에서 전체 결함의 80%가 발견된다는 법칙 살충제 패러독스(Pesticide Paradox): 동일한 테스트를 반복하면 더 이상 결함이 발견되지 않는 현상 정황 의존성: 소프트웨어 성격에 맞게 테스트 실시 오류-부재의 궤변: 요구사항을 충족시키주지 못한다면, 결함이 없다고 해도 품질이 높다고 볼 수 없음 ◆ 프로그램 실행 여부에 따른 분류 정적 테스트: 테스트 대상을 실..
2022.09.23 -
9. 소프트웨어 개발 보안 구축
Chapter01 소프트웨어 개발 보안 설계 (중요도: ★★★) ◆ SW 개발 보안: 소프트웨어 개발 과정에서 지켜야 할 일련의 보안 활동 SW 개발 보안 생명주기: 요구사항 명세 → 설계 → 구현 → 테스트 → 유지보수 ◆ SW 개발 보안 3대 요소 기밀성(Confidentiality): 시스템 내의 정보와 자원은 인가된 사용자에게만 접근이 허용 무결성(Integrity): 시스템 내의 정보는 오직 인가된 사용자만 수정할 수 있음 가용성(Availability): 인가받은 사용자는 시스템 내의 정보와 자원을 언제라도 사용할 수 있음 ◆ DoS(Denial of Service) 공격: 시스템을 악의적으로 공객해서 해당 시스템의 자원을 부족하게 하여 원래 의도된 용도로 사용하지 못하게 하는 공격 ◆ DoS..
2022.09.23 -
8. 서버 프로그램 구현
Chapter01 개발환경 구축 (중요도: ★★★) ◆ 개발 도구 분류 빌드 도구: 작성한 코드의 빌드 및 배포를 수행하는 도구 (Ant, Maven, Gradle) 구현 도구: 코드의 작성과 디버깅, 수정 등과 같이 작업 시 사용되는 도구 (Eclipse, InteliJ, VS) 테스트 도구: 코드의 기능 검증과 전체의 품질을 높이기 위해 사용하는 도구 (xUnit, PMD, Sonar) 형상 관리 도구: 산출물에 대한 버전관리를 위한 도구 (Git, SVN, CVS) ◆ 서버 하드웨어 개발환경 웹 서버: HTTP를 이용한 요청/응답을 처리 (Apache 웹서버, 구글 웹서버) 웹 애플리케이션 서버(WAS): 동적 콘텐츠를 처리하고 제공하기 위해 사용 (Tomcat, Jeus, Resin) 데이터베이스..
2022.09.23 -
7. SQL 응용
Chapter01 데이터베이스 기본 (중요도: ★★★) ◆ 트랜잭션(Transaction): 인가받지 않은 사용자로부터 데이터를 보장하기 위해 DBMS가 가져야 하는 특성, 하나의 논리적 기능을 정상적으로 수행하기 위한 작업의 기본 단위 ◆ 트랜잭션 특성 원자성(Atomicity): 트랜잭션의 연산 전체가 성공 또는 실패되어야 하는 성질 (All or Nothing) 일관성(Consistency): 트랜잭션 수행 전과 트랜잭션 수행 완료 후의 상태가 같아야 하는 성질 격리성(Isolation): 동시에 실행되는 트랜잭션들이 서로 영향을 미치지 않어야 한다는 성질 영속성(Durability): 성공이 완료된 트랜잭션의 결과는 영속적으로 데이터베이스에 저장되어야 하는 성질 ◆ 트랜잭션 제어어(TCL, Tra..
2022.09.23 -
6. 프로그래밍 언어 활용
📌 프로그래밍 언어 유형 분류 ✅ 개발 편의성에 따른 분류 저급언어 : 기계가 이해할 수 있도록 만들어진 언어 e.g. 기계어, 어셈블리어 고급언어 : 개발자가 코드 작성시 쉽게 이해할 수 있도록 작성된 언어 e.g. C, C++, 자바, 파이썬 ✅ 실행방식에 따른 분류 명령형 언어 (절차형 언어) : 컴퓨터에 저장된 명령어들이 순차적으로 실행 e.g. FORTRAN, COBOL, PASCAL, C 객체지향 언어 : 객체 간 메세지 통신을 이용하여 프로그래밍 e.g. JAVA, C++ 함수형 언어 : 수학적 수식과 같은 함수들로 프로그램 구성하여 호출 e.g. LISP 논리형 언어 : 논리 문장을 이용하여 프로그램 표현하고 계산을 수행하는 개념에 기반한 프로그래밍 방식 e.g. Prolog ✅ 구현 기법..
2022.09.23