블로그 이미지
생각처럼

카테고리

전체보기 (209)
TOOL (1)
다이어리 (1)
Bit (200)
HELP? (0)
Total
Today
Yesterday

달력

« » 2025.1
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

공지사항

태그목록

최근에 올라온 글

출처 샐러던트 블로그 qm2580
원문 http://blog.naver.com/qm2580/150011127239

 결함 수목 분석(FTA)은 하나의 특정 사고나 주요 시스템 고장에 초점을 맞춘 연역적인 기법

으로 사건의 원인을 결정하는 방법을 제공한다. 결함 수목은 해당되는 주요 시스템의 고장을

야기하는 장비 결함과 인적 오류의 다양한 결합을 표시하는 그래픽 모델이다.  

정성적 도구로서 FTA의 장점은 사고를 일으킬 수 있는 기본 장비 결함과 인적 오류의 결합을

확인할 수 있다는 점이다. 위험성 분석가는 이를 통해 예방 또는 완화 수단을 중요한

기본 원인에 집중시켜 사고의 가능성을 줄일 수 있다.

 

   결과의 유형

 

   FTA는 부울 놀리 게이트(즉, AND, OR)를 사용하는 시스템 고장 논리 모델을

만들어 장비 고장과 인적 오류가 어떻게 결합하여 주요한 시스템 고장을 일으키는지

설명한다.

많은 결함 수목 모델은 대형 공정을 분석하여 만들 수 있다. 실제 모델 수는 최상층 사건을

선택할 때 위험성 분석가가 선택하는 방법에 달려 있다.

결함 수목 분석가는 각 논리 모델을 풀어 컷 세트라고 하는 최상층 사건을 야기하는

고장의 목록을 산출한다. 각 컷 세트에 있는 고장의 수와 유형(예, 하드웨어, 절차)에 따라

이 컷 세트 목록의 순위를 정성적으로 정할 수 있다. 일반적으로 더 적은 고장이 속한

컷 세트가 고장이 많은 컷 세트 보다 더 많다.

이 컷 세트 목록을 검사하면 분석가가 제시한 가능한 안전 개선 대안의 시스템 설계/

운전의 약점이 밝혀진다.

 

  FTA에 드는 시간과 비용 요건은 분석에 연루된 시스템의 복잡성과 분석의 해결 수준에

 달려있다. 경험 있는 팀은 하루 안에 단순한 공정과 관련된 하나의 최상층 사건을 모델링

할 수 있다. 잠재적인 사고 사건이 많은 복잡한 시스템과 큰 문제는 경험 있는 분석 팀이라도

여러 주일이나 여러 달이 걸릴 수 있다.

 

결함 수목 분석 기법을 사용하는 데 걸리는 예상 시간

 

범 위

준 비

모델 구성

정성적 평가

문 서

단순/작은시스템

1∼3일

3∼6일

2∼4일

3∼5일

복잡/대형시스템

4∼6일

2∼3주

1∼4주

3∼5주

 

   FTA는 Cutset이론, 확률분석 및 불 대수의 개념 등을 통한, 시스템의 고장메커니즘에

대한 그래픽화되고 논리적인 묘사에 기본을 두고 있으며, FTA에서의 중요한 사항은

구성요소 및 시스템이 성공적으로 운전(작동)되거나 또는 완전히 고장난다는 가정

(즉, 고장의 이원성)에 있다.

  또한, FTA는 분석에 있어서 AND, OR 등과 같은 논리게이트를 사용하므로서 논리

정연하다.

  TOP Event의 빈도나 확률은 보다 단순한 사건들의 고장 데이터로부터 계산된다.

즉, Top Event는 BLEVE, 대기로 방출하기 우한 릴리프시스템 또는 폭주반응등이 된다.

 FTA는 Top Event의 정량적인 정보를 제공하는 것 뿐만이 아니라, 최소컷셋분석을

 통하여 복잡한 시스템이 잠재적인 고장모드에 대한 정성적분석을 가능케 한다.

 

  ◇ 논리 게이트

 "OR"게이트

  OR게이트는 게이트에 소속된 사건들의 결합을 나타내며, 불 대수의 기호로는 "+"로

표시된다. 2개의 입력사건을 가지 OR게이트는 불 대수로 Q = A +B와 같이 표시되며,

 Q가 일어나기 위해서는 사건A 또는 B중의 한개, 또는 A, B사건 모두 일어나야한다.

 "AND"게이트

  AND게이트는 게이트에 소속된 사건들의 상호교점을 나타내며, 불 대수 기호로는 " ??"

으로 나타낸다. AND게이트에 2가지 사건이 소속된 경우에 불 대수는 Q = A??B와 같이

 표현된다.

 

◇ 최소컷셋(Minimal Cutsets)의 개념

  컷셋이란 Fault Tree 속에 포함되어 있는 모든 기본사건이 일어났을 때 정상사건을

일으키는 기본사건들의 집합이며, 최소컷셋은 만약 어떤 기본 사건이 컷셋으로부터

제거된다면 정상사건이 일어나지 않는 컷셋, 즉, Fault Tree의 정상사건을 일으키는

 사건들의 필요 최소한의 조합을 말한다.

 

  ◇ 고장률

  FTA에서 정상사상의 발생확률은 통상 경험적 또는 실험적으로 구해지고 미국에선

전자부품에 대한 자료를 비롯하여 많은 데이터가 공표되어 지고 있다. 그러나 이들

데이터는 통상의 사용 상태나 환경조건에서의 것이 많고 정격이상에서 사용되거나 또는

반대로 정격을 절하해서 사용하는 경우 또는 온도 습도, 진동, 충격 등에 의해 큰 영향을

받는다.

  

  5.9FTA의 단계별 분석 흐름도

(1단계)

시스템 특성파악

○ 시스템의 운전사항에 대한 이해

   - 플랜트 전체배치도, 공정설명, 장치설계자료, P&ID

      등을 통한 이해

                                                                |

(2단계)

공정위험특성 분석 및 정상사건 설정

○ 공정위험성 분석 및 정상사건의 설정

   - 경험적 자료, HAZOP, FMEA 등을 통한 분석

                                                               |

(3단계)

Fault Tree의 작성

○ Fault Tree를 작성

   - AND또는 OR게이트를 사용하여 FT구성

                                                               |

(4단계)

Fault Treedml 정성적 분석

