전체 글 1097

1451007 SQL Distinct

핵심 Keyword 1. SELECT Clause 에서의 DISTINCT 실행 순서 DISTINCT 주의사항 Select DISTINCT Count(부서코드) FROM 직원 WHERE 부서코드 = 20; 의 결과로 어떤 값이 나올까? 흔히 실수하는 것중의 하나인데, SQL의 실행 순서에 대한 경험이 흔히 하는 실수이다. Select Clause 에서 Distinct 는 마지막에 실행이 된다. 즉, Count(부서코드) 가 우선적으로 실행된 다음에 DISTINCT 가 실행되는 것이다. 예를 들어 부서코드가 10, 20, 30 으로 있다고 한다면 Count(부서코드)의 결과값으로는 3이 나오게 되고 Distinct(3) 의 결과는 당연히 그대로 3이 나오게 된다.

1451006 테스트 기법

핵심 Keyword 1. 화이트박스 테스트 2. 블랙박스 테스트 Boundary Value Analysis 평가 점수표를 미리 정해 놓은 후 각 영역의 경계에 해당하는 입력값을 넣고, 예상되는 출력값이 나오는지 실제 값과 비교하는 명세 기반 테스트 기법을 Boundary Value Analysis 라고 합니다. 한국어로는 경계값 분석이라고 합니다. 화이트박스 테스트 원시 코드의 논리적인 모든 경로를 테스트하여 테스트 케이스를 설계하는 방법이다. 안의 동작 과정이 다 보이는 테스트이다. 원시 코드의 논리적인 모든 경로를 테스트하면서, 모델 안의 동작 과정을 모두 관측함과 동시에 원시 코드 모두를 한 번 이상 실행하면서 테스트하게 된다. 1) 기초 경로 검사 Base Path Testing : 테스트 케이스..

2. 서비스 배포하기 (AWS 서버 환경 구축)

핵심 Keyword 1. AWS 2. EC2 3. 서비스 배포하기 서버 환경 구축 로그인을 한 다음, 검색창에 EC2 를 검색합니다. 위와 같은 화면을 볼 수 있습니다. 오른쪽 상단을 보면 지역을 선택할 수 있는데요. 서울을 선택합니다. 이 상태에서 이제 인스턴스를 생성하면 서울 AWS에 생성이 됩니다. 중가에 보이는 Launh instance 버튼을 클릭하면 위와 같은 화면을 보게 됩니다. 인스턴스의 이름을 지정합니다. 인스턴스 이름은 내가 원하는대로 구별만 할 수 있게 작성합니다. 이름을 지정한 다음, Quick Start 에서 Windows 를 선택합니다. 아래에 있는 선택박스는 건드리지 않습니다. 아래로 내려가면 Instance Type 이 있는데요. 성능과 가격에 대한 선택란입니다. 현재 t2...

1. AWS 란?

핵심 Keyword 1. 배포 2. 네트워크 (외부망, 외부 IP, 도메인 주소) 3. 1. 서비스 개발 과정 서비스를 개발만 하면 나만 이용가능한 상태입니다. 서비스 배포와 서비스 이용 단계가 남아있는데요. 서비스 배포란 무엇일까요? 배포란 내가 만든 프로그램을 실행을 시키고 다른 사람이 접속할 수 있는 상태로 만드는 것을 '배포'라고 부릅니다. 이 배포를 하기 위해서는 서버 역할을 수행하는 컴퓨터와 네트워크가 필요합니다. 여기서 네트워크는 '외부망'이 필요한데요. 이때 필요한 것을 '외부 IP' 혹은 '도메인 주소' 가 필요하다고 말합니다. 이런 자원들은 우리가 직접 구축할 수도 있고, 빌릴 수도 있습니다. 아무튼 서비스 배포를 끝내면 외부 사용자들이 서비스를 이용할 수 있게 됩니다. 2. 서버가 필..

시나공 1451005 네트워크 FLSM Subnet

핵심 Keyword 1. FLSM 2. Subnet 3. 문제 풀이 FLSM 방식은 네트워크를 똑같은 크기로 똑같이 나눠주라는 것을 의미합니다. 3개의 Subnet 으로 나누라고 했는데, 똑같은 크기로 IP 를 나누어주라는 것을 의미합니다. IP 를 나누어줄 때는 칼로 반씩 계속 자른다고 이해하면 쉬운데요. 칼로 한 번 자르면 2개의 덩어리가 나오니까 3개의 Subnet 에게 나누어줄 수가 없습니다. 그렇다고 칼로 5번 잘라서 32 조각으로 만드는 것은 너무 비효율적이죠. 그래서 칼로 2번 잘라서 4조각으로 만든 다음 각각 한 조각 씩 나누어 주고 나머지 한 조각은 남는 것으로 처리하면 됩니다. 만약 9개로 Subnet 으로 나누어 줘야 한다고 했다면? 칼로 4번 썰어서 16조각으로 만드는 것이 최선인 ..

