56. Eclipse Etc.../Eclipse2013. 11. 20. 15:08
반응형

출처 : http://kogun82.tistory.com/82

이클립스에서 프로그램 실행시 힙 메모리 부족 오류가 발생하면 아래와 같은 메시지가 출력된다.

java.lang.OutOfMemoryError: Java heap space

java.lang.OutOfMemoryError: PermGen space

문제 해결을 휘애 대부분이 사용하는 방법은 Run/Debug 설정창에서 vmargs를 설정하는 것이다.
하지만 이렇게 하면 각 각의 Run Conf 설정마다 입력해야 하는 불편함이 있다.

eclipse.ini 파일을 아래와 같이 설정한다.

-startup
plugins/org.eclipse.equinox.launcher_1.3.0.v20120522-1813.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.200.v20120522-1813
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
-vmargs
-Xms1024m
-Xmx2048m

그리고 프로젝트 실행 시 자바 Heap, Permanent 메모리를 설정하기 위해 eclipse의 Window -> preferences -> Java -> Installed JRES -> 체크된 jdk / jre를 선택하고 아래의 그림과 같이 설정한다.(-XX:PermSize=2048M -Xms=2048 -Xmx4096m)


만약 프로젝트마다 다른 메모리 설정 값이 필요한 경우  Run config에서 VM args를 각 프로젝트마다 설정 하면된다.

Posted by 1010
카테고리 없음2013. 11. 18. 15:59
반응형

We changed our SVN machine because of a hardware problem. We established the same environment from back-up to another machine.

Now Subversion seems to work properly, I can update, commit and browse from Tortoise Client.

But in Eclipse problem exist for Synchronize command (subclipse plugin). I can browse and commit from Eclipse too.

I tried to change SVN interface (from JavaHL to SVNKit), svn cleanup and upgrade subclipse plugin, but nothing helps.

JavaHL and SVNKit gives different errors.

**Error when use JavaHL**
Problems reported while synchronizing SVNStatusSubscriber. 0 of 1 resources were synchronized.
  An error occurred synchronizing /ChemOrbis: Error getting status for resource P/ChemOrbis org.tigris.subversion.javahl.ClientException: RA layer request failed
