오늘의 내용
함수 , oop (메모리 적인 관점)
오늘이 8일중 가장 중요한날
1) namespace
2 stack frame *100 시작이자 끝
3) call by value , call by reference (자스는 섞어서사용) call by object refrence 왜?? 왜 나눴을까?? 근원적
namespace
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
call by value , call by reference 값자체를 전달, 참조값을 전달
참조호출을 사용하면, 자신의 스택프레임 외의 값을 참조할 수 있다(접근 및 수정가능)
call by value (어떠한 방법을 써도 외부의 데이터 접근 수정 불가)
call by reference(스택프레임 동작중에 외부의 프레임에 접근, 수정이 가능)
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
인자 전달 방식에 따른 함수 구분
first class function (파이썬 데코레이터, 자바스크립트 클로져)
클로져는 왜나왔나, 어떻게 나왔나
map(사상) (filter)
게으른연산( 보통 포문은 끝날때 까지 아무것도 못하지만, next 내가 필요할때만 쓸 수 있고, 메모리도 적게 차지)
lazyevaluation :연산 시점을 내가 필요할때 하는것
<https://wayhome25.github.io/cs/2017/04/03/cs-03/>
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
'stack ripping' -> 나중에 알기
call back -> 최대문제) 상태정보를 저장할 수 없음 그래서 stack ripping이 발생
co-routine
클로져가 함수에서 갖는 의미를 깨닫는가 없는가?
binary search의 기본조건
1인자로 들어오는 데이터가 정렬되어 있다
2 linear n -> T(n) = n
3) binary n -> t(n) = logn
'공부 > TIL' 카테고리의 다른 글
클래스, 버블소트 , 네트워크 (0) | 2019.04.24 |
---|---|
프로세스VS스레드 (0) | 2019.04.23 |
SASS (0) | 2019.04.21 |
파이썬 기초 (0) | 2019.04.20 |
[파이썬 기초] 자료형, 연산 (0) | 2019.04.19 |