시나공 1451003 디자인패턴

핵심 Keyword 1. 디자인패턴 2. 3. 디자인패턴 디자인패턴은 모듈 간의 관계, 인터페이스를 설계할 때 참조할 수 있는 전형적인 해결 방식 또는 예제를 의미합니다. GOF의 디자인 패턴은 생성패턴, 구조패턴, 행위패턴으로 구분됩니다. 생성패턴 Creational Pattern 클래스나 객체의 생성과 참조 과정을 정의하는 패턴 1) 추상 팩토리 Abstract Factory : 구체적인 클래스에 의존하지 않고, 인터페이스를 통해 서로 연관, 의존하는 객체들의 그룹으로 생성하여 추상적으로 표현함 2) 빌더 Builder : 작게 분리된 인스턴스를 건축 하듯이 조합하여 객체를 생성함. 객체의 생성 과정과 표현 방법을 분리하고 있어, 동일한 객체 생성에서도 서로 다른 결과를 만들어 낼 수 있음 3) 팩토..

20. Numeric and Date Data type SRFs

Numeric SRFs 첫 번째로 살펴볼 함수는 Round 함수입니다. 우선 이 함수는 2개의 인자를 받는데요. 첫 번째 인자로는 숫자 혹은 컬럼을 받고 두 번째 받을 인자로는 반올림할 위치값을 받습니다. 0.1 의 위치는 0입니다. 또한, Round 의 두 번째 인자의 Default 값은 0 인데요. 그래서 Round(147.5) 를 실행하면 148 이 반환되는 것을 확인할 수 있습니다. 다음으로 살펴볼 함수는 TRUNC 함수입니다. TRUNC 함수는 두 번째 인자로 주어진 자릿수 이하의 숫자를 버려주는 함수인데요. 예를 들어 5를 입력하면 6번째 자리수 이하의 자리들을 다 버리는 것을 확인할 수 있습니다. 이 함수의 Default 값도 마찬가지로 0이기 때문에 TRUNC(102.123) 을 실행하면 ..

19. Using Functions in WHERE And Character Based SRFs

SRF in WHERE Clause Select Clause 에서 SRF 를 사용하는 것을 지난시간에 배워보았는데요. SRF 는 WHERE Clause 에서도 요긴하게 사용할 수 있습니다. Where Clause 는 Filter 처리를 하기 위해서 사용했었는데요. WHERE Clause 에 해당하는 데이터들은 Qualified 되어 Data Greed 에서 확인할 수 있었습니다. 이런 WHERE Clause 의 기존 목적과 동일하게 Filter 의 목적으로 SRF를 Where Clause 에서 사용할 수 있습니다. 예를 들어 위와 같이 사용할 수 있는데요. initcap 은 각 단어의 첫 글자를 대문자로 바꾸어주는 함수입니다. 위의 함수처럼 SRF 을 Where Clause 에서 사용할 수 있습니다. S..

18. Single Row Functions & Using The Dual Table

Single Row Functions Functions 는 DB에서 사전에 특정한 동작을 수행하도록 작성된 것들입니다. 예를들어 두 수의 합을 구하는 SUM 같은 것들이 대표적입니다. 그리고 이런 함수 중에서 각각의 모든 행에 대해서 함수를 적용하는 것을 Single Row Function 이라고 부릅니다. 우리가 이미 사용했던 것 중에 Concat 이 대표적인 SRFs 라고 할 수 있겠습니다. 서로 다른 2개 이상의 컬럼과 값들을 하나로 만들어 하나의 값을 각가의 행에 대해서 반환하기 때문이죠. 위와 같은 것을 예시로 들 수 있는데요. 'hello' 를 upper 로 만드는 SRF 를 실행시키면 각각의 모든 행에 대해서 upper('hello') 가 적용되어 결과가 출력됩니다. 현재 EMP 테이블에는 ..

16. Ordering, Concatenating And Aliasing Query Results

Alias Alias 를 사용하는 이유는 무엇보다 DB에 익숙하지 않은 사용자들에게도 한눈에 알아보기 쉬운 형태로 정보를 전달하기 위해서인데요. Alias 를 지정할 때는 Where 절에서 특정 문자열을 사용할 때와는 다르게 " " double quote 를 사용해야 합니다. Single quote ' ' 를 활용하여 SQL을 작성하면 위와 같이 에러가 발생하고 있는 것을 확인할 수 있습니다. || Concat 만약 각 컬럼들에 대해서 특정한 문구를 함께 출력시키고 싶다면 Concat 을 활용하면 되는데, Oracle 에서는 || 를 활용합니다. || 는 영어로 Pipes 라고 합니다. Pipes 는 단어나 문장을 연결시켜주는 역할을 수행합니다. 위와 같은 SQL 을 실행하면 어떤 결과가 출력될까요? 컬..