전체 글 1097

145012 관계 대수식 & 일반 집합 연산자

핵심 Keyword 1. 파이 - 프로젝트 연산자 2. 시그마 - 셀렉트 연산자 관계 대수식 파이 연산자가 보이는데, 파이는 프로젝트 연산자였고, 지정한 속성에 해당하는 값만 꺼내오는 역할을 수행하는 것이 프로젝트 연산자였습니다. 그래서 Employee 릴레이션의 TTL 속성을 꺼내오는 것이라고 이해할 수 있습니다. 따라서 결과는 TTL 속성과 속성값들이 출력되게 됩니다. 다른 예시도 하나 더 보겠습니다. 파이 - 프로젝트 연산은 중복값은 제외해주는 것을 잊지 맙시다! 수직 연산자라고 부르기도 합니다. 속성을 기준으로 값들을 가져오기 때문입니다. 반대로 시그마 셀렉트는 조건에 맞는 튜플들을 가져오는 특성 때문에 수평 연산자라고 합니다. 시그마 - 셀렉트 보타이 - Join Join 연산은 공통 속성을 중..

1450911 애플리케이션 테스트 분류

핵심 Keyword 1. Regression 2. 3. Regression 다음은 (Regression) 테스트에 대한 설명입니다. 통합 테스트로 인해 변경된 모듈이나 컴포넌트에 새로운 오류가 있는지 확인하는 테스트이다. 이미 테스트된 프로그램의 테스팅을 반복하는 것이다. 수정한 모듈이나 컴포넌트가 다른 부분에 영향을 미치는지, 오류가 생기지 않았는지 테스트하여 새로운 오류가 발생하지 않음을 보증하기 위해 반복 테스트한다. 테스트를 보면 반복 테스트를 진행한다는 것을 볼 수 있는데, 반복 회귀 테스트를 의미하므로, Regression 이다. 애플리케이션 테스트 분류 1) 프로그램 실행 여부에 따른 테스트 종류 - 정적 테스트 : 프로그램을 실행하지 않고 명세서나 소스 코드를 대상으로 분석하는 테스트 - ..

159010 애플리케이션 테스트, 개발 단계별 테스트, 인수테스트

