http://blog.naver.com/jjoommnn?Redirect=Log&logNo=130141474121


jQuery에 대해 정리 잘한 블로그다. 


최근에는 1.9.1 로 버전업이 되면서 많이 변했으니 참고만 하자 


by kazikai kazikai 2012. 12. 13. 23:14

웹표준 가이드란 책을 언제 까지 들고있을것인가. 


개발자 이야기는 아직도 다 못봤고.. 프로그래머로 사는법이라는 책도 사놓고 안보고 있다. 

빨리빨리 소모해야 할텐데. 

회사 업무/ 영어/개인적인 일들이 너무 많은것 같다.. 는 핑계고 ㅋㅋㅋ


조급해 하지 말고 차근차근 열심히 하다 보면 언젠가는 실력이 늘것이다. 



1. 이번년도 지나기전 목표로 한 책은 다 보자 꼭


2. 영어는 학원을 꼭 등록 하자 

듣기로는 힘들다. 일단 알아보는것은 전화 영어+ 영어 회화? 

'목표/진행상황' 카테고리의 다른 글

이번달의 목표  (0) 2012.11.20
2012년 새해 목표  (2) 2012.01.01
웹 전문가 프로젝트 1 2012년 12월 1일  (0) 2011.12.01
2011년 목표  (0) 2011.02.27
해야 할일 ㅠㅠ  (0) 2010.10.21
삼성전자 합격  (0) 2010.10.12
by kazikai kazikai 2012. 11. 20. 00:48

요즘들어 느끼는것이지만. 정말 뛰어나고 멋진 사람들이 세상에는 참 많은것 같다. 


이런 사람들 틈에서도.. 내가 과연 잘 할수있을까.. 하고 의기소침 해질때도 있지만


나는 나다운게 최고라는 생각을 가지고 오늘도 열심히 살고있다. 


일을 좀더 즐기고 한번 미쳐봐야 할텐데. 


집에와서 오늘부터 11시 부터 2시간씩은 꼭 나를 위한 자기 계발을 해야겠다. 

열심히 삽시다. 



'끄적끄적' 카테고리의 다른 글

세상에는 뛰어난 사람들이 참 많다.  (0) 2012.11.20
공부? 개발 ?  (2) 2012.09.02
구글 검색 1위  (0) 2012.06.28
해야 될것들  (0) 2012.06.18
페이스북과 블로그의 차이  (2) 2011.12.06
개인 홈페이지 생성  (0) 2011.11.27
by kazikai kazikai 2012. 11. 20. 00:42



최근에 Facebook 이 iOS 에서 고수하던 Application 을 Hybrid App 에서 Native App 으로 변경 하였다.

아래는 그 이유에 대해 분석해본 자료다.  팀장님께 분석하여 보낸 메일을 내 블로그에 포스팅 하기 쉽게 바꿨다. 


1. Web 기술로 ( HTML5 )  App 개발시에 성능 문제가 존재 하는지?

현재 HTML5  에서는 Webapp 개발시 성능 문제를 해결 하고자 로컬에 파일을 미리 저장해놓는  여러가지 기술을 사용 하고 있음 

그중 localStorage /applicationCache 와 같은 기능 들도 존재 한다. 이런 기능들은 Web App 을 Offline 에서도 잘 활용 하수 있게 지원 해주는 HTML5 의 Offline application 관련 기능들이다.  

(여기서 localStorage는 객체형태의 공간에 해당 DB를 저장해놓고 사용 하는 방법이며 

ApplicationCache 의 경우는 미리 지정해놓은 파일들은 처음 다운 받은 후에 재접속 후에 해당 파일을 네트워크에서 다시 전송 받지 않고 활용 하는 기법 . )

해당 기술은 Google의 경우 Gmail 에서 이미 많이 사용 중이며 application  형태로 제작된 web contents들은 모두 이런 기술을 사용 하고 있다. . 


2. 그렇다면 Facebook 은  그런 성능 문제를 개선 하기 위해  web  기술을 사용 하였는지??

daum의 윤석찬 팀장의 블로그에서  http://blog.creation.net/531  밝혔듯이  Facebook의 경우는 web app에 이런 기술을 사용 하고 있지 않는다고 나와있다.

