[Info]Tags categorized posts and contents patterns..

[AJAX] Ajax Code E xamples.. [Book] About the book.. [CSS] CSS Code E xamples.. [DB] Sql Code E xamples.. [DEV] All development stor...

레이블이 Performance인 게시물을 표시합니다. 모든 게시물 표시
레이블이 Performance인 게시물을 표시합니다. 모든 게시물 표시

2016년 3월 7일 월요일

[JS]Javascript 속도향상을 위한 31가지 체크리스트..

출처 : Outsider's Dev Story https://blog.outsider.ne.kr/

Thomas Fuchs가 자신의 블로그를 통해서 "31 ways to speed up your JavaScript"라는 제목으로 SlowJavascript?라는 사이트를 통해서 체크리스트를 공개했습니다. 토마스 퍽스는 prototype.js기반의 UI라이브러리인 script.aculo.us를 만든 사람이고 지금은 다음버전인 scripty2를 만들고 있습니다.

Slow Javascript Homepage

이 체크리스트는 PDF형태로 제공되고 있으며 SlowJavascript?사이트에서 다운로드가 가능합니다. Newsletter에 가입하면 업데이트 정보와 퍼포먼스 팁을 보내준다고 합니다.

31가지 체크리스트는 아래와 같습니다. (무료로 배포된거니 적어도 되겠죠?)

  • Correct script tag placement
  • DOM Monster complexity approval
  • Correct caching headers
  • Concatenate, inlinine & pre-cache
  • Minify and/or Gzip
  • Smush, CSS sprite & favicon
  • Check your framework
  • Manage runaway timers
  • Maximize DOM code efficiency
  • Tune your Ajax
  • Shorten your code (assignment, operators, literals)
  • Strip out excessive cleverness
  • Tune your expressions
  • Cache RegExps
  • Watch out for closures, globals, literals
  • Use the most efficient control statements
  • Cache your variables
  • Clean up after yourself to minimize memory leaks
  • Tune / unroll your loops
  • Ensure optimal usage of object properties
  • Use JSON
  • Use the most efficient loops
  • Eliminate syntactic sugar
  • Use arguments effectively
  • Optimize for iPhone
PDF 한페이지로 잘 정리가 되어 있기 때문에 한장 프린트해서 책상옆에 나누어도 좋겠고 체크리스트라 여러장 출력해서 프로젝트마다 사용해도 좋을듯 합니다.

Performance Checklist PDF 스크린샷

위에처럼 생겼고 위쪽으로 갈수록 일반적인(Everyday) 튜닝이고 밑으로 갈수록 극단적인( Extreme) 튜닝에 대한 체크입니다.

물론 체크리스트이기 때문에 실제 튜닝작업을 하려면 관련지식이 많이 필요합니다. 사실 사이트나 PDF에도 언급이 되어 있듯이 올해 토마스퍽스는 JavaScript Performance Rocks라는 이북제작에 상당히 주력하고 있었고 지금은 판매하고 있습니다. 제가 책내용을 못봐서 정확히는 모르겠지만 이 체크리스트는 이 책의 내용중에서 나온 부분이고 더 자세한 처리방법은 해당책에 자세히 나와있을듯 합니다. 어찌보면 약간의 마케팅적인 부분이 있다고 할 수 있습니다.

어쨌든 공짜는 좋은거죠. 


My Comment..
어쩌다보니 코멘트를 연속해서 쓰고 있다.. 이 글에 링크 된 것 중 햄 블로그로 되어 있는 것이 있는데.. 나의 관심사 혹은 나에게 해당 되는 글이 아니어서 안가져왔던 글이었다.. 그래서 햄의 글 링크로 그냥 두었다.. 앞으로도 이러한 패턴에서는 계속 그렇게 할 것이다.. 나에게 있다면, 나의 블로그에 링크를.. 아니라면 햄의 블로그에 링크를.. 그리고 저렇게 체크를 하면서 개발을 하거나 그러면 좋겠지만, 현실상 보면 그렇지 못한듯하다.. 기본 벨리데이션 체크 아니고서야 머;; 저런 것을 볼 여유나 있을까.. 핑계라면 핑계지만, 모든 부분을 다 확인하고 체크하면서 개발하기에는 우리 나라 실정은 좀 아니지 싶다.. 최대한 준수 하거나 쟁점이 되는 몇 가지를 지키려고 하는 쪽으로 방향을 택하는게 더 좋을듯 한 생각이 든다..

