[C#] Simple Performance Logger
PerformanceLogger는 어플리케이션의 각 구간별 실행시간을 측정하기 위한 객체다. 단순히 측정하고자 하는 구간의 시작지점과 종료지점을 지정해주는 것만으로 사용할 수 있다. 전문적인 프로필러를 사용하기 어려운 상황이거나, 간단히 병목지점을 파악하고자 할 때 유용하다.…
PerformanceLogger는 어플리케이션의 각 구간별 실행시간을 측정하기 위한 객체다. 단순히 측정하고자 하는 구간의 시작지점과 종료지점을 지정해주는 것만으로 사용할 수 있다. 전문적인 프로필러를 사용하기 어려운 상황이거나, 간단히 병목지점을 파악하고자 할 때 유용하다.…
나는 코더 또는 프로그래머보다는 소프트웨어 엔지니어라는 용어를 더 선호한다. 앞의 두 용어는 어쩐지 격이 낮아보이기 때문이다. 소프트웨어 엔지니어를 얕잡아보는 일부 사람들이 엔지니어를 가리켜 코더나 프로그래머라고 하는 경우가 종종 있다. 처음부터…
[2004년 12월 7일] 11월 27일에 쓴 글이지만, 예제 소스코드의 패턴이 마음에 들지 않아서 수정했다. 더구나 이전 소스코드에는 버그도 있었다. 혹시라도 예전 글을 참고한 이들에겐 미안하다. 실제 사례에 비추어 이야기를 진행해보자.…
오늘 아라(KAIST의 대표적인 텔넷 서비스, ara.kaist.ac.kr)에서 누군가 이런 질문을 했다. new가 있으면 delete를 반드시 해줘야 하나요? open source 여러 개를 받아보았는데, new의 개수만큼 delete가 없는 경우가 있더라고요. 그래서 일일이 delete를…
순전히 MCSD 시험을 위해 Object Role Modeling라는 것을 공부했다. 여기서 '순전히'란, 사실상 업계 표준이 ER Diagram이므로 ORM을 공부하는 수고가 아깝다는 뜻이다. 그렇지만 ORM의 개발 취지는 새겨둘 만 하다. 요약하자면 다음과…
이 글의 제목을 Microsoft Visual Studio Express Edition … 이라고 짓긴 했습니다만, SQL Server Express도 포함됩니다. 자세한 정보는 Announcing the release of Visual Studio 2005 Express Editions 또는 Microsoft Express…
디자인 패턴 세계에서는 boolean 값을 매개변수로 취하는 메써드의 생성을 피하라고 권장한다. 예를 들어보자. 다음은 사용자의 프로필을 데이터베이스에 저장하는 메써드다. SaveProfile(profile,true); SaveProfile(profile,false); SaveProfile(profile,Encript.SSH1); 우선 처음 메써드보다 두번째 제시된 메써드의 가독성이 좋다.…
오늘은 Secure Systems Begin with Knowing Your Threats, Part 2을 마음대로 개작해 봤다. 이전 글에서 분명히 밝히지 못한 것 같아서 한마디 덧붙이겠다. 이 작품은 전적으로 내 맘대로 개작한 것이다. 엄밀한…
눈치 빠른 사람은 이미 짐작했겠지만, 요즘 다시 방법론, 프로젝트 매니지먼트, 또는 아키텍쳐 쪽에 집중하고 있다. 우선은 눈에 보이는 목표가 필요해서 MCAD 자격증을 MCSD 로 업그레이드하려고 한다. 즉, Microsoft Solution Framework…
다음은 Analyzing Requirements And Defining Dot.NET Solution Architectures의 내용을 정리한 것이다. 버그 수렴 (Bug convergence) 제로 버그 바운스 (zero-bug bounce) 발표 후보 (release condidates) 황금 발표 (golden release) 버그 수렴…