Switch에서 break 없으면 내려가는게 맞지만, 애초에 적용되는 항목이 없고 default가 없으면 실행 X
Switch(k++) 이면 case로는 'k' 상태로 맞는 항목 찾아야 하고, k 자체는 +1이 된다.
삼항 연산자 문법은 조건 ? 참일때 값 : 거짓일때 값
C++에서는 함수에 vitual 키워드가 있어야 오버라이딩 할 수 있고, 없으면 부모 클래스 함수 사용됨
C언어 등에서는 반복문에서 for(시작값, 끝값, 스텝)으로 이루어져 끝값까지 가고, 파이썬은 끝값 - 1 까지만 계산한다는 차이점 주의!!!
생성자 : 일반적으로 클래스의 멤버 변수를 초기화할 때 사용
소멸자 : 객체 제거하기 위한 목적으로 사용
자바에서 클래스 생성하기 위해서는 new 키워드 사용해야 함
카멜 표기법 : 여러 단어 이어지면 첫 단어 시작만 소문자로 하고 나머지 각 단어의 첫 글자는 대문자로 표기
파스칼 표기법 : 여러 단어 이어지만 각 단어의 첫 글자는 대문자로 표기
스네이크 표기법 : 단어 사이에 언더바 넣는 표기법
헝가리안 표기법 : 접두어에 자료형을 붙이는 표기법
객체지향 언어 : 객체 간 메시지 통신을 이용하는 것
명령형 언어 : 명령어를 순차적으로 실행되게 하는 것
함수형 언어 : 함수들로 프로그램을 구성하는 것 / 하스켈, 리스프
논리형 언어 : 논리 문장을 이용한다는 것 / 프롤로그
모듈 : 전역변수, 함수 등을 모아둔 파일 / [그하독]
라이브러리 : 공통적인 부분을 반복 개발하는 것을 피하기 위해 필요한 프로그램만을 모아 놓은 것
패키지 : 모듈을 디렉터리 형식으로 구조화한 라이브러리
알골 : 알고리즘의 연구개발에 이용하기 위한 목적
C언어 : 유닉스 운영체제에서 사용하기 위해 개발
베이직 : 교육용으로 개발
포트란 : 과학 기술 전문 언어
하스켈 : 패턴 맞춤 등의 기능이 존재
리스프(LISP) : 수학 표기법을 나타내기 위한 목적
프롤로그 : 논리식을 기반으로 객체간 관계에 관한 문제 해결을 위함
RSA : 1977년 3명의 MIT 수학교수가 고안, 소인수분해의 어려움을 이용한 공개키 암호화 알고리즘
유스케이스 다이어그램 : 시스템과 사용자의 상호작용을 다이어그램으로 표현, 사용자 관점에서 시스템의 서비스 및 그와 관련된 외부 요소를 보여주는 다이어그램
배치 다이어그램 : 컴포넌트 사이의 종속성을 표현하고 결과물, 프로세스, 컴포넌트 등 물리적 요소들의 위치를 표현하는 UML 다이어그램 (화면설계 글 참고)
UI 설계지침 [사일단예/가접명오] (화면설계 글 참고)
접근성 : 사용자의 직무, 연령, 성별 등이 고려된 다양한 계층을 수용해야 하는 지침
디지털 저작권 관리(DRM) 구성요소
콘텐츠 제공자 : 콘텐츠 제공하는 저작권자
콘텐츠 분배자 : 쇼핑몰 등에서 암호화된 콘텐츠 제공
패키저 : 콘텐츠를 메타 데이터와 함께 배포 가능한 단위로 묶는 기능
보안 컨테이너 : 원본을 안전하게 유통하기 위한 전자적 보안 장치
DRM 컨트롤러 : 배포된 콘텐츠의 이용권한을 통제
클리어링 하우스 : 소비자와 유통업자 사이에 발생하는 거래에 대해 디지털 저작권 라이선싱을 중개
CPU 스케줄링 기법 중 SRT 사용방법
각 프로세스 별로 도착 시간에 따라 순서대로 찍기
다만, 서비스 시간이 가장 적은 거부터 끝내고 종료 시간 적어놓기 (2에서 1시간 쓰면 종료시간은 3)
종료시간 전부 계산되었으면 종료시간 - 도착시간 = 반환시간 구하기
반환시간 - 서비스 시간 - 대기 시간 구하기
HRN : 대기 중인 프로세스 중 우선순위가 가장 높은 것을 선택하는 기법
HRN 우선순위 = (대기시간 + 서비스시간) / 서비스 시간
교착상태 : 다중프로세싱 환경에서 둘 이상의 프로세스가 특정 자원할당을 무한정 대기하는 상태
발생 조건 : 상호배제, 점유와 대기, 비선점, 환형 대기
문제) 사원 테이블에서 부서의 속성값을 인사, 전산, 기획으로 제한하고자 한다.
-> CREATE TABLE 사원 (부서 CHAR(15) CHECK(부서 IN ('인사', '전산', '기획'))
CREATE TABLE 제약조건 중 CHECK 은 개발자가 정의하는 제약조건으로 참이어야 하는 조건을 지정할 수 있다
IN 은 개별 집합을 나타낸다
SQL 문제 풀때, 집계함수가 사용되었으면 GROUP BY 쓸 생각하고 주의깊게 보기!!!
WHERE과 HAVING 중 어떤 것 써야하는지 파악하기
릴레이션 : 행과 열로 구성된 테이블
튜플 : 행
속성 : 열
카디널리티 : 튜플의 수(행의 수)
차수 : 속성의 수(열의 수)
SELECT * FROM 테이블명 ORDER BY 속성 DESC; -> DESC 위치 주의!!
SELECT DISTINCT 속성 FROM 테이블명; -> DISTINCT 위치 주의!!
LoC 모형 : 소프트웨어 각 기능의 원시 코드 라인 수의 낙관치, 중간치, 비관치를 측정하여 예측치 구하고 이를 이용해 비용 산정하는 모형
COCOMO 모형 : 보헴이 제안한 모형, 프로그램 규모에 따라 비용 산정하는 방식, MM으로 산정하는 모형
IGMP : 호스트 컴퓨터와 인접 라우터가 멀티캐스트 그룹 멤버십을 구성하는데 사용하는 통신 프로토콜
컴포넌트 기반 방법론 : 소프트웨어를 구성하는 컴포넌트를 조립해서 하나의 새로운 응용 프로그램을 작성하는 방법론
가상화 : 물리적인 하드웨어 장치를 논리적 객체로 추상화하는 기술, 물리적인 리소스들을 사용자에게 하나로 보이게 하거나, 하나의 물리적인 리소스를 여러 개로 보이게 하는 기술
허브 : 1계층 장비, 여러 대의 컴퓨터를 연결하여 네트워크로 보내거나 하나의 네트워크로 수신된 정보를 여러 대의 컴퓨터로 송신하기 위한 장비
[유논프구배]
유스케이스 뷰 : 유스케이스 또는 아키텍처를 도출하고 설계하며 다른 뷰 검증하는 데 사용되는 뷰
논리 뷰 : 시스템의 기능적인 요구사항이 어떻게 제공되는지 설명하는 뷰
프로세스 뷰 : 시스템의 비기능적 속성으로서 자원의 효율적인 사용 등을 표현한 뷰
구현 뷰 : 개발 환경 안에서 정적인 소프트웨어 모듈의 구성을 보여주는 뷰
배포 뷰 : 컴포넌트가 물리적인 아키텍처에 어떻게 배치되는가 매핑해서 보여주는 뷰
테스트 레벨 유형 [단통시인] 단위 테스트 / 통합 테스트 / 시스템 테스트 / 인수 테스트
테스트 케이스 : 테스트를 위한 설계 산출물로, 응용 소프트웨어가 사용자의 요구사항을 준수하는지 확인하기 위해 설계된 입력값, 조건, 기대결과로 구성된 테스트 항목 명세서
회귀 테스트 : 오류 제거하거나 수정한 시스템에서 오류 제거와 수정에 의해 새로이 유입된 오류가 없는지 확인하는 반복 테스트 기법, 유지보수 시에 활용
회복 테스트 : 시스템에 고의로 실패를 유도하고, 정상적 복귀 여부를 테스트하는 기법
테스트 커버리지 : 주어진 테스트 케이스에 의해 수행되는 소프트웨어 테스트 범위를 측정하는 테스트 품질 측정 기준
조건/결정 커버리지 테스트 : 전체 조건식 뿐만 아니라 개별 조건식도 참 한번, 거짓 한번 결과가 되도록 수행
[동워인]
인스펙션 : 저작자 외 다른 전문가 또는 팀이 검사하여 문제 식별하고 문제에 대한 올바른 해결을 찾아내는 기법
클라우드 컴퓨팅 : 인터넷을 통해 가상화된 컴퓨터 시스템 리소스를 제공하고, 정보를 자신의 컴퓨터가 아닌 클라우드에 연결된 다른 컴퓨터로 처리하는 기술
살충제 패러독스 : 동일한 테스트 케이스에 의한 반복 테스트는 새로운 버그를 찾지 못한다는 원리
프로토콜의 기본요소 3가지 : [구의타] 구문 / 의미 / 타이밍
제품 패키지 릴리스 노트의 작성 항목 중 헤더 : 기본 사항들을 작성(문서이름, 제품이름, 버전번호 등)
물리 계층 : 비트를 전송하는 계층, 1계층
애플리케이션 성능 측정 지표 : 처리량 / 응답시간 / 경과시간 / 자원사용률
정적 분석 도구 : 애플리케이션을 실행하지 않고, 소스코드에 대한 코딩 표준, 코딩 스타일, 코드 복잡도 및 남은 결함을 발견하기 위해 사용하는 도구
요구사항 확인 글의 디자인 패턴 다시 보기!!
SOAP : HTTP, HTTPS, SMTP 등을 사용하여 XML 기반의 메시지를 네트워크 상태에서 교환하는 프로토콜
Linked Open Data : 전 세계 오픈된 정보를 하나로 묶는 방식으로 Link data와 Open data의 합성어
chmod 751 a.txt : 사용자에게 읽기/쓰기/실행 권한 부여하고 그룹에게는 읽기/실행, 그 이외에는 실행권한 부여
읽기(4), 쓰기(2), 실행(1)