자바스크립트에서 form의 데이터를 문자열로 가져오기 간단한 자바스크립트 팁에 대해서 설명하려고 합니다. Ajax를 활용하다 보면, Form안에 있는 데이터를 문자열로 모아서 처리해야 하는 종종 경우가 있습니다. 즉, 폼 필드 내를 반복하면서 이름과 값을 추출해서 다음과 같은 형태로 리턴하는 거죠.. name=mini&title=xml&date=20080613 이런 문자열을 만들기 위한 함수를 먼저 하나 만들어 보겠습니다. function getRequestBody(oForm) { var data = ""; for (var i=0; i
HTML 태그를 제거하고 순수하게 텍스트만 가져오는 부분이 필요해서 관련 소스를 정리해봤습니다. 정규식에 대해서는 개념은 들어보셨을 겁니다. 나중에 기회가 되면 정규식에 대해서도 한번 정리해 보도록 하구요.. 오늘은 간단하게 원하는 기능을 구현한 소스를 보여드리도록 하겠습니다. 정규식을 6개 정도 적용하고 있는 간단한 소스입니다. 각각 HTML의 스크립트 태그와 내용, 스타일 및 내용, 태그들, 엔터티, 공백문자들을 제거하는 정규식 표현입니다. private String getText(String content) { Pattern SCRIPTS = Pattern.compile("]*>.*?",Pattern.DOTALL); Pattern STYLE = Pattern.compile("",Pattern.DOT..
iOS5가 나오는 마당에 쌩뚱맞게 iOS4의 멀티태스킹에 대한 정리를 하고 있네요.. ^^ iOS4 이상에서 멀티태스킹에 대해 지원한다고 하니 백그라운드 상태에서 모든게 되는 줄 잘못 이해하는 경우가 있어 정확한 내용을 한번 정리해서 올려보려고 합니다. iOS4 멀티태스킹의 이해 대부분의 응용 프로그램은 백그라운드에서 실행될 때 시스템 리소스를 소모하지 않으며, 다시 프로그램으로 돌아가야 프로그램이 실행되게 됩니다. 멀티태스킹을 제공하는 이유는 각 프로그램간의 이동이 쉽도록 지원하기 위해서 iOS3에 없던 기능을 추가한 것이라고 보면 됩니다. 그럼 iOS4의 멀티태스킹에서 가능한 작업은 다음과 같은 3가지뿐입니다. 1. 위치 변경에 대한 반응 2. 오디오 재생 3. VoIP (Voice over IP) ..
금일 아이폰 4S가 발표되었네요. 아이폰 5에 대한 기대 때문이었는지 여기 저기서 실망의 목소리가 큰 것 같습니다. 스티브 잡스의 공백이 벌써부터 보인다는 의견들도 있는 것 같구요.. 실제로 아이폰 4S에서 발표된 기능들 중 새로운 점이 크게 보이지 않는 점도 있습니다. iOS5나 iCloud는 지난번에 한번 발표했었고, 새로운 점으로는 프로세서 업그레이드, 카메라 성능 향상, 데이터 다운로드 향상 정도인 것 같네요. 그런데 눈에 띄는 기능이 하나 있어서 정리해 보려고 합니다. 바로 Siri라고 불리는 음성인식 기반의 개인비서서비스입니다. 이제는 음성인식 서비스는 구글 안드로이드에서도 지원되는 보편적인 서비스인데 새삼 뭐 있겠는가 싶었는데요. 다음 동영상을 보면서 생각이 조금 바뀌었습니다. 동영상을 보시..
리눅스에서 JDK와 Tomcat 관련해서 설치를 설명할 필요가 있어서 정리한 문서입니다. 혹시 도움이 될 분이 있을까 해서 올려봅니다. 1. 리눅스 개요(리눅스 커널 기반) A. RedHat 계열 i. Rpm 패키지 사용 (yum – 의존성 추가) ii. Fedora, CentOS, 한컴 리눅스, 아시안눅스, 부요리눅스 iii. 서버용 운영체제로 주로 사용 B. Debian 계열 i. Apt 패키지 사용 ii. 윈도우와 같은 데스크탑용 리눅스 (ubuntu) 2. JDK 설치 및 환경설정 A. JDK 설치 확인 i. #java –version ii. #rpm –qa | grep java iii. #rpm –qa | grep jdk B. JDK 제거 i. #rpm –e --nodeps 패키지명 C. JDK..
안드로이드 개발하다보면 가끔 소스에는 전혀 오류가 없는데... 더군다나 지난번에는 제대로 사용했는데.. 오류가 나면서 컴파일이 안되는 경우가 있습니다. 이럴 때 나타나는 오류 메시지는 다음과 같습니다. Error generating final archive: Debug certificate expired on .. Debug와 관련된 인증 기간이 만료되어서 발생한 오류입니다. Debug certificate는 만들어진 후 365일이 지나면 만료되게 됩니다. 그러므로 만료된 Debug certificate를 새로 갱신해주면 되는데요.. 다음과 같은 방법으로 처리하면 됩니다. 바로 debug.keystore 파일을 찾아서 삭제한 후, 안드로이드 애플리케이션을 빌드 하면 오류는 해결됩니다. debug.keys..
지난번에는 안드로이드 옵션 메뉴에 대해서 살펴봤는데요. 2011/09/29 - [프로그래밍/안드로이드] - 안드로이드 옵션 메뉴 만들기 이번에는 컨텍스트 메뉴를 만들어 보도록 하겠습니다. 컨텍스트 메뉴는 해당 뷰를 길게 누르고 있으면 나타나는 메뉴입니다. 기본적인 개념은 옵션메뉴와 크게 다르지는 않지만, 특정한 뷰를 기반으로 하고 있다는 점이 큰 차이라고 할 수 있습니다. 컨텍스트 메뉴와 관련된 메소드는 다음과 같습니다. 컨텍스트 메뉴 생성 public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) 컨텍스트 메뉴 선택 public boolean onContextItemSelected(MenuI..
안드로이드 관련 기본적인 사항들을 나중에 찾기 쉽도록 하니씩 정리해 볼 계획입니다. 첫 번째로 옵션 메뉴에 대한 내용입니다. 안드로이드와 아이폰의 가장 큰 차이는 바로 이 옵션 메뉴가 별도로 있다는 건데요. 옵션 메뉴는 다음 그림과 같이 기본적으로 6개까지 나타낼 수 있습니다. 6개가 넘어게 만들 수도 있는데요.. 이런 경우, 마지막 항목에 "More.." 가 나타나게 되지요. 옵션 메뉴를 만들기 위해 필요한 메소드들을 먼저 정리해 봤습니다. 옵션메뉴 생성 public boolean onCreateOptionsMenu(Menu menu) 실행 중 옵션메뉴 변경 public boolean onPrepareOptionsMenu(Menu menu) 메뉴항목 선택 public boolean onOptionsIt..
아이폰 App을 만들고 나면 AppStore에 등록해야 합니다. 이때 누구나 App 이름과 설명을 어떻게 작성해야 사용자들에게 효율적일 수 있을까 하는 고민을 하게 됩니다. 보통 이런 문제에 있어서 어떤 방식이 낫다고 할 수는 없습니다. 그래서 사용자의 관점에서 바라봤을 때 보다 효율적인 방법을 제 나름대로 정리해 보려고 합니다. 1. 제목 제목은 제작한 어플의 이름이기도 하고 검색에서 주로 활용되기 때문에 매우 중요합니다. 어떤 곳에서는 제목을 아래와 같이 매우 길게 하기도 합니다. 꽃배달 OOO - OO OOO 무료전화, 할인쿠폰, 기념일 계산기 대리운전 퀵서비스 꽃배달 - OOOO 이 경우, 다양한 검색어에 어플이 나올 수 있다는 장점은 있으나 왠지 어플 자체가 좀 고급스러워 보이지 않다는 점이 있..
RSS 리더를 구현하거나 웹과 관련된 프로그램을 구성할 때, URL을 입력해서 해당 글을 가져오는 루틴이 필요한 경우가 종종 있습니다. 이 경우, 항상 문제가 되는 것이 바로 인코딩 문제인데요. 웹사이트의 경우, 인코딩을 주로 UTF-8과 EUC-KR의 두 가지를 사용해서 처리하고 있습니다. 제가 처음 RSS 리더인 RSSNym을 개발할 때 사용한 방식은 먼저 해당 URL의 텍스트를 한번 읽어온 후 인코딩 정보를 검색했습니다. 그래서 UTF-8인지 EUC-KR인지 확인하고, 인코딩을 설정해서 해당 URL의 글을 가져오는 방식을 사용했습니다. 어떤 인코딩으로 처리하든지 영문으로 된 텍스트는 깨지지 않는다는 점을 활용한 것이죠.. 하지만 이 방식은 같은 URL을 두번씩 읽어오게 되므로 효율성에 문제가 있었습..