전체 글 1383

데이터 마이닝이란?(Data mining)

데이터 마이닝이란?(Data mining) 많은 데이터 가운데 숨겨져 있는 유용한 상관관계를 발견하여 미래에 실행 가능한 정보를 추출하고 의사결정에 이용하는 과정이다. 데이터베이스로부터 과거에는 알지 못했지만 데이터 속에서 새로운 패턴(모델)을 발견하여 미래에 실행 가능한 정보를 추출해 내고 의사 결정에 이용한다. 모든 정보의 탐색 작업이 데이터 마이닝으로 간주 되지는 않는다. 사용자의 정보 검색 또는 검색 사이트 등에 질의를 통한 작업등은 아무리 복잡한 알고리즘을 사용하였더라도 정보 검색(Information retrieval) 범주에 속한다. 데이터 마이닝은 다른 말로 KDD(knowledge-discovery in database)라고 부른다. 데이터 마이닝은입력 데이터를 변환하여 유용한 정보를 도..

부정사용방지시스템 (FDS (Fraud Detection System))

부정사용방지시스템 (FDS (Fraud Detection System)) 카드사 은행 등의 금융기관은 신용카드 위조나 도난 카드의 사용 등으로 인하여 고객과 카드사의 피해를 최소화 하기 위해 FDS를 운용하고 있다. FDS의 방식을 간단히 요약하자면 일정한 패턴에서 벗어 낫을 때 경고를 발생 하는 것이다. FDS는 크게 두 가지로 판단한다. 룰(rule)방식과 스코어(score)방식이다. 룰 방식은 여러 가지 패턴을 적용한 방식이다. 스코어 방식은 평소 정상 카드 사용 패턴을 유형화 한 뒤 부정사용 패턴과의 상관 관계를 계량화해 점수를 매기는 방식이다. [룰(rule) 방식] 카드 주인이 40대의 평범한 가정주부인데 룸살롱에서 결제가 이루어 졌을 경우 경고가 발생 한다. (물론 실제로 결제 할 수도 있지..

Fast Fashion 과 IT (ZARA Case Study)

Fast Fashion 과 IT (ZARA Case Study) Fast Fashion에 대해서 들어 본 적이 있는가? 패스트 패션이란 최신 트렌드를 즉각 반영하여 빠르게 제작하여 제품을 유통시키는 의류를 가리키는 말이다. 최신 유행을 즉각 반영한 디자인을 상대적으로 저렴한 가격, 빠른 유통, 상품 회전율로 승부 하는 패션 사업이다. 음식으로 치면 패스트 푸드이고 의류에서는 패스트 패션이라는 이름이 붙었다. 패스트 패션의 특징은 빠른 상품 회전성이다. 일반적으로 옷들이 1년에 4~5회씩 계절별로 신상품을 내놓지만 패스트 패션은 평균 1~2주 단위로 신상품을 내놓는다. 빠른 곳은 3~4일 이내 제품을 출시하기도 한다. 또 다른 특징은 다품종 소량생산에 있다. 다양한 아이템의 옷을 소량으로 빨리 만들어 회전..

익스큐티브 인터락드 동작

익스큐티브 인터락드 동작 Windows Server 2008 커널은 단일 링크드 리스트나 이중 링크드 리스트에 추가, 삭제 같은 좀 더 향상된 동작을 위해 스핀락을 기반으로 하는 간단한 동기화 함수를 여럿 제공한다. 이러한 모든 함수는 인자로 표준 스핀락을 필요로 하며 커널과 디바이스 드라이버에 의해 사용된다. 이들 함수는 스핀락 인자를 획득하고 해제하기 위해서 표준 API에 의존하지 않고 필요한 코드를 인라인으로 두며 상이한 순서 스킴(ordering scheme)을 사용한다. 반면 Ke 스핀락 API는 먼저 락이 해제 되었는지 보기 위한 비트를 테스트하고 설정한 다음에 실제로 획득을 하기 위한 락드 테스트 앤드 셋 동작을 원자적으로 수행한다. 이들 루틴은 프로세서의 인터럽트를 비활성화시키고 즉시 원자..

Windows , IIS 2015.07.16

인스택 큐드 스핀락(InStack Queued SpinLock)

인스택 큐드 스핀락(InStack Queued SpinLock) Windows Server 2008 인스택 큐드 스핀락은 서드파티 개발자들이 스핀락을 사용할 수 있도록 한다. KeAcquireInstackQueuedSpinLock과 KeReleaseInstackQueuedSponLock 함수로 동적으로 할당되는 큐드 스핀락을 사용한다. 전역 정적 큐드 스핀락이 낭비라고 판단되는 경우 캐시 관리자와 익스큐티브 풀 관리자, NTFS 등의 여러 구성 요소가 이들 락 유형을 이용한다. KeAcquireInstackQueuedSpinLockdms 인자로 스핀락 데이터 구조체의 포인터와 스핀락 큐 핸들을 가진다. 커널은 이 데이터 구조체에 락 소유권과 락이 이용가능하기를 기다리는 프로세서의 큐 등의 락 상태 정보를..

Windows , IIS 2015.07.16

큐드 스핀락(Queued SpinLock)

큐드 스핀락(Queued SpinLock) Windows Server 2008 스핀락의 확장성을 증대 시키기 위해 대부분의 상황에서 표준 스핀락이 아닌 큐드 스핀락(Queued Spinlock)형식이 사용된다. 스핀락 : http://sqlmvp.kr/140201377685 큐드 스핀락은 프로세서가 현재 소유된 큐드 스핀락을 획득하고자 할 때 프로세스는 스핀락 과 연관된 큐에 자신의 식별자를 둔다. 스핀락을 소유중인 프로세서가 스핀락을 해제할 때 프로세서는 큐에 지정도니 첫 번째 프로세서에게 락을 넘겨준다. 이 동안에 비지 스핀락을 대기하는 프로세서는 스핀락 자체의 상태가 아닌 프로세서마다의 플래그 상태를 검사한다. 큐드 스핀락은 전역 스핀락이 아닌 프로세서마다의 플래그 검사를 위해 스핀하기 때문에 두 ..

Windows , IIS 2015.07.16

스핀락(SpinLock)

스핀락(SpinLock) Windows Server 2008 스핀락은 멀티프로세서 상호배제를 달성하기 위해 커널이 사용하는 메커니즘이다. 어느 한쪽 임계 영역으로 진입하기 전에 커널은 보호 DPC 큐와 관련된 스핀락을 획득해야 한다. 스핀락이 프리(free) 상태가 아니라면 커널은 획득에 성공할 때까지 계속 시도한다. 스핀락의 이름은 커널이 락을 얻을 때까지 돌면서(spinning) 대기하는 것에서 유래 했다. 스핀락은 자신이 보호하는 데이터 구조체처럼 시스템 주소 공간에 매핑된 넌페이지드 메모리에 존재한다. 스핀락을 획득하고 해제하는 코드는 속도 측면과 하부의 프로세서 아키텍처가 제공하는 락 메커니즘을 이용하기 위해 어셈블리로 작성 된다. 스핀락은 운영체제의 스케줄링 지원을 받지 않기 때문에 해당 스레..

Windows , IIS 2015.07.16

객체구조 – 객체 유지

객체구조 – 객체 유지 Windows Server 2008 객체 유형에는 임시 객체와 영구 객체가 있다. 임시객체는 사용중인 동안만 존재하며 더 이상 필요가 없을 때 해제 된다. 영구 객체는 명시적으로 해제 될 때까지 존재한다. 대부분의 객체는 임시 객체이다. 객체에 접근하는 모든 유저 모드 프로세스는 먼저 객체에 대한 핸들을 오픈 해야 하므로 객체 관리자는 얼마나 많은 유저모드 프로세스가 객체를 사용하고 있는지 쉽게 추적할 수 있다. 추적에는 2단계가 있다. 첫 단계는 존재하는 객체에 대한 오픈 핸들 수로 제어한다. 오픈 할 때 카운터를 증가하고 닫을 때 카운터를 감소하여 0이되면 객체관리자는 자신의 전역 이름공간에서 해당 객체의 이름을 삭제한다. 두 번째 단계는 객체가 더 이상 사용되지 않을 대 객체..

Windows , IIS 2015.07.16

객체구조 – 객체 보안

객체구조 – 객체 보안 Windows Server 2008 파일을 오픈 할 때 읽기 용도인지 쓰기 용도인지 지정해야 한다. 읽기 접근 권한으로 오픈 된 파일에 쓰려고 하면 오류가 발생한다. 유사하게 익스큐티브에서 프로세스가 객체를 생성하거나 기존 객체에 대한 핸들을 오픈 할 때 프로세스는 요구 접근 권한의 집합을 지정해야 한다. 이 접근 권한은 모든 객체 유형에 적용되는 표준 접근 권한(읽기와 쓰기, 실행)이나 객체 유형마다 다른 특정 접근 권한을 요청한다. 프로세스가 객체에 대한 핸들을 오픈 할 때 객체 관리자는 프로세스의 요구 접근 권한을 전달하면서 보안 시스템의 커널 모드 부분인 보안 참조 모니터를 호출 한다. 보안 참조 모니터는 프로세스가 요청하는 접근 유형을 허용하는지 객체 보안 디스크립터가 검..

Windows , IIS 2015.07.16

객체구조 – 객체 핸들과 프로세스 핸들 테이블

객체구조 – 객체 핸들과 프로세스 핸들 테이블 Windows Server 2008 프로세스는 이름을 사용하여 객체를 생성하거나 오픈 할 때 객체에 대한 자신의 접근을 나타내는 핸들을 받는다. 객체 관리자는 이름 찾기 과정을 생략하고 객체를 직접 찾을 수 있기 때문에 객체 이름보다 객체의 핸들로써 객체를 참조하는 것이 좀더 빠르다. 프로세스는 프로세스 생성 시점에서 핸들을 상속받거나 또는 다른 프로세스로부터 복사된 핸들을 받음으로써 객체에 대한 핸들을 구할 수 있다. 익스큐티브 구성 요소와 디바이스 드라이버는 커널모드에서 실행해 시스템 메모리에 있는 객체 구조체에 접근할 수 있기 때문에 직접 객체에 접근한다. 객체 핸들은 추가적인 이점이 있다. 객체 핸들은 자신들이 참조하는 대상을 제외하면 파일 핸들과 이..

Windows , IIS 2015.07.16