○ 최소컷셋 분석, 고장모드의 조사, 공통원인에 대한 조사, 중요도에

    따른 정량적 우선순   위 설정 등

○ 대형 Fault Treedml 경우는 컴퓨터 코드사용

                                                                |

(5단계)

Fault Treedml 정량화

○ 정상사건의 빈도, 불 대수분석

○ 구성요소나 인적오류 등에 대한 신뢰성데이터 이용

                                                                  |

(6단계)

Fault Tree 해석 결과의 평가

○ 해석결과의 불확실성, 정상사건의 발생빈도 저하방법 분석

○ 원인사건이나 중간사건의 중요도 분석

 


Posted by 생각처럼
, |

http://comblog.wo.tc/364

 

 

최근 하드디스크에 배드섹터가 발생해서 상당히 애를 먹었야만 했습니다. 그 때의 경험을 적어봅니다.
처음엔 하드디스크에 배드섹터가 발생했는지 눈치채지 못했습니다. 부팅이 정상적으로 잘 이루어졌고, 컴퓨터를 사용하는데도 아무런 문제가 없었기 때문이었지요. 그런데 어느 순간에서부터 인가 이상한 조짐이 보이기 시작합니다. 몇 백 메가바이트 밖에 되지 않는 파일을 복사하는데 자꾸만 복사가 중단 되더군요. 이후에도 몇 차례에 걸쳐 파일 복사가 중단되어 취소를 눌러야만 하는 경우가 많았습니다. 

무엇이 문제일까 잠시 고민하다가 우선 윈도를 새로 설치해 봤습니다. 혹시나 하는 기대감으로 지켜봤지만 별다른 효과없이 문제는 지속되었습니다. 시간이 갈수록 더 빈번하게 발생하며 악화되어 갔고, 결국엔 윈도 자체가 멎는 증세까지 발생하기 시작했습니다. 멀쩡하게 잘 동작하던 윈도가 갑작스럽게 정지하는 경우가 자주 있었고, 정지 이후엔 하드디스크 램프에 그 어떤불도 들어오지 않았습니다. 말 그대로 완전히 멎어 버리더군요. 마우스 포인터만 움직일 수 있을뿐 화면상의 그 어떤것도 더 이상 움직이지 않았습니다. 멈추기 직전의 그 모습 그대로 동작을 멈추고 얼어버렸지요. 리셋을 눌러 컴퓨터를 재시작하면 언제 그랬냐는듯이 원활하게 잘 동작하는듯 했지만 얼마 지나지 않아 다시 동작을 멈추고 얼어버리길 반복했습니다. 이런 증상은 불규칙적으로 계속 발생했고, 여러모로 답답하고 불편했습니다.

하드디스크 문제임을 직감하고 GM HDDSCAN으로 스캔해 본 결과 배드섹터가 몇 개 발생해 있었습니다.
그래서 우선 윈도 디스크 검사 유틸리티로 불량섹터 검사를 시도해 보고, 다음으로 HDD Low Level Format Tool로 로우 레벨 포맷을 실행해 봤습니다. 그래도 배드섹터가 그대로 남아있더군요. 씁쓸한 기분이었습니다. 이젠 폐기 처분하고 새 하드를 사야하나 싶었습니다.

그런데 혹시나 하는 마음으로 거의 마지막으로 시도해 본 유틸리티 하나 덕분에 무사히 하드디스크를 건질 수 있었습니다. 그 유틸리티는 바로 HDD Regenerator 입니다. 이 유틸이 아니었다면 전 지금쯤 데이터를 살려내서 백업하고 새 하드를 구입하느라 여러모로 더 피곤하고 힘들었을 겁니다. 

문제 해결을 기념해서 기록도 해두고 다른분들께도 조금이나마 도움이 되지 않을까 하는 생각이 들어서 배드섹터 치료 프로그램인 HDD Regenerator에 대해 글로 남겨둡니다.



배드섹터의 의미와 종류


하드디스크는 공간을 조직적으로 관리하고 영역별로 데이터를 찾을 수 있도록 "섹터"라는 단위로 구역이 나눠져 있습니다. 하드디스크를 하나의 건물에 비유한다면 섹터는 건물 내부의 방이나 사무실 하나로 볼 수 있겠죠. 방 번호나 이름을 알면 바로 찾아갈 수 있듯이, 하드디스크에서도 섹터 번호를 알면 데이터의 위치를 알 수 있습니다.

배드섹터(불량섹터)는 더 이상 자료를 읽거나 쓸 수 없는 섹터를 말합니다. 해당 섹터(영역)의 논리적 구조가 손상되어 읽어들일 수 없는 경우도 있고, 외부의 충격으로 자료를 읽어들이는 헤드가 원반 형태의 플래터 표면을 긁었거나 혹은 모터가 고장나는등의 경우와 같이 물리적인 문제로 해당 섹터 자체에 접근할 수 없어서 배드섹터가 발생하기도 합니다.

이런 배드섹터는 크게 아래와 같이 두 가지 종류로 나누어 볼 수 있습니다.

1. 논리적인 배드섹터
자료를 저장하고 있는 논리적인 구조가 흐트러지고 손상되서 발생하는 배드섹터가 바로 논리적인 배드섹터 입니다. 기계적(모터, 플래터, 헤드등)으로는 문제가 없지만 눈으로 보이지 않는 논리적인 구조 정보(자료/섹터가 몇 번째 자리에 위치하고 있는가와 같은 정보)가 손상된 상태라고 보시면 됩니다.

논리적인 구조만 바로 잡아주면 되기 때문에 기계적으로 문제가 생긴 물리적인 배드섹터에 비해 복원 확률이 높은편 입니다. 우선 해당 하드디스크 → 오른쪽 클릭, 속성 → 도구 탭 → 지금 검사를 통해 배드섹터의 복원을 시도해 볼 수 있습니다. 이때 파일 시스템 오류 자동 수정 뿐만 아니라 불량 섹터 검사 및 복구 시도까지 체크되어 있어야 합니다. 손상의 정도가 심하지 않다면 윈도에 내장된 이 기본 기능으로 해결 될 수도 있습니다.

