목록전체 글 (225)
그냥 게임개발자
1과목 UML의 관계 1. 연관관계 : 실선 화살표 2. 집합관계(Aggregation) : 빈 마름모 하나의 사물이 다른 사물에 포함되어 있는 관계를 표현, 포함하는 쪽(전체)으로 빈 마름모 연결 3. 포함관계(Composition) : 속이 채워진 마름모 집합 관계보다 강함 4. 일반화관계(Genalization) : 빈 화살표 하위(구체적) 사물에서 상위(일반적) 사물쪽으로 속 빈 화살표 5. 의존관계(Dependency) : 점선 화살표 짧은 시간동안 연관 유지, 영향을 받는 쪽으로 점선 화살표 6. 실체화 단계(Realization): 속이 빈 점선 화살표 사물이 할 수 있거나 해야 하는 기능. 서로를 그룹화 할 수 있는 관계를 표현, 기능 쪽으로 빈 점선 화살표 연결 디자인 패턴 종류 - 생성..
11과목 세마포어 (Semaphore) - 멀티프로그래밍 환경에서 공유 자원에 대한 접근을 제한하는 기법 - 한 프로세스에서 세마포어의 값을 변경하는 동안 다른 프로세스가 동시에 값을 변경해서는 안됨 - 세마포어는 P, V연산을 기반으로 구현 클라우드와 빅데이터 관련 기술 도커(Docker) : 컨테이너 응용프로그램의 배포 자동화 오픈 소스 스크레파이(Scrapy) : 웹사이트 클로링하여 구조화된 데이터를 수집하는 파이썬 기반 프레임워크 프로세스 상태 전이 디스패치(Dispatch) : 준비 상태에 있는 여러 프로세스 중 실행될 프로세스를 선정하여 CPU 할당 문맥 교환(Context Switching) : CPU가 현재 실행하고 있는 프로세스의 문맥 상태를 프로세스 제어블록(PCB)에 저장하고 다음 프..
Chapter01 제품 소프트웨어 패키징 ■ 제품 소프트웨어 패키징(Product Software Packaging) : 개발이 완료된 제품 소프트웨어를 고객에게 전달하기 위한 형태로 포장하는 과정 사용자 중심의 모듈 패키징 프로세스 : 기능 식별 -> 모듈화 -> 빌드 진행 -> 사용자 환경 분석 -> 패키징 적용 시험 -> 패키징 변경 개선 ■ 릴리즈 노트(Release Note) : 고객에게 개발 과정에서 정리된 제품의 릴리즈 정보를 제공하는 문서 릴리즈 노트 작성 프로세스 : 모듈 식별 -> 릴리즈 정보 확인 -> 릴리즈 노트 개요 작성 -> 영향도 체크 -> 정식 릴리즈 노트 작성 -> 추가 개선 항목 식별 ■ 제품 소프트웨어 패키징 도구 : 배포를 위한 패키징 시에 디지털 콘텐츠의 지적 재산권..
Chapter01 운영체제의 특징 ■ 운영체제(OS: Operating System) : 사용자가 컴퓨터의 하드웨어를 쉽게 사용할 수 있도록 인터페이스를 제공해주는 소프트웨어 운영체제는 크게 인터페이스(쉘) + 커널의 구조 커널(Kernel) : 운영체제의 핵심이 되는 기능들이 모여 있는 컴퓨터 프로그램 ■ 운영체제 종류 : 윈도즈, 유닉스, 리눅스, 맥, 안드로이드 윈도즈 : MS-DOS의 멀티태스킹 기능과 GUI 환경을 제공하는 마이크로소프트사가 개발한 운영체제 윈도즈 운영체제 특징(지선자오) GUI 제공 : 키보드 없이 마우스로 아이콘이나 메뉴 선택 선점형 멀티태스킹 방식 제공 : 동시에 여러 개의 프로그램 실행, 각 작업 CPU 이용 시간 제어 자동감지 기능 제공 : 하드웨어 설치 필요한 시스템 ..
Chapter01 애플리케이션 테스트 케이스 설계 소프트웨어 테스트 : 개발된 응용 애플리케이션이나 시스템이 사용자가 요구하는 기능과 성능, 사용성, 안정성 등을 만족하는지 확인하고, 노출되지 않은 숨어있는 소프트웨어의 결함을 찾아내는 활동 소프트웨어 테스트 필요성(발예향) 오류 발견 관점 : 프로그램에 잠재된 오류를 발견하고 이를 수정하여 올바른 프로그램을 개발하기 위해 필요 오류 예방 관점 : 프로그램 실행 전에 동료 검토, 워크 스루, 인스펙션 등을 통해 오류를 사전에 발견하는 예방 차원의 필요 품질 향상 관점 : 사용자의 요구사항 및 기대 수준을 만족하도록 반복적인 테스트를 거쳐 제품의 신뢰도를 향상하는 품질 보증을 위해 필요 소프트웨어 테스트 원리 결함 존재 증명 : 결함이 존재함을 밝히는 활동..
Chapter01 소프트웨어 개발 보안 설계 SW 개발 보안 : 소프트웨어 개발 과정에서 지켜야 할 일련의 보안 활동 SW 개발 보안 생명주기 : 요구사항 명세 -> 설계 -> 구현 -> 테스트 -> 유지보수 SW 개발 보안 3대 요소 (기무가) 기밀성(Confidentiality) : 시스템 내의 정보와 자원은 인가된 사용자에게만 접근이 허용 무결성(Integrity) : 시스템 내의 정보는 오직 인가된 사용자만 수정 가능 가용성(Availability) : 인가받은 사용자는 시스템 내의 정보와 자원을 언제라도 사용가능 SW 개발 보안 용어 자산 : 조직의 데이터 또는 조직의 소유자가 가치를 부여한 대상 위협 : 조직이나 기업의 자산에 악영향을 끼칠 수 있는 사건이나 행위 취약점 : 위협이 발생하기 위..
Chapter01 개발환경 구축 개발 도구 분류 빌드 도구 : 작성한 코드의 빌드 및 배포를 수행하는 도구 (Ant, Maven, Gradle) 구현 도구 : 코드의 작성과 디버깅, 수정 등과 같이 작업 시 사용되는 도구 (Eclipse, InteliJ, VS) 테스트 도구 : 코드의 기능 검증과 전체의 품질을 높이기 위해 사용하는 도구 (xUnit, PMD, Sonar) 형상 관리 도구 : 산출물에 대한 버전관리를 위한 도구 (Git, SVN, CVS) 서버 하드웨어 개발환경 웹 서버 : HTTP를 이용한 요청/응답을 처리 (Apache 웹서버, 구글 웹서버) 웹 애플리케이션 서버(WAS) : 동적 콘테츠를 처리하고 제공하기 위해 사용 (Tomcat, Jeus, Resin) 데이터베이스 서버 : 데이터..
Chapter01 데이터베이스 기본 트랜잭션(Transaction) - 인가받지 않은 사용자로부터 데이터를 보장하기 위해 DBMS가 가져야 하는 특성, 하나의 논리적 기능을 정상적으로 수행하기 위한 작업의 기본 단위 트랜잭션 특성 원자성(Atomicity) - 트랜잭션의 연산 전체가 성공 또는 실패가 되어야 하는 성질 일관성(Consistency) - 트랜잭션 수행 전과 트랜잭션 수행 완료 후의 상태가 같아야 하는 성질 격리성(Isolation) - 동시에 실행되는 트랜잭션들이 서로 영향을 미치지 않아야 하는 성질 영속성(Durability) - 성공이 완료된 트랜잭션의 결과는 영속적으로 데이터베이스에 저장되어야 하는 성질 트랜잭션 제어어(TCL, Transaction Control Language) -..