JavaScript
- 구조분해 할당
배열이나 객체의 속성을 해체하여 그 값을 개별 변수에 담을 수 있게 하는 표현식.
객체나 배열에 저장된 데이터 전체가 아닌, 일부만도 분해해 할당해 전달할 수 있음.
이 때 전달받지 못한 속성은, undefined 로 할당되게 됨.
IDE
Debug / Release
프로그램을 만들 때, 용도에 따라 다르게 사용하는 모드.
- Release
말 그대로 배포를 위한 컴파일 모드.
debug 정보가 빠지고, 여러 프로그램을 체크하는 루틴도 빠져 있음.
코드 최적화 과정을 수행하여, 바이너리 크기도 작다.
컴파일 속도가 느린건 최적화 과정 때문.
메모리를 자동 초기화 해 주지 않는다. - Debug
개발 편의성을 제공하는 모드.
실행파일에 디버깅 정보를 삽입하고, 계속 체크하므로 성능 저하.
삽입된 디버깅 정보 때문에, 바이너리도 크다.
옵션으로 변수를 항상 초기화 할 수 있다.
dll 도 다른 것을 사용한다. 크기 차이가 거의 3~4배 정도.
두 모드에서 동적으로 메모리를 할당하면, heap 영역에 요청한 만큼 메모리를 받는데, 그 초기값이 다름.
boundary (메모리 영역 침범) 에 대해서도 debug 는 더 버티기도 함.