소프트웨어/C# & ASP.NET 85

Clickonce로 개발한 넘을 배포할 때 HTML페이지에서 설치된 .NET Runtime이 무엇인지 확인하는 Javascript입니다.

function dectectDotnet(){ var ag = navigator.userAgent; if (ag.indexOf("IE") == -1){    return false; } if (ag.indexOf("NET CLR") == -1){    return false; } if (ag.indexOf("NET CLR 2") != -1){    return true; }} var r = dectectDotnet(); if (r != true){  var a = confirm(".NET 2.0 런타임이 필요합니다.\r\n설치하시겠습니까?");  if (a){     window.open("http://www.microsoft.com/downloads/details...

C# 쓰레딩 [멀티쓰레딩]

지난번에 Thread를 왜 쓰레드라고 표기한지에 대해서와 단일 쓰레드의 시작과 종료에 대해 썰을 풀었다. 이번에는 멀티 쓰레드와 동기화를 함해보고 담에는 쓰레드 풀에 대해 썰을 풀어보자. using System; using System.Threading; //데이터를 주고받아야 하니 Class를 하나 만들고 인터페이스도 만들어 두자. class work{ int a; //받을 인자값 //인터페이스 메소드 public work(int a){ this.a = a; } //실제 일할놈 public void runit(){ for (int i=0; i

C# 쓰레딩 [시작과 종료]

쓰레드라고 하는것이 한때는 고수들의 전유물이었는데 요즘은 강호고수들이 많아져서인지 아무나 쓰는 기술되었다. 뭐 암튼 대충 쓰레드에 대해 정리하자는 차원에서 써둠을 밝히니 향후에 제대로 안된다고 이런거 하지말자. 1. 쓰레드 사용하기 일단 닷넷의 쓰레드는 굉장히 쓰기쉽다. 다음의 예제를 함해보자. using System; using System.Threading; //쓰레드를 쓰겠다고 선언하자. class Test { static void Main(){ Console.WriteLine("카운트 0부터 49까지 세기!"); ThreadStart th = new ThreadStart(work); //1.work메소드를 위임하자. Thread t = new Thread(th); //2.쓰레드생성하자. t.Sta..

정규표현식 작성 도와주는 편집기

정규표현식 작성 도와주는 편집기 http://sourceforge.net/projects/regexcreator/ http://sourceforge.net/projects/quregexmm/ http://sourceforge.net/projects/regex-util/ http://sourceforge.net/projects/regex-assistant/ http://sourceforge.net/projects/regextester/ http://sourceforge.net/projects/regexpeditor/ http://weitz.de/regex-coach/#install http://laurent.riesterer.free.fr/regexp/ http://www.gskinner.com/RegEx..

DataSet 을 이용한 XML 다루기

들어가면서... C#에서 XML을 다루는 방법을 알아볼 예정이다. 뜬금없는 웬 XML 타령이냐고 따지고 들지 모르니, XML이 어떤 것이고 XML을 어떤 경우에 사용하는지 간단하게 알아보도록 하자. XML은 eXtensible Markup Language 의 약자이다. 단어의 뜻만 보자면 확장 가능한 데이터 기술 언어라는 것이다. 뭔소린지 아직 도통 글을 쓰는 필자도 감이 안온다. 그럼 XML을 정의하는 표준 문서를 열어보자. http://www.w3.org/XML/ 페이지를 열어보자..뜨앗..영어다 -_-; 그럼 소박하게 번역해보자. ISO 8879 국제표준 SGML에서 정의된 간단하고 아주 유연한 텍스트 형식이라고 한다. 그러니까 간단히 말하면 데이터 자체와 데이터의 포맷 형태를 동시에 공유할 수 있..

ADO.NET 2.0의 DataSet 및 DataTable

ADO.NET 2.0은 ADO.NET 1.x의 핵심 클래스에 몇 가지 흥미로운 기능 향상을 추가하고 성능, 융통성 및 효율을 높이는 다양한 새 클래스를 도입했습니다. 또한 새 일괄 업데이트 프로세스가 개선된 것을 비롯하여 ADO.NET 2.0 사전 베타 버전과 베타 버전의 수명 주기 동안 몇 가지 중요한 부분이 변경되었습니다. 접근 속도가 빨라지고 기능 집합의 안정성이 향상된 ADO.NET 2.0 최종 릴리스에 대한 자세한 설명을 시작하겠습니다. 이번 달에는 DataSet 및 DataTable 클래스의 개선 사항을 검토하는 것으로 시작하여 이러한 기능 향상이 가지는 의미와 사용 가능한 상황에 대해 알아보겠습니다. ADO.NET 1.x에서는 특히 행 집합을 대량으로 작업할 때 성능 문제가 발생할 수 있습니..

엔터프라이즈 서비스 With ASP

ASP는 스크립트 언어라는 사실은 다 아실것입니다. ASP자체로는 간단한 일 외에 좀 복잡한 일을 하기는 어렵습니다. 그래서, ActiveX Data Object (ADO) 와 같이 많이 사용합니다. 또, 특정의 비즈니스 환경에서는 COM 객체를 직접 만들어 ASP로 이 COM을 이용해 웹어플리케이션을 만드는 일은 요즘에도 많이 이용하는 방법입니다. 기왕이면 최신기술인 Enterprise Services 를 이용해 특정환경에서 유용한 컴포넌트를 만들어 보도록 하겠습니다. 이렇게 해서 얻는 장점은 기존에 .NET Framework를 이용해 어셈블리를 만들어 다른 .NET 어플리케이션에서 참조해 재사용하던 것을 ASP 나 VB 6.0 등에서도 사용할 수 있게 된다는 것입니다. 물론, 더 유연하고 성능좋은 컴..

Visual Studio 프로파일러를 사용한 응용 프로그램 병목 지점 찾기

Visual Studio 프로파일러를 사용한 응용 프로그램 병목 지점 찾기 Hari Pulapaka and Boris Vidolov 이 기사에서 다루는 내용: 성능 병목 지점 파악 응용 프로그램 코드 프로파일링 프로파일링 데이터 비교 성능 보고서 이 기사에서 사용하는 기술: Visual Studio 2008 목차 응용 프로그램 프로파일링 응용 프로그램 최적화 대상 프로파일링 지난 10년 동안 많은 새로운 소프트웨어 기술과 플랫폼이 개발되었습니다. 새로운 각각의 기술에는 뛰어난 성능의 응용 프로그램을 만들기 위한 특별한 지식이 필요합니다. 지금은 블로그와 같은 인터넷 기술 덕분에 응용 프로그램에 실망한 사용자들이 손쉽게 부정적인 의견을 퍼뜨릴 수 있으므로 성능을 가장 중요한 요소로 고려해야 합니다. 계획의..

Azure Services

마이크로소프트의 클라우드 플랫폼인 Azure Services Platform이 작년 10월 처음 공개된 이후 지난 3월 MIX를 거치면서 많은 기능이 추가되었고 5월을 지나면서 몇 가지 추가된 기능들이 있어 소개하고자 한다. 1. Azure Services Platoform은 라이선스를 파는 제품이 아니라 서비스 형태로 제공되는 것이며, 이의 구성 요소 가운데 클라우드 OS에 해당하는 Windows Azure에 추가된 기능으로 배포될 위치를 지정할 수 있는 Geo-Location 지원 기능이 있다. 이는 나의 서비스가 어느 곳에 위치한 데이터센터에 배포되어 서비스를 제공할 것인지를 서비스 생성시에 지정할 수 있는 것으로 현재는 아래 그림에서와 같이 북미 북부 혹은 남부 정도만 선택할 수 있다. 2. 지난..