하지만 상당수의 경우 위 방법만으로는 해결되지 않는 경우가 많습니다. 이럴때 다음으로 시도해 볼 수 있는 방법에는 하드디스크의 로우 레벨 포맷(=저수준 포맷)이 있습니다. 로우 레벨 포맷은 하드디스크를 공장에서 출시될때의 처음 상태로 초기화하는 방법으로 일반적인 포맷이 리모델링에 해당한다면 로우 레벨 포맷은 집을 허물고 주춧돌을 새로 놓는것에 비유할 수 있습니다. 각 하드디스크 제조사별로 로우 레벨 포맷을 위한 전용 프로그램을 제공하고 있지만 대부분이 도스용이기 때문에 사용하기가 상당히 불편합니다. 이런 경우 윈도용 범용 로우 레벨 포맷 프로그램인 HDD Low Level Format Tool을 사용하시면 됩니다. 로우 레벨 포맷중 전원이 나가거나 중단되면 하드디스크가 영원히 사용 불가 상태가 될 수 있기 때문에 주의해야 하고, 성공적으로 이루어진다고 해도 로우 레벨 포맷 자체가 하드의 수명을 단축시킬 수 있기 때문에 신중히 사용하셔야 합니다.

로우 레벨 포맷을 한뒤에도 배드섹터가 사라지지 않고 남아있다면 최후로 시도해 볼 수 있는 방법은 이 글에서 소개할 HDD Regenerator를 사용하는 것입니다.

2. 물리적인 배드섹터
물리적인 배드섹터는 말 그대로 하드디스크에 물리적이고 기계적인 손상이 발생해서 해당 섹터가 읽을 수 없는 상태가 되는것을 말합니다. 일반적으로 물리적인 배드섹터라고 하면 모터가 동작하지 않거나, 혹은 헤드가 디스크 플래터의 표면을 긁어서 발생하는 경우만 생각하기 쉽지만 사실 물리적인 배드섹터는 다시 2가지로 분류해 볼 수 있습니다.

2-a. 기계적인 손상으로 발생한 경우:
별다른 어려움 없이 바로 떠올릴 수 있는 물리적인 배드섹터의 대표적인 경우 입니다. 외부의 충격에 의해 데이터를 읽어들이는 헤드가 디스크의 표면을 긁거나, 기판이 손상 되었거나, 모터가 더 이상 동작하지 않는등의 형태가 여기에 해당합니다. 이 경우엔 해결 방법이 없는것과 다름없기에 가능한한 데이터를 안전한 곳에 백업하고, 전문 복구 센터에 보내거나 폐기 하는등의 조치를 취한뒤, 가까운 시일내에 새로운 하드디스크를 구입해야 합니다.

2-b. 자화특성으로 인해 문제가 발생한 경우:
자화특성이 올바르지 않을때도 물리적인 배드섹터가 발생합니다. 예전에 많이 사용되던 카세트 테이프와 마찬가지로 하드디스크는 자성으로 데이터를 기록하고 읽고 쓸 수 있습니다. 원판 모양으로 된 디스크(=플래터) 표면에 형성된 자기장의 방향을 통해 자료를 기록하는 것이지요. 그런데 이런 자기장의 방향이 정상적으로 형성되어 있어야만 자료를 저장할 수 있습니다. 표면에 형성된 이 자기장의 방향이 과도한 파일 입출력이나 기타 다른 이유로 엉뚱하게 변형되게 되면 인식이 불가능해져 배드섹터가 발생하게 됩니다. 이런 형태의 배드섹터는 HDD Regenerator로 치료 가능합니다.

배드섹터는 위와 같이 정리해 볼 수 있습니다.
이제 HDD Regenerator에 대한 소개와 사용 방법에 대해 적어보겠습니다.


하드에 새 생명을 주는 HDD Regenerator


물리적인 배드섹터가 발생해서 더 이상 손쓸 도리가 없는 하드디스크가 있다면, 최대한 자료를 신속히 백업해 놓고 나머지는 전문 복원 업체에 맡기는게 효율적일 겁니다. 하지만 비용이 만만치 않아서 상당히 부담이 크지요.
이런 경우 HDD Regenerator를 사용해서 데이터 복구를 시도해 보는것도 훌륭한 한 방법입니다. 

HDD Regenerator의 개발사인 Abstradrome에 따르면 배드섹터로 손상된 하드 디스크의 60%는 잘못된 자화 특성때문에 발생한다고 합니다. HDD Regenerator를 이용하면 이러한 문제를 수정할 수 있으며 심지어 저수준 포맷으로도 복구할 수 없을 정도로 손상된 경우에도 복구할 수 있다고 합니다. 제가 그런 경우였지요. 다음은 HDD Regenerator의 특징 입니다. 

  • 하드 디스크에서 물리적 배드 섹터 검출
  • 하드 디스크의 물리적 배드 섹터 복구
  • 모든 파일 시스템 지원. 물리적인 레벨에서 검색하기때문에 FAT, NTFS나 파티션되지 않았거나 포맷되지 않은 디스크에도 사용할 수 있음
  • DOS 부팅 디스켓을 이용해서 자동적으로 복구 프로세스가 진행됨
  • 부팅 CD를 만들 수 있으며, 역시 자동적으로 복구 프로세스가 진행됨
  • 복구 프로세스는 하드 디스크의 데이터에는 영향을 미치지 않음 (로우 레벨 포맷이 자료를 완전히 날리는것과는 상반됨. 하드디스크의 자료는 고스란히 남겨둔채로 배드섹터만 치료함.)


사용 방법


1. 하드디스크 배드섹터 검사


아래 링크에서 GM HDDSCAN v2.0 을 다운로드한 다음 배드섹터 검사를 시작합니다.

 * 간략한 설명 및 다운로드 링크:
http://processor.textcube.com/198

전체로 영역을 선택하고 검사를 진행하면 하드디스크에 배드섹터가 있는지, 배드섹터가 있다면 어느 부분쯤에 발생했는지 한눈에 확인할 수 있습니다.
이때, 검사를 완료한 후에는 TXT 파일 형태로된 검사 레포트를 저장해야 하는데 그 이유는 이후 HDD Regenerator를 실행 했을때 검사를 시작할 섹터 부분에 배드섹터가 발생한 섹터부터 검사하도록 바로 지정하기 위해서 입니다.

※ 저장된 검사 레포트의 예:
======================================
==>>>>> 검사된 배드섹터 리스트 <<<<<==
======================================
7608607섹터,3715MB
22171458섹터,10825MB
22172130섹터,10826MB

저장된 검사 레포트의 내용은 다른곳에 메모해 두거나 꼭 기억해 두세요.

HDD Regenerator는 하드디스크 스캔 속도가 너무나도 느리기 때문에 0번 섹터의 첫부분부터 시작해서 디스크 전체를 검사하도록 하면 너무나 많은 시간이 걸립니다.


