Mac을 사용한지는 오래되었지만 Apple Mail은 처음 써보다가 이후 전혀 사용 안하고 있었습니다. 이유는 주로 Gmail을 사용하는데 Gmail을 연동하면 메일의 중복이 너무 많아서였죠. 실제로 Gmail을 IMAP으로 애플 메일과 연동하면 용량이 3~4배는 더 많이 나오는 것을 볼 수 있습니다. 이유는 받은편지함과 보낸편지함 뿐만아니라 별표편지함, 중요편지함 그리고 라벨로 지정한 편지함까지 중복해서 내려받는 것 같았습니다. 최근 Achieving Email Bliss with IMAP, Gmail, and Apple Mail 글을 보고 다시 Gmail과 Apple Mail을 연결해보기로 했습니다. 먼저 Gmail의 고급 IMAP 설정을 통해 IMAP으로 연결할 편지함을 선택할 수 있습니다. Gma..
MySQL Workbench 5.2.42 버전을 사용하고 있는데요. update나 delete 쿼리를 전달하니 다음과 같은 오류가 발생했습니다. Error Code: 1175 You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column safe mode로 설정되어 있어서 key 칼럼을 사용하지 않을 경우, 업데이트를 못한다는 것인데요. 관련 내용을 검색해 보니 설정을 바꾸면 된다고 하네요. http://mysqlblog.fivefarmers.com/2010/09/01/workbench-called-me-a-dummy/ Go to Edit -> PreferencesSelect the S..
프로그래밍을 하다보면 종종 두 개의 파일을 비교해서 틀린 부분을 확인해야 하는 경우가 있습니다. 이럴 때 파일 비교를 할 수 있는 툴이 필요한데요. 상용화된 유료 프로그램이 아닌 Mac에 기본으로 포함되어 있는 프로그램을 한번 설명해 보려고 합니다. FileMerge.app 파일을 비교할 수 있도록 FileMerge라는 프로그램이 기본적으로 맥에 설치되어 있습니다. 간단하게 Spotlight를 통해서 FileMerge를 검색하면 다음 그림과 같이 보일 것입니다. 검색 결과에 나오는 응용프로그램인 FileMerge.app을 실행하면 다음과 같이 두개의 파일을 지정하라는 화면이 나타납니다. Left... Right... 를 선택해서 비교할 파일을 지정합니다. 그리고 나서 "Compare" 버튼을 클릭하면 다..
웹 브라우저의 높이에 따라 본문의 내용을 늘리고 싶은 경우가 종종 있을 수 있습니다. 이런 경우, 먼저 브라우저의 높이를 가져올 수 있어야 하구요. 이어서 동적으로 특정 영역의 높이를 지정할 수 있어야 합니다. 브라우저 높이 가져오기브라우저의 높이를 가져오는 것은 다음과 같이 매우 간단합니다. alert(document.body.scrollHeight); 이 값을 기반으로 하단의 영역을 빼고 본문 영역의 높이를 지정하면 되겠죠. 참고로 브라우저의 높이와 관련된 자바스크립트 코드를 정리해 봅니다. 동적으로 높이 지정하기JQeury를 사용해서 다음과 같이 동적으로 높이를 지정할 수 있습니다. css 메소드에 height 값을 설정하는 형태로 했습니다. (바로 height 메소드를 사용할 수도 있습니다.) 이..
Java Servlet을 활용해서 엑셀파일을 다운로드 하는 예제를 살펴보도록 하겠습니다. 일반 텍스트 파일인 CSV와 달리 엑셀로 다운로드 하기 위해서는 jxl.Workbook이라는 클래스가 필요합니다. 필요한 jxl.jar 파일은 다음에서 다운로드 할 수 있습니다. 웹 프로젝트 설정 index.jsp 파일 생성 먼저 파일 다운로드를 위한 화면을 만들어 보도록 하겠습니다. 이 파일은 엑셀로 저장할 데이터를 서블릿으로 넘겨주는 역할을 하게 됩니다. 이름을 index.jsp로 하고 다음과 같이 구성해 봤습니다. 미니의 엑셀파일 다운로드 예제 먼저 data라는 변수에 엑셀로 저장할 데이터를 넣었습니다. 여기에서는 컴마로 구분된 값을 전달하는 것으로 했습니다. (이 부분은 굉장히 자유롭게 구성할 수 있습니다. ..
웹 표준으로 개발하면서 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 ~ ..
자주 사용하는 웹프로그래밍 페이지 이동 방법에 대해서 정리해 보려고 합니다. JSP 위주로 정리하겠지만 Javascript 방식이나 Meta 태그는 다른 언어에서도 똑같이 적용 가능하므로 잘 봐두시면 좋을 것 같네요. 먼저 언제 이런 페이지 이동을 사용할까요? 예를 들어, http://www.word.pe.kr/에 접속한 사용자를 http://www.word.pe.kr/home/index.html 로 이동시킨다든지~ 로그인한 사용자를 특정 위치로 이동시킬 때 이런 페이지 이동이 필요하게 됩니다. 자~ 그럼 페이지 이동에 대해서 살펴보도록 하죠. Javascript를 활용한 페이지 이동 Javascript를 활용한 예제는 모든 언어에서 이용 가능합니다. 왜냐하면 자바스크립트 자체가 대부분의 언어에서 지원하..
리눅스와 같은 유닉스 계열에서는 주기적으로 자동 배치 처리를 하기 위해서 쉘 스크립트와 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 년도-월-일의 순서대로 출력하도록 포맷을 지정한 것입니다. 이와 같이 지정할 수 있는 것은 다음과 같습니다. 내용을 살펴보면 왠만한 날짜..