핵심 Keyword 1. 베타 테스트 2. 알파 테스트 3. 개발 단계별 테스트 단계 4. 인수 테스트 애플리케이션 테스트 인수 테스트는 개발한 소프트웨어가 사용자의 요구사항을 충족하는지에 중점을 두고 테스트하는 방법입니다. (베타 테스트) 는 선정된 최종 사용자가 여러 명의 사용자 앞에서 행하는 테스트 기법으로, 실제 업무를 가지고 사용자가 직접 테스트한다. (알파 테스트)는 개발자의 장소에서 사용자가 개발자 앞에서 행하는 테스트 기법으로, 테스트는 통제된 환경에서 행해지며, 오류와 사용상의 문제점을 사용자와 개발자가 함께 확인하면서 기록한다. 개발 단계별 테스트 단계 단위 테스트 Unit Test 라는 것은 구현(Coding)을 하자마자 테스트하는 것을 의미합니다. 통합 테스트(Integration ..

1450909 서브네팅 Subnetting

핵심 Keyword 1. 서브네팅 서브네팅과 IP 주소 이해하기 서브네팅이란 한정된 IP 주소를 같은 양으로 나누어주기 위한 나누기 방법이라고 이해할 수 있습니다. 우선 IP 주소를 생각해보고 넘어가겠는데요. IP 주소는 32 bit 로 이루어져 있는데요. 32 bit는 너무 큰 숫자이기 때문에 우리는 IPv4라는 이름을 붙인, 8bit 4개를 이어서 붙인 주소를 주로 사용합니다. 255.255.255.255 이런 식의 IP 주소인 것이죠. 이런 상황에서 다음 예시를 보겠습니다. 우선 첫 번째 예시입니다. IPv4 주소가 192.168.1.0/24 라면 마지막 8비트만 사용가능합니다. 즉 10진수로 말하자면 총 256개의 IP를 내가 마음대로 사용할 수 있는 상태라는 것이죠. 이 상황에서 만약 3명에게 ..

145010 객체지향 설계원칙 SOLID

핵심 Keyword 1. ISP 2. SOLID 3. ISP (ISP)은 자신이 사용하지 않는 인터페이스와 의존 관계를 맺거나 영향을 받지 않아야 한다는 객체지향 설계 원칙 중의 하나이다. 예를 들어, 프린터, 팩스, 복사 기능을 가진 복합기의 경우 3가지의 기능을 모두 가진 인터페이스보다는 프린터 인터페이스, 팩스 인터페이스, 복사 인터페이스로 분리함으로써 하나의 기능 변경으로 인해 다른 기능이 영향을 받지 않도록 해야 한다. 즉, 인터페이스 분리 원칙! = ISP Interface Separate Principle 단일 책임 원칙 SRP Single Responsibility Principle 객체는 단 하나의 책임만 가져야 한다는 원칙입니다. 개방-폐쇄 원칙 OCP Open Close Princip..

1450905 네트워크 보안

핵심 Keyword 1. VPN VPN 가상 사설 망 (VPN)은 인터넷 등 통신 사업자의 공중 네트워크와 암호화 기술을 이용하여 사용자가 마치 자신의 전용 회선을 사용하는 것처럼 해주는 보안 솔루션이다. 암호화된 규격을 통해 인터넷망을 통해 전용선의 사설망을 구축한 것처럼 이용하므로 비용 부담을 줄일 수 있다. (VPN)을 사용하면 두 장치 및 네트워크 사이에 암호화된 보안 터널이 생성되며, 터널에 사용되는 프로토콜에 따라 SSL VPN과 IPSec VPN으로 불린다. SSL VPN 은 PC에 VPN Client 프로그램을 설치하여 VPN 서버에 접속하는 방식으로, 암호화를 위해 SSL 프로토콜을 사용함. IPSec VPN 은 VPN 서버가 설치된 각각의 네트워크를 서로 연결하는 방식으로, 암호화를 위..

1450903 SQL ALL, ANY

핵심 Keyword 1. ALL 2. ANY SQL 문 이 문제는, 좀 헷갈리는 문제였다. 문제를 읽고 이해하는 능력이 필요하는 문제였던 것 같다. 문제를 보면 H 제조사에서 생산한 '제품들의 단가' 보다 높은 단가를 가진 제품의 정보를 조회하는 SQL 문이라고 했는데, '제품들의 단가 보다 높은 단가' 라는 말을 어떻게 이해하느냐가 중요한 것 같다. 나는 제품들의 단가? 평균 단가라고 생각했는데, 그렇게 생각하면 안되고 제품들의 단가 하나하나 보다 높은 단가를 가져야 한다. 즉, H 제조사에서 가장 높은 단가를 가진 것을 조회한 다음 그것보다 높은 단가를 가진 것을 조회하면 되는 문제였다. 이 문제는 실제로 제품 테이블을 보여주지는 않았는데, 테이블을 하나 직접 그려보면서 이해하면 더 편하게 문제풀이에..

1450902 암호화 알고리즘, 암호화 방식

핵심 Keyword 1. 암호화 알고리즘 (IDEA, skipjack) 2. 암호화 방식 3. 개인키, 공개키 암호화 기법 암호화 알고리즘 암호화 알고리즘은 패스워드, 주민번호, 은행계좌와 같은 중요 정보를 보호하기 위해 평문을 암호화된 문장으로 만드는 절차 또는 방법을 의미한다. 스위스의 라이와 메시는 1990년 PES를 발표하고, 이후 이를 개선한 IPES를 발표하였다. IPES는 128비트의 Key를 사용하여 64비트 블록을 암호화하는 알고리즘이며 현재는 (IDEA International Data Encryption Algorithm)라고 불린다. (skipjack)은 국가 안전 보장국 NSA에서 개발한 암호화 알고리즘으로, 클리퍼 칩 Clipper Chip 이라는 IC 칩에 내장되어있다. 80비..

1450901 관계대수, 관계해석

핵심 Keyword 1. 관계대수 2. 관계해석 3. 순수 관계 연산자 & 일반 집합 연산자 참고자료 https://inpa.tistory.com/entry/DB-%F0%9F%93%9A-%EA%B4%80%EA%B3%84-%EB%8C%80%EC%88%98-%EA%B4%80%EA%B3%84-%ED%95%B4%EC%84%9D-SQL-%F0%9F%95%B5%EF%B8%8F-%EC%A0%95%EB%A6%AC#%EA%B4%80%EA%B3%84_%ED%95%B4%EC%84%9D_relation_calculus 관계해석 Relational Calculus 관계해석 은 관계 데이터의 연산을 표현하는 방법으로, 관계 데이터 모델의 제안자인 코드(E. F. Codd)가 수학의 술어 해석(Predicate Calculus)에..

배포 자동화_ 1. 배포 자동화의 개념 & 젠킨스와 GITLAB + GITHUB 연동하기!

핵심 Keyword 1. 배포자동화 2. Jenkins 3. 빌드와 패키지 ** Git Hub 도 Git Lab 과 jenkins 설치 방법 및 설정 방법을 공유하니, 함께 보면서 제일 아래 부분에 Git hub 에서 다르게 해줘야 하는 부분들을 정리해두었으니 참고해주세요~~ ** 배포자동화란? 프로젝트를 개발을 하면 계속해서 코드가 변경됩니다. 코드가 변경 될 때마다 소스코드를 가지고 빌드를 한 다음 패키징을 한 다음에, 패키징한 파일을 서버에 업로드를 한 다음, 업로드한 파일을 가지고 자바 명령어를 통해서 실행을 시키는데요. 이 과정을 빌드 그리고 배포 과정이라고 부르는데요. 이 과정을 지속적으로 직접 수행을 하면 시간이 낭비가 되는데요. 이 과정을 자동화 시키게 되면 시간이 절약되겠죠. 반복되는 작..