// 툴팁 제거. var nToolTipCount:Number = this.systemManager.toolTipChildren.numChildren; for(var i:Number=nToolTipCount;i>0;i--) { this.systemManager.toolTipChildren.removeChildAt(i-1); }
분류 전체보기
- 툴팁 제거 2008.12.01
- Eclipse Plugin 2008.11.25
- Flex 문자열(String) 바이트(byte)단위로 자르기 2008.11.13
- Eclipse Sebverion 2008.10.10
- Parameterized Query 2008.10.09
- javascript 다른 domin 동기화. 2008.10.02
- Flex logger 2008.10.01
- FLEX, SWFLoader Flash(AS3.0) 통신하기 MovieClip 2008.08.14
- 정규식 2008.07.10
- Module 및 SWFLoader 안에서 ViewStack 사용시 TypeError 1034 날때 .. 2008.06.10 3
툴팁 제거
Eclipse Plugin
Hibernate : Add_hibernate - http://download.jboss.org/jbosstools/updates/stable/
DBViewer(DB쿼리툴) : http://www.ne.jp/asahi/zigen/home/plugin/dbviewer/
JSEclipse(js) : http://download.macromedia.com/pub/labs/jseclipse/autoinstall/site.xml
EclipseColorer(asp) : http://colorer.sf.net/eclipsecolorer/
mylyn: http://download.eclipse.org/tools/mylyn/update/incubator
mylyn(trac): http://download.eclipse.org/tools/mylyn/update/extras (바로 보이지 않을 경우 Manage에서 search해서 체크해 줄)
Aptana: http://update.aptana.com/update/studio/3.4
Aptana Eclipse 3.3 plugin http://update.aptana.com/update/studio/3.2
snv subclipse : http://subclipse.tigris.org/update_1.6.x/
snv subversive : http://download.eclipse.org/technology/subversive/0.7/update-site/
http://www.polarion.org/projects/subversive/download/eclipse/2.0/update-site/
[Eclipse 3.5 Galileo]
Galileo 이상 - http://download.eclipse.org/releases/galileo - Subversive SVN Tem Provider(Incubation) 체크 설치
log4E : http://log4e.jayefem.de/update
ftp esftp
http://www.eclipseplugincentral.com/Web_Links-index-req-viewlink-cid-493.html
http://www.chris-alex-thomas.com/projects/esftp/
http://sourceforge.net/project/downloa드ng.php?group_id=151842&use_mirror=nchc&filename=esftp-1.1.1.zip&a=43441388
참조: http://blog.naver.com/hex91?Redirect=Log&logNo=120066008459
메모리 모티터링(자동 GC) http://www.kyrsoft.com/updates/
1. ajdt 플러그인 설치
AJDT Update Site - http://download.eclipse.org/tools/ajdt/35/dev/update 를 업데이트 사이트로 등록하고 인스톨 (require 버젼만 받자)
이과정이 안된다면 helios 부터 추가된 Eclipse Margetplace 를 이용해서 설치한다. 검색창에 ajdt라고 입력하고 나온것을 설치하면 된다.
2. groovy 플러그인 설치
Groovy Update Site - http://dist.springsource.org/milestone/GRECLIPSE/e3.6/
3. jira connector 플러그인 설치
Eclipse Marketplace 에서 atlassian connector 검색 후 install
4. sts 플러그인 설치
SpringSource Update Site for Eclipse 3.6 -http://dist.springsource.com/snapshot/TOOLS/nightly/e3.6
preference 항목에서
1. validation >> Disable All
2. General >> Startup and Shutdown 필요한 것만 체크
3. Web >> JSP Files >> Validation >> Validate JSP fragments 체크 해제
정도 해 둡니다. preference 는 대충 이정도입니다.
그리고 다음엔 프로젝트를 생성한 뒤에 하는 작업입니다.
test 라는 프로젝트를 만들었다면.
test 프로젝트에서 오른쪽 버튼 눌러 Properties 로 이동
1. Validation 에 체크가 되어있다면 Restore Defaults 를 눌러 체크를 해제합니다.
2. Project Facets >> JavaScript 항목에 체크 되어있으면 오른쪽 버튼 unlock 한 뒤 체크 해제합니다.
3. Java Build Path 항목의 Libraries 에서 필요없는 라이브러리는 Remove 시킵니다.
4. Builders 항목에서 Java Builder와 Validation 항목을 제외한 다른 항목의 체크를 해제합니다.
이 정도 작업을 프로젝트 생성 후 해주게 됩니다.
다음으로 Helios 에서 Tomcat 으로 Publishing 하는 작업이 오래 걸리는 경우가 있습니다. 이런 경우가 발생하시는 분들이 있을지 모르겠지만.. 제가 그런경우라.. ㅡㅡ; 이를 해결하기 위한 방법이 구글링에 있어 정리해 놓았습니다.
1. wtp 3.2.1 버전을 다운로드 한다. (http://www.eclipse.org/downloads/download.php?file=/webtools/downloads/drops/R3.2.1/R-3.2.1-20100730021206/wtp-R-3.2.1-20100730021206.zip&url=http://ftp.kaist.ac.kr/eclipse/webtools/downloads/drops/R3.2.1/R-3.2.1-20100730021206/wtp-R-3.2.1-20100730021206.zip&mirror_id=466)
2. eclipse 가 실행중이라면 닫는다.
3. eclipse/eclipse.ini 를 에디터로 열어 끝에 다음과 같은 내용을 추가한다.
-clean
-debug
4. 다운로드 받은 wtp zip 파일을 이클립스 디렉토리의 "eclipse/dropins" 디렉토리에 압축을 푼다.
- 제대로 압축을 풀었다면 "eclipse/dropins/eclipse/..." 같은 구조가 되어야 한다.
5. eclipse 를 시작한다.
6. eclipse/configuration/org.eclipse.equinox.simpleconfigurator /bundles.info 파일을 열어서 org.eclipse.jst.j2ee 항목을 찾아본다.. 이 항목이 rg.eclipse.jst.j2e,1.1.400 보다 크게 나온다면 제대로 설치가 된 것이다.
대충 이정도 입니다.
그리고 또 하나 유용한 플러그인을 하나 소개하자면..
http://www.kyrsoft.com/updates
메모리 모니터링 플러그인 인데요. 기능은 Eclipse 가 기본적으로 제공해주고 있는 Show Heap status 와 거의 같습니다.. 다만 좀 더 눈에 띄게 보여주고..
무엇보다 이 녀석을 추천해 드리는 이유는 heap 메모리가 정해진 범위를 넘어서면 자동으로 GC 를 구동해 주는 기능이 있습니다.
Flex 문자열(String) 바이트(byte)단위로 자르기
/** * 바이트단뒤 getBytes * @param value 기준 문자열 * @param encodeType 인코딩 종류 */ public static function getBytes( value:String, encodeType:String="euc-kr" ): Number { var redByte : ByteArray = new ByteArray(); redByte.writeMultiByte(value, encodeType); return redByte.length; } /** * 바이트단뒤 substring * @param value 기준 문자열 * @param startIndex 시작 위치 * @param length 마지막까지 길이 * @param encodeType 인코딩 종류 */ public static function substrBytes( value:String, startIndex:int, length:int, encodeType:String="euc-kr" ) : String { var totalLength : Number = getBytes(value); if( length > 0 ){ var redByte : ByteArray = new ByteArray(); var wrByte : ByteArray = new ByteArray(); redByte.writeMultiByte(value, "euc-kr"); redByte.position=0; wrByte.writeBytes(redByte, startIndex, length); wrByte.position=0; return wrByte.readMultiByte(length, "euc-kr"); }else{ return null; } }
Eclipse Sebverion
Parameterized Query
Sql = "INSERT INTO test(t1, t2, t3) VALUES(?, ?, ?)"
with DbCmd
.CommandText = Sql
.CommandType = adCmdText.Parameters.Append .CreateParameter("@t1", adVarChar, adParamInput, 4)
.Parameters.Append .CreateParameter("@t2", adVarChar, adParamInput, 20)
.Parameters.Append .CreateParameter("@t3", adVarChar, adParamInput, 200).Parameters("@t1") = "t1"
.Parameters("@t2") = "t2"
.Parameters("@t3") = "t3"
.Execute
End with
javascript 다른 domin 동기화.
document.domain = "url";
Flex logger
var target:TraceTarget = new TraceTarget() target.level = LogEventLevel.INFO; target.includeDate = true; target.includeCategory = true; target.includeLevel = true; Log.addTarget(target); var logger:ILogger = Log.getLogger("mx.messaging.Channel"); logger.debug("here is some channel info {0} and {1}", 15.4, true);
FLEX, SWFLoader Flash(AS3.0) 통신하기 MovieClip
// Flash 가 AS 3.0 기반으로 했을 경우 가능 public function initApp() : void { swfContent.addEventListener("init", swfLoaderInithandler); swfContent.load("/flashswf"); } public function swfLoaderInithandler(event:Event) : void { var flashObj : Object = event.currentTarget.content; // Flash public 함수 호출 flashObj .test(); }
정규식
문자열중에 ,(콤마)를 검색한다.
var pattern:RegExp = /,/;
str.replace(pattern, "");
문자열 중에 a를 검색한다.
i 는 대소문자를 구별하지 않을때 붙인다.
g 는 한번이 아닌 여러번..??, (음.. asdfasdf 여기서 a가 두번 나오는데 두번 다 한다는거던가. 테스트 해보시길;;)
var pattern:RegExp = /a/ig;
str.replace(pattern, "");
\d{3} 숫자 3개가 옴
\d{1,3} 숫자 1개에서 3개가 옴
[전화번호 패턴]
var pattern:RegExp = /^\d{2,3}-\d{3,4}-\d{4}$/;
/^\d{2,3}-?\d{3,4}-?\d{4}$/
[이메일 패턴]
var pattern:RegExp = /(\w|[_. \-])+@((\w|-)+\. ) +\w{2,4}+/;
한글 포함
var re : RegExp = /(\w|[_.\-가-힣])+@((\w|[_\-가-힣])+\.)+\w{2,4}+/;
[HTML 패턴]
String reghtml = "<(\"[^\"]*\"|'[^']*'|[^'\">])*>";
content = content.replaceAll(reghtml, "");
// <a href="<%=request.getParameter("p")">adsf</a> --> <a href='<%=request.getParameter("p")'>adsf</a> content = content.replaceAll("(<\\w+:(?:[^>]|<%=[^%]+%>)+=)\"([^<\"]*<%=[^%]*\"[^%]*%>[^\"]*)\"", "$1'$2'");
[공백연속 패턴]
var a = "asdfnaf dd";
a = a.replace(/[\s,]+/g, "");
alert(a);
[줄바꿈 패턴]
^\R
반복 메타 문자
반복 메타 문자
의미
*
0회 이상 방복
+
1회 이상 반복
?
0회 혹은 1회
{m}
m회 반복
{m,n}
m회부터n회까지 반복
매칭 메타 문자
메타 문자
의미
.
줄바꿈 문자를 제외한 모든 문자와 매치됨
^
문자열의 시작과 매치됨.
[]메타 기호 안에서는 반대의 문자열을 취함
$
문자열의 마지막과 매치됨
[]
문자 집합 중 한 문자를 의미함
|
또는(or)를 의미함
()
정규식을 그룹으로 묶음
이스케이프 기호
분야
설명
\\
역슬래쉬 문자 자체
\d
모든 숫자와 매치됨 [0-9]
\D
숫자가 아닌 문자와 매치됨[^0-9]
\s
화이트 스페이스 문자와 매치됨[ \t\n\r\f\v]
\S
화이트 스페이스가 아닌 것과 매치됨 [^ \t\n\r\f\v]
\w
숫자 또는 문자와 매치됨[a-zA-Z0-9_]
\W
숫자 또는 문자가 아닌 것과 매치됨[^a-zA-Z0-9_]
\b
단어의 경계를 나타냄. 단어는 영문자 혹은 숫자의 연속 문자열.
\B
단어의 경계가 아님을 나타냄.
최소 매칭을 위한 정규식
기회
의미
*?
*와 같으나 문자열을 취소로 매치함.
+?
+와 같으나 문자열을 취소로 매치함.
??
?와 같으나 문자열을 최소로 매치함.
{m,n}?
{m.n}과 같으나 문자열을 최소로 매치함
re모듈의 주요 메소드
메소드
설명
compile(patten[, flags])
pattern을 컴파일하여 정규식 객체를 리턴한다.
search(pattern, string[,flags])
string을 검사하여pattern에 맞는 문자열 부분이 있는가를 찾는다.
match(pattern, string[,flags])
string의 시작부터 pattern에 맞는지 검사한다.
split(pattern, string[, maxsplit=0])
string을 pattern을 기준으로 분리한다.
findall(pattern, string)
string에서 pattern을 만족하는 모든 문자열을 추출한다.
sub(pattern, repl, string[, count-0])
string에서 pattern을 repl로 대치한다.
subn(pattern, repl, string[,count=0])
sub와 동일하나 대치 횟수도 함께 전달한다.
escape(string)
영문자 숫자가 아닌 문자들을 백슬래쉬 처리해서 리턴한다. 임의의 문자열을 정규식패턴으로 사용할 경우 유용하다.
정규 표현식에서 사용 가능한 플래그
플래그
내용
I, IGNORECATE
대, 소문자를 구별하지 않는다.
L, LOCATE
\w, \W, \b, \B를 현재의 로케일에 영향을 받게한다.
M, MULTILINE
^가 문자열의 맨 처음, 각 라인의 맨 처음과 매치된다.
$는 문자열의 맨 끝, 각 라인의 맨 끝과 매치된다.
S, DOTALL
.을 줄바꾸기 문자도 포함하여 매치하게 한다.
U, UNICODE
\w, \W, \b, \B가 유니코드 문자 특성에 의존하게 한다.
X, VERBOSE
정규식 안의 공백은 무시된다.
Module 및 SWFLoader 안에서 ViewStack 사용시 TypeError 1034 날때 ..
Module 하고 SWFLoader 로 모듈화 공부 하는 도중 모듈 소스속에 ViewStack를 사용할 경우, TypeError 1034 납니다.
삽질하던 도중 해결방안을 찾아서 글 남깁니다.
저만 그런건지.. 다 그런건지 잘 모르겠습니다.
모듈 불러올때,
TypeError: Error #1034: 유형 강제 변환에 실패했습니다. mx.managers::HistoryManagerImpl@f183921을(를) mx.managers.IHistoryManager(으)로 변환할 수 없습니다.
Alert 띄울때,
TypeError: Error #1034: 유형 강제 변환에 실패했습니다. mx.managers::PopUpManagerImpl@41d77e1을(를) mx.managers.IPopUpManager(으)로 변환할 수 없습니다.
현재로선 이 두가지만 봤는데요. 또 튀어 나올지 모릅니다.
해결 방안은 아래와 같이 하면 되네요.
왜 그런지. 모르겠습니다. 구글링하다가 일본 사이트에서 해석안되는 답변 소스중에 있어서 해봤더니.. 에러는 안 나는데..
다른 문제가 있는것인지.. 잘 모르겠습니다.
제가 하두 삽질해서.. 저 같이 고생하시는 분 계실까봐. 우선 많은 테스트는 거쳐보지 않았지만 올려봅니다.
왜 아래와 같이 하면 오류가 안나는지.. 아래와 같은 선언이 무슨 기능을 하는건지 궁금합니다.
몇일 삽질하던거.. 해결해서.. 오늘은 이만 공부하고.. 내일 이 부분에 대해서 테스트 해봐야겠네요.
이렇게 함으로 인해.. 또 다른 문제점이 생기면.. ㅠㅠ 인데요... ㅎㅎ
그럼 즐코딩 하세요.
import mx.managers.IPopUpManager;
import mx.managers.IHistoryManager;
private var iPopUpManager:IPopUpManager;
private var iHistoryManager :IHistoryManager;