본문 바로가기

Programing/Knowledge35

[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.
[CS] Invoke & Call & Trigger 차이 3가지 모두 '호출' 이란 의미로 쓰인다. 찾아보고 물어보니 개발자들은 딱히 의미 구분없이 '호출' 개념으로 쓰기에 모호했다. (차이라고 해봐야 직접&간접 차이) 명확하게 정의해보자 [Invoke] Execution을 위해 완전 Bound 된 argument로 함수 예약하는데 필요한 Process - Argument를 Stack에 Push하고 PC를 new address로 전송하여 Msg, Object, Function, Thunk 등을 나중을 위한 실행 혹은 여러 RPC System을 위해 Queue 에 넣음. - Method 간접 호출. 다른 곳에 Reference를 유지한 후 간접 호출. [아래 좋은 예시] fn(); // I'm calling it fn.call(); // I'm calling i.. 2022. 11. 21.
[CS] Transparancy - 말 그대로 '투명성'. Network 사용자가 자신이 Network와 상호작용 하는지 인식조차 못하는 것. - 통신 System이 서로 협력하는 자율 System 집합체(ex, Internet Network)가 아닌 단일 개체로서 User에게 인식되는 통신 System의 특성. ==> User는 여기서 발생하는 Process 를 인식하지 못함. - 분산 System 에서 중요한 특성. Distribution Transparacy는 User에게 System 작동이 친숙하고 간단하며 쉽게 보이도록 함과 동시에 서비스의 위치를 인식하지 못하게 하며, Local 에서 Remote 기기로의 전달을 숨겨버림. - Data Stream 이 보내지거나 || Output Stream 이 정확한 bit sequence.. 2022. 11. 19.