본문 바로가기

Programing114

[CS] Thunk (0) [Wiki 피셜] : - Thunk 는 기존 Subroutine 에 추가 연산을 삽입 할 때, 사용되는 Subroutine. - 주로 연산 결과가 필요할 때 까지 연산을 지연시키는 용도 or 기존 다른 Subroutine 의 시작과 끝에 연산을 추가시키는 용도로 쓰임. ==> Code Compiling 과 Module Programming 쪽에서 활용됨. (1) CS적 의미에선 Thunk는 Helper Subroutine 임. ==> Value를 넘기기 전에 Subroutine의 결과를 Thunk가 연산하기에, think의 과거형 문법마냥 Thunk라고 부름. (2) 알맞는 Overlay로 load하고 jump하는, Overlay Programming 환경에서의 Subroutine. (3) Use.. 2022. 11. 26.
[MySQL] Alias - SQL의 tmp 변수 같은 것. - Table 이나 Table 내부의 Column에 Temporary Name(임시 이름, 별명) 을 부여함 - Alias를 통해 Column 이름을 더 읽기 쉽게 만들 수 있음 - Query 에서만 존재함. Query가 끝나면 사라짐 - Alias 는 AS 키워드로 만들어짐. SELECT [COLUMN 이름] AS [ALIAS 이름] FROM [TABLE 이름]; SELECT [COLUMN 이름] FROM [TABLE 이름] AS [ALIAS 이름] SELECT custommer_id AS id, customer_name AS customer FROM customers; SELECT o.order_id, o.order_date, c.customer_name FROM .. 2022. 11. 25.
[CS] Computation - (고전 의미) 정지(Halting) Turing 기계의 Execution 순서 (또는 이에 준하는 동등한 것). - 사실 Computer 와 실제 상황 및 논리와 모두 부합하는 개념은 없음 - [개발자들에게 주로 통용되는 의미] (1) 수학적 또는 논리적으로 뭔가를 결정하는 방식. ==> DNA Programming 에 부합하지 않음 (2) Algorighm 방식을 통해 주어진 입력의 문제들에 대한 해결을 찾는 것. ==> Game Programming 에 적합하지 않음 - 사실 그냥 Computation == 연산 으로 알고 넘어가도 되지만 출처의 논문에서 서술하듯이 다양한 상황과 조건, 배경을 무시하고 대강 생각하면 한계에 부딪히고 조건에 많은 제약을 가진다(생각의 한계-편견). - 코더가 아닌 .. 2022. 11. 24.
[CS] Lazy Evaluation - Compiler 는 보통 Expression(값을 도출하는 코드, ex:1+2) 를 만나면 그 값을 Evaluation(연산) 함. ==> 대부분의 언어에선 Expression을 만나면 즉시 Evaluation 하나, 함수가 전달된 Parameter를 쓰지 않는 경우엔 Compiler가 굳이 Evaluation 할 필요 없음. ==> 그런 이유로 Parameter 등이 필요할 때만 쓰는 방식이 Lazy Evaluation. ==> 주로 함수형 언어(Haskell, Python) 에서 많이 쓰이는걸로 보임. - 요약 : Expression에 값이 필요할 때까지 연산을 hold 하는 것. - 반복 연산 안 함. (list 형태의 parameter 중에서 원하는 것만 가져오기, list 전체 호출 말고) .. 2022. 11. 23.