2. HDD Regenerator의 실행

 * 버추얼 FDD로 패키징된 HDD Regenerator:

HDD Regenerator는 원래 도스 프로그램이기에 플로피나 CD 이미지를 구워서 사용해야 하지만, 상당히 번거롭기 때문에 버추얼 FDD로 패키징된 HDD Regenerator를 구해서 첨부합니다. 위 프로그램은가상 플로피이기 때문에 CD 이미지로 복잡하게 할 필요가 없습니다. 실행만 해주면 리붓하고 가상 플로피로 부팅합니다. 다운로드 받은 다음 실행해 보세요.

Windows 7의 경우엔 지원하지 않는 운영체제란 창이 뜨면서 실행되지 않을 겁니다.
이 경우엔 프로그램에서 오른쪽 클릭 → 속성 → 호환성 탭 → 이 프로그램을 실행할 호환 모드: Windows Vista(서비스팩 2)로 호환성 모드를 설정해 두시면 문제없이 잘 실행됩니다.


3. 하드디스크 선택


복구에 사용할 배드섹터가 존재하는 하드디스크의 번호를 입력한 다음 엔터키를 눌러서 다음 과정으로 진행합니다.


4. 검사 시작 섹터 지정 (배드섹터 입력)


검사를 시작할 섹터를 지정하고 엔터를 누릅니다.
스캔 속도가 느려서 0번 섹터부터 검사하면 너무 많은 시간이 걸립니다. 앞서 1번에서 GM HDDSCAN을 통해 검사 이후 검사 레포트를 저장하고, 그 내용인 배드섹터 리스트를 다른곳에 메모해 두셨지요? 이제 여기에 배드섹터 목록에 있던 섹터 번호중 하나를 입력합니다. 7608607처럼 말이지요.


5. 치료


그림처럼 복구가 진행됩니다. 배드섹터의 경우 B로 표시되며, 복구된 경우 R로 표시됩니다. B가 나올때까지 기다린 다음 B가 R로 바뀌면 Ctrl+C를 눌러서 프로그램을 종료합니다.


6. 프로그램 재실행

 A:\>HDDREG

HDD Regenerator가 종료되었다면 도스 화면으로 빠져 나올겁니다. 명령 커서가 깜빡이는 상태에서 HDDREG를 입력한 다음 엔터를 눌러 HDD Regenerator를 다시 실행 시킵니다.


[+] 7. 반복 (배드섹터가 하나가 아닌, 둘 이상인 경우)

HDD Regenerator가 재실행되면 3번으로 되돌아가서 치료할 하드디스크를 고른 다음, 4번과 같이 치료해야할 다른 배드섹터의 섹터 번호를 입력합니다. 그럼 5번처럼 배드섹터인 B가 R로 바뀌며 치료 되겠지요? 그럼 다시 프로그램을 종료하고 다시 실행해서 앞서 했던 형태대로 진행합니다. 한마디로 반복인 셈이지요. GM HDDSCAN의 검사 레포트에 있던 모든 배드섹터를 치료할때까지 이 과정을 반복합니다.


8. 마무리

이렇게 해서 모든 배드섹터가 치료되고, GM HDDSCAN으로도 더 이상 배드섹터가 발견되지 않는다면 모든 과정을 성공적으로 마무리 하신 셈입니다. 하드디스크를 살려 내셨군요. 축하드립니다 ^_^.


기타 다운로드


윈도를 아예 부팅할 수 없는 상황이거나 기타 다른 이유로 버추얼 FDD로 패키징된 HDD Regenerator를 실행할 수 없을 경우, 플로피나 CD에 구워서 부팅하실 수 있습니다.

아래 압축 파일을 다운로드 받아서 프로그램을 설치한뒤, HDD Regenerator.exe 파일을 설치된 폴더에 덮어쓰기 하세요. 이 프로그램을 사용하면 HDD Regenerator용 플로피나 시디를 구우실 수 있습니다.

 * 부팅 CD 생성용 HDD Regenerator:
Posted by 생각처럼
, |
시나리오
Windows기반 응용 프로그램을 만든 다음, 설치하는 동안에 바로가기 및 파일 연결을 설정하고, 레지스트리에 엔트리를 추가하고, 사용자 지정 대화 상자를 표시하고, Internet Explorer 의 버전을 확인하는 설치 관리자를 만들어 보겠습니다.

1. 응용프로그램 만들기

배포프로그램을 만들 윈도우 폼 프로젝트를 생성합니다.
* 배포할 본인의 프로젝트를 열어도 상관 없습니다.
2. 배포 프로젝트 만들기
1.파일 - 2.추가 - 3.새 프로젝트 - 4.기타 프로젝트 형식 - 5.설치 및 배포 선택 - 6.템플릿에서 설치프로젝트 - 7.이름을 입력하고 확인버튼을 클릭한다. - 8.솔루션 탐색기에 지정한 이름의 프로젝트가 생성된다.
* 솔루션 탐색기에서 지정한 이름의 프로젝트를 선택 후 속성중에 ProductName 속성은 폴더 이름 및 프로그램 추가/제거 대화상자에 표시될 해당 응용 프로그램의 이름을 지정해 줍니다.


3. 응용프로그램이 설치될 경로 지정하기
솔루션 탐색기에서 - 프로젝트에서 오른쪽버튼을 클릭 후 - 보기 - 파일시스템 - 파일시스템 편집기에서 응용 프로그램 폴더를 선택 후 속성창에서 DefaultLocation을 수정해 주면 된다.



4. Windows 기반 응용 프로그램을 설치 관리자에 추가하기
1.솔루션 탐색기에서 지정한 이름의 프로젝트를 선택 - 2.가운데의 파일 시스템 편집기에 있는 응용 프로그램 폴더에서 오른쪽 버튼 클릭 - 3.추가 - 4.프로젝트 출력 선택한다. - 5.목록에서 “기본출력” 선택 후 확인버튼 클릭

응용프로그램을 설치하면 다음과 같이 생성됩니다.
* 저 응용프로그램이 나중에 인스톨하였을때 실행화일이 되는 것 입니다.


