'Work'에 해당되는 글 18건

  1. 2009.06.07 UOSU
  2. 2009.06.07 GIMP
  3. 2009.04.10 Hotswap
  4. 2009.04.09 Intel ICH7 , ICH8 , ICH9 , ICH10 AHCI Driver 3
  5. 2009.01.08 Genetic Algorithm 2
  6. 2008.12.24 DDX / DDV
  7. 2008.12.24 상속과 인자 관련
  8. 2008.12.24 메시지 맵, 핸들러, 매크로의 관계
Work2009. 6. 7. 12:10
UO Screenshot Utility

원래는 울티마 온라인용 스크린 샷 유틸리티 -_-;;;

장점은 키만 누르면 바로 jpg로 압축해서 자동으로 파일명을 부여한다는 것!

단점은 마구 연사할 경우 제때 처리를 못할수도 있다는 거 정도? -_-



Posted by Astas
Work2009. 6. 7. 01:07

포토샵 대용으로 쓸만한 물건.. 용량도 훨씬 작다..

한글판 주소는 여기.
http://gimp.kr/

포터블판 / 일반판 모두 다운로드시 용량이 16메가에 불과하다...
설치시 용량도 60~80메가 수준 -_-

흠좀무..


대략 실행하면 이렇게 뜬다...


내가 자주하는 색상조절 커브도 지원하고..




... 이게 생겼으니 이제 포토샵 쓸일은 없겠다 -_-



Posted by Astas
Work2009. 4. 10. 12:48

eSATA 외장 하드디스크를 사용하다 보면 제일 불편한 점이..

많은 경우, 하드웨어 안전제거에 외장하드가 안보인다는 것!

이  Hotswap은 보이지 않는 이 하드를 찾아서 안전제거 할 수 있도록 도와주는 유틸리티이다.

설치할 필요도 없이, 압축을 풀고 바로 실행시키면 ok.



Posted by Astas
Work2009. 4. 9. 20:39
요즘 나오는 ICH10R 이 아니라 그냥 ICH9, ICH10 에는 매트릭스 스토리지 소프트웨어를 설치할수가 없다 -_-

이게 문제는, 이로 인해 AHCI모드를 설정할수가 없어서 SATA의 고유 기능중 하나인 핫 플러그 라던가..
NCQ등을 못써먹는다는것.

기존 방법들은 Intel(R) Matrix Storage Manager 의 설치 파일 압축을 푸는 옵션을 넣어서 파일을 풀어놓고,
그  파일에 포함된 드라이버로 업데이트 시키는데...

내가 잘못한건지 버전을 올리면서 막은건지 Intel(R) Matrix Storage Manager v8.x  로 시도해 보니 그게 안되네...


하지만 어디에든 길은 있는 법....


어느 대인배 외국인이 드라이버만 추출해서 배포하고 있었다..

아래 첨부 파일이 그것...



한참 고민하다 이것 한방으로 해결했다.. 오오오.. Fernando 찬양~ Fernando 찬양~ -_-;
Posted by Astas
Work2009. 1. 8. 10:09

[원문링크]

The basic algorithm for a GA

Image of: Fig 1. The basic Genetic Algorithm


Fig 1. The basic Genetic Algorithm

The algorithm

The basic algorithm by which GAs operate is reasonably well established. The above figure shows the generic one used by most, although some variations may occur depending on the application. In general the particular methods employed in each of the above stages do not matter. What is important is that the general algorithm is followed and the evolutionary techniques that underlie it are understood. The following sections discuss the need for each of these steps in terms of their relevance to evolutionary processes.

Population

A population is initiated of legal solutions, selected by choosing random input values. There are no fixed rules for how large the population should be. The answer is dependent upon the type of problem. For a simple problem with a regular search space a small population of 40 to 100 will probably be sufficient. For larger more complex problems and especially those with an irregular search space larger populations of 400 or more are recommended. The clue is diversity – a diverse population, i.e. a large one will tend to search out niches – in engineering terms that means finding elusive, difficult to find solutions to problems.

Fitness

