일단 씻고 나가자

23.04.26 본문

Study/닥치는 대로 주워 담기

23.04.26

일단 씻고 나가자 2023. 4. 28. 01:30

2023. 04. 26 수요일

 

- [DB] ORDER BYSELECT에서 선언한 이름 그대로 가져오지 않고 편리하게 쓰는 법?

: SELECT P.PRODUCT_CODE, SUM(P.PRICE * O.SALES_AMOUNT) AS SALES의 경우

ORDER BY SUM(P.PRICE * O.SALES_AMOUNT) DESC, P.PRODUCT_CODE ASC;처럼

길게 선언하여 정의한 컬럼명을 그대로 사용하지 못하고 SELECT에서 선언한 이름 그대로 다시 작성해야 하는 불편함이 있다.

이때 SELECT에서 정의한 컬럼을 순서대로 1, 2.. 로 치환하여

ORDER BY 2 DESC, 1 ASC;처럼 순서에 맞게 선언해주면 동일하게 실행된다.

 

 

- 자카드 유사도란?

: 두 집합 간의 유사도를 표현하는 방법론. 교집합 크기 / 합집합 크기로 정의한다.

예를 들어 A = {1,2,3}, B = {2,3,4}일 경우 교집합 = {2,3} 합집합 = {1,2,3,4}이므로

자카드 유사도는 2/4 = 0.5가 된다.

이는 원소의 중복을 허용하는 다중 집합에 대해서도 확장할 수 있으며, 문자열의 경우 첫 문자부터 2글자씩 끊어 하나의 원소로 정의하여 값을 구할 수도 있다.

 

 

- 동기화 이슈는 어떻게 왜 일어나는지 컴퓨터 구조의 관점으로?

: 어떠한 공유자원을 여러 스레드가 접근할 때 처리 중 CPU를 다음 스레드에 넘겨줄 때 발생한다. CPU는 어떤 자원을 연산할 때, 우선 자원의 값을 내부 레지스터로 불러서 값을 저장하고 연산 후 결괏값을 다시 해당 메모리에 최신화하는 방식으로 동작한다. 이때 레지스터에 불러온 후 context switch가 걸리게 되면 연산 후의 값을 최신화하지 못한 상태에서 최신화를 하게 되므로 다음 스레드가 다른 연산을 하고 최신화하여 값이 제대로 적히지 못하는 것이다.

 

'Study > 닥치는 대로 주워 담기' 카테고리의 다른 글

23.04.28  (0) 2023.04.29
23.04.27  (0) 2023.04.28
23.04.24  (0) 2023.04.25
23.04.21  (0) 2023.04.22
23.04.20  (0) 2023.04.21