해당 분석 소스는 hybrid app을 직접  살펴본것이 아니라 hybrid app의 모태가 되는 m.facebook.com 의 소스를 살펴 본것으로 확인 되며 해당 소스를 분석 해본결과 

위에 말한  application 형태로 제작될때 활용될 기술들이 하나도 사용 되어있지 않았다고 한다.( 정말??/)  즉 Facebook의 HTML5 는 HTML5 를 사용 하지 않았다고 표현 하고 있다. 


3. 그렇다면 왜 Native App 으로 변경을 하였는지? 

위 블로그에서 확인해보면 이유가 나와있지만 본인의 생각은 다르다. 현재 facebook의 공식 입장은 단 2가지 입니다. Speed 와 efficiency  라고 한다. 

현재 native app 으로 업데이트 하면서 속도는 확실히 좋아졌고 native  app이 가지고 있는 부드러운  UI/UX로 조금더 좋은 평가를 받고 있는데  facebook이  native app으로 전환하면서 얻었다고 하는 공식적인  Speed 의 장점 3가지가 다음과 같다.  


Speed의 장점

1. 랙이 없어짐

2. 스크롤링이 더 부드러워짐 

3. 사진이 즉시 업로드 된다. 


Speed가 Web service 특성상 얼마나 중요한지에 대한 자료는 얼마전 NHN 에서 열렸던  Deview 에서 잘 언급 되고있는데  해당 컨퍼런스에서 웹서비스 빠를수록 좋다 : NHN 김일환

섹션에서 발표된 내용을 살펴 보자면 웹 서비스가 1초 느려지면 매출이 3% 떨어진다는 MicroSoft의 통계도 있으며 웹서비스는 0.1초라도 빠를수록 좋다고 나와있다. 

(네이버 기준으로 로딩시간 2,3 초 를 기준으로 1인당 PV 가 낮아지기 시작 해 5초 이상 걸리면 PV가 절반 이하로 떨어진다고 하는데 얼마나 웹에서 속도가 중요한지 알 수 있다. )  


Efficiency 의 장점 

효율성에 있어서는  현재 iOS 에서 Native 개발시에 Xcode   라는  개발툴을 사용 합니다. 이 개발툴의 경우 개발도구가 상당히 잘되어있어 개발 할경우 HTML5 개발 보다 훨씬 용이하게 

개발을 할 수 있었다고 한다.  예를들어 Scrolling 을 smooth  하게 표현 하기 위해서는 HTML5 에서는 숙련된 개발자가 필요 하지만  iOS 에서 Native  로 개발 할 경우 이런 고민을 할 필요가 없다고 한다. 


그렇다면 HTML5 로도 위의 개발 과정을 충분히 가능 한데 왜 Native로 굳이  Rebuild하였는지 ? 

현재 HTML5 개발의 경우  safari 도 여러가지 개발자 도구를 지원 하고 있고 ( 원격 디버깅,)( UA Code 변경) 구글의  Chrome도 여러가지 개발도구를 지원 하고있다. 

또한 속도 문제 또한 HTML5 의 모든 스펙을 충분히 동원 하면 Native 대비 어느정도 성능은 얻을 수 있을것이라고 한다. 


그렇다면 과연 무슨 이유 일까? 나는 facebook과 apple 간에 모종의 거래가 있지 않을까 예상해본다. 

관련 징후는 다음과 같다. 


  1. iOS6.0으로 업데이트 되면서 facebook이 default 가 되었음 
  2. facebook이 작년 부터 활발히 진행하던  spartan project  가 아무런 언급이없음..(사라진 프로젝트..) 
  3. 또한 spartan project 시에 활발히 개발 되었던 web app 들이 현재 Facebook appcenter 에서 검색이 불가능 
  4. facebook에서 검색 한 app의 경우 모두 애플 의 Appstore로 이동 하였고 이전에는  꽤 완성도 있는 web app도 올라왔었는데 이  app 또한  native app으로 대체 


해당 주장을 좀더 뒷받침 해줄 기사가 있어 링크 한다. 