5-1. Windows 기반 응용 프로그램의 바로 가기 만들기
1.솔루션 탐색기에서 지정한 이름의 프로젝트를 선택 - 2.파일 시스템 편집기에서 “지정한 이름의 기본 출력(활성)”을 선택 오른쪽 버튼 클릭 후 - “지정한 이름의 기본출력(활성)의 바로 가기 만들기”를 클릭한다. - 3.그러면 “지정한 이름의 기본출력(활성)의 바로 가기” 가 추가된다. - 4.이름을 “지정한 이름의 바로가가” 로 변경한다. - 5.그리고 생성된 바로가기 노드를 좌측의 “사용자 바탕 화면” 으로 끌어다 놓는다.

* 이렇게 하면 설치 후 바탕화면에 응용프로그램의 바로가기가 생성됩니다.
"지금 Windows Installer의 기본 출력(활성) 바로 가기" 라고 되어있는데 이렇게 되면 나중에 설치하고 바탕화면에 이 이름 고대로 바로가기 아이콘이 생기게 됩니다. "Windows Installer 바로가기" 이렇게 간단하게 자기가 원하는데로 이름을 바꿀 수 있습니다.
5-2. 시작메뉴에 바로가기 만들기
1.”파일 시스템”창에서 “사용자 프로그램 메뉴”에서 오른쪽 버튼 클릭 - 2.추가 - 3.폴더 - 4.이렇게 하면 새 폴더 #1이라는 하위 메뉴가 생성이 됩니다. 이것은 이제 시작메뉴에서 폴더로 나오게 됩니다. 
- 5.이름을 프로그램 이름으로 변경 한다. - 6.”응용 프로그램 폴더”의 “지정한 이름의 기본 출력(활성)”에서 오른쪽 버튼 클릭 후 “test의 기본 출력(활성) 바로 가기”를 클릭한다. 7. 바로가기의 이름 지정 후 아까 만든 “사용자 프로그램 메뉴”의 하위 폴더에 끌어다 놓는다.
*이렇게 하면 나중에 응용프로그램 설치 후 시작 메뉴에 하위폴더의 이름으로 폴더가 생기고 바로가기가 들어가 있습니다.
* 전 "새 폴더 #1"의 이름을 WindowsInstaller프로그램 이라고 바꿨습니다.
* 나중에 인스톨을 하면 위에보시는 "Microsoft Windows SDK v6.0A" 부분과 같이 "WindowsInstaller프로그램"이라는 폴더가 생깁니다.
"Windows Installer의 기본 출력(활성) 바로가기"를 "WindowsInstaller프로그램"폴더로 드래그 앤 드롭 합니다.
6. Windows 기반 응용 프로그램에 대한 파일 연결하기
1.솔루션 탐색기에서 프로젝트를 선택하고 오른쪽버튼 클릭하여 - 보기 - 파일 형식을 클릭한다. - 파일 형식 편집기에서 “대상 컴퓨터의 파일 형식”노드를 선택하고 오른쪽 버튼을 클릭하여 - 파일 형식 추가를 클릭한다. 

* 파일 형식을 추가하게 되면 이미지 파일을 클릭하면 알씨 프로그램이 실행되는 것처럼 그 확장자의 파일을 실행하면 지금 설치한 프로그램에서 파일이 열리게 됩니다.

---------------------------------------------- 여기부터 다시 설명 -----------------------------------------------

7. Windows 기반 응용 프로그램에 레지스트리 항목 추가하기
*레지스트리 키와 값을 추가합니다. 응용 프로그램 코드에서 이 레지스트리 키를 참조하여 런타임에 사용자별 정보를 검색할 수 있습니다.
8. 사용자 지정 설치 대화 상자 추가하기(설치하는 동안 표시되는 사용자 지정 사용자 인터페이스 대화 상자를 추가하고 구성합니다.)
*프로그램에대한 샘플파일을 같이 설치할 것인지 물어보고 설치한다는 체크박스를 체크하면 샘플파일을 설치하는 실습을 하겠습니다.
1.솔루션 탐색기에서 프로젝트를 선택한다 - 마우스 오른쪽 버튼을 누른 후 - 보기 - 사용자 인터페이스 클릭한다. - 사용자 인터페이스 편집기에서 “시작”에서 오른쪽버튼 - 대화 상자 추가클릭 - 확인란 (A) 선택 후 확인 - 마우스로 “환영”밑으로 가져온다. - “확인란 (A)”에서 오른쪽 버튼 누른 후 “속성창”을 선택한다. - 속성창에서 “BannerText” 속성을 “샘플”로 설정 한다. - “BodyText”속성을 “샘플 설치 확인란은 샘플 파일의 설치 여부를 제어합니다. 확인란을 선택하지 않는 경우 샘플 파일은 설치되지 않습니다.” 으로 설정 - CheckBox1Label 속성을 “샘플을 설치하겠습니까?”로 설정 - 나머지 Checkbox2Visible등등의 속성을 False로 설정한다.
*이젠 “샘플을 설치하겠습니까?”라는 체크박스를 선택하면 샘플파일이 들어갈 폴더를 만들어 보겠습니다.

9. 샘플 폴더 추가하기(응용 프로그램 폴더 아래에 설치될 샘플이라는 하위 폴더 만든다.)
파일시스템 창에서 “응용 프로그램 폴더” 에서 오른쪽버튼을 누른 후 “샘플”이라는 폴더를 만든다.

10. 응용 프로그램의 샘플 파일 만들기
메모장을 이용하여 확장자가 jms인 파일을 만든다.

11. 설치 관리자에 샘플을 추가하기
파일시스템 창에서 - 응용 프로그램 폴더 - 샘플을 오른쪽버튼을 클릭한 후 - 추가 - 파일 - 그다음 아까 만든 jms파일을 추가한다. - 추가된 jms파일을 선택하고 속성창에서 “Condition”속성을 CHECKBOXA1=1 로 준다.
*바로가기 만들어서 추가해주기!”