2016년 2월 17일 수요일

[Book] 자바 성능을 결정짓는 코딩 습관과 튜닝 이야기..

출처 : Outsider's Dev Story https://blog.outsider.ne.kr/

자바 성능을 결정짓는 코딩 습관과 튜닝 이야기 - 10점
이상민 지음/한빛미디어



제목이 인상적이어서 관심을 약간 가지고 있었지만 Blog2Book란 시리즈가 처음 나온 시리즈라 그냥 이름정도만 알고 있던 책이었는데 친한 형의 동생분이 썼다고 해서 관심을 더 가지게 되었었는데 얼마전에 OKJSP에서 이상민님이 Performance and Java Tuning 세미나를 하셔서 갔다가 왔는데 관심을 많이 가지고 있던 내용이라(내가 튜닝쪽으로 나가겠다는 것은 아니지만...) 무척 맘에 들어서 오자마자 책을 읽었다.

지금 동시에 여러가지 책을 보고 있긴 했는데 책의 내용은 너무 맘에 들었다. 제목에서 느껴지는 대로 이책은 레퍼런스책이나 자바 성능에 대해서 세세하게 설명하고 있는 책은 아니다. 자바가 성능을 내는데 있어서 꼭 필요한 부분이나 주의해야 하는 부분을 팁처럼 제공하는 책인데 약간은 에세이같은 느낌으로 편히 다가갈수 있게 되어 있어서 출퇴근시간에 부담없이 읽을 수 있었다. (책읽을때는 코딩을 따라하는 편은 아니라서...)



내가 가장 좋았던 점은 내가 궁금해 하던 부분을 속 시원히 긁어 주었다는 것이다. 그리고 마침 JSP프로젝트 하나가 막바지인데 내가 무엇을 잘못했는지 내가 사용한 것과 다른 방법으로 했을때에 어떤 차이가 나는지... 그리고 웹사이트 성능을 파악하기 위해 어떤 것을 해야 하는지 피부로 확 다가왔다는 점이 크다.


때때로 망각하고 있기는 하지만 자바에 대해서 얼마나 쌩초보인지 체감하고 있는 상황인데 단순 팁에 대한 부분으로 그치는 것뿐만 아니라 J2EE에 대한 패턴이나 MVC같은 기본적인 부분에 대한 지적도 등한시 하지 않았고 다른 데서는 보기 어려운 GC(Gabage Collect)에 대한 자세한 정리와 성능을 테스트 하기 위해서 어떤 방법으로 접근해야 하는지 세세하게 설명해 주고 있다.


특히 나는 성격이 까칠한 편이라 남을 잘 안믿는 탓에 머가 좋다. 그러면 "왜?"라는 궁금함을 많이 가지는 편인데 항상 그렇게 해야 된다는 걸 읽으면서 세부 내용을 잘 알지 못했던 String사용에 있어서 +를 이용한 결합법과 StringBuffer의 차이점등을 메모리와 시간으로 보여주니까 여실히 느낄수 있었다. 그리고 Collection은 다 비스므리 해 보이는데 어떤걸 쓰는게 좋을지에 대한 부분들을 속도로 비교해 주니까 그냥 인터넷에서 머가 좋아요 하는 것보다 훨씬 마음에 와닿았다.

내가 맨날 놓치는 소스 곳곳에 남겨진 System.out.println의 리소스 낭비나 Resultset이 돌아가는 방식, XML의 성능비교 include 방식에 따른 차이등에 대해서 실제적인 비교 데이터를 제공하니까 이해하기가 너무 좋았다. 내가 이해하기 어려웠던 부분이 없었던 것은 아니지만 초보자들도 이해하기 아주 쉽게 되어 있고 항상 궁금했던 내부의 돌아가는 방식에 대해서 바로 적용할 수 있는 또는 가장 많이 접하는 부분위주로 설명이 상당히 잘 되어 있다.




내가 필요한 부분에 대해서는 확실히 이해하고 나중에 적용하려면 좀더 다양한 테스트를 돌려보고 정리해서 포스트를 하게 되겠지만 책한권 읽은 것 만으로도 적용할 수 있는 부분이 너무 많이 느껴져서 행복할 따름이다.

솔직히 회사에서 책을 사준다길래 구입했는데 줄을 많이 그어서 어차피 한번에 적용할 수는 없기 때문에 두고두고 볼라면 따로 사서 회사책이랑 바꿔치기해야겠다. 별 5개가 아깝지 않은....