[ 혼공컴운 ]
Chapter 12. 프로세스 동기화
- 동기화 : 작업의 수행 시기를 맞추는 것
- 실행 순서 제어
- 상호 배제
- 공유 자원, 임계 구역(동시에 실행하면 문제가 발생하는 자원에 접근하는 코드 영역)
- 레이스 컨디션 : 동시에 임계 구역 코드를 실행하여 발생하는 문제
- 상호 배제 동기화를 위한 원칙 : 상호 배제, 진행, 유한 대기
- 동기화 기법
- 뮤텍스 락
- 세마포
- 여러 공유 자원을 다루는 카운팅 세마포
- wait & signal
- 순서 제어 가능
- 모니터
- 조건 변수 사용 for 실행 순서 제어
- 공유 자원 연산(접근, 이용) 인터페이스
- 모니터 진입 큐(상호 배제), 조건 변수 큐(실행 순서)
Chapter 13. 교착 상태
- 교착 상태 : 일어나지 않을 사건을 기다리며 진행이 멈춘 현상
- 자원 할당 그래프 : 프로세스의 자원 할당 및 대기 표현 그래프
- 교착 상태 발생 조건 : 상호 배제, 점유와 대기, 비선점, 원형 대기
- 교착 상태 예방 : 조건 하나라도 없애기(어려움, 부작용 있음)
- 교착 상태 회피 : 안전 상태(안전 순서열이 존재하는 상태), 불안전 상태
- 안전 순서열 : 교착 상태 없이 안전하게 자원이 할당될 수 있는 순서
- 교착 상태 검출 후 회복 : 선점을 통한 회복, 프로세스 강제 종료를 통한 회복
- 타조 알고리즘 : 교착 상태 발생 가능성 무시
[ 유어클래스 다시 읽기 ]
- section2. HTTP
- REST API by 로이 필딩
- Open API, API Key
- section2. 관계형 데이터베이스
- SQL(DDL, DML, DCL, DQL, TCL), NoSQL
- ACID for Transaction에서 안정성 보장
- 데이터베이스 정규화 (Database Normalization) : Data Redundancy, Data Integrity(무결성), Anomaly(이상 현상)
[ 칼퇴족 김대리는 알고 나만 모르는 SQL ]
- NULL 값은 정렬 시 가장 큰 값으로 분류됨.
- 산술연산자는 SELECT ~ AS문과 WHERE 조건절에서 자주 사용됨.
- 산술연산자의 우선순위는 일반 수학과 같음(괄호, 곱하기 등)
- NULL이 포함된 사칙연산 처리 결과는 NULL. NULL 처리 필요.
- NULL값(결측치, Missing value) 처리
- COALESCE(값, 값 ,,, ) : NULL이 아닌 가장 왼쪽 값 리턴
- ZEROIFNULL(열 이름)
- NVL2(열 이름, NULL이 아닐 때 표현식, NULL일 때 표현식)
- 논리연산자 : AND, OR, IN(), NOT IN()
[ 느낀 점 ]
내일은 SQL, 코테 공부하고, 포트폴리오 작성 방법 유튜브로 봐야겠다.
이번주에는 꼭 하나라도 지원해보기!