※ 각 내용의 출처가 있는 경우, 관련 내용 안에 링크를 걸어 두었습니다.

💡 네트워크

애드혹 네트워크(Ad-hoc Network)

네트워크 장치를 필요로하지 않고 네트워크 토폴로지가 동적으로 변화되는 특징이 있으며 응용 분야로는 긴급 구조, 긴급 회의, 전쟁터에서의 군사 네트워크에 활용되는 네트워크. 빠른 망 구성과 저렴한 비용을 특징으로 갖는다.

+ 추가 네트워크 종류

메시 네트워크(Mesh Network)

차세대 이동통신, 홈네트워킹, 공공 안전 등 특수 목적을 위한 새로운 방식의 네트워크 기술

 

USN(Ubiquitous Sensor Network)

각종 센서로 수집한 정보를 무선으로 수집할 수 있도록 구성한 네트워크, 즉 필요한 모든 것에 RFID 태그를 부착하고, 이를 통해 사물의 인식 정보는 물론 주변의 환경정보까지 탐지하여 이를 네트워크에 연결하여 정보를 관리하는 것을 의미

 

SON(Self Organizing Network)

주변 상황에 맞추어 스스로 망을 구성하는 네트워크

 

WBAN(Wireless Body Area Network)

웨어러블 또는 몸에 심는 형태의 센서나 기기를 무선으로 연결하는 개인 영역 네트워크 기술

💡 UX, UI

UX

User Experience, 사용자의 감정이나 경험

 

UI

User Interface, 사용자 인터페이스, CLI

💡 트랜잭션의 특징

트랜잭션의 특징에는 원자성, 일관성, 독립성, 지속성이 있다.

원자성 Atomicity - 트랜잭션이 모두 DB에 반영되거나 반영되지 않거나를 뜻한다.

일관성 Consistency - 트랜잭션 작업 처리 결과가 항상 일관성이 있어야 한다.

독립성 Isolation - 둘 이상의 트랜잭션이 동시에 실행되고 있을 경우, 어떤 하나의 트랜잭션이라도 다른 트랜잭션의 연산에 끼어 들수 없다는 점

지속성 Durability - 트랜잭션이 성공적으로 완료되었을 경우에 결과는 영구적으로 반영되어야 한다는 점

💡 정규화

제1정규화 - 속성이 원자값이 되도록!

제2정규화 - 부분적 함수 종속성 제거, 즉, 완전함수가 되도록 해준다.

여기서 부분적 함수 종속성이란 기본키의 부분집합이 결정자가 되지 않도록 하는 것이다. 예를 들어, 학생번호와 강좌이름이 기본키라고 한다면, 여기서 강좌이름만을 가지고 결정할 수 있는 다른 컬럼이 존재하지 않아야 한다.

제3정규화 - 이행적 종속을 없애는 것. 

예를 들어, 학생번호 ➡ 강좌이름 ➡ 수강료와 같이 이행관계가 성립하는 경우 테이블을 분해한다.

BCNF 정규화 - 모든 결정자가 후보키가 되도록 한다. 

예를 들어, 학생번호, 특강이름, 교수 관계에서 기본키는 학생번호와 특강이름이다. 여기서 결정자가 될 수 있는 학생번호와 특강이름이 각각 후보키가 되어 교수와 연결될 수 있도록 두 개의 테이블로 만드는 것을 말한다.

💡 SQL

튜플 수정을 위해서는 아래와 같이 작성한다.

UPDATE 테이블명 SET 컬럼 = 값 WHERE 점수>=90;

💡 SQL

INNER JOIN

SELECT ... FROM 학생정보 a JOIN 학과정보 b ON a.학과 = b.학과

💡 파이썬 출력값

a = 100
result = 0
for i in range(1,3);
   result = a >> i
   result = result + 1
print(result)