http://www.readwriteweb.com/mobile/2012/08/how-facebook-ditched-the-mobile-web-went-native-with-its-new-ios-app.php



아래는 facebook의 개발자가 밝힌 HTML5 개발 의 문제점 이다. facebook 의 메일링 리스트를 번역 하였다. 


1.  Tooling / Developer APIs 

모바일 브라우저에서  개발에 적합한 툴이 없다.  단말에서 issue 발생시  dig down 하는것이  매우 어렵다 . 

그중 가장 큰 문제는 memory  에 관련 된 것들이였음 ,  드물게  컨텐츠 사이즈가 하드웨어의 허용 범위를 초과하였을 경우 

오류가 발생할경우  해당 문제의 원인을 정확히 파악 하기 힘들었음 : GPU  버퍼가 초과 되었는지  

  • 그렇다면 무엇이 없었는지 ? 
    • 개발툴은 원격으로 쉽게 접근 가능해야 함 
  • Down memory lane : 
    • heap size
    • object count 
    • GC cycles 
    • GPU buffer size 
    • resource limits 
  • 링크드인의 경우  개발 할때 UA String 을 바꾸는 방법으로 개발 하는방법을 사용중
  • FPS
    • Testing 하는데  FPS를 측정 하는 것은 필수임
    • 페이지 안에 스크롤링을 얼만큼 포함 할것인지 아니면 infinite scrolling 을 적용 할것인지 여부는 H/W 레벨에 따라 결정 되어야 함   

2. Scrolling Performance

  • 스크롤링 성능은 가장 중요한 이슈중에 하나로 현재 W3C Web Performace WG 에서 공유 되고 있는 문제임 
    전형적으로 뉴스피드 / 타임라인 등에서는 Infinite Scrolling 을 사용 하고 있는데 많은 양의  컨텐츠가  로딩 될 수 밖에 없음 
    현실적으로 자바스크립트를 사용 해서 스크롤링의 모 든것을 해결 하였는데 충분히 빨라지지 않았음 
  • QOI 이슈들 
    • 일치하지 않는 프레임 레이트 들 / UI 쓰레드 부족 
    • 이미지와 컨텐츠 크기로 인한 GPU 버퍼 소진 
    • Native에서 사용 하는  스크롤링 ( 가속 스크롤링을 말하는듯 ) 은 각 OS에 최적화 되어있어 서로 다른 느낌을 준다. 하지만  스크롤링을 JS  로 개발하면 한개의 느낌만 줌 
    • 안드로이드 기기에서 터치 이벤트  성능 문제 존재  ( 지연, 충분하지 못한 이벤트 ) ( JS  로는 너무 힘들다 ) 
  • Requirements 
    • 스크롤링은 반드시 빠르고 부드러워야 함
    • 여러개의 이벤트들이  트리거 되어야 함 , 복잡하고 중첩된 유저 스크롤이  컨텐츠에 반영되어야 함 
    • 무조건 백그라운드에서 계산 및 I/O 가 허용 되어야함 
    • 스크롤링 동안에 메인 컨텐츠에 새로운 컨텐츠가 추가 되는것이 허용 되어야함 
    • 많은 양의 컨텐츠 및 이미지가 있어도 안정적으로 스크롤링이 동작 해야 함 
    • 스크롤링 동안에 Touch 이벤트를 캐취 할수 있어야 함
  • New API Suggetstions 
    • Browser 에서 스크롤링 할때 표준 방법 확립 
    • onScroll 이벤트가 스크롤링 할때도  trigger 되어야함
    • Structured cloning of rootless document fragments : (shadow dom이랑 비슷한 놈)
    • Pull to refresh 를 구현하기 쉬운 방법  


3. GPU

  • 현재 GPU  는 black box 인 상태 : 하드웨어 가속을 사용 하는데  디바이스가 소모하는 컨텐츠의 양 및, GPU 버퍼 사이즈  등 을 알수가 없음 

4. Other 

  • 더 나은 터치 트래킹 지원, ( 특히 안드로이드에서 ) 
  • 부드러운 Animation  이 항상 보장되어야 함 
  • 더 좋은 caching 
  • appCache는 사용하기 너무 어려움 

