[C#] Simple Performance Logger

PerformanceLogger는 어플리케이션의 각 구간별 실행시간을 측정하기 위한 객체다. 단순히 측정하고자 하는 구간의 시작지점과 종료지점을 지정해주는 것만으로 사용할 수 있다. 전문적인 프로필러를 사용하기 어려운 상황이거나, 간단히 병목지점을 파악하고자 할 때 유용하다.…

0 Comments

성능과 간단한 설계 사이에서

나는 코더 또는 프로그래머보다는 소프트웨어 엔지니어라는 용어를 더 선호한다. 앞의 두 용어는 어쩐지 격이 낮아보이기 때문이다. 소프트웨어 엔지니어를 얕잡아보는 일부 사람들이 엔지니어를 가리켜 코더나 프로그래머라고 하는 경우가 종종 있다. 처음부터…

0 Comments

비즈니스 계층에서 간단한 데이터 캐시 구현하기

[2004년 12월 7일] 11월 27일에 쓴 글이지만, 예제 소스코드의 패턴이 마음에 들지 않아서 수정했다. 더구나 이전 소스코드에는 버그도 있었다. 혹시라도 예전 글을 참고한 이들에겐 미안하다. 실제 사례에 비추어 이야기를 진행해보자.…

0 Comments

[C++] delete 를 반드시 해줘야 하나요?

오늘 아라(KAIST의 대표적인 텔넷 서비스, ara.kaist.ac.kr)에서 누군가 이런 질문을 했다. new가 있으면 delete를 반드시 해줘야 하나요? open source 여러 개를 받아보았는데, new의 개수만큼 delete가 없는 경우가 있더라고요. 그래서 일일이 delete를…

0 Comments

Object Role Modeling과 ER Diagram

순전히 MCSD 시험을 위해 Object Role Modeling라는 것을 공부했다. 여기서 '순전히'란, 사실상 업계 표준이 ER Diagram이므로 ORM을 공부하는 수고가 아깝다는 뜻이다. 그렇지만 ORM의 개발 취지는 새겨둘 만 하다. 요약하자면 다음과…

0 Comments

Avoid creating methods with Boolean parameters

디자인 패턴 세계에서는 boolean 값을 매개변수로 취하는 메써드의 생성을 피하라고 권장한다. 예를 들어보자. 다음은 사용자의 프로필을 데이터베이스에 저장하는 메써드다. SaveProfile(profile,true); SaveProfile(profile,false); SaveProfile(profile,Encript.SSH1); 우선 처음 메써드보다 두번째 제시된 메써드의 가독성이 좋다.…

4 Comments

MSF Stablizing 단계의 중간 이정표

다음은 Analyzing Requirements And Defining Dot.NET Solution Architectures의 내용을 정리한 것이다. 버그 수렴 (Bug convergence) 제로 버그 바운스 (zero-bug bounce) 발표 후보 (release condidates) 황금 발표 (golden release) 버그 수렴…

0 Comments