여기서 >> 연산은 비트연산자인 시프트 연산자라고 한다. 시프트 연산자는 2진수로 된 비트를 이동시키는 연산자이다. << 는 비트를 왼쪽으로, >> 는 비트를 오른쪽으로 이동시킨다.

 

  • range(1,3)이므로 1, 2만을 수행한다.
  • 100은 2진수로 표현하면 1100100 이다.
  • 100>>1 은 110010 이 된다. 즉, 50 이다. 그리고 1을 더해 51이 된다.
  • 그럼 다시 100>>2 는 어떻게 될까? 1100100을 오른쪽으로 2칸 이동한다.  11001이 되므로 25가 된다.
  • 따라서, 25에 1을 더한 26이 정답이다.

여기서 주의할 점은 시프트 연산시, a 값은 100으로 변화가 없다는 점이다.

💡 AES (Advanced Encryption Standard)

미국 국립 표준 기술연구소(NIST)가 DES를 대체해서 만든 암호화 알고리즘이다.

128 비트 블록 크기와 128,192,256비트 키 크기의 대칭 키 암호와 방식은 AES다.

💡 화이트박스 테스트

문장 검증 기준 Statement Coverage

소스 코드의 모든 구문을 한 번 이상 수행되도록 항목 설계

 

분기 검증 기준 Branch Coverage, 결정 커버리지 Decision coverage

소스 코드의 모든 조건문을 한 번 이상 수행되도록 항목 설계

 

다중 조건 커버리지 Multiple Condition Coverage

결정 포인트 내에 있는 모든 개별조건식의 모든 가능한 논리적인 조합을 고려하여 100% 커버리지를 보장

 

조건 커버리지 Condition Coverage

전체 조건식의 결과와 상관없이 소스 코드의 모든 조건문의 참, 거짓을 각 한 번 이상 수행되도록 항목 설계

결정 커버리지보다 강력한 검증기법

 

분기/조건 기준 Brache/Condition Coverage

소스 코드의 모든 조건문과 각 조건문에 포함된 개별 조건식의 결과가 참, 거짓인 경우 각각 한 번 이상 수행되도록 항목 설계

 

변형 조건 / 결정 커버리지 Modified Condition/Decision Coverage; MC/DC

각 개별조건식이 다른 개별조건식에 무관하게 전체조건식의 결과에 독립적으로 영향을 주도록 함으로써 조건/결정 커버리지를 향상시킨 것으로 결정 커버리지 조건/결정 커버리지보다 강력

💡 블랙박스 테스트

동치분할 테스트(=동치 클래스 분해, 동등 분할) Equivalence Partitioning Testing

정상적인 입력자료와 비정상적인 입력자료의 개수를 균등하게 해서 테스트 케이스를 정하고 해당 입력 자료에 맞는 결과가 출력되는지 확인하는 기법
ex) 어떤 값이 입력되었을때 예상되는 결과값을 테스트케이스로 잡고 실제로 테스트 했을때 예상되는 결과값이 나오는지 확인하는것

 

경계값 분석 Boundry Value Analysis

입력 조건의 중간값 보다 경계값에서 오류발생 확률이 높기 때문에 경계값을 테스트 케이스로 선정하여 검사하는 기법

 

원인-효과 그래프 검사 Cause-Effect Graphing Testing

여러 입출력 데이터를 분석해서 영향을 미치는 상황을 체계적으로 분석한 다음 효율성이 높은 테스트 케이스를 선정하는 기법

 

오류 예측 검사 Error Guessing

과거의 경험이나 확인자의 감각으로 테스트

 

비교 검사 Comparison Testing

동일한 테스트 케이스를 여러 버전의 프로그램에 적용하여 동일한 결과가 출력되는지 비교하는 테스팅 기법

💡 SQL

정렬 출력

SELECT ... FROM ... WHERE 이름 LIKE '이%' ORDER BY DESC;

 

 


출처: https://q.fran.kr/%EC%8B%9C%ED%97%98/%EC%A0%95%EB%B3%B4%EC%B2%98%EB%A6%AC%EA%B8%B0%EC%82%AC%20%EC%8B%A4%EA%B8%B0/2021%EB%85%84%202%ED%9A%8C

댓글