'포스팅' 카테고리의 다른 글

블로그 이전  (0) 2015.11.24
facebook이 native app으로 전환 하게 된 이유?  (0) 2012.10.08
synergy 설치  (0) 2012.09.13
국가스텐-비트리올  (0) 2010.10.22
삼성 전자 , 갤럭시 Q 연말 출시 예정!!  (0) 2010.06.21
커피 종류에 따른 알기 쉬운 그림  (0) 2010.05.17
by kazikai kazikai 2012. 10. 8. 17:28

흔히 많이 사용 하는 태그는



<html> 

<body>

<head>

<title>

<div>

<p>... 등등이있다.ㅣ


웹에서는 상대 경로 또는 절대 경로를 통해 파일에 접근 한다. 하지만 상대 경로의 경우는 때로는 설정이 꼬여 버리는 일이 빈번히 발생한다. 


즉 상대 경로는 base url 을 기준으로 접근 하게 되는데 ( 불리는 html 파일이 존재하는 폴더 ) 

이 base URL이 변하는 경우에는 설정이 꼬이게 된다. 

이경우 base url 을 바꿔 주는 태그가 <base> 태그다. 


사용법은 아래와 같다.



<head>
<base href="http://www.w3schools.com/images/" target="_blank" />
</head>

<body>
<img src="stickman.gif" />
<a href="http://www.w3schools.com">W3Schools</a>
</body>


<img> 태그의  stickman.gif 는 <base> 태그를 통해 바뀐 상대 경로로 이동 하게 된다. 







by kazikai kazikai 2012. 9. 23. 11:40

최근 시너지를 사용 하면서 여러 가지 에러가 많이 났다. 


synergy error : FATAL:Init failed: system setting not enabled: "Enabled access for assistive device "


이 해결은 




시스템 환경설정 > 손쉬운 사용 > 키보드 > 보조 장비에 대한 접근 활성화 체크


System Preferences > Universal Access > Keyboard > Check "Enable access for assistive devices"



위 2가지를 해결 하면 된다~~!!

대박~ 시너지 

'포스팅' 카테고리의 다른 글

블로그 이전  (0) 2015.11.24
facebook이 native app으로 전환 하게 된 이유?  (0) 2012.10.08
synergy 설치  (0) 2012.09.13
국가스텐-비트리올  (0) 2010.10.22
삼성 전자 , 갤럭시 Q 연말 출시 예정!!  (0) 2010.06.21
커피 종류에 따른 알기 쉬운 그림  (0) 2010.05.17
by kazikai kazikai 2012. 9. 13. 23:40

잘 정리되어있다. 

참고 


http://blog.naver.com/chidoo74?Redirect=Log&logNo=10142252636

'스크랩' 카테고리의 다른 글

OOP에 대한 개념 정리 글  (0) 2012.09.11
읽어볼글  (0) 2012.06.19
개발에 도움이 되는 웹 서비스들  (0) 2012.06.08
SKT VS 블로거  (0) 2011.01.18
윈도우에서 아이튠즈 제거/복구 과정  (0) 2010.11.03
매일매일 티켓 할인 사이트!  (0) 2010.08.11
by kazikai kazikai 2012. 9. 11. 13:14

아무래도 순수 컴퓨터 사이언스 전공이아니다 보니


개발을 시작하면서 공부도 병행하면서 업무를 진행한다.


블로그에 공부라는 카테고리에 올릴것이 개발에 가야 되는것이 아닌가


아니면 개발에 올릴것이 사실은 공부라던지


어떻게 해야 할지 갑자기 고민이 된다. 



'끄적끄적' 카테고리의 다른 글

