목록CS (59)
센로그
조건에 따라 반환될 행 제한 문자열과 날짜 문자열과 날짜값은 ' ' 안에 들어감. (작.따) 문자 : 대소문자 구분 날짜 : 형식 구분. 기본 형식은 DD-MON-RR 비교조건 다른 비교 조건들 비교조건에 AND, NOT, OR 사용 가능. 이때 괄호 단위로 처리 가능. LIKE를 사용해 일치하는 문자열 찾기 가능 %는 S로 시작하기만 하면 됨. 0~n자리 characters _는 char 하나를 의미. 행 정렬 ORDER BY ASC : 오름차순 정렬, 기본 값 DESC : 내림차순 정렬 급여가 $12,000를 넘는 사원의 이름과 급여를 표시 SELECT last_name, salary FROM employees WHERE salary > 12000; 사원 번호가 176인 사원의 이름과 부서 번호를 표..
Alias 정의 칼럼 이름 재정의 중복행 제거 DISTINCT 테이블 구조 명시 DESCRIBE 연결 연산자, 리터럴 문자열 1. 다음 명령문의 오류는 무엇인가? SELECT employee_id, last_name, salary*12 "ANNUAL SALARY" FROM employees ; 2. DEPARTMENTS 테이블의 구조를 표시하고 테이블의 모든 데이터를 검색한다 DESC departments; 3.EMPLOYEES 테이블의 내용을 검색시 사원번호, 사원이름, 업무코드, 입사 일이 오도록 질의를 작성한다. HIRE_DATE 열에 STARTDATE라는 별칭을 지정한다. SELECT EMPLOYEE_ID, LAST_NAME, JOB_ID, HIRE_DATE "STARTDATE" FROM empl..
◆ HTTP란? 서버-클라이언트 모델을 따라 데이터를 주고 받기 위한 프로토콜이다 클라가 서버에게 HTTP request을 보냄. 그러면 서버가 이에 대한 HTTP response를 클라에게 주는 형태로 동작함. 그림을 보자. 웹 브라우저가 웹 서버에게 "HTTP라는 프로토콜로 root/index.html을 달라"고 요청하면, 서버는 "알겠어, 그거 여기 있고, 총 3150 length야. 가져가." 하고 주는 것임. 굉장히 심플하다. ※ 어떻게 이렇게 심플할 수 있는 걸까? → 전제조건: 초기에 HTTP를 짤 때, "무조건 HTTP 밑에는 TCP가 돌아야 한다!" 라는 걸 생각하고 짰기 때문에 가능하다. 즉 어차피 TCP가 에러 검출 및 복구를 할 거기 때문에, HTTP는 그걸 신경쓰고 싶지 않고 간단..
◆ Deadlock 이란? 둘 이상의 프로세스가 서로가 점유하고 있는 자원을 무한정 기다리고 있는 상황 ex) 데드락 예시를 보자. 다음은 데드락이 발생할 가능성이 있는 코드이다. S랑 Q라는 세마포어가 있다. 각 세마포어의 초기값은 1이다. (binary semaphore) P0과 P1이 번갈아가며 한줄씩 실행된다고 하자. P0은 wait(S) → wait(Q) 순서로, P1은 wait(Q) → wait(S) 순서로 실행될 것이다. P0에서, 우선 wait(S)는 통과하고 S--를 한다. (S=0) P1에서도, 우선 wait(Q)는 통과하고, Q--를 한다. (Q=0) 그런데 이때, Q=S=0이 되었으므로, 이제부터 P0는 P1이 홀딩하고 있는 Q를 기다리고, P1은 P0가 홀딩하고 있는 S를 기다리게..
◆ Synchronization Examples Synchronization에 관한 고전적인 문제들이 있다. Bounded-Buffer Problem Readers and Writers Problem Dining-Philosophers Problem 각각을 어떻게 해결하는지 알아볼 것임. ◆ Bounded-Buffer Problem (Producer/Consumer Problem) 버퍼에 (producer가 생산한) item이 있는 경우에만 consumer가 접근해서 사용할 수 있도록 하는 문제. 개수가 n개로 고정(bound)되어 있다고 버퍼가 있다고 하자. 각 버퍼는 하나의 아이템만 홀드할 수 있다. (full 또는 empty 둘 중 하나의 상태일 것이다) 버퍼가 여러 프로세스에 의해 공유된다고 가정..
◆ ZeroMQ란? 소켓 통신을 기반으로, 사용하기 편하게 만들어놓은 비동기 메시징 라이브러리. 다양한 형태와 방법, 서비스에 대해 메시지를 주고받을 수 있는 오픈소스 라이브러리이다. 결국 통신을 하다보니, 어느 정도 정해진 틀이 잡힌 것이다. 그래서 그 설계를 여러곳에 쓰고, 다시 쓰고 하다보니 ... "이런 설계를 많이 쓸거면, 미리 라이브러리로 만들어놔서 편하게 쓰면 않을까?" → 소켓을 밑에 깔고, 그 위에 1:N이나 M:N 통신을 쉽게 짤 수 있도록 미리 만들어놓은 게 ZMQ 설계 자체를 재활용하는 느낌. ◆ 프로토콜의 위치 ZMQ의 등장에 대해 설명하기 위한 배경. 통신 프로토콜들은 어디에 위치할까? 과거) Kernel 에 위치 전통적으로 OSI7 레이어에서, L1 은 하드웨어에 들어가고, L..