IT
-
XP(eXtream Programming) - 2IT/Agile 2011. 2. 5.
Waterfall 방식의 프로세스를 사용하지 않기 때문에, 산출물(개발문서)에 집중하지 않는다. 요구사항이 변경될때 마다 산출물을 변경하게 된다면 그 비용도 만만치 않으며, 그 비용 때문에 개발 시간 확보가 되지 않을 것이다. [개발방법] 1. 고객과 개발자의 의사소통을 통하여 요구사항을 확인하고 스토리카드 작성 - 스토리카드란 기능에 명시 및 요구사항을 의미하며, 처음부터 완벽하게 작성하지 않고 차츰 완성해나간다. 2. 메타포를 이용하여 고객에게 시스템을 설명하고 팀원들과의 메타포를 이용하여 의사소통을 하여 오너쉽을 공유 - ※ 메타포 : 시스템을 설명하기 위한 표현방법 3. 페어프로그래밍을 하고 개발은 간략한 디자인을 추구하며 TDD를 통한 단위테스트와 리팩토링 수행 4. 고객과의 개발사항 확인과 요..
-
XP(eXtream Programming) - 1IT/Agile 2011. 2. 5.
XP는 Agile 방법론으로써, 개발 프로세스에 있어서 요구사항이 변한다를 전제로 개발 방향과 방법들을 제시한다. 일반적인 개발 관리 개발요청자는 PL or PM을 통하여 관리와 의사소통하며, 개발자는 PM에게 개발요청사항을 확인하여 설계/개발을 한다. 단적인 예로, PM or PL의 판단 오류 및 의사소통의 문제가 발생한다면 요구사항대로 개발이 될 수 없으며 비용이 증가할 수 밖에 없다. XP 개발 관리 개발요청, 고객 및 요청자와 개발자가 직접 의사소통하고 요구사항을 업데이트 한다. 그럼 관리가 되는 것인가요 라는 질문이 있다면, PM과 PL이 제외되는 것은 아니다. 개발 요구사항에 대해서 직접 개발자와 요청자가 함께 진행할 뿐이다. 게다가 개발자는 개발사항을 메타포 형식으로 구현한 사항을 요청자를 ..
-
Project Leader vs Project ManagerIT/Agile 2011. 2. 2.
PL(Project Leader)과 PM(Project Manager)의 역할이란 무엇일까? 일단 리더와 관리에 대한 사전적 의미로는. Leader의 사전적인 의미 집단의 통일을 유지하고 성원이 행동하는 데 있어 방향을 제시하는 역할을 하는 인물 Leader에게 필요한 Leadership 집단의 목표나 내부 구조의 유지를 위하여 성원(成員)이 자발적으로 집단활동에 참여하여 이를 달성하도록 유도하는 능력. 리더십은 기능의 방법에 있어서 탄력적이어야 하며, 이를 위해서는 리더에게 통찰력과 적응성이 요구된다. 그러므로 리더십의 자성론(資性論)을 연구하는 학자도 많은데, L.아위크는 필요한 자성의 요건으로서 용기 ·의지력 ·마음의 유연성·지식 ·고결한 성품을 지적하였으며, 특히 공정과 성실함을 끊임없이 간직함으..
-
Dotnet 환경에서 unmanaged 코드에 접근하는 방법IT/DevOps 2011. 1. 26.
1. COM Interop Dotnet CLR이 COM Interop을 위해 최적화된 마샬러(marshaler)를 제공 ※ 먀샬링 : 클라이언트가 요청한 데이터를 서버가 인터페이스에 맞도록 데이터를 조직화 하고 변환하는 것. ex) 스택 동일 어플리케이션에서 객체의 메서드를 호출할 떄 매개변수나 결과값은 스택을 통해 전달하는데, 동일한 어플리케이션이 아닐 경우 서로 다른 스택을 사용하기 때문에 전달할수 없다. 이러한 경우에 메서드를 호출하기 위해 매개변수와 결과값은 바이트 스트림(메모리버퍼)에 기록하고 전달하는 방법으로 해결할 수 있는데 바이트 스트림으로 변환하는 과정을 마샬링이라 한다. 2. PInvoke(Platform Invoke) DLL이 외부에 노출하는 export 함수를 직접 호출하는 방법 ※..
-
Debug, addr2lineIT/DevOps 2011. 1. 20.
addr2line 은 프로그램의 심벌 주소값들을 파일 이름과 라인 번호로 변환한다. 테스트 코드 : test.c #include void callback_func(){ printf("callback func\n"); } int main() { printf("Hello World\n"); callback_func(); return 0; } make symbol ~ $ gcc -Wl,-Map=test.map -g -o test test.c ~ $ grep callback test.map 0x0000000000400508 callback_func 라인 확인 ~ $ addr2line -i 0x0000000000400508 -e test ~/test.c:4 프로그램이 실행 중, 런타임 오류가 발생한 경우 symb..
-
Windows SysinternalsIT/DevOps 2011. 1. 19.
제목과 같이 sysinternals 사이트를 이용하면, 윈도우 개발자를 위해서 시스템 유틸리티를 제공한다. http://technet.microsoft.com/ko-kr/sysinternals 아래 4가지는 꼭 설치해서 활용해보시길 Process Explorer 실행중인 프로그램의 실행 디렉토리 위치, CPU와 메모리 사용률, 쓰레드, Load된 DLL과 Handle등의 정보를 알수 있다. 프로세스가 필요한 라이브러리를 로드를 못하거나 메모리, 쓰레드 누수등의 정보를 확인, 프로세스 덤프까지 활용할 수 있어 디버깅에 매우 유용 Process Monitor 프로세스를 모니터링하는 툴로써, 실시간으로 프로세스의 실행 명령 및 레지스트리 사용정보와 결과에 대한 정보를 알수 있다. 프로세스가 어떤 명령을 내리고..
-
Alias 설정IT/DevOps 2011. 1. 17.
습관대로 .bashrc에 alias설정을 할려고 vi ~/.bashrc로 파일을 열어보니 다음과 같은 내용을 찾게 되었다. if [ -f ~/.bash_aliases ]; then . ~/.bash_aliases fi alias에 대한 추가적인 정의는 bash_aliases 파일에서 하라고 나와 있다. .bash_aliases을 파일을 만들고 자주 사용하는 cp, mv, rm 에 대해서 -i 옵션 alias를 주었습니다. vi ~/.bash_aliases alias rm='rm -i' alias mv='mv -i' alias cp='cp -i' 개인적으로 이렇게 설정 내용을 분리하는 것은 관리하기 좋은 방법이라고 생각한다.