세상에는 뛰어난 사람들이 참 많다.  (0) 2012.11.20
공부? 개발 ?  (2) 2012.09.02
구글 검색 1위  (0) 2012.06.28
해야 될것들  (0) 2012.06.18
페이스북과 블로그의 차이  (2) 2011.12.06
개인 홈페이지 생성  (0) 2011.11.27
by kazikai kazikai 2012. 9. 2. 12:10
  • 11 2012.10.08 11:00 ADDR EDIT/DEL REPLY

    대체 어떻게 이렇게 SKT/삼전/LG 등 내노라하는 기업을 여유 있게 뚫을수있는거죠?? 당신은 괴물인가요?? 지나가는 취준생인데 보니 요샌 서류통과에서 조차 백전1승 하기가 힘든데 서류던 인적성이던 면접이던 백전백승하는 모습에 화까지 날정도네요. 무슨 비법이 있나요? 하고 물었을때 비법이란 없고 그저 자기 자신을 믿었을 뿐입니다 라는 진부한 답변보다는 본인만의 특별한 비법이 따로 있을텐데 꼭 듣고싶네요

    • kazikai kazikai 2012.10.17 19:24 신고 EDIT/DEL

      당시에는 나름 준비도 많이했고^^;; 운도 좋았어요 . 게다가 석사때 한 과제 도 있고 해서 도움이 많이 되었던거 같네요

바로  문자 인코딩 방식이 eur-kr 형식으로 되어있어서 그렇다. 


Windows > Preferences > General > contextType > default encoding의 값을 UTF-8로


변경 해주면 끝남 




'개발' 카테고리의 다른 글

Grunt.js 는 무엇인가?  (0) 2013.01.15
jQuery 분석  (0) 2012.12.13
Eclipse에서 한글 주석 또는 한글이 깨지는 현상  (0) 2012.08.31
Polyfill이란 무엇인가?  (0) 2012.03.26
Boot to Gecko 설치 프로젝트 3  (0) 2012.03.22
Boot to Gecko 설치 프로젝트 2  (0) 2012.03.21
by kazikai kazikai 2012. 8. 31. 13:46

지금 다니고 있는 회사에서 면접을 한창 볼때  받았던 질문이다. 


한정현씨는 10년후의 자기 모습이 어떨거라 생각 하세요?


당시 이질문을 받고 나는 이렇게 대답했다. 


현재 Google에서 "한정현" 이라는 제 이름을 검색하면 


1. 고려대학교 한정현 교수

2. 한정현 가구 


등등이 나옵니다.


한 3번째 페이지에 가면

제가 대학원때 썼던 논문의 이름 또는 조교 활동으로 저를 찾는 페이지가 나옵니다.


저는 이게 참 싫었어요 

뭐랄까 제 이름을 가진 동명이인들중에서는 최소한

제일 유명한 사람이 되었으면 했거든요 



10년후에 

직장에서 인정받고 직장에서 "한정현" 이라고 하면 다들 칭찬하는 사람으로 되고 싶다고 말하는건 좀 진부한거 같고 

간단히 구글 검색했을 경우  첫번째로 나오는 페이지가 가르키는 사람

그게 저였으면 합니다. 


라고 답했던 적이 있다.


그런데.. 두둥.. 입사후 1년 반만에!!!



그 목표를 달성해버렸다(?) (짝짝짝)

아 물론.. 저 링크드인이라는 서비스가 특이해서..( 잡 포스팅 .. SNS).. 

조금만 프로필 업데이트 하면 잘 검색이 되는데 말야..

(게다가 며칠 링크드인 업데이트 안하면 순위에서 밀린다..)


일단 달성했다는게 의미가 있다. ( 어떤 경로든지?.. ㅋㅋ ) 


그렇지만 앞으로는 이런 편법으로 말고 나를 좀더 어필 할수있는 방법을 찾아 봐야겠다.

아 물론.. 어필만 해서는 안되고.. 내실이 강한 짱짱한 사람이 되어야지 

암튼.. 10년후는 충분히 가능할것 같다는 생각이 든다. ~!! 빠르면 5년안에 가능하지 않을까 한다. 





'끄적끄적' 카테고리의 다른 글

세상에는 뛰어난 사람들이 참 많다.  (0) 2012.11.20
공부? 개발 ?  (2) 2012.09.02
구글 검색 1위  (0) 2012.06.28
해야 될것들  (0) 2012.06.18
페이스북과 블로그의 차이  (2) 2011.12.06
개인 홈페이지 생성  (0) 2011.11.27
by kazikai kazikai 2012. 6. 28. 01:21
| 1 2 3 4 5 ··· 12 |