2010년 11월 10일 수요일

화면 리프레쉬 (Application.processmessage)

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"
 enterFrame="appEnter()" frameRate="1" creationComplete="initApp()">
 
 <mx:Script>
  <![CDATA[
   import mx.controls.Alert;
   
   private var intCnt : int = 0;
   private var bInit : Boolean = false;
   private function initApp():void
   {
    bInit = true;
   }
   
   private function btnOK_click():void
   {
   
    intCnt = 0;
   }
   
   private function appEnter():void
   {
    if ( bInit == false)
     return;
   
    intCnt++;
    txtCnt.text = intCnt.toString();
   }
  ]]>
 </mx:Script>
 <mx:Button x="27" y="92" label="Button" width="102" id="btn_Ok" click="btnOK_click()"/>
 <mx:TextInput x="27" y="47" id="txtCnt"/>
 
</mx:Application>

 

enterFrame="appEnter()"  : 각 프레임 형태로 appEnter 를 수행해라..

frameRate="1"                 : 초당 몇 프레임으로 할 것인지...

creationComplete="initApp()"  : 웹로딩이 완료 되면 initApp를 수행해라...

 

 

2010년 11월 2일 화요일

심풀이 로또 추출(11-02)

심풀이 로또 추출

 

예상으로

1-9번대 2개

10-19번대 2개

21-30번대 1개

31-39번대 1개

 

걍 추출하니 28000개...

돈으로 헤아리니 2천8백만원어치인데...

 

여기서 나와 줄려나요...ㅋ

 

예상치 수립하는데도...

무자게 많은 난수중에서 해 본건디...

2010년 10월 26일 화요일

파이어버드 데이터베이스 복구

파이어버드에서 통상적으로 데이터베이스가 깨지는 이유는 2가지이다. 첫번째는 서버가 데이터베이스 파일을 접근하는 중에 복사를 하는 경우에 그렇도 두번째는 forced write가 활성화되지 않았는데 예기치 않은 서버 셧다운이 생긴 경우이다.

 이런 두가지의 경우 테이블이나 데이터셋을 접근하는 경우, “Internal gds software-consistency check”, “Database file appears corrupt”, “Wrong record length”라는 에러 메시지를 토해낸다. 이런 경우 서버를 중지시키고 데이터베이스 파일을 복사하고 다시 서버를 시작하는 것이 좋은 방법이다. 복사한 데이터베이스 파일은 복구서비스에 보내거나 복구를 시도한다.

 데이터베이스 복구 4가지 순서

  1. 데이터베이스를 확인한다 : gfix로 데이터베이스 구조를 확인한다. 이는 “-v -f” 파라미터를 사용하면 된다.
    gfix -v -f -user sysdba -pass masterkey server:/경로/database.fdb
    gfix는 데이터베이스 구조를 확인하고 문제가 있으면 에러메시지를 보여준다. 에러 메시지가 없다면 데이터베이스 파일은 문제가 없음을 의미한다.
  2. 백업을 준비한다 : gfix를 다시 사용하여 백업을 위한 준비를 한다. 이는 “-mend” 파라미터를 사용하면 된다.
    gfix -mend -user sysdba -pass masterkey server:/경로/database.fdb
  3. 백업을 생성한다 : 이는 굉장히 중요한 단계로 만약 이 단계에서 실패하면 파이어버드의 툴로는 데이터베이스를 복구할 수 없다. gbak이란 툴을 이용하여 데이터베이스의 파일의 백업을 생성한다. 데이터베이스에 복구할 수 없는 오류가 있다면 gbak으로 하는 작업은 실패한다.
    gbak -b -v -user sysdba -pass masterkey server:/경로/database.fdb /경로/backup.fbk
    백업을 생성하는 곳은 로컬 드라이버를 이용하는 것이 낫다. 오류가 없다면 제대로 복구되었음을 의미한다.
  4. 백업을 복구한다 : 백업을 데이터베이스로 파일로 복구한다. 이는 gbak을 다시 이용하면 된다.
    gbak -c -r -v -user sysdba -pass masterkey /경로/backup.fbk server:/경로/database.fdb

 [댓글]  1) 데이터베이스를 백업할 때, 항상 ”-g” 파라미터를 쓰는 것이 좋습니다. 만약 이 파라미터를 사용하지 않으면 서버는 가바지콜렉션을 초기화하고, 망가진 chain이 있다면 데이터베이스 백업은 실패하게 됩니다.
2) “-c -r” 파라미터를 사용하지 말아야 합니다. 이는 모순 어법이기 때문이며, 망가진 데이터베이스와 복구된 데이터베이스가 같은 이름이면 원본 데이터베이스의 내용들을 지워버리게 됩니다. 또한 “-r” 옵션은 2.x 버전의 파이어버드에서는 작동하지 않는데 이는 “-replace”로 되었기 때문입니다. 그래서 “-c” 파라미터를 사용하고 tmp.fdb같은 다른 이름으로 복구를 해야 합니다. [해석이 어물어물]

 

 

출처 : http://daniel-albuschat.blogspot.com/2009/12/firebird-database-corruption-and-what.html

Related posts:

  1. SqlitePass 데이터베이스 테이블 생성하고 붙이기.
  2. SqlitePass 데이터베이스 형식…
  3. SqlitePass Kexi 형식에서의 문제.
  4. SQLitePass3 DLL

2010년 10월 15일 금요일

FlexBuilder 사용법 정리

1. gerated 된 ActionScript 보기

    Project -> Properties -> Flex Compiler 의 Additiona compiler arguments 부분에서 -locale en_US 부분을 -locale en_US -keep-generated-actionscript 으로 변경함

 

2. History File 갯수 설정하기 : 저장할때마다 History 파일을 남김

    Windows -> Preferences -> General -> Workspace -> Local History 부분을 설정

 

3. 과거의 소스와 현재의 소스를 비교 방법 : 변경이력 조회시

     Flex Navigator 에서 해당 파일을 선택 후 오른쪽 마우스 버튼 클릭

     Compare With -> Local Histor 선택

     오른쪽 하단에 Problems 탭 옆에 History 탭 생성 되며 해당 History 를 더블 클릭 하면 비교됨

 

4. 과거의 소스로 변경하는 방법

    Flex Navigator 에서 해당 파일을 선택 후 오른쪽 마우스 버튼 클릭

    Replace With -> Local Histor 선택

    해당 History 와 비교 후 Replace 버튼으로 예전으로 회귀