12. Internet Explorer 버전 확인하는 시작 조건 추가하기
솔루션 탐색기에서 프로젝트를 선택하고 - 보기 - 시작조건 을 클릭한다. - 시작 조건 편집기에서 “대상 컴퓨터의 요구 사항”노드를 선택하고 오른쪽 버튼을 누른 후 “파일 시작 조건 추가”를 클릭합니다. 그럼 “대상 컴퓨터 검색” 노드 아래에 “파일 1 검색”노드가 추가되고 “시작 조건”노드 아래에 조건1 노드가 추가됩니다. - “파일 1 검색”의 이름을 “Internet Explorer 검색”으로 바꿉니다. - 그리고 속성 창에서 FileName속성을 “Iexplore.exe”으로 설정하고, Folder속성을 “[ProgramFilesFolder]”로 설정한다. 그리고 Depth속성을 2로 설정하고(파일을 검색할 하위 폴더의 수준을 지정해준다.) MinVersion속성을 5.00으로 설정한다. - 시작조건에 있는 “조건1”노드를 선택하고 Message속성을 “이 프로그램은 Microsoft Internet Explorer5.0 이상이 필요합니다. Internet Explorer를 설치하고 인스톨파일을 다시 실행해 주세요”라고 작성한다.
*이렇게 하고 테스트를 할 때 “대상컴퓨터검색”의 “Internet Explorer 검색”의 FileName속성을 “Iexplorer1.exe”로 바꿔준다. 그리고 “조건1”의 속성중 InstallUrl에 http://www.ehclub.net 으로 준다.
그러면 설치할 때 오류가 날 것이고 http://www.ehclub.net의 홈페이지가 열릴것이다.

13. 필수 구성 요소의 속성 설정하기
이번에는 대상 컴퓨터에 올바른 버전의 .net framework가 없을 경우에 .net framwork를 자동으로 설치하는 속성을 설정할 것 입니다. 
프로젝트에서 오른쪽 버튼 클릭 후 속성을 선택합니다. 속성페이지에서 “설치 URL”에서 응용 프로그램 및/또는 필수 구성 요소를 설치할 서버나 웹 사이트의 URL을 지정합니다. 그리고 필수 구성 요소 단추를 클릭합니다. 필수 구성 요소 대화 상자의 설치할 필수 구성 요소 선택에서 .Net Framework가 선택되어 있는지 확인 후 적용한다.
*필수 구성 요소를 설치하기 위한 설치 프로그램 만들기
  - 종속성 순서에 따라 응용 프로그램보다 필수 구성 요소가 먼저 설치되도록 응용 프로그램의 설치 프로그램(setup.exe)에 필수 구성 요소를 포함합니다. 이 옵션은 기본적으로 선택되어 있습니다. 이 옵션을 선택하지 않으면 Setup.exe 파일이 만들어지지 않습니다.

14. 버전을 통한 프로그램 설치하기
먼저 프로그램을 한번 설치를 한다. 그리고 다시 설치하는 모습을 보여준다. 그러면 제거할 것인지 복구할 것인지를 물어본다. 이것을 확인 한 후 - 솔루션 탐색기에서 프로젝트를 선택하고 속성창에서 Version을 1.0.1로 선택한다. - 그리고 RemovePreviousVersion을 True로 한다. 이렇게 하면 새버젼이 설치될 때 전버젼을 지우게 된다. 이렇게 해서 새로 빌드를 한 후에 다시 설치를 해보면 복구/제거라는 메시지가 안나오고 바로 설치하는 모습을 볼 수 있다.
 Windows Installer.docx 
Posted by 생각처럼
, |
http://wiki.kldp.org/wiki.php/HOWTO_do_Linux_kernel_development

Posted by 생각처럼
, |
Posted by 생각처럼
, |

USB CD 영역 만들기..

Bit / 2012. 2. 3. 17:07

첨부파일 (1)

출처 카페 > EeePCUser [ASUS.. | 머핀
원문 http://cafe.naver.com/eeepcuser/80165

못하시는 분이 너무 많은듯 해서 간단하게 설명하며 스크린샷 올립니다..

 

제 USB도 부팅디스크로 안된다는 사양중에 하나였구요..

 

이렇게 해서 쓰니까 되더라구요...

 

--------------------------------------------------------------------------------------------------

1) 기본 USB 상태입니다.. 8Gb 짜리이고 포멧만 한 상태 입니다.

 

2) UFDUtility.exe를 실행시킵니다. 아래와 같은 창이 뜹니다..왼쪽부터 4번째를 클릭하시면 됩니다.

   마우스 커서를 올려놓으면 Autorun Manager라고 뜹니다.(@그림 왼쪽입니다)

 

3) 오토런 매니저를 실행시킨 화면입니다. CDROM영역이 없다가 ...을 클릭해서 ISO 파일을 선택하시면 CDROM영역이 생깁니다.

    저는 스누피 Micro XP를 선택해 줬습니다..227Mb를 사용하네요..

    선택을 마치시고 밑에 BURN을 누르시면 CD영역을 생성하기 시작합니다.

 

4) CD영역 만들기가 완료된 화면입니다.

   완료되었다고 USB를 뺐다가 다시 꼽으라는 메세지가 뜹니다.

   확인버튼을 누르시고 USB를 안전하게 제거했다가 다시 꼽으시면 됩니다.

 

5) USB를 다시 연결한 화면입니다.

   남은 USB는 K:\로 그대로 잡히고 새로 만든 CD영역이 I:\로 잡히는걸 볼 수 있습니다.

   ISO 파일을 데몬으로 인식했을때 Micro로 시디명이 잡히는데 그대로 잡히는걸 볼수 있습니다.

 

6) CD영역을 만들고 나서 남은 USB용량을 확인해봤습니다.

    237,580,288바이트.. 즉, 227Mb가 줄어든게 보입니다..

 

 

이제 이 USB를 연결하고 USB를 부팅순서 1번에 넣으시면 CD영역으로 부팅이 됩니다.

 

안되신다고 덧글 다셔도 대답하기가 힘듭니다..

안되는 경우를 한번도 격어보질 않아서 왜 안되는지 저도 모르거든요..

저도 PID니 뭐니 그런거 아무것도 모르고 그냥 한거라 PID가 어쩌고 물어보셔도 대답해드리지 못합니다..

참 똥배짱이죠??ㅋㅋ

초보자 분들께 도움이 되길 바라며 써봤습니다..^^

 

P.S- 첨부한 파일이 UFDUtility 입니다..이놈이 유용한 기능이 몇개 있는데요..

      설명은 CD영역 만드는거만 했습니다..

       비밀파티션영역 만드는것도 재밌더군요..ㅎ

Posted by 생각처럼
, |

OpenJDK 란?

Bit / 2012. 2. 3. 17:07
이 글은 Fedora 9에서 OpenJDK를 사용할 것인가, 아니면 썬에서 리눅스용으로 배포하고 있는 JDK를 사용할 것인가를 고민하다가 작성하고 있습니다. 

