IV. 프로그래밍 언어 활용 - 서버프로그램 구현 (3)
(1) 보안 취약성 식별 1. 보안 취약성의 개념 - 정보 시스템에 불법적인 사용자의 접근을 허용할 수 있는 위협 2. 침투 테스트 - 위험한 코드 삽입, SQL 삽입, 매개변수화 등의 부적절한 보안 조치를 식별하고 평가 - 절차 : 정찰 ,탐색, 접근 권한 취득, 액세스 유지, 추적 방지 3. 취약성 공격 - 공격자가 원하는 결과를 얻기 위한 행위. 랜섬웨어도 포함됨. 4. 취약성에 따른 공격 기법 - 서비스 거부(Dos), 코드 실행, 버퍼 오버플로우, 정보 수집, 권한 상승, SQL인젝션, 크로스 사이트 스크립팅(XSS) 등 5. 시큐어 코딩 - 개발자의 실수, 논리적 오류 등으로 인해 SW의 보안 취약점을 최소화하고 안전한 소프트웨어를 개발하기 위한 활동 (2) API 1. API (Applica..
IV. 프로그래밍 언어 활용 - 서버프로그램 구현 (2)
(1) 재사용 1. 재사용의 개념 - 개발 시간 및 비용 절감을 위하여 검증된 기능을 파악하고 재구성하여 시스템에 응용하기 위한 최적화 작업 2. 재사용의 유형 - 함수/객체 재사용, 컴포넌트 재사용, 애플리케이션 재사용 3. 재사용 프로그래밍 기법 - 객체지향, 제네릭, 자동, 메타 프로그래밍 (2) 모듈화 1. 모듈화 개념 - 프로그램 개발 시 생산성과 최적화, 관리에 용이하게 기능 단위로 분할하는 기법 2. 모듈화 장점 - 효율적 관리 및 성능 향상 - 용이성 증대와 복잡성 감소 - 인터페이스 단순화 - 유지보수 용이 3. 모듈화 원리 - 분할과 정복, 정보 은닉, 데이터 추상화, 모듈 독립성 4. 모듈화 측정 지표 - 응집도, 결합도 5. 모듈화 유형 - 모듈, 컴포넌트, 서비스, 함수, 매크로,..
IV. 프로그래밍 언어 활용 - 서버 프로그램 구현 (1)
(1) 개발 환경 구축 1. 개발환경 구축의 개념 - 개발환경 구축시 도구, 사용 편의성, 라이선스 등 내용 파악 필요 2. 개발 도구의 분류 - 빌드 도구, 구현 도구, 테스트 도구, 형상 관리 도구 3. 하드웨어 구성요소 1) 하드웨어 개발환경 - 서버 하드웨어 개발환경 : 웹 서버, 웹 애플리케이션 서버, 데이터베이스 서버, 파일 서버 - 클라이언트 하드웨어 개발환경 : 클라이언트 프로그램, 웹 브라우저, 모바일 앱, 모바일 웹 2) 소프트웨어 개발환경 - 운영체제, 미들웨어, DBMS 3) 형상 관리 - 개념 : 소프트웨어 개발을 위한 전체 과정에서 발생하는 모든 항목의 변경사항 관리활동 - 목적 : 제품의 무결성과 변경에 대한 추적성 확보 - 절차 : 식별, 통제, 감사, 기록 4. 개발환경 구..
III. 데이터베이스 구축 - SQL 활용 (1)
(1) 데이터 정의어 (DML) 1. 데이터 정의어 (DML : Data Definition Language) 개념 - 데이터를 정의하는 언어. 테이블을 생성, 변경, 삭제, 이름을 바꾸는 명령어들을 칭함 2. DDL 대상 - 도메인, 스키마, 테이블, 뷰, 인덱스 3. DDL 명령어 - CREATE(생성), ALTER(수정), DROP, TRUNCATE(삭제) 4. 제약 조건 적용 - 테이블 생성시 부적절한 자료가 입력되는 것을 방지 하기 위해 사용. 종속성이 존재할 경우 테이블 삭제 등을 방지 (2) 관계형 데이터 모델 1. 관계형 데이터 모델 개념 - 보편적인 데이터 모델로 계층모델과 망 모델의 복잡한 구조를 단순화 시킨 모델 (3) 트랜잭션 1. 트랜잭션 (Transaction)의 개념 - 논리적..