Javascript
-
자바스크립트 메모리 누수 :: 마이구미Javascript 2016. 7. 13. 14:39
이전 글 이후 다시 조금 더 다뤄볼 예정으로 글을 작성하게 되었다.이전 글을 보고 오길 바란다.IBM에서 작성된 글을 통해 진행할 것이다.예제를 통해 진행할 것이므로 실습해보자. 크롬 개발자 도구에서 탭 중 Profiles 탭을 이용할 것이다.Profiles의 기능은 아래와 같다. 웹페이지의 javascript, css 등의 성능을 측정하여 어디에서 병목이 발생하는지 확인,메모리 상태 스냅샷을 찍어서 메모리 누수가 일어나는 부분 확인 일단 셋팅하자.index.html Start Destroy main.js$("#start_button").click(function(){ if(!leak){ return; } leak = new Leaker(); leak.init(); }); $("#destroy_butto..
-
자바스크립트 메모리 관리 [가비지 컬렉션] :: 마이구미Javascript 2016. 7. 12. 21:56
이번 글은 자바스크립트의 메모리 관리에 대해 알아볼 것이다.C를 사용해 봤다면 malloc() 과 free() 사용했을 것이다.예를 들어 무언가를 생성하고 메모리를 할당하고 필요없어지면 메모리에서 없애버리기 위해 사용한다. 이렇게 C나 C++은 메모리를 직접 할당하고 해제하여야한다.그에 반해 자바는 GC라는 녀석이 자동으로 메모리를 관리해주고 있다.이 GC가 가비지 콜렉션(Garbage Collection)이다. 이것은 C와 JAVA의 큰 차이 중 하나이다. 자바스크립트 또한 자바처럼 GC를 통해 메모리를 관리한다.다시 한번 말하자면 C나 C++은 소스를 통해 메모리를 직접 할당하고 직접 해제하여야한다.그에 반해 자바나 자바스크립트와 같은 고급 언어들은 GC라는 녀석이 알아서 필요없으면 메모리를 해제하여..
-
이벤트 해제 unbind 활용 [jQuery] :: 마이구미Javascript 2016. 7. 3. 16:17
이번 글은 이벤트 해제에 관한 글을 작성할 것이다.이벤트를 해제할 경우 쓰는 방법은 많이 있다.대표적으로 removeEventListener(), off(), unbind() 를 사용할 것으로 생각한다. 본인은 개인적으로 unbind()를 사용한다.off()와 unbind()는 jquery의 메소드이다.unbind()이 개선되어 나온 것이 off()이다.그러므로 jquery 버전이 1.7이하인 곳은 off() 메소드를 지원하지 않는다. 그래서 무슨 말을 할껀데 서론이 기냐...또 본인의 경험담으로 이야기를 해보겠다.특정 태그 영역에서 이벤트를 발생시키기 위하여 scroll 메소드를 사용하였다.그리곤 이벤트를 발생되면 이벤트를 해제하기 위해 unbind('scroll')를 이용해 이벤트를 날려버렸다. jQ..
-
자바스크립트 Promise 동기 프로그래밍 : 마이구미Javascript 2016. 6. 9. 21:16
javascript promise에 대해 알아보자!http://mygumi.tistory.com/328 최신 글을 참고하자. 자바스크립트를 하다보면 다들 한번씩은 겪었을 것이다. 비동기 프로그래밍의 문제점을 관한 이야기이다. 그래서 필요한 경우는 본인이 원하는 순서대로 제어하고 싶다. 정말 간단한 예를 살펴보자. $('.button').click(function(){ $.getJSON('package.json',function(result) { console.log("?"); }); console.log("!"); }); 다들 실행 결과는 알 것이다. 콘솔창에는 느낌표부터 출력 후 물음표가 출력될 것이다. 처음에는 그냥 setTimeout으로 시간을 걸어 해결할 것이다. 콜백으로 해결한다는 둥 Watef..