7월 21
아래 snippet은 Touch Events를 지원하는 iPhone/iPad에서 기존 mousedown/mouseup events를 대신하는 touchstart/touchend event 탐지 목적에 쓰일 수 있다.
if ('createTouch' in document) {
}
iPad에서의 click event handling은 약간 지체되는 느낌이 있으므로, 되도록이면 대응하는 touch events를 써주는 것이 좋을 것이다.
그리고 참고로, Android에선 Touch Events를 지원하지만 위의 방법을 사용할 수 없다고 하니, 어쩔 수 없이 navigator.userAgent도 살펴봐야 한다.
function supportsTouch() {
var android = navigator.userAgent.indexOf('Android') != -1;
return android || !!('createTouch' in document)
}
꼬리표: iPad, iPhone, iPod touch, Touch Events
2월 12
2010년이 돼서도 차별대우는 어쩔 수 없다.
var isMSIE = false;
var isMSIE
Dean Edwards씨가 몇 년전 쌀짝 공개했던 코드로 알려지게 되었는데, Internet Explorer에서만 채용된 JavaScript의 짝퉁, JScript의 Conditional Compilation Statements때문이란다.
혹은 더 짧게,
if(!+"\v1")
꼬리표: Browser Sniffing, Internet Explorer, 웹 브라우저
3월 11
블로그 형태의 대표적 CMS로 제일 먼저 WordPress가 떠오르지만, 보다 폭 넓은 형태의 "Web Community" 형성을 위한 다양한 user roles을 지원하는 CMS로는 약간 아쉬울 수 있다. 이럴 때 고려할 수 있는 대표적 CMS platfrom의 하나로 Drupal이 명성을 얻고 있는데, 마침 기회가 되어 로컬 시스템에 설치해서 여기저기 둘러보고 있는 중이다.
아무래도, Drupal의 장점이라면 우선 다양한 추가 modules을 통한 맞춤식 기능 확장이라 하겠는데, 처음 Drupal을 설치하면서 자신의 용도에 맞는 modules을 찾기란 무척 당황스럽고 어려운 일인지라, 쓰임새 많은 몇 개의 필수 module들을 적어놓는다.
다음은 Drupal을 위한 modules과 themes을 모아놓은 사이트
Drupal을 둘러보던 중 몇몇 CMS 비교 글들에서 종종 언급되고 있는 또 다른 CMS platform에도 관심을 가지게 되었는데, 가장 훌륭한 templating system을 가지고 있다는 일명 CMF로도 분류되는 신생 MODx에도 자꾸 눈길이 끌림.
아래는 프로젝트에 가장 적합한 CMS를 고르는데 참고가 될 만한 글이다.
결국 모든 프로젝트를 완벽하게 충족시켜주는 CMS란 존재하기 어려운 것이고, 그 만큼 각 프로젝트의 성격과 요구 조건에 맞는 CMS를 고르는 일도 중요하다는 결론. 결국 다양한 CMS를 직접 두루두루 써봐서 그 장단점을 몸소 체험할 수밖에.
꼬리표: CMS, Drupal, Drupal Modules, MODx
1월 31
아래 한 줄의 코드 실행으로 Firefox 3(FF3), Firefox 2(FF2), Firefox(FF), Internet Explorer(IE), Safari(Saf) 그리고 Chrome(Chr)의 결과 값을 얻을 수 있다:
B=(function x(){})[-5]=='x'?'FF3':(function x(){})[-6]=='x'?'FF2':/a/[-1]=='a'?'FF':'\v'=='v'?'IE':/a/.__proto__=='//'?'Saf':/s/.test(/a/.toString)?'Chr':/^function \(/.test([].sort)?'Op':'Unknown';
퍼 나른 곳 = The Spanner – Detecting browsers javascript hacks
물론, 각 브라우저의 차기 버전이 배포되면 결과 값은 틀려질 수가 있으므로 사용에 주의를 요하지만, 종종 단순한 작업을 위한 긴급 처방으로 요긴할 때가 있다.
꼬리표: Browser Sniffing, 웹 브라우저
12월 14
MySQL 서버는 기본적으로 데이타 갱신과 관련된 모든 선언문 기록들을 Binary Log 형태로 저장하도록 설정되어 있는데, 이 놈은 그냥 놔두면 절대 지워지지 않아서 나중에 무한 증식해서 디스크 용량을 크게 잡아먹을 수도 있다. 그래서, 무제한 증식을 막기위한 조치로, 아래 처럼 서버 설정 파일에다 expire_logs_days 값을 설정해 놓으면, 지정 기간이 지난 log 파일들은 서버를 재시동할 때마다 확인해서 자동 삭제해 준다.
# expire binary log files automatically after a given number of days
expire_logs_days = 30
물론, 지금 당장 모두 지워버리고 싶다면, 긴급 조치로서 아래의 방법을 사용할 수도 있다:
mysql> FLUSH LOGS;
mysql> RESET MASTER;
여태 신경 안 쓰고 그냥 놔두었더니, 위 명령으로 500MB 이상을 줄일 수 있었다.
꼬리표: MySQL
최근 댓글