svn: REPORT of '/svn/ChemOrbis/!svn/vcc/default': 200 OK (http://svn.treda.net)

    Error getting status for resource P/ChemOrbis org.tigris.subversion.javahl.ClientException: RA layer request failed
svn: REPORT of '/svn/ChemOrbis/!svn/vcc/default': 200 OK (http://svn.treda.net)

      org.tigris.subversion.javahl.ClientException: RA layer request failed
svn: REPORT of '/svn/ChemOrbis/!svn/vcc/default': 200 OK (http://svn.treda.net)

      org.tigris.subversion.javahl.ClientException: RA layer request failed
svn: REPORT of '/svn/ChemOrbis/!svn/vcc/default': 200 OK (http://svn.treda.net)


**Error when use SVNKit**
Problems reported while synchronizing SVNStatusSubscriber. 0 of 1 resources were synchronized.
  An error occurred synchronizing /ChemOrbis: Error getting status for resource P/ChemOrbis org.tigris.subversion.javahl.ClientException: svn: Processing REPORT request response failed: XML document structures must start and end within the same entity. (/svn/ChemOrbis/!svn/vcc/default) 
svn: REPORT request failed on '/svn/ChemOrbis/!svn/vcc/default'
    Error getting status for resource P/ChemOrbis org.tigris.subversion.javahl.ClientException: svn: Processing REPORT request response failed: XML document structures must start and end within the same entity. (/svn/ChemOrbis/!svn/vcc/default) 
svn: REPORT request failed on '/svn/ChemOrbis/!svn/vcc/default'
      org.tigris.subversion.javahl.ClientException: svn: Processing REPORT request response failed: XML document structures must start and end within the same entity. (/svn/ChemOrbis/!svn/vcc/default) 
svn: REPORT request failed on '/svn/ChemOrbis/!svn/vcc/default'
      org.tigris.subversion.javahl.ClientException: svn: Processing REPORT request response failed: XML document structures must start and end within the same entity. (/svn/ChemOrbis/!svn/vcc/default) 
svn: REPORT request failed on '/svn/ChemOrbis/!svn/vcc/default'
 
 

Did samba fix it? Have you tried using different client implementations?

subclipse javahl svnkit

 
 
 
Posted by 1010
98..Etc2013. 11. 7. 10:56
반응형
Posted by 1010
반응형
Posted by 1010
반응형

https://github.com/flex-users/flex-iframe/downloads

 

1. flexiframe.swc를 lib폴더에 삽입 

2. xmlns:code="http://code.google.com/p/flex-iframe/"

3. <code:IFrame source="http://www.naver.com" width="100%" height="100%"/>

 

Posted by 1010
반응형

출처 : http://distress.tistory.com/18

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="init()"
 verticalScrollPolicy="off" horizontalScrollPolicy="off"
 fontSize="12" width="420" height="600">
<mx:Script>
 <![CDATA[
  import mx.collections.ArrayCollection;
  private var fontListAc:ArrayCollection;
  //Flex 에서 적용되는 폰트의 종류를 알아보도록 하자.
  //리스트에 나오는 폰트는 현재 시스템에 설치된 폰트일뿐...모두 사용가능한것은 아니다.
  //바뀌는것도 있고 아닌것도 있고....이걸 구별해서 적용 가능한 폰트만 쓸수있으면 좋겠는데....
  private function init():void{
   var allFonts:Array = Font.enumerateFonts(true);
   var text:String;

   fontListAc = new ArrayCollection();
   
   allFonts.sortOn('fontName', Array.CASEINSENSITIVE);
   for each(var font:Font in allFonts){
    fontListAc.addItem(font.fontName);
    //이 함수가 test_str 이 정상적으로 표시가능한지 아닌지 구별해 준다고는 나와있는데..
    //뭐 해봐도 항상 false 만 뱉어낸다. 사용을 잘못한건지....음....
    //font.hasGlyphs(test_str);
   }
   fontList.dataProvider = fontListAc;
  }
 ]]>
</mx:Script>
 <mx:TextArea id="sampleText" x="10" y="10" width="400" height="320">
  <mx:text>이 문장은 번역기일 뿐입니다.
  This statement is only a translation date.
  該聲明只是一個翻譯日期.
  この文は翻訳機である場合のみです.
  ★☆●◎◆□▲▽→♤♧⊙◈▤☎☜
  </mx:text>
 </mx:TextArea>
 <mx:Text x="339" y="340" text="fontSize:" width="70" textAlign="center" fontSize="13"/>
 <mx:NumericStepper id="fontSize" minimum="5" maximum="100" value="25"
  change="sampleText.setStyle('fontSize', fontSize.value);" creationComplete="sampleText.setStyle('fontSize', fontSize.value);"
  x="339" y="370" width="70" textAlign="center"/>
 <mx:List id="fontList" x="10" y="338" width="321" height="250"
  change="sampleText.setStyle('fontFamily', fontListAc.getItemAt(fontList.selectedIndex))"/>
</mx:Application>

 

Posted by 1010
반응형
줄바꿈을 처리할 때, 캐리지리턴이나 라인피드 문자로 처리하게 되는데,
이는 문자열을 다루는 프로그램마다 각기 방식이 다르다.

캐리지리턴 : \r
라인피드 : \n

일반적으로 \r\n 은 DOS/Windows 에서 줄바꿈을 처리할 때 사용하는 방식이고,
\n 은 Unix, C, Perl 등에서 줄바꿈에 사용하는 개행문자이다.

Flex에서 TextArea는 특이하게도 \r만으로도 개행을 시행하는데, 물론 \n만으로도 개행이 가능하다.
\r\n 은 두 줄을 띄워버린다.

따라서, Dos/Windows 프로그램으로 작성한 글을 받아서 TextArea에 출력할 때, 한 줄 개행이 두 줄로 개행되어 버리는 증상이 발생한다.

이때는 아래와 같이 처리하여 정상적인 출력을 가능하게 할 수 있다.


var rawString:String;
textArea.text = rawString.replace(/\r\n/g, "\r");

replace 첫번째 인자는 정규표현식이다. double qoute를 넣지 말자.
두번째 인자는 바꿀 String이다.

 

Posted by 1010
반응형

TextInput 으로 사용자에게 어떤 입력을 받게 되는 경우가 있습니다.

이때에 보다 많은 내용(예를 들어 사용자의 자기소개 같은 값)을 입력 받아야 하는 경우가 생기는데, 이때 사용하면 좋은 컴포넌트가 TextArea 입니다. TextArea 컴포넌트로 여러줄로 입력을 받게되면 사용자는 필연적으로 엔터키를 눌러 개행(줄바꿈)을 하게 되는데 오늘 이야기해보고자 하는 것은 이 개행에 대한 처리입니다.

문자열에 엔터를 처리하기 위해서 이스케이프 문자인 백슬래시(\)를 사용하여 처리를 하게 되는데, 보통 흔히 알고 있기로는 엔터를 처리하기 위해 \r\n 을 문자열에 포함시키면 된다고 아실 겁니다. 저도 학교에서 C수업을 들을때 그렇게 배웠습니다.

\r   : 캐리지리턴(carriage return) -  커서를 해당 줄의 처음으로 옮김
\n   : 라인피드(linefeed) - 커서를 해당 줄의 다음줄로 옮김


커서를 해당줄의 왼쪽으로 옮겨 다음줄로 내리면 엔터키를 친 것과 동일한 효과가 나오게 됩니다.
하지만 TextArea 에서는 \r 만으로 엔터키 처리를 하고 있습니다.


위와 같이 엔터키를 넣게 되면 실제로 TextArea의 text 속성에서 받는 문자열에는 "텍스트\r입력" 이라고 들어있게 되는 것이죠.

사용자에게 입력받은 해당 데이터를 서버에 저장하고 불러와 다시 TextArea 에 넣어줄때에 아무런 처리를 하지 않아도 상관없습니다. 어짜피 넣어진대로 다시 넣는 것이니까요. 하지만 서로 다른 언어에서 같은 데이터를 사용시에는 문제가 됩니다. 언어들마다 엔터의 처리가 다르기 때문이죠.


위에서 처럼 \r\n 으로 엔터키를 처리하는 경우도 있고, \r 만으로도, \n 만으로도 처리하는 경우가 있습니다. 만약 \r\n으로 엔터를 처리하는 시스템에서 만들어 놓은 문자열을 TextArea 에 대입하면 어떻게 될까요? "텍스트\r\n입력" 이라고 TextArea의 text 속성에 넣으면 아래와 같은 현상이 발생합니다.

위에서 보시는 것 처럼 \r\n 둘다 엔터키로 인식되네요.

참고로 말씀드리자면 MXML 상에서 위의 이스케이스 문자를 인식시키실때는 아래와 같이 하시면 됩니다.

  1. <mx:TextArea text="텍스트\r\n입력" />      <!-- 백슬러시(\)를 문자열로 인식함 -->    
  2. <mx:TextArea text="{'텍스트\r\n입력'}" />      <!-- 백슬러시(\)를 특수문자로 인식함 -->   

 

아무튼, 저는 이와 같은 문제를 자바로 구성된 서버를 이용하면서 겪게 되었습니다. 해당 서버를 이용하는 또다른 쪽이 델파이로 구성되어 있는데, 델파이에서는 \r\n 으로 엔터키를 표현하는데, 플렉스에서 받아오니 엔터가 2번 입력되는 것 처럼 보이는 것은 물론 Flex 쪽에서 생성한 문자열은 델파이에서 엔터키가 없는 상태로 출력되는 것이었습니다.
물론 더 좋은 방법들이 있을꺼라 생각되지만, 저는 플렉스쪽에서 변환해서 쓰고 저장시에도 변환해서 보내기로 결정을 했습니다.
그래서 아래와 같은 코드를 구현하였습니다.

  1.   
  2. public static function getStringForFlex(value:String):String  
  3. {   
  4.     var javaReturnExp:RegExp = /\r\n/g;             // \r\n 으로 된 문자열을 모두 찾는다.   
  5.     return value.replace(javaReturnExp, "\r");      // \r 으로 변경하여 반환한다.   
  6. }   
  7.   
  8. public static function getStringForJava(value:String):String  
  9. {   
  10.     var flexReturnExp:RegExp = /\r/g;               // \r 으로 된 문자열을 모두 찾는다.   
  11.     return value.replace(flexReturnExp, "\r\n");    // \r\n 으로 변경하여 반환한다.   
  12. }  


네이밍이 좀 별로네요.. ;;
엔터키의 처리가 다르다는 것을 알아두시면 좋겠네요. ;)


ps. Flash Player 10 이 공개된 이후 FP10 이 설치된 브라우저에서 이전 포스트의 swf 파일을 로드하지 못하는 경우가 생기네요.
정확하게 이유는 모르겠습니다. 티스토리 포럼에 같은 내용의 버그신고가 이어지고 있는데, 자세히 알아봐야겠습니다.

from http://blog.flashplatform.kr/189

[출처] Flex Textarea 개행문자|작성자

Posted by 1010
반응형

부모

var retValue;
var myObject = new Object();
myObject.tempid = id; // 넘길 값

retValue = window.showModalDialog("팝업페이지", window, "dialogWidth:850px; dialogHeight:500px; center:yes; help:no; resizable:yes; scroll:no; status:no;");

function test(){

}

자식
var oMyObject = window.dialogArguments;// 팝업 실행 하는 페이지에서 값을 받아옴

temp(oMyObject.id); // 값을 넘겨줌..

부모창에 함수호출

oMyObject.test();

Posted by 1010
반응형

var result:String = value.toXMLString();    //String으로 변환  

var pattern:RegExp = /\n */g;   //개행문자를 없앨 정규식  


 result = result.replace(pattern, "");   //개행문자를 없엔다  

Posted by 1010