OpenJDK를 지웠음에도 
whereis java
하면, openJDK가 설치되어있던 경로인 /etc/java, /usr/lib/java, /usr/share/java 를 결과로 보여주었습니다. 
왜 그럴까요.
/etc/java 에 가보면, font.properties, java.conf, jpackage-release 파일이 있습니다. 
뭘까요, 이파일들은, 
java.conf 파일을 열어보았습니다.


System-wide Java configuration file이군요. 
이 뭥. 그래서 http://www.jpackage.org에 들어갔습니다. 

JPackage Project는 다음의 두 개의 목표를 갖고 있습니다. 
  • 리눅스를 위한 종합 자바 소프트웨어 패키지를 제공하여, 다른 응용프로그램의 질적인 요구사항을 충족
  • 자바 소프트웨어 패키징과 설치에 대한 효율적이고, 강력한 원칙을 수립

라고 되어있네요. 어쨌든, 이 이 프로젝트가 페도라 9에 기본적으로 포함되어 있고, 이 패키지 때문에 아직 whereis java하면 /etc/java와 같은 패스가 검색되는 것 같습니다. 
그리고 yum list|grep jpp를 해보면, 자바 애플리케이션들이 jpp버전으로 되어 있는 것을 볼 수 있습니다. 

이제 구글에서 OpenJDK를 검색하겠습니다.
검색된 첫번째 사이트는 http://openjdk.java.net 
두번째 사이트는 http://en.wikipedia.org/wiki/OpenJDK 입니다. 

일단 영문 위키피디아의 OpenJDK를 읽어보겠습니다.

OpenJDK 
From Wikipedia, the free encyclopedia

OpenJDK 는 완전한 free 그리고 open source 코드를 기반으로 fully buildable한 Java Development Kit을 배포하기 위한Sun Microsystems 의 노력입니다. 

역사