The fitness of individual chromosomes is a relative matter. For example when maximising a function; if one individual has a higher value, once processed by the function, than another then that individual is considered fitter. Things get a little more involved with multi-criteria problems. In these cases comparisons can be carried out to see if an individual dominates other members of a population by taking all criteria into consideration. If they do they are considered fitter. The most dominant, i.e. those who dominate all others, are referred to as Pareto solutions. These are considered as candidate solutions to whatever problem you are trying to solve.

Selection of the Fittest

GAs operate over a number of generations. Following the evolutionary theme of this method, this means fitter solutions will tend to survive to the next generation. The selection method employed by many approaches is the roulette wheel

selection process. In nature all individuals have a chance of surviving from one generation to the next – fitter solutions (i.e. those most dominant) have a better chance. Weaker more dominated individuals have a smaller chance (still an opportunity) of surviving.

… more on the Roulette Wheel section process


Crossover

Nature generates the next generation using a mating process. As a result two parents create offspring, who consist of the genetic material of both parents. These offspring can be weaker or fitter than their parents (or similar). If they are weaker they will tend to die out – if they are stronger their chances of survival are better. GAs try to replicate this using a crossover operator. This emulates the mating process by exchanging chromosome patterns between individuals to create offspring for the next generation.

… more on the Crossover operator


Mutation

Mutation exists in nature and causes an unanticipated change in a chromosome pattern. This can result in a much weakened individual and occasionally a much stronger one. Either way the principle behind mutation from an evolutionary point of view is that it occurs rarely, spontaneously and without reference to any other individual in the population. If the change is beneficial to the general population then that individual will tend to survive and will pass this trait on in future replication processes. Because of the way that GAs represent individuals this process is a very simple one and a typical mutation operator is relatively easy to implement. It is important to remember that these processes occur very infrequently otherwise they would have a disruptive effect on the overall population.

… more on the Mutation operator

There are no definitive methods of establishing how many generations a GA should run for. Simple problems may converge on good solutions after only 20 or 30 generations. More complex problems may need more. It is not unusual to run a GA for 400 generations for more complex problems such as jobshops. The above figure suggests 100 generations. The most reliable method of deciding on this is trial and error, although a number of authors have suggested methods for determining how long a solution should live.

For further details of the EDC's activities please get in touch with us through our contact page.


Posted by Astas
Work/C / C++ / MFC2008. 12. 24. 11:59
http://blog.naver.com/ojongchul?Redirect=Log&logNo=30001363627
http://blog.naver.com/maner07?Redirect=Log&logNo=80027433314



그러니까 이런 경우.

class CRCLoginDlg : public CDialog
{
....
    CString    m_userID;
    CString    m_userPass;
    protected:
    virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support



void CRCLoginDlg::DoDataExchange(CDataExchange* pDX)
{
    CDialog::DoDataExchange(pDX);
    //{{AFX_DATA_MAP(CRCLoginDlg)
    DDX_Text(pDX, IDC_ID, m_userID);
    DDX_Text(pDX, IDC_PASSWORD, m_userPass);
    //}}AFX_DATA_MAP
}


DDX/DDV가 활성화 되면, 이 CRCLoginDlg가 열릴때,
IDC_ID 에 m_userID의 내용이 자동 입력되고,
IDC_PASSWORD 에 m_userPass가 자동 입력된다음,

이 컨트롤이 OnOK(); 로 닫힐 때,
자동으로 저 필드의 내용이 각각의 변수로 다시 입력된다는 것 정도면 제대로 이해한게 맞나 -_-;


Posted by Astas
Work/C / C++ / MFC2008. 12. 24. 11:25
 [ 원문 링크 ] 


MFC 대화상자 예제 따라하다 보니깐

 

CMoveDlg::CMoveDlg(CWnd* pParent /*=NULL*/)
 : CDialog(CMoveDlg::IDD, pParent)
{
 //{{AFX_DATA_INIT(CMoveDlg)
 m_nX = 0;
 m_nY = 0;
 //}}AFX_DATA_INIT
}

코드가 이런 부분이있는데 CDialog(CMoveDlg::IDD, pParent) 앞의 콜론은 뭐죠? 이게 어떻게 하라는 의미인지?





Posted by Astas
Work/C / C++ / MFC2008. 12. 24. 11:23

http://blog.naver.com/loosai?Redirect=Log&logNo=120023259835




Posted by Astas