작년 이맘때쯤 정규식으로 URL 추출하기를 포스팅 했었는데, 사실 당시 정규식으론 많은(..) 문제점이 있었습니다. -_-; 그리하여 개선을 하려고 했으나 이러저라한 일에 밀리다보니 어느덧 ;; 이번엔 좀더 정확한 결과를 얻을 수 있는데에 초점을 맞추고 작성하였습니다. 기존의 문제점이었던 HTML 페이지내 URL 과 DOM 객체 이름들이 잘못 검출되는 문제도 수정되었습니다. URL과 같은 DOM 이름이 아니라면 대부분 올바르게 검출될겁니다. 기존에는 단순화 하면서 단일 함수로 만들었었는데, 정규식을 다양하게 활용하기 위해 자바스크립트의 클래스로 만들었습니다. 소스코드를 보시려면 아래의 소스코드 화면에서 오른쪽 상단의 아이콘에서 소스코드 보기를 눌러 보시면 쉽게 확인 가능합니다. 버그 및 문의는 댓글을 남..
플래시에서는 마이크(Microphone) 및 카메라(Camera)를 컨트롤 할 수 있는 클래스를 지원해줍니다. 이를 이용해서 마이크와 카메라로부터 정보를 입력 받아 이용할 수 있죠. 다만, 몇가지 제약사항이 있으니 주의하여야 합니다. 우선 부터 Microphone 클래스의 getMicrophone() 메소드를 이용해 인스턴스를 가져올 수 있지만, 파일로 저장하기 위해서는 AIR 2.0 API 를 이용해서 작성하여야 합니다. Adobe LiveDoc 의 Microphone 클래스에 간단한 예제가 있습니다. (이 예제를 실행하면 마이크 및 카메라 접근 허용을 묻는 창이 뜨게 됩니다. 허용을 해야 마이크를 사용할 수 있게 됩니다.) /** * MicrophoneExample.as * @see http://he..
액션스크립트 3.0(ActionScript 3.0)에서는 기본적으로 객체는 참조(Reference)로 값을 받게 됩니다. 그래서 이점을 간과하면 예상치 못한 결과를 얻게 되죠! 아래의 예에서, 배열 A 에 B 를 넣고, 배열 B 에 새로운 값을 추가했는데 배열 A 도 변화가 된걸 알 수 있습니다. 이것이 배열 B 가 배열 A 를 참조하고 있기 때문이죠. var A:Array = new Array(); A.push(1); var B:Array; B = A; B.push(2); trace(A);// 결과: 1, 2 trace(B);// 결과: 1, 2 이런 문제 때문에 객체(Object)의 경우 따로 clone() 함수를 만들어서 쓰기도 하는데, 배열의 경우엔 따로 함수를 만들지 않고도 concat() 함수..
파일질라를 이용해 FTP 서버 구축시 각기 다른 곳에 있는 디렉토리를 접속 가능하게 하기 위한 설정입니다. Directory Aliases 는 의미 그대로 디렉토리에 별명을 주고 해당 별명을 통해 각 디렉토리를 접근하게 하는 개념입니다. 우선 이 팁은 윈도우 환경에서 테스트 했다는 것을 밝힙니다. 우선 파일질라 서버를 켜시고, 그룹(Group) 또는 사용자(User) 계정 설정으로 들어갑니다. ( "Edit" > "User" 또는 "Edit" > "Group" ) 창이 뜨면 "폴더 공유(Shared folders)"를 누르면 디렉토리를 설정할 수 있는 창이 뜹니다. "추가(Add)"를 눌러 디렉토리를 추가한 뒤에, 오른쪽 버튼을 누르면 팝업에 "별명 수정(Edit aliases)"이 있습니다. (※ 앞에..
jQuery 를 이용하면 여러 객체에 쉽게 접근이 가능한데, 폼 객체의 값들을 읽거나 설정하는데는 약간 헷갈리는 부분이 있습니다. 그건 각 폼 객체들이 약간씩 다른 동작을 하기 때문인데, 단순한 폼 뿐이라면 그냥 ID 를 지정하고 바로 접근하는게 아주 쉽고 빠릅니다. 하지만, 동일한 폼이 여러개 생긴다거나 동적으로 생성되거나 하는 경우 골치아파질 수 있습니다. 다행이도 jQuery 는 이런 접근을 아주 쉽게 도와줍니다. 바로 [ ] 표현식으로 쿼리를 지원하기 때문에 간단한 표현식으로 원하는 결과를 얻을 수 있는데, 폼 객체를 이를 이용해서 셀렉트 하는 방법이 있습니다. 여기서 Year 텍스트 필드의 값을 가져오고자 할때 아래와 같이 작성할 수 있습니다. $("#TestForm > input[name='T..
개요 Timer 객체의 timer 이벤트 발생시 콜백 함수에서 Timer 객체의 currentCount 가 repeatCount 와 같을때 stop() 메소드를 사용하는 경우 Tick 함수가 완전히 끝나기 전에 timerComplete 이벤트가 발생됩니다. 일정 시간마다 반복되는 작업을 하기위해 Timer 객체를 사용하는데, Timer 객체에 이벤트를 등록하면 일정시간마다 timer 이벤트가 발생됩니다. Timer 객체가 지정된 횟수만큼 모두 실행이 되면 TIMER_COMPLETE 이벤트가 발생됩니다. 코드 var A:Timer = new Timer(500, 2); A.addEventListener(TimerEvent.TIMER, A_onTick) A.addEventListener(TimerEvent.T..