자식 클래스로 인해 호출된 메서드가 부모와 자식 클래스에 둘 다 존재한다면 자식 클래스에서 오버라이딩된 메서드가 호출된다.
인터넷 애플리케이션에서 사용자 인증에 사용되는 표준 인증 방법으로 공개 API(Open API)로 구현되었다.
인터넷 사용자가 웹사이트나 애플리케이션에 비밀번호를 제공하지 않고 자신에게 접근 권한을 부여하여 사용할 수 있다.
2010년 ETF에서 1.0이 공식 표준안으로 발표되었다.
printf문에 %s, %c인지 잘 확인하기. %s이면서 p+1 이런식으로 주소로 받을 경우 해당 주소부터 끝까지 출력된다.
%c이면서 *(p+3) 이런식으로 받으면 원래 문자열의 특정 위치의 문자가 출력된다.
*p+4 이런식일 경우 p문자열의 첫번째 문자 부터 알파벳 순으로 4번째 뒤에 있는 알파벳이 출력된다.
구조체 포인터를 이용한 특정 멤버에 접근하기
(*구조체_포인터).멤버
구조체_포인터->멤버
chmod : 파일의 보호 모드를 설정하여 파일의 사용 허가를 지정하는 UNIX 명령어이다.
읽기 : r (4)
쓰기 : w (2)
실행 : x (1)
사용자,그룹,기타 사용자 순으로 권한을 부여한다.
ex a.txt 파일에 대해 사용자에게 읽기, 쓰기, 권한 / 그룹에게 읽기, 실행 권한 / 기타 사용자에게 실행 권한 부여
-> chmod 751 a.txt
구조 다이어그램
클래스 다이어그램 (Object Diagram)
클래스와 클래스가 가지는 속성, 클래스 사이의 관계를 표현한다.
출처 : https://velog.io/@superscman/UML-%EB%8B%A4%EC%9D%B4%EC%96%B4%EA%B7%B8%EB%9E%A8
객체 다이어그램 (Object Diagram)
클래스 다이어그램의 특정 시점에 대한 인스턴스를 나타낸다. 클래스에 속한 사물(객체)들, 즉 인스턴스(Instance)를 특정 시점의 객체와 객체 사이의 관계로 표현한다.
출처 : https://velog.io/@superscman/UML-%EB%8B%A4%EC%9D%B4%EC%96%B4%EA%B7%B8%EB%9E%A8
컴포넌트 다이어그램 (Component Diagram)
실제 구현 모듈인 컴포넌트 간의 관계나 컴포넌트 간의 인터페이스를 표현한다.
출처 : https://velog.io/@superscman/UML-%EB%8B%A4%EC%9D%B4%EC%96%B4%EA%B7%B8%EB%9E%A8
배치 다이어그램 (Deployment Diagram)
결과물, 프로세스, 컴포넌트 등 물리적 요소들의 위치를 표현한다.
출처 : https://velog.io/@superscman/UML-%EB%8B%A4%EC%9D%B4%EC%96%B4%EA%B7%B8%EB%9E%A8
복합체 구조 다이어그램 (Composite Structure Diagram)
클래스나 컴포넌트가 복합 구조를 갖는 경우 그 내부 구조를 표현한다. 클래스 다이어 그램과 유사한지만, 전체 클래스가 아닌 개별 클래스를 나타내는 점에서 차이가 있다.
출처 : https://velog.io/@superscman/UML-%EB%8B%A4%EC%9D%B4%EC%96%B4%EA%B7%B8%EB%9E%A8
패키지 다이어그램 (Package Diagram)
유스케이스나 클래스 등의 모델 요소들을 그룹화한 패키지들의 관계를 표현한다.
행위 다이어그램
유스케이스 다이어그램 (Use Case Diagram)
사용자의 요구를 분석하는 것으로, 기능 모델링 작업에 사용한다. 사용자(Actor)와 사용 사례(Use Case)로 구성된다.
순차 다이어그램 (Sequence Diagram)
상호작용하는 시스템이나 객체들이 주고받는 메시지를 표현한다.
커뮤니케이션 다이어그램 (Communication Diagram)
동작에 참여하는 객체들이 주고받는 메시지와 객체들간의 연관 관계를 표현한다.
상태 다이어그램 (State Diagram)
하나의 객체가 자신이 속한 클래스의 상태 변화 혹은 다른 객체와의 상호작용에 따라 상태가 어떻게 변화하는지를 표현한다.
활동 다이어그램 (Activity Diagram)
시스템이 어떤 기능을 수행하는지 객체의 처리 로직이나 조건에 따른 처리의 흐름을 순서에 따라 표현한다.
상호작용 개요 다이어그램 (Interaction Overview Diagram)
상호작용 다이어그램 간의 제어 흐름을 표현한다.
출처 : https://velog.io/@superscman/UML-%EB%8B%A4%EC%9D%B4%EC%96%B4%EA%B7%B8%EB%9E%A8
타이밍 다이어그램 (Timing Diagram)
객체 상태 변화와 시간 제약을 명시적으로 표현한다.
출처 : https://velog.io/@superscman/UML-%EB%8B%A4%EC%9D%B4%EC%96%B4%EA%B7%B8%EB%9E%A8
동치 분할 검사 (Equivalence Partitioning Testing)
프로그램의 입력 조건에 타당한 입력 자료와 타당하지 않은 입력 자료의 개수를 균등하게 하여 테스트 케이스를 정하고, 해당 입력 자료에 맞는 결과가 출력되는지 확인하는 기법이다.
경계값 분석 (Boundary Value Analysis)
입력 조건의 중간값보다 경계값에서 오류가 발생될 확률이 높다는 점을 이용하여 입력 조건의 경계값을 테스트 케이스로 선정하여 검사하는 기법이다.
원인-효과 그래프 검사 (Cause-Effect Graphing Testing)
입력 데이터 간의 관계와 출력에 영향을 미치는 상황을 체계적으로 분석한 다음 효용성이 높은 테스트 케이스를 선정하여 검사하는 기법이다.
오류 예측 검사 (Error Guessing)
과거의 경험이나 확인자의 감각으로 테스트 하는 기법이다.
비교 검사 (Comparison Testing)
여러 버전의 프로그램에 동일한 테스트 자료를 제공하여 동일한 결과가 출력되는지 테스트하는 기법이다.
UNION : 중복 제거 o
UNION ALL : 중복 제거 x
완전수란, 자기 자신을 제외한 모든 약수들의 합이 자기 자신과 같은 수 이다.
ex. 6, 28, 496
한 개의 정식 IP 주소에 대량의 가상 사설 IP 주소를 할당 및 연결하는 기능이다.
자료를 일정한 크기로 정하여 순서대로 전송하는 자료의 전송방식으로, 셀이라 부르는 53Byte의 고정 길이 패킷을 이용하여 처리가 단순하고 고속망에 적합하다.
정적 함수는 정적 변수, 정적 함수에만 접근이 가능하다. 일반 멤버에는 접근할 수 없다.
임의 접근통제 (DAC: Discretionary Access Control)
데이터에 접근하는 사용자의 신원에 따라 접근 권한을 부여하는 방식이다.
데이터 소유자가 접근통제 권한을 지정하고 제어한다.
강제 접근통제 (MAC: Mandatory Access Control)
주체와 객체의 등급을 비교하여 접근 권한을 부여하는 방식이다.
시스템이 접근통제 권한을 지정한다.
역할기반 접근통제 (RBAC: Role Based Access control)
사용자의 역할에 따라 접근 권한을 부여하는 방식이다.
중앙관리자가 접근통제 권한을 지정한다.
클라우드 컴퓨팅은 인터넷으로 가상화된 IT 리소스를 서비스로 제공하는 것을 의미하며, 클라우드 컴퓨팅에서 가상화하여 서비스로 제공하는 대상에 따라 IaaS, PaaS, SaaS로 구분된다.
IaaS(Infrastructure-as-a-service) : 물리적 자원 제공
IaaS는 고객에게 서버, 네트워크, OS, 스토리지를 가상화하여 제공하고 관리한다.
PaaS(Platform-as-a-service) : 소프트웨어 개발을 돕는 플랫폼 제공
PaaS는 고객에게 OS, 미들웨어, 런타임과 같은 소프트웨어 작성을 위한 플랫폼을 가상화하여 제공하고 관리한다.
SaaS(Software-as-a-service) : 고객이 사용하는 소프트웨어 제공
SaaS는 고객을 대신하여 소프트웨어와 데이터를 제공하고 관리한다.
RIP (Routing Information Protocol)
거리 벡터 라우팅 프로토콜이라고도 불리며, 최단 경로 탐색에 Bellman-Ford 알고리즘이 사용된다.
소규모 동종의 네트워크 내에서는 효율적인 방법이다.
OSPF (Open Shortest Path First protocol)
RIP의 단점을 해결하여 새로운 기능을 지원하는 인터넷 프로토콜로, 대규모 네트워크에서 많이 사용된다.
최단 경로 탐색에 다익스트라(Dijkstra) 알고리즘을 사용한다.