
[알고리즘의 규칙]
수의 변수는 어디선가 증감한다 ex> 1=1+1 , 1=1-1
합의 초기값은 별도의 설정이 없을때 0으로 선언 ex> sum=0
합의 공식 : 합=합+수 ex> sum=sum+i
평균의 공식 : 평균=합/개수 ex> avg=sum/cnt
부호의 변경(+ <> -) ex> s=s*(-1)
배열의 시작값은 대부분 0으로 시작한다 ex> ar[5] =ar[0] ar[1] ...
최대값의 초기값은 가장 작은수 ex> max=0
최대값과 수를 비교하여 수가 크면 최대값 교체 ex> max < i --> max =i
최소값의 초기값은 가장 큰수 ex> min=100
최소값과 수를 비교하여 수가 작으면 최소값 교체 ex> min > i --> min = i
몫은 / 로 표시 ex> 5/2=2 , 4/2=2
나머지는 % 또는 mod로 표시 (프로그램에선 % 만사용) ex> 5 mod 2 = 1, 5 % 2 = 1
나머지를 활용하여 배수 표현 ex> 수 mod2 = 0 은 짝수 / 수 mod 2!= 0은 홀수 수 mod3==0은 3의 배수
- ★ 3과 7의 공배수 : (A MOD 3 = 0) AND (A MOD 7 = 0 )
- 또는 A MOD 21 = 0
- 또는 a%3 == 0 && a%7 == 0
- 또는 a%21 == 0 / A%21 = 0
순위의 초기값은 1 ex> rank =1 ( 각 값을 비교하여 작을경우 순위증가시킴
-------------------------------------------------------------------------------------------------
프로그래밍
산술연산자 : + - * / % 우선순위: ( ) -> /,*,% -> +,-
관계연산자 : > < >= <= == !=
초과 미만 이상 이하 같다 다르다 (!는 not연산)
비트연산자 : 10진수를 2진수로 변환하여 논리연산
ex> a=5,b=2 // a 0101 b 0010
c= a&b // 0000
c=0
증감연산자 : 값을 증가하거나 감소하는 연산자
ex> 전위 : ++a, --a 증감후 연산
후위 : a++, a-- 연산후 증감
삼항연산자 : 조건 ? true : false
시프트연산자 : >> << 비트의 위치를 x칸만큼 이동
num=5; // 0000 0101
result = num << 2 // 0001 0100 (20)
result = 20
for문 : 지정한 횟수만큼 반복 = for(기준값; 조건; 증감)
while문 : 조건에 부합하는 동안 반복 = while(조건) ex> while(i<5) {
Switch case: case의 값과 일치하면 해당문 실행( break문 유무에 따라 실행결과 상이)
break문이 없으면 일치한 실행문부터 끝까지 출력
재귀함수 : 함수에서 자기 자신을 다시 호출하여 수행
ex>
int fact(int n)
{
if(n==1)
return 1;
return n*fact(n-1);
}
void main()
{
int n=5;
printf("%d", fact(n));
}
결과값 : 120
-----------------------------------------------------------------------------------------------------------
[데이터베이스]
DBA : 데이터베이스 관리자
DBMS : 데이터베이스 관리 시스템 ex> MySQL : 오라클사의 RDBMS
데이터베이스 : 자료(Data)의모임
특징 : 실시간접근성,지속적인변화,동시공유,상호참조,데이터논리적 독립성
* 데이터베이스 정규화 : 불필요한 데이터 제거
데이터베이스 설계
요구조건분석 -> 개념적설계 -> 논리적 설계 -> 물리적설계 -> 구현
스키마 (Schema) : 데이터베이스 전반적인 명세
외부스키마 : 개인의관점 / 서브스키마*
개념스키마 : 조직적관점 / 논리스키마*
내부스키마 : 시스템 프로그래머의 관점
Degree(디그리; 차수) : 속성의개수 (가로)
속성(attribute), 필드(filed)
Cardinality(카디널리티; 기수) : 튜플의 개수 (세로)
튜플(Tuple), 레코드(record)
트랜잭션 : 하나의 작어 수행을 위한 연산들의 집합
ACID : 원자성(Atomicity), 일관성(Consistency), 독립성(Lslation), 지속성(Durability)
SQL : 데이터베이스 질의어
Structured Query Language : 정의어(DDL), 조작어(DML), 제어어(DCL)
[ 데이터베이스 정의어 = DDL ]
생성 : CREATE TABLE 테이블명
변경 : ALTER TABLE 테이블명 ADD 컬럼명 데이터타입
제거 : DROP TABLE 테이블명 [CASCADE/RESTRICT]
초기화 : TRUNCATE 테이블명
CREATE 컬럼명 FROM 테이블 WHERE 조건문
CREATE VIEW 뷰이름 AS SELECT 컬럼1, 컬럼2 ...
FROM 테이블 WHERE 조건문
* VIEW : 유도된 가상 테이블
ALTER TABLE 테이블명 ADD 컬럼명 데이터타입
- ALTER ADD : ALTER문의 열 추가
ALTER TABLE 테이블명 MODIFY 컬럼명 데이터타입
- ALTER MODIFY : ALTER문의 타입 변경
ALTER TABLE 테이블명 DROP 컬럼명
- ALTER DROP : ALTER문의 열 삭제
DROP TABLE 테이블명 RESTRICT
- RESTRICT : 참조 시 삭제 취소
DROP TABLE 테이블명 CASCADE
- CASCADE : 참조 삭제
SELECT DISTINCT 컬럼명 FROM 테이블명
- DISTINCT : 중복제거
[ 데이터베이스 조작어 = DML ]
검색 : SELECT 컬럼명 FROM 테이블명
갱신 : UPDATE 테이블명 SET 컬럼명 = 수정값
삭제 : DELETE [FROM] 테이블명
삽입 : INSERT INTO 테이블명 VALUES 입력값1,입력값2...
SELECT 컬럼명 FROM 테이블명 WHERE 조건문
- WHERE : SQL 기본 조건문
SELECT 컬럼명 FROM 테이블명 ORDER BY 컬럼명 ASC
- ORDER BY : 정렬 (ASC : 오름차순 / DESC : 내림차순)
SELECT 컬럼명 FROM 테이블명 GROUP BY 컬럼명 HAVING 조건문
- GROUP BY : 그룹 (조건 작성 시 HAVING)
SELECT 컬럼명 FROM 테이블1 LEFT JOIN 테이블2 ON 테이블1. 컬럼명 = 테이블2.컬럼명
- 조인 : INNER JOIN / OUTER JOIN(LEFT/RIGHT/FULL)
SELECT 작성 순서
SELECT - FROM - WHERE - GROUP BY - HAVING - ORDER BY
SELECT 실행 순서
FROM - WHERE - GROUP BY - HAVING - SELECT - ORDER BY
[ 데이터베이스 제어어 = DCL ]
완료 : COMMIT
취소 : ROLLBACK
권한부여 : GRANT SELECT ON 테이블명 TO 컬럼명
권한제거 : REVOKE SELECT ON 테이블명 FROM 컬럼명
UNION : 합집합(중복제거)
UNION ALL : 합집합(중복포함)
INTERSECT : 교집합
MINUS : 차집합
기본키 : 후보키중 선정된 키 / 중복불가*
후보키 : 유일성 만족 / 최소성 만족
슈퍼키 : 유일성 만족 / 최소성 불만족
대체키 : 기본키로 선택되지 못한 후보키
외래키 : 다른 테이블의 행 식별 키
데이터베이스 이상현상(Anomaly; 아노말리)
- 데이터 불일치 현상
- 삽입이상 / 삭제이상 / 갱신이상
관계대수 : 정보 유도 절차적 언어
관계해석 : 정보 명시 비절차적 언어
-----------------------------------------------------------------------------------------------------------
[ 운영체제(Operating System) ] : 컴퓨터 하드웨어와 사용자간에 위치 / 하드웨어 및 소프트웨어의 자원 등을 관리
운영체제의 목적 : 처리능력,사용가능도,신뢰도 향상 / 반환시간 단축
운영체제의 발전과정 : 일괄-실시간-다중프로그래밍-시분할-다중처리-범용시스템-분산처리
윈도우 : 선점형 멀티태스킹, GUI , PNP , NTFS
도스 : CLI ( CUI ) = 문자기반 유저 인터페이스
유닉스 : 다중사용자,멀티태스킹,CLI,시분할
리눅스 : 오픈소스 운영체제 (유닉스를 기반으로 개발)
핫스왑 : [전원ON] 장치연결O
- 시스템전원이 켜진상태에서 외부장치를 연결및 제거
핫플러그 : [전원OFF] 장치연결O
- 시스템전원이 꺼진상태에서 외부장치를 연결및 제거
i-node : 자료구조(Unix)
- 정규파일,디렉터리 등 파일시스템에 관한 정보 보유
심볼릭링크,소프트링크 : 바로가기(Unix)
- 링크파일 삭제시 , 원본유지
하드링크 : 원본과 동기화된 바로가기 (Unix)
- 링크파일 삭제시, 원본삭제
FAT12,16,32 파일시스템
- 연결리스트 형태의 자료 구조/ 긴 검색 시간
NTFS 파일 시스템
- FAT과 HPFS의 단점을 개선
UFS파일 시스템
- EXT2 : UFS에서 불필요한 구조들을 제거한 유닉스 파일 시스템
- EXT3 : EXT2에서 저널링 기능을 추가한 유닉스 파일 시스템
가상화(Virtualization) : 단일 호스트에서 다수의 서로다른 운영체제를 구동지원하는ㄱ ㅣ능
하이퍼바이저(Hypervisor) : 단일 호스트에서 다수의 운영체제를 가상으로 구동지원
윈도우 대표 단축키
Win키
D : 바탕화면
M : 열린창 최소화
E : 탐색기실행
R : 실행창
F : 찾기
X : 윈도우 시스템 관리
I : 윈도우설정(제어판)
L : 사용자전환 / 윈도우 잠금
P : 프로젝트 창 실행
Pause : 시스템요소확인
Tab : 태스크 바 실행
Shift + S : 캡쳐도구 실행
프로세스 상태전이
생성 준비 실행 종료
프로세스 스케줄링 : 자원들의 우선순위관리
선점형: 이미실행중인 프로세스라도 강제로 빼앗음
- RR , SRT , 다단계큐 , 다단계피드백큐
비선점형 : 실행중인 프로세스를 못빼앗음, 순서대로
- FIFO(FCFS), SJF , HRN , 우선순위
ipv4 : 유니 멀티 브로드
ipv6 : 멀티 애니 유니
adhoc network : 자율구조 네트워크
- 노드에 의해 자율적으로 구성된 기반구조 없는 네트워크
[ 어플리케이션 테스트 ]
V모델 : 소프트웨어 개발 프로세스인 폭포수 모델의 확장된 형태
요구사항분석 인수테스트
기능명세분석 시스템테스트
설계디자인 통합테스트
개발 단위테스트
결함(Defect) : 프로그램과 명세서 간의 차이, 업무내용불일치, 기대결과와 실제 관찰 결과 간의 차이
결함 심각도 : 결함이 전체 시스템에 미치는 영향의 척도
high : 프로세스를 진행할수 없을 정도의 결함 / 시스템다운
Medium : 시스템 흐름에 영향을 미치는 결함 / 보안 관련 오류
Low : 상황에 맞지 않는 결과 및 화면구성 결함 / 에러 메세지 미출력
결함 검사
Fixed : 수정
Assigned : 결함 할당
Open : 결함 보고(분석 전)
Closed : 수정 후 결함 미발견
Deferred : 수정 연기
Clarified : 비결함
결함(Fault) : 의도와 다른 동작 & 결과
- 개발자가 설계한 의도와 다른동작과 결과를 발생시키는것
결함(Fault)관리 프로세스 과정
관리계획 - 기록 - 검토 - 수정 - 재확인 - 상태추적 - 최종분석
에러 : 개발중 발생한 부정확한 결과
오류 : 프로그램 버전간의 차이로 발생
실패 : 프로그램 버전간의 실행 결과의 차이
휴먼에러 : 원인이 인간의 실수인 에러
코드 인스펙션 : 자동화도구사용, 결함발견/수정
워크스루 : 코드품질평가,개선목적검토
살충제 패러독스 : 동일한 테스트의 비정상적인 결함 검수
테스트 케이스 : 요구사항 준수 여부 확인용 입력값
스텁 : 하위모듈 테스트 진행
- 상위모듈은 있지만 하위모듈이 없을떄 진행하는 하향식 테스트
드라이버 : 상위모듈 테스트 진행
- 하위모듈은 있지만 상위모듈이 없을때 진행하는 상향식 테스트
유스케이스 : 사용자 시스템 동작 시나리오
- 시스템 요구사항을 알아내는 과정이자 동작을 표현한 시나리오
유스케이스 다이어그램 : 시스템 간 상호작용 표현
- 시스템범위,엑터,유스케이스,관계
블랙박스 테스트 : 사용자관점★ / 명세 기반
-균등분할 / 한계값 테스트 / 원인효과그래프테스트 / 비교테스트
화이트박스 테스트 : 개발자 관점★ / 내부구조 & 동작검사
- 기초경로 테스트 / 제어흐름테스트 / 조건테스트 / 루프테스트 / 데이터흐름테스트 / 분기테스트
테스트오라클 : 사전 정의된 참 값을 대입비교
참 오라클 : 기대 결과 생성 후 오류 검출
샘플링 오라클 : 특정 입력값의 기대 결과 제공
휴리스틱 오라클 : 확률/직관,추정에 의한 예상결과
일관성 검사 오라클 : app. 변경 전후의 값 동일 여부 검증
소프트웨어 아키텍처
- 소프트웨어의 골격이 되는 기본 구조
- 구성요소 간의 관계를 표현하는 시스템 구조체
- 설계 기본원리 : 모듈화 / 추상화 / 단계적 분해 / 정보은닉
JAVA : 썬 마이크로시스템즈 개발 객체지향 언어
C : B언어에서 파생된 언어
xUnit : 테스트 프레임워크 (JAVA : Junit,C++ : CppUnit)
JSON : XML의 단점을 보완한 JSP기반 독립형 언어
AJAX : 비동기식 자바스크립트와 XML의 약자
#include<stdio.h>
#define K 5
int n = 0;
int b[K]={1,0,1,1,0}, temp;
int i, j;
for(i=0; i<k; i++){
temp = 1;
for(j=1; j<=k-1-i; j++){
temp = temp * 2;
}
n = n + temp* b[i];
}
printf("%d", n);
}
'Licences' 카테고리의 다른 글
AWS-SAA (진행중) (0) | 2022.08.03 |
---|---|
2022-05-21 리눅스마스터 1급 (0) | 2022.08.01 |
2021-09-17 정보기기운용기능사 (0) | 2022.08.01 |
2021-06-12 리눅스마스터 2급 (0) | 2022.08.01 |
2021-06-01 네트워크 관리사 2급 (0) | 2022.08.01 |