-
안드로이드 tap highlight 레이어로 대체하기
오늘은 지난번 -webkit-tap-highlight-color 사용하기 에서 얘기했던 안드로이드 tap highlight 버그를 회피할 수 있는 방법에 대해 포스팅하고자 한다. 일단 기본적인 아이디어는 이렇다. webkit 브라우저는 기본적으로 tap highlight를 숨길 수 있으므로 tap highlight를 투명하게 변경하고 해당 링크의 위치에 원하는 모양의 레이어를 띄우는 것이다. 여기서 또 다른 문제를 함께 해결해야 하는데, 삼성 갤럭시 계열의 스마트폰에서는 숨기는 것 조차 안된다는 것. 그래서 조금 더 꼼수를 부려야
-
chicken game
팟케스트에서 애플과 삼성의 특허 전쟁을 빗대어 치킨게임이라고 표현하는 것을 들었는데 치킨게임이 무엇인지 몰라 궁금해졌다. 위키백과에 따르면 게임 이론의 모델 중 하나로, 어떤 사안에 대해 대립하는 두 집단이 있을 때 그 사안을 포기하면 상대방에 비해 손해를 보게 되지만, 양쪽 모두 포기하지 않는 경우 가장 나쁜 결과가 벌어지는 상황이다. 치킨게임이라는 것에 대해 글을 읽으면서 직접적인 관련은 없지만 양보라는 것에 대한 생각이 든다. 치킨게임에서 게임을 포기하는 것과 양보를 무조건 같다고 볼 수는 없는 것이지만 공멸을 피하기 위해 내
-
크로스 브라우저를 지원하는 localStorage 라이브러리 store.js
store.js HTML5에 포함된 Web Storage 중 localStorage를 다양한 브라우저에서 사용할 수 있게 지원하는 자바스크립트 라이브러리다. 사실 이러한 기능을 제공하는 라이브러리는 이미 다양하게 개발되어 있다. 특히 이름이 store.js로 동일한 라이브러리도 있다. 그럼 기존의 쿠키 등의 방법을 두고 왜 클라이언트에 보관하는 web storage를 사용하는가? 당연히 서버에서 제어가 필요없는 정보를 저장하거나 큰 용량을 저장하고 싶을 떄 사용할 수 있다. 사실 쿠키는 저장 공간/개수의 한계도 있을 뿐아니라 모든
-
-webkit-tap-highlight-color 사용하기
iOS와 안드로이드의 웹킷 기반 브라우저(사파리, 크롬 등)에서 링크를 터치하면 해당 위치를 표시하는 하이라이트가 나타난다. 이 하이라이트의 색상을 바꾸고 싶을 때 사용할 수 있는 것이 -webkit-tap-highlight-color 이다. 사용법은 아주 간단하다. -webkit-tap-highlight-color: <color>; 예를들어 검은색 계열에 불투명도 30%를 지정하고 싶다면 * { -webkit-tap-highlight-color:rgba(0,0,0,0.3); } 으로 지정하면 된다. *는 모든 개체를 뜻하므로 특정
-
Code Refactoring 두려워하지 말자
리펙토링이란 무엇일까? wikipedia에 따르면 다음을 뜻한다. "리팩토링(refactoring)은 주로 '결과의 변경 없이 코드의 구조를 재조정함'을 뜻한다." 참고 : 영문 위키피디아 (한국 위키엔 아직 내용이 많이 부족하다.) 프로그래밍에 대해 공부를 해본 사람이라면 이 리펙토링을 해야하는 이유에 대해 귀가 따갑도록 이야기를 들었을 것이다. 하지만 리펙토링이라는 것 자체가 "결과의 변경없이 구조를 재조정하는 것"이라는 정의에서와 같이 리펙토링만으론 더 나은 실행 결과를 얻을 수 없다. 또한 잘못된 리펙토링 방법 또는 프로그래