본문 바로가기

CS19

[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.
[Knowledge] Procedure 의미 (1) Computer Programming 의미 - Computer에게 어떻게 program 동작이나 calculation을 할 지 말해주는 code로 이뤄진 지침 방식의 집합체(Set) - Program 언어에 따라 Subroutine, Subprogram, Function 등으로 불림. - 요약 : computer 동작 과정 (2) Database Programming 의미 - Stored Procedure 의 다른 말. - 특정 Query 나 Function을 동작하는데 쓰이는 Programming code(PL/SQL 같은 것) 집합체(Set) - 하나 이상의 Command, Search for, Insert, Database의 data Update or Delete 등에 쓰임 https://w.. 2022. 11. 17.