적금이 얼마나 될지 궁금한 일이 많은데 가끔씩 한번 찾아보게 되서 동료가 만든 프로그램을 올려봅니다.
짧은 시간에 짠거라 많은 기능은 기대하지 말아주세용;
제곱근을 구하기 위해서는 다음과 같은 공식을 만족합니다.
x = root(a) 라면
x^2 = a 입니다.
따라서 x = a/x가 됩니다.
이에 의해서
임의의 x에 의해서 a의 제곱근 값은
x < root(a) < a/x 거나
a/x < root(a) <x 의 범위에 있게 됩니다.
따라서 a와 a/x의 평균값을 구하는
(a+b)/2 공식을 이용해 x = (x + a/x)/2 의 식을 이용하면
대부분의 수는 10번을 돌기 이전에 루트 값을 구할 수 있습니다.
간단하게 아래 C#으로 코딩해본 소스입니다.
using System;
using System.Collections.Generic;
using System.Text;namespace Sqrt
{
class SqrtMain
{
static double Sqrt(double aa, double xx)
{
try
{
for (int i = 0; i < 10; i++)
Console.WriteLine(xx = (xx + aa / xx) / 2);
}
catch(Exception e)
{
Console.WriteLine(e.Message);
}
return xx;
}static void Main(string[] args)
{
Console.WriteLine(Sqrt(2341, 3));
}
}
}
클러스터에서 세션 개체를 사용할 수 있는 기능. 장바구니는 클러스터에서 사용 가능해야 하므로 세션 개체를 사용하여 ASP에서 장바구니를 구현할 수 없습니다. ASP를 사용하면 세션 개체는 웹 서버와 함께 항상 in-process이며 여러 웹 서버는 사용자를 해당 고유한 장바구니에 다시 매핑할 수 없습니다. 클라이언트 선호도를 사용할 수 있지만 서버가 다운되거나 클러스터에 추가될 때 장애 조치 상태가 여전히 작동하지 않을 것이며 일부 사용자 세션 상태는 손실될 것입니다. 하지만 ASP.NET을 사용하면 이러한 제한은 더 이상 적용되지 않습니다. in-process에서 중앙 전용 상태 서버로 또는 중앙 RDBMS 데이터베이스로 세션 개체를 쉽게 매핑할 수 있습니다. 따라서 ASP.NET 버전은 세션 개체를 사용하여 각 사용자에 대한 장바구니를 저장합니다. 장바구니는 네트워크를 통해 전달하거나 데이터베이스에 기록할 수 있도록 serializable로 표시됩니다. 클러스터에 사용할 수 있으려면 ASP 버전이 사용자 지정 데이터베이스 처리 루틴에서 장바구니를 구현해야 합니다.
출처 : http://www.microsoft.com/whdc/driver/wdf/default.mspx
Windows Driver Foundation(WDF)
WDF를 사용하면 OS가 아닌 디바이스 장치에 중점을 두고 개발할 수 있다.
WDF는 몇가지 드라이버 검증 툴을 통해서 커널 모드와 사용자 모드 드라이버의 개발을 위한 프레임워크를 포함하고 있다.
Kernel-Mode Driver Framework(KMDF)
KMDF는 커널 모드 드라이버에 필요한 기본적인 기능을 구현하고 있다. 다음을 포함한다:
. PnP와 전원 관리
. I/O 큐
. Direct memory access (DMA)
. Windows management instrumentation (WMI)
. Synchronization
각 윈도우즈 버전에 적합한 프레임워크에 대부분의 소스 코드가 있기 때문에, KMDF 드라이버는 최소한의 소스 코드만을 필요로 한다. 드라이버는 다음을 지원하기 위한 코드가 있다:
. 디바이스가 response해야하는 이벤트
. 디바이스에 고유한 기능
User-Mode Driver Framework(UMDF)
UMDF는 프로토콜 기반 디바이스 혹은 시리얼 버스 기반 디바이스를 지원하는 user-mode 드라이버의 작성을 지원한다. 이런 드라이버는 커널 모드 드라이버와 동일한 타입의 I/O를 처리하고 커널 모드 드라이버와 동일하게 INF 파일로 설치된다.
사용자 모드에서 작동하는 드라이버는 사용자 주소 영역에 대한 접근 권한만을 가진다 따라서 커널 모드 드라이버 보다 시스템 보안과 안정성에 대한 낮은 리스크를 가진다. 사용자 모드 드라이버는 커멀 모드 드라이버와 거의 동일한 성능을 가지며 여러가지의 장점이 있다:
. 쉬운 드라이버 환경
. 높은 안정성과 보안성
. Win32 API 사용
. 사용자 모드 디버거를 이용한 디버깅
. C++ 프로그래밍
. 빠른 코드 생성
사용자 모드 드라이버가 할 수 없는 일:
. 인터럽트 처리
. 하드웨어 직접 접근
. 정확한 타이밍 루프 사용
. 커널 모드 리소스 사용
Architecture of the Windows Driver Foundation
이 글의 목적은 윈도우즈 OS 패밀리를 위한 차세대 드라이버 모델인 WDF에 대한 정보를 제공하는 것이다. WDF에 대한 전체적인 아키텍처를 기술하고 드라이버 개발 시간을 줄이고, 시스템 안정성을 높이고 드라이버 진단성과 서비스 능력을 개선할 수 있는 방법을 설명한다. WDF에 생소한 기술 관리자, 아키텍처, 드라이버 설계자를 위해 작성되었다.
다음의 OS에 적용된다:
MS Vista
MS Server 2003
MS XP
MS 2000
이 문서에 있는 정보:
. WDF의 디자인 목적
. WDF에서의 디바이스와 드라이버 지원
. WDF 드라이버 모델
. WDF 객체 모델
. PnP와 전원 관리 지원
. I/O 모델
. 드라이버 프레임워크
. 개발과 테스팅 툴
. serviceability and versioning
. 다음 단계
WDF defines a single driver model that supports the creation of object-oriented, event-driven drivers for either kernel mode or user mode. It simplifies driver development and maintenance by:
With WDF, driver writers can focus on their device hardware, rather than on the operating system. WDF includes frameworks for the development of kernel-mode and user-mode drivers along with several driver verification tools.
Tip: See the video presentations from Driver DevCon and other tips & tricks at Notes from Windows Development Teams. Kernel-Mode Driver Framework (KMDF) User-Mode Driver Framework (UMDF) WDF Driver Verification Tools WDF Overview WDF Beta Program
Windows Driver Foundation Notes Articles on WDF
|
Response.Cache.SetExpires(DateTime.Now.AddSeconds(0));
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.Cache.SetValidUntilExpires(true);
Response.Cache.SetNoServerCaching();