썬의 약속과 초기 버전의 배포
선은 JavaOne 2006에서 자바는 오픈 소스 소프트웨어가 될 것이라고 발표했습니다. 그리고 2006년 10월 25일, Oracle OpenWorld에서 Jonathan Schwartz 는 썬이 30일에서 60일 내에 자바 플랫폼의 핵심 부분에 대한 오픈 소스화를 발표하기로 정했다고 말했습니다. 
썬은 2008년 12월 13일에 Java HotSpot virtual machine 과 컴파일러는 GNU General Public Licence를 따르는 free software로 발표했고, JRE를 포함한 JDK의 나머지 부분도 2008년 3월까지 GPL을 따르게 될 것이라고 약속했습니다. 하지만 일부 3rd parties는 그들의 코드가 free, open-source 라이센스를 따르는 것을 원하지 않고 있어, 썬의 라이센스를 따르게 되며, 제한을 받게 됩니다. Richard Stallman에 따르면 Java Trap을 끝내는 것을 의미합니다.(Java Trap에 관련해서는http://www.gnu.org/philosophy/java-trap.html를 읽어보세요) Mark Shutlleworth 는 이 첫 언론 발표를 free software community 에 있어서 진정한 이정표라고 불렀습니다. 

class library의 배포
썬은 그들의 약속에 따라 2007년 3월 8일에 class library의 완전한 소스 코드가 GPL에 따라 배포되었습니다. (소스 코드의 공개를 원치않는 써드 파티의 코드는 제외되었습니다. 자바의  GUI 시스템의 몇 가지 중요한  컴포넌트도 그렇습니다.) 썬은 소유권이 존재하며, 비공개 되어 있는 소스를 대안 코드들로 교체하고, 클래스 라이브러리를 완전히 공개하는 것이 그들의 목표라고 말하고 있습니다. 

커뮤니티의 발전
2007년 11월 5일에 Red Hat 은 Sun Microsystems 와 계약을 체결하면서 썬의 광범위한 기여 협약에 서명하였습니다. 이 협약은 Red Hat 엔지니어들이 썬이 주도하고 있는 free/open source 소프트웨어 프로젝트에 참여하는 것을 다루고 있으며, OpenJDK에 기반한 프로젝트가 Java SE 6 Specification에 부합하는지를 결정하는 test suite에 관여할 수 있도록 하는 썬의 OpenJDK Coummunity TCK 라이센스 협약도 포함되어 있습니다 

-- 중략 --

리눅스 배포판에 포함
2008년 5월에는 Fedora 9과 Ubuntu 8.04 배포판은 OpenJDK 와 함께 배포되었습니다. 당시에 OpenJDK는 Java SE 6 JCK 에 대한 모든 테스트를 통과하지는 못했으며, 이는 아직 남아있는 오픈되지 못한 코드들 때문입니다. 하지만 어쨌거나  1% 보다 적은 소스 코드의 비율로 줄였으며 OpenJDK 를 빌드할 때만 필요하고, 실행할 때는 필요하지 않습니다. 게다가 OpenJDK 는 NetBeans, Eclipse, GlassFish, JBoss와 같은 복잡한 응용프로그램들을 실행시킬 수있습니다. 
2008년 6월에, 페도라 9에 포함된  OpenJDK 인 IcedTea6 가 TCK 를 통과했으며, Java 6 의 모든 구현체에 호환성을 갖는 다고 주장할 수 있게 되었다고 발표되었습니다. 2008년 6월 12일에 Debian은  unstable 로써 OpenJDK-6를 포함하였으며, 현재 테스트 중입니다. 2008년 8월부터는 OpenJDK 7 이 Max OS X과 다른 BSD 배포판에서 실행할 수 있게 되었습니다. 

Status

지원되는 JDK 버전들
OpenJDK는 처음에는 자바 플랫폼의 JDK 7.0 버전만을 기준으로 하고 있습니다. 
2008년 2월 15일 부터는 두 개의 별개의 OpenJDK 프로젝트가 존재합니다.
  • 자바 플랫폼의 JDK 7.0 버전을 기반으로 하는 메인 OpenJDK 프로젝트
  • Java 6.0의 오픈 소스 버전을 제공하기 위한 JDK 6 프로젝트
-- 중략 --

여기까지 읽으셨다면, OpenJDK에 대한 설명은 어느 정도 된 것 같고, 
이제 IcedTea에 대해서 잠깐만 보겠습니다
더 많은 내용은 http://en.wikipedia.org/wiki/IcedTea를 참조하세요.
썬은 클래스 라이브러리를 공개할 때, 써드 파티 라이브러리의 저작권자에게 오픈소스로 공개할 수 있도록 설득하고자 했으나 잘 되지 않았고, 어쨌거나 썬의 배포판에는 그 코드들이 들어있습니다. IcedTea 프로젝트는 이러한 코드들에 대한 대안 코드를 마련하고 전적으로 오픈소스화 하기 위해 시작되었습니다.  , IcedTea6는 썬으로부터 OpenJDK 라는 이름을 사용해도 좋다는 라이센스를 받았고, 페도라 9에는 OpenJDK6라는 이름으로 포함되었습니다. 

흠, 여기까지 적고 보니, 그냥 OpenJDK를 사용해도 될 것 같군요 일단 OpenJDK를 믿고 가보도록 하죠.
JPackage에 대한 내용은 나중에...(일단 페도라는 JPackage를 적극적으로 수용하고 있습니다.)

Posted by 생각처럼
, |

감장아찌

Bit/읽어보기 / 2012. 2. 3. 17:06

재 료

안익은 뽀족감 20개, 고추장 10컵, 다시마 50g, 멸치 50g
소금물: 소금, 물 10컵, 식초3/4컵
달임장: 진간장 10컵, 설탕 2컵, 식초 1/4컵, 물엿 4컵, 물 2컵, 소금

1. 감을 깨끗이 씻어서 소쿠리에 건져 놓는다.
2. 소금물을 만들어 끓어 식으면 식초와 섞는다.
3. 감을 항아리에 차곡차곡 담고 뜨지 않게 돌로 누른다음 2의 물을 붓는다.
4. 3의 감을 1달후에 바구니에 건져 물기를 빼 놓는다.
5. 다시마, 멸치로 다시국물을 만든다음 여기에 달임장 재료를 넣어 달여 식혀 놓는다.
6. 항아리에 4의 감을 차곡차곡 담고 5의 달임장을 붓는다.
7. 일주일에 한번씩 달여 식혀 붓는다.(3회 이상 끓여 식혀 부어야 맛이 난다.
8. 3주후에 건져 물기를 빼고 고추장에 막아 먹어도 좋다.

Posted by 생각처럼
, |

treevew node 펼치기

Bit/C# / 2012. 2. 3. 17:06
전체 노드를 펼치기 : treeview1.ExpandAll();
특정 노드 펼치기    : treeview1.Nodes[0].Expand();
노드 펼침여부       : if(treeview1.Nodes[0].IsExpanded ==false)
                            {
treeview1.Nodes[0].Expand();
                             }
Posted by 생각처럼
, |

출처 alchiss님의 블로그 | alchiss
원문 http://blog.naver.com/alchiss/90018362687

역사적으로 주식으로 돈을 번 경제학자는 거의 없다.

노벨경제학상( Myron Scholes and Robert C. Merton)까지 받은 사람이 경영한 롱텀캐피털매지지먼트는 그린스펀을 경제 대통령으로 만들 만큼 크게 말아먹었다.

 

하지만 그 와중에도 주식 부자가 된 두 경제학자가 있었으니,

리카도와 케인즈다... 

 

리카도는 당시 인구론으로 유명한 맬서스와 사상적인 면에서는 서로 많은 갈등이 있었지만

맬서스의 재산을 주식으로 부풀려 줄 만큼 친한 사이었다고 한다.

아마도 어려서부터 아버지가 주식시장에서 일하는 것을 보고 자란 것이 도움이 되지 않았나 싶다.

리카도가 당시에 투자해서 돈을 번 주식회사가 지금도 있을까?

 

케인즈는 주식과 관련해서 유명한 말도 남겼다.

주식시장에서 어떤 주식을 사야하는냐를 결정할 때 그 기업의 주식가치보다는

다른 사람들이 오를 것이라고 생각하여 남들이 사는 주식을 사야 한다는 것...beauty contest...

 

 

Keynes was ultimately a successful investor, building up a substantial private fortune. He was nearly wiped out following the Stock Market Crash of 1929, but he soon recouped his fortune. He enjoyed collecting books: for example, he collected and protected many of Isaac Newton's papers. He was interested in literature in general and drama in particular and supported theCambridge Arts Theatre financially, which allowed the institution to become, at least for a while, a major British stage outside of London.

 

At age 14, after a brief schooling in Holland, Ricardo joined his father at the London Stock Exchange, where he began to learn about the workings of finance. This beginning set the stage for Ricardo's later success in the stock market and real estate.

Ricardo's work with the stock exchange made him quite wealthy, which allowed him to retire from business in 1814 at the age of 42. He then purchased and moved to Gatcombe Park, an estate inGloucestershire.

 

Keynesian beauty contest is a concept developed by John Maynard Keynes and introduced in Chapter 12 of his masterwork, General Theory of Employment Interest and Money (1936), to explain price fluctuations in equity markets. Keynes described the action of rational agents in a market using an analogy based on a contest that was run by a London newspaper where entrants were asked to choose a set of six faces from 100 photographs of women that were the "most beautiful". Everyone who picked the most popular face was entered into a raffle for a prize.

A naive strategy would be to choose the six faces that, in the opinion of the entrant, are the most beautiful. A more sophisticated contest entrant, wishing to maximize his chances of winning a prize, would think about what the majority perception of beauty is, and then make a selection based on some inference from his knowledge of public perceptions. This can be carried one step further to take into account the fact that other entrants would also be making their decision based on knowledge of public perceptions. Thus the strategy can be extended to the next order, and the next, and so on, at each level attempting to predict the eventual outcome of the process based on the reasoning of other rational agents.

“It is not a case of choosing those [faces] which, to the best of one’s judgment, are really the prettiest, nor even those which average opinion genuinely thinks the prettiest. We have reached the third degree where we devote our intelligences to anticipating what average opinion expects the average opinion to be. And there are some, I believe, who practise the fourth, fifth and higher degrees.” (Keynes, General Theory of Employment Interest and Money, 1936).

Keynes believed that similar behavior was at work within the stock market. This would have people pricing shares not based on what they thought their fundamental value was, but rather based on what they think everyone else thinks their value was, or what everybody else would predict the average assessment of value was.

Other, more explicit scenarios help to convey the notion of the beauty contest as a convergence to Nash Equilibrium when the agents in the game behave perfectly rationally. The most famous such example is a contest where entrants are asked to pick a number between 0 and 100, with the winner of the contest being the person that is closest to 2/3 the average number picked for all contestants

Posted by 생각처럼
, |

최근에 달린 댓글

최근에 받은 트랙백

글 보관함