웹 표준으로 개발하면서 CSS를 적용하다 보면 항상 IE가 문제가 됩니다. 구글 크롬, 파이어폭스, 애플 사파리 모두 제대로 보이는데 IE만 이상하게 보이는 경우가 종종 있습니다. IE 8 버전 이후로 웹 표준을 많이 따르기 때문에 좋아졌다고는 하지만 아직도 안 맞는 부분들이 있네요. IE 브라우저의 CSS 구분 이런 경우, CSS Hack이라고 하는 특정 브라우저만 적용할 수 있는 편법들이 나오기도 하지요. 이외에도 일반적으로 사용하는 방법이 브라우저를 파악해서 다른 CSS 파일을 링크하도록 구성하는 겁니다. 다음 소스를 한번 보시죠.. 이렇게 하면 IE에서는 common_ie.css 파일을 사용하게 되구요. 다른 브라우저에서는 common.css 파일을 사용하게 됩니다. 이게 가능한 이유는 IE 브라..
비밀번호 찾기 기능에서 임시 비밀번호 생성이나 키 값을 만들 때, 일련번호 뒤에 붙이고 싶은 문자들을 랜덤하게 생성할 때 사용할 수 있는 소스입니다. 기본적으로 charSet을 숫자, 알파벳 등으로 설정하구요.. java의 random함수인 Math.random() 을 사용해서 처리했습니다. Math.random() 함수는 0 ~ 1 사이의 임시 값을 제공합니다. 정확하게는 0.0 이상 1.0 미만의 double 형의 실수값을 반환합니다. 즉, 1.0의 값은 절대로 나올 수가 없습니다. 그래서 만약 1 ~ 10 사이의 임시값을 구하려면 다음과 같은 코드를 사용하죠.. int n = (int) (Math.random() * 10) + 1; (int) (Math.random() * 10) 을 통해서 0 ~ ..
실전! 하이브리드 앱 개발을 위한 폰갭 프로그래밍 - 정우진.윤동원 지음/위키북스 폰갭(PhoneGap)에 대해서는 하이브리드 앱 개발을 위한 폰갭(phonegap) 소개 에서도 설명한 적이 있었는데요. 주변에 문의해 봐도 역시 하이브리드 앱의 가장 큰 약점인 속도가 느린 점을 어떻게 극복할 것인지에 대한 이슈가 있는 것 같습니다. 이 책을 보면 기본에 매우 충실하고 있다는 생각이 듭니다. 폰갭에 대한 소개, 설치, 그리고 API와 이벤트에 대한 레퍼런스와 같은 사전적인 설명들.. 플러그인 사용법과 Photo Onit이라는 앱을 만들어 나가는 과정을 설명한 예제까지... 처음 폰갭을 시작하는 분들이 읽기에는 부담없고 잘 되어 있는 것 같습니다. 또한 레퍼런스로 활용할 수 있도록 API를 나열식으로 설명한..
구글 이후의 세계 - 제프리 스티벨 지음, 이영기 옮김/웅진지식하우스(웅진닷컴)제목만으로 보면 왠지 구글이라는 회사를 언급하면서 구글의 인기에 살짝 편승하려는 책이 아닌가 했습니다. 그러나!! 책을 읽어보니 절대 그렇지 않더군요. 오히려 인터넷과 컴퓨터 분야에 대한 제프리 스티벨의 관찰과 정리가 놀라움 그 자체였습니다. 이 책을 통해 꾸준히 주장하는 바는 "인터넷은 곧 인간의 뇌와 같다"는 것입니다. 아니 뇌와 같은 형태로 발전하게 될 것이라는 점이 좀 더 적절하겠죠. 먼저 "브레인 게이트"라는 뇌에 이식하는 장치에 대해서 언급합니다. 이 장치를 이식하면 사람의 마음을 이용해 컴퓨터와 같은 전기, 전자 장치를 컨트롤 할 수 있다고 합니다. 프롤로그에 나와 있는 브레인 게이트를 읽는 순간부터 이 책이 단순..
자주 사용하는 웹프로그래밍 페이지 이동 방법에 대해서 정리해 보려고 합니다. JSP 위주로 정리하겠지만 Javascript 방식이나 Meta 태그는 다른 언어에서도 똑같이 적용 가능하므로 잘 봐두시면 좋을 것 같네요. 먼저 언제 이런 페이지 이동을 사용할까요? 예를 들어, http://www.word.pe.kr/에 접속한 사용자를 http://www.word.pe.kr/home/index.html 로 이동시킨다든지~ 로그인한 사용자를 특정 위치로 이동시킬 때 이런 페이지 이동이 필요하게 됩니다. 자~ 그럼 페이지 이동에 대해서 살펴보도록 하죠. Javascript를 활용한 페이지 이동 Javascript를 활용한 예제는 모든 언어에서 이용 가능합니다. 왜냐하면 자바스크립트 자체가 대부분의 언어에서 지원하..
각종 문서를 만들다 보면 비즈니스 모델(Business Model)이라는 것을 작성할 필요가 있습니다. 위키피디아에서는 비즈니스 모델을 위와 같이 비즈니스 전략의 일부분으로서 가치를 만들고 연결하기 위한 근거라고 이야기하고 있습니다. A business model describes the rationale of how an organization creates, delivers, and captures value (economic, social, or other forms of value). The process of business model construction is part of business strategy . Business Model Generation에서 제공하는 Canvas를 이용하면 ..
리눅스와 같은 유닉스 계열에서는 주기적으로 자동 배치 처리를 하기 위해서 쉘 스크립트와 crontab을 사용합니다. 즉, 쉘 프로그램을 crontab에 등록된 시간에 자동으로 실행하도록 하는 것으로 서버 로그 정리, 통계/정산 등 배치 작업에 많이 사용하고 있습니다. 그럼 crontab에 등록하고 사용하는 방법에 대해서 한번 살펴보도록 하지요. 먼저 crontab의 도움말은 다음 그림과 같습니다. 생각보다 많은 옵션이 존재하지 않습니다. -l 이나 -e 정도의 옵션을 알고 시간 설정하는 방법을 이해하면 될 것 같습니다. crontab 리스트 확인하기 현재 서버에서 동작하고 있는 crontab을 확인하기 위해서는 -l 옵션을 사용합니다. > crontab -l 30 0 * * * /usr/local/min..
리눅스에서 사용할 수 있는 date 명령어를 정리해 보도록 하겠습니다. date 명령어는 날짜와 관련된 처리를 할 수 있는데요. 날짜 출력이나 날짜 설정 등의 작업을 할 수 있습니다. 로그 파일 등을 처리하는 쉘 프로그래밍에서도 유용하게 사용할 수 있습니다. 날짜 포맷에 따라 출력하기 먼저 날짜 포맷으로 출력하는 부분을 살펴보도록 하지요. date라는 명령어를 입력해 보면 다음과 같이 나타납니다. > date Mon Aug 6 12:51:42 KST 2012 여기에 날짜 포맷으로 출력하기 위해 + 기호를 사용해봤습니다. > date +%Y-%m-%d 2012-08-06 년도-월-일의 순서대로 출력하도록 포맷을 지정한 것입니다. 이와 같이 지정할 수 있는 것은 다음과 같습니다. 내용을 살펴보면 왠만한 날짜..
보통 웹 표준을 살펴보다 보면 대신에 을 사용하라는 이야기를 들어본 적이 있을 것입니다. 왜? 대신 을 사용해야 할까요? 실제 사용해보면 나 모두 동일하게 굵게 표시되기 때문에 큰 차이가 없어 보입니다. 그럼.. 먼저 W3C에서 과 태그를 설명하는 부분을 살펴 보시죠. EM and STRONG are used to indicate emphasis. The other phrase elements have particular significance in technical documents. These examples illustrate some of the phrase elements: Please refer to the following reference number in future corresponde..
혹시 다음과 같은 오류 메시지를 보신 적이 있으신가요? type parameters of T cannot be determined; no unique maximal instance exists for type variable T with upper bounds int,java.lang.Object Eclipse에서는 이런 메시지가 나타나지 않지만 Ant Build로 서버에서 컴파일하려고 하면 나타나는 경우가 있습니다 에러 메시지를 살펴보면 매개변수의 타입이 정의되지 않았다는 것 같은데요. int, java.lang.Object와 같이 명확하게 사용하라는 것 같습니다. 해당 오류를 찾아보니 자바 컴파일러의 버그 라고 하네요. http://bugs.sun.com/view_bug.do;jsessionid=b2..