-
자바스크립트 메모리 누수 :: 마이구미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라는 녀석이 알아서 필요없으면 메모리를 해제하여..
-
meta og 태그에 대한 오픈그래프 알기 : 마이구미오픈 API 2016. 7. 10. 16:45
이번 글에서는 og 태그에 대해 알아볼 것이다.이 글을 쓰게 된 동기는 어느 날 네이버 지식인에 이런 질문이 올라왔다. 네이버 지식인 질문 일단 meta 태그란 무엇인가? HTML 문서가 어떤 내용을 담고 있고, 문서의 키워드는 무엇이며, 누가 만들었는지 등의 문서 자체의 특성을 담고 있습니다 또한 브라우저나 검색 로봇에게 해당 페이지의 정보를 알려주는 기능이 있다. 그리하여 아예 직접적으로 meta 태그를 이용하여 표기해준다.큰 이유는 기술이 발전해도 웹 문서와 같은 비정형적인 정보를 100% 인식하기가 어렵단다. 이 표기방법 중 페이스북의 오픈그래프 프로토콜을 사용하는 것이 og 태그이다. 오픈그래프는 어떤 HTML 문서의 메타정보를 쉽게 표시하기 위해서 메타정보에 해당하는 제목, 설명, 문서의 타입..
-
Github 기본 설명서 2편 :: 마이구미GitHub 2016. 7. 10. 14:31
이번 글에서는 기본적인 명령어들을 다룰 것이다.개인의 관점에서 자신의 소스 관리가 필요할 때의 경우 사용하는 명령어들을 다뤄보겠다.다음 글에서 협업에 필요한 경우를 관한 글을 쓰겠다. 일단 GitHub 홈페이지에서 원격 저장소를 만들어보자.https://github.com/우선 위 url에 접속하여 회원가입을 하자. 위 이미지가 우측 영역에 보일 것이다. 'New repository' 버튼을 누르자. 위 이미지가 나온다면 'Repository name'에 원하는 저장소 이름을 입력한 후 'Create repository' 버튼을 클릭하면 저장소가 만들어진다. 그리곤 아래의 이미지가 나올 것이다. 위처럼 GitHub에서 친절하게 초기 셋팅 명령어들을 알려주고 있다.일단 지금까지 우리가 만든 것은 원격 저장..
-
이벤트 해제 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..
-
Daum 블로그 글쓰기 API 업데이트 :: 마이구미오픈 API 2016. 7. 3. 14:29
이번 글은이전 글 "오픈 API를 활용하여 SNS에 포스팅하여 유입량을 늘려보자" 동일하다.http://mygumi.tistory.com/19 동일하다면 왜 이 글을 쓰는가.. 그건 당연히 이유가 있다.일단 Daum의 글쓰기 API를 보자. 위 보다시피 글쓰기 API를 사용하기 위해서는 필수적으로 blogName, title, content, tag가 필요하다.title, content, tag은 원하는대로 적으면 상관없기 때문에 신경 쓸 필요가 없다. 여기서 중요한 건 blogName이다. Daum의 블로그 주소는 http://blog.daum.net/blogName/ 이런 식이다.blogName은 기본적으로 Daum의 아이디가 된다. 하지만 변경할 수 도 있다.이것이 문제로다. blogName이 로그..
-
글쓰기 API 유입수 늘리기 [openAPI] :: 마이구미오픈 API 2016. 7. 2. 16:31
이번 글에서 사용할 API는 글쓰기 API를 사용한다. 글쓰기 API 또한 많이 사용하는 API 중 하나이다.현재 SNS들 중 글쓰기 API를 사용할 수 있는 SNS는 네이버, 트위터, 카카오, 페이스북이다. (더 있긴 하지만 대표적으로!) 글쓰기 API를 사용하는 이유는 대표적으로 유입수를 늘리기 위해 사용한다.글쓰기 API란 예를 들어 네이버 블로그에 글을 올리는 것이나 페이스북에 글을 올리는 것이다.'직접 올리면 되지 뭣하러 API를 쓰면서 올리냐' 라고 생각할 수 도 있다. 여기서 글을 올린다는 것은 현재 이용하고 있는 사례를 들자면 어떤 기사에 댓글을 달았을 때 댓글을 단 사용자의 SNS에 자동적으로 그 해당 기사에 대한 글이 올라가서 해당 기사를 보다 퍼트려 유입 수를 늘리기 위한 기능을 이야..
-
죽지 않고 유지하는 pm2 사용법 :: 마이구미Nodejs 2016. 7. 2. 15:14
이번 글은 Node.js에서 사용할 수 있는 프로세스 관리자 모듈을 알아보겠다.크게 모듈에는 Strongloop, PM2. Forever 세 가지가 있다.Forever는 나머지에 비해 다소 기능이 떨어진다. 소규모 프로젝트에 어울린다.이번 글에서는 PM2를 다룰 예정이다. Node.js 웹서버를 실행하기 위해서는 대부분 node 명령어를 사용한다. $ node 노드 실행 시 오류가 있으면 프로세스는 중단된다. 또한 종료하여도 중단된다.그래서 한번이라도 사용해봤다면 이런 생각은 한번쯤 했을 것이다.그렇다면 어떻게 톰캣처럼 서버가 계속 중단되지 않고 실행될까?그때 이용하는 모듈이 PM2이다. $ npm install pm2 먼저 npm를 이용하여 pm2를 설치한다.끝이다. 이제 pm2 명령어들만 알면 된다...