'Information'에 해당되는 글 162건

  1. 2009.10.08 The Mythical Man-Month Chapter 2 1 by Dansoonie
  2. 2009.10.06 YouTube 동영상에 댓글 달기... 9 by Dansoonie
  3. 2009.09.17 심심해서 테트리스를 짜보다... 13 by Dansoonie
  4. 2009.09.12 Corny Korean commercial with Hilarious English speech bubble !!! 2 by Dansoonie
  5. 2009.09.10 The Mythical Man-Month Chapter 1 2 by Dansoonie
  6. 2009.09.09 Something worth knowing about HttpEndRequest by Dansoonie
  7. 2009.09.05 YouTube에서 본 잼있는 영화 페러디... by Dansoonie
  8. 2009.08.14 간만에 가요계에 정말 명곡 나왔다... 3 by Dansoonie
  9. 2009.07.16 David Choi Original Song "Fart" /w lyrics 3 by Dansoonie
  10. 2009.07.11 [영어 발음] How is "Eatery" pronounced? by Dansoonie
2009/09/10 - The Mythical Man-Month Chapter 1


Chapter 2 The Mythical Man-Month

  소프트웨어 프로젝트의 대부분은 다른 문제보다도 납기를 지키지 못하는 문제를 가장 많이 가지게 된다. 왜 이런 문제가 보편적으로 발생할까?
  1. 프로젝트 수행 기간을 예상하는 기술이 부족하기 때문이다.
  2. 시간과 노력을 투자하면 무조건 성과가 나타나리라 착각하고 있다.
  3. 프로젝트 관리자는 인내심이 없어진다.
  4. 프로젝트 진행 상황이 잘 감시되지 않는 경우가 많다.
  5. 시간에 쫓기면 인력 추가를 가장 손쉬운 해결책으로 사용한다.

 특히 5번의 문제는 불에 기름을 뿌리는 것과 같은 부작용을 가져오게 하여 문제를 더 크게 한다. 프로젝트 진행상황에 대한 감시 및 관찰은 다른 에세이에서 다루기로 하고, 일단 인력추가가 왜 일을 빨리 진행시키기 위한 좋은 방법이 아닌지 알아보자.

  모든 소프트웨어 개발자는 낙천주의자다. 항상 프로젝트는 잘 짜여진 계획대로 진행될 것이라고 생각하고, 디버깅 하여 잡은 버그가 최후의 버그라고 생각한다. 이런 낙관주의적 태도가 프로젝트 진행에 미치는 영향을 분석해볼 필요가 있다.

  소프트웨어 개발 이외의 창작 활동은 물리적인 매체를 사용한다. 그런 창작 활동은 때로는 물리적인 매체의 성질을 잘 이해하지 못함으로써 문제가 생긴다. 하지만 소프트웨어 개발은 물리적인 매체에 대한 이해가 필요 없이 우리의 생각을 바로 프로그램으로 만들 수 있기 때문에 우리는 때로는 그 작업을 너무 쉽게 생각하는 경향이 있다. 이것이 소프트웨어 개발에 대한 낙천적인 생각의 근원이다. 우리는 결점이 없는 사고를 하기 힘들다. 하지만 소프트웨어 개발은 많은 세분화된 작업과 그것들의 단계로 이루어지는데, 우리는 우리가 완벽하지 않음을 잊어버리고 그 점을 간과하기 때문에 프로젝트는 일정은 지체된다.

  우리가 소프트웨어를 아무 문제 없이 개발 할 수 있다는 생각 자체가 프로젝트 수행 기간을 잘못 예상하는 가장 큰 문제이다. 소프트웨어 개발 작업은 세분화 될 수 있기 때문에 일반적으로 사람을 프로젝트에 많이 투입함으로써 그 기간은 단축되리라고 생각한다. 하지만 개개인이 맡은 일에 들어가는 노력과 프로젝트의 진행이 비례하지만은 않는다는 사실을 우리는 기억해야 한다. 소프트웨어 개발 작업이 세분화 되어 세분화된 작업을 투입된 사람들이 각각 자기가 맡은 일을 하게 되면, 모든 작업이 유기적으로 이루어져야 한다. 그래서 사람들은 서로 communiate해야 할 필요가 있는데, 사람이 많으면 많아질 수록 communication이 이루어지는데 부하가 걸리게 된다. 따라서 투입된 사람의 수에 따라 프로젝트가 단축될 수 있는 시간에는 한계가 있다. 사람 수가 어느 한계점을 넘어서게 되면 communication 때문에 걸리는 부하가 장애로 작용하기도 한다. 

 바람직한 개발 계획 일정은 다음과 같이 각각의 단계에 시간을 다음과 같은 비율로 할애하여 계획하는 것이 바람직하다.

  1. 1/3은 계획하기
  2. 1/6은 구현하기
  3. 1/4은 컴포넌트 테스팅과 초기 시스템 테스팅
  4. 1/4은 전반적인 시스템 테스팅
  이런 방식으로 프로젝트 일정을 계획하는 것은 기존의 방법과 다음과 같은 면에서 다르다고 할 수 있다.
  1. 일반적인 경우보다 계획 단계에 많은 시간이 할애 된다. 그럼에도 불구하고, 구체적인 사양서 및 섬세한 기술 검토를 위한 시간은 부족하다.
  2. 테스팅과 디버깅에 할애된 기간은 전체의 반을 차지한다.
  3. 구현이 가장 작은 비율을 차지한다.
  거의 극소수의 프로젝트들만이 테스팅에 전체 개발 기간의 반을 할애한다. 하지만 결과적으로는 대부분의 프로젝트는 원래의 전체 개발 기간의 반이라는 시간이 걸리게 된다. 테스팅 및 디버깅에 너무 짧은 시간을 할애 하게 되면, 대부분의 일정 지연이나 문제점들은 프로젝트 막바지에 나타나기 때문에 치명적일 수 밖에 없다.

  간혹 개발 일정이 지연되면, 인력을 더 추가하는 경우가 다반사인데, 새로 투입된 인력의 훈련과 교육, 그리고 추가된 인원 사이에서 이루어져야 하는 communication의 부하 때문에 일정은 단축되기 보다는 점점 지연되는 불상사가 발생한다. 이것이 수많은 프로젝트들이 개발 일정에 뒤쳐지는 가장 큰 이유이다. 지연된 프로젝트에 추가적인 인원을 투입하는 것은 그 프로젝트를 더 지연시키는 결과를 낳게 된다.


  두번째 단원 요약입니다. 실제로 책을 읽어보면 소단원이 여러개로 나뉘어 있는데, 읽다보면 공감이 가는 부분이 많음에도 불구하고, 각 소단원의 연관성은 잘 못찾겠네요 ㅡ.ㅡ;
그래서 대충 소단원별로 순차적으로 요약했습니다. 제가 요약한 것을 읽어보셔도 내용전개가 약간 부자연스러울지도 모르겠습니다.

 책의 내용중에 빼먹은 사소한 것들도 있고. 책에는 일정 지연과 인력 투입에 대해서 좀더 자세하게 다루고 있으니 관심있으신 분은 꼭 책을 읽어보시기 바랍니다. ^^

Posted by Dansoonie
우리나라에서는 YouTube에서 동영상에 댓글을 달지 못한다는 사실을 알고 계셨나요? YouTube에서 자발적으로 댓글 달기를 비활성화 시켰는데, 그 배경에는 우리나라의 실명제 확인법 문제가 있나봅니다. 동영상에 대한 댓글을 달려고 하면 아래와 같은 창이 뜹니다.


자발적으로 비활성화 시켰다고는 눈가리고 아옹하는 격입니다. 왜냐면 댓글을 쉽게 달 수 있는 방법이 있으니까 말이죠...

보고 있는 YouTube 페이지의 최하단을 살펴 보시면, 다음과 같은 부분이 있습니다. 정확히 확인은 안해봤는데, 모든 페이지에서 나올듯 합니다. 만약 보이지 않는다면 YouTube의 메인 페이지로 가시면 분명 나와 있을 것입니다...


여기서 "Show locations"를 클릭하고 우리나라에서 실행하고 있는 본인확인제를 실행하고 있지 않은 나라(미국은 확실함)를 선택하신 후에는 댓글을 달 수 있습니다...

ㅡ.ㅡ;

Posted by Dansoonie

요새 심란한 일이 많이 있어서, 마음을 가다듬고 무엇인가에 집중해야겠다는 생각이 들어서 테트리스를 만들어봤다. 자바스크립트와 CSS만 사용해서 짰음...

자바스크립트 처음으로 제대로 써본 것인데, 만족할만한 결과다...
CSS는 몰라서 대충 조잡하게 사용했다...
소스는 여기에...

소스틑 GitHub에 올려놨습니다. (https://github.com/dansoonie/TetrisInJavascript)


 ※ 원래는 여기서 바로 게임을 할 수 있도록 해놨는데, 최근에 이 글을 다시 보다가 다시 편집하려다가보니 티스토리 글 저장 방식이 바뀌어 옛날처럼 자바스크립트가 본문에 그대로 저장이 되지 않아(자기 마음대로 <br/> 넣고 나름대로 태그들 억지로 해석해서 재배열하고) 이제는 블로그에서 직접 테트리스를 못하게 되었네요... 아쉽네요... 스크린샷만 올립니다...  소스다운받아서 브라우져에서 열면 됩니다.

 


Posted by Dansoonie
YouTube에서 즐겨보는 사람의 channel이 있는데, 그 사람의 블로그에 한번 가보았다. 거기에 여러개의 포스트 중에서 어설프게 생긴 로보캅이 나오는 YouTube 영상 스틸샷을 보게 되었고, 스틸샷의 오른쪽 상단 모퉁이에 한글이 써있길래, 무슨 영상인지 궁금해서 보게 되었다. 80년대의 롯데햄의 뼈없는 후라이드 치킨 광고였다. 미국인 친구가 자신의 블로그에 무엇 때문에 이 광고 영상을 올렸는지 궁금해서 영상을 보기 시작했다. 그냥 아무 생각 없이 계속 보고 있었는데, 로보캅이 말을 하자 영문 말풍선이 나타났다. 너무 금새 지나가서 다시 봤다... 그리고 나는 내 블로그에서 이 영상을 많은 사람들이 봤으면 좋겠다는 생각이 들었다...
엔조이 !!!

Posted by Dansoonie
요즘에 The Mythical Man-Month라는 소프트웨어 프로젝트 관리에 대한 문제를 소프트웨어 공학적인 측면에서 접근하여 에세이 식으로 쓰여진 책을 읽고 있다. 좀 오래전에 쓰여진 책이라 그런지 아니면 기술 문서가 아닌 에세이 형식으로 쓰여져서 그런지 몰라도 저자의 영어 문장 구사에 상당한 기교가 들어가 있는듯 하여 좀 이해하는데 어려움이 있어서 스스로 내용도 정리하고, 책을 읽기 싫어하는 많은 사람들을 위해 블로그에 그 내용을 간단히 정리하여 연재 하기로 했다. 이 책을 읽어보신 분께서는 해석이 잘못되었다고 생각하시는 것은 지적은 환영합니다~



Chapter 1 The tar pit
선사시대의 한 장면을 떠오르면 아마도, 타르구덩이에 빠져서 헤어나오지 못하는 짐승을 떠오르는 것 처럼 생생 장면은 없을 것이다. 그 짐승이 얼마나 힘이 세든지 타르 구덩이에서 헤어나오려고 하면 할 수록 타르 구덩이에 깊숙이 빠져들게 된다. 소프트웨어 개발 프로젝트도 이와 같다. 프로젝트 진행에 문제가 생겨 해결하려고 발버둥치면 칠수록 더욱 엉망이 되어 결국 실패하게 된다. 왜그럴까? 우리의 이런 문제를 해결하기 위해서는 먼저 소프트웨어 개발이 무엇인지 살펴보고 그 내면의 특성을 잘 이해해야 한다.

누구든지 한번쯤 차고 안에서 훌륭한 소프트웨어를 개발한 듀오들에 대한 이야기를 들어봤을 것이다. 하지만 이렇게 훌륭한 프로그래밍 듀오들이 존재함에도 불구하고, 현실에서는 그런 인력들로 소프트웨어 개발 인력이 대체되지 않는 이유는 무엇일까?

차고 출신의 프로그래밍 듀오가 개발한 소프트웨어는 그저 프로그램에 지나지 않는다. 프로그램이 더 많은 수익을 창출 두가지 방법으로 가능한데, 첫번째 방법은 프로그램을 어떤 플랫폼에서든지 돌아갈 수 있는 범용성을 갖게 만드는 것이다. 그리고, 언제든지 프로그램을 수정하거나 개선할 수 있도록 문서화가 잘 되어 있어야 한다. 이런 프로그램은 우리는 프로그램 패키지라고 한다. 두번째 방법은 input과 output에 대한 인터페이를 잘 정의 한 후에 컴포넌트화 시켜서 그 재활용성을 증대하는 방법이다. 각 방법은 프로그램의 가치를 3배까지 증대 시킬 수 있다고 보는데, 이 두가지 방법을 모두 적용하면 그 가치를 9배로 증가시킬 수 있다. 그렇다면 이런 소프트웨어 개발이이란 도대체 어떤것인가?

  1. 소프트웨어 개발은 인간의 창작욕구를 충족시켜준다.
  2. 사람들에게 유용한 소프트웨어를 만드는 것은 우리에게 뿌듯함을 준다.
  3. 소프트웨어 개발은 문제풀이와 비슷해 문제를 해결하면 큰 성취감을 준다.
  4. 소프트웨어를 개발하면 늘 새로운 것을 배울 수 있게 된다.
  5. 소프트웨어 개발은 매우 손쉽게 할 수 있다.

우리에게 이렇게 즐거움을 선사하는 소프트웨어 개발이 왜 그렇게 어려운가?

  1. 소프트웨어는 완벽해야 하지만 우리는 완벽하지 않다.
  2. 우리는 어떤 소프트웨어를 개발해야 하는지 잘 이해하지 못한다.
  3. 다른 사람이 개발한 소프트웨어에 의존하기도 한다.
  4. 창작은 힘들지만, 그것을 현실화 하는것은 많은 인내가 필요로 한다.
  5. 디버깅 작업은 버그가 줄어들 수록 시간이 더 오래걸린다.
  6. 참신했던 아이디어도 개발을 완료하면 이미 진부한 것이 되기도 한다.


이렇게 소프트웨어 개발은 우리에게 즐거움도 주지만 어려움도 준다.

Posted by Dansoonie
It's not something MAJORLY important, but I thought it is worth knowing it.

I just found out that by the time when HttpEndRequest completes, the header of the response is already available. Which means, you are able to call HttpQueryInfo on the resource handle(handle obtained from HttpOpenRequest()) for further actions.

Was this something obvious?
Because, the MSDN description of HttpEndRequest is nothing more than this
Ends an HTTP request that was initiated by HttpSendRequestEx.

I didn't know this until now. I came to learn about this fact by reading and article on how to "How to use HttpSendRequestEx with password-protected URLs." The following is an excerpt from the article where I have been able to realize the fact.
Unlike HttpSendRequest, HttpSendRequestEx will not resubmit a request on its own after receiving the "401 Access Denied" status code from the server. Therefore, HttpEndRequest will fail with an ERROR_INTERNET_FORCE_RETRY error.

Great !!! I have learned something. However, I don't think that HttpEndRequest fails with ERROR_INTERNET_FORCE_RETRY error upon receiving "401 Access Denied" status code when network is supposed to behave asynchronously.

Ah... the frustration...
Microsoft should put more effort in making their document more complete if their API's lack consistency. Right??? I'm I missing something???
Posted by Dansoonie
College Humor라는 곳에서 만든 동영상
Matrix Runs on Windows XP

College Humor를 직역해 보면 알겠지만, 우리나라의 웃대(?)쯤 되는 그런 사이트라고 할 수 있을것 같다... (나도 몰랐는데, 회사 동료가 말해줬음)

풀빵닷컴에서 본 영화 예고편에 자막 웃기게 넣은것 보다는 3차원 높은 작품이라고 평가하고 싶다...


<위동영상의 저작권은 College Humor에게 있습니다>

위 동영상은 YouTube collegehumor 채널에서 퍼온 동영상인데, 그 채널에 올라오는 동영상은 College Humor의 원래 사이트인 http://www.collegehumor.com/ 에 게시된지 한달 이상 된 동영상만 올라오기 때문에, 그곳에서 만들어진 동영상들을 바로바로 보고 싶다면 그 사이트에 가서 보심 됩니다...
Posted by Dansoonie
소녀시대의 노래도 아니요,
브라운 아이드 걸스의 노래도 아니요,
카라의 노래도 아니요,
2NE1의 노래도 아니요,
동방신기의 노래도 아니요,
빅뱅의 노래도 아니요,
서태지의 노래도 아니고...

바로 허옹(허경영)의 노래이다 !!!


국민들에게 큰 희망을 주고, 어려운 고비를 건강하게 잘 넘기길 기원하기 위해서 발표 하신 노래...

바로 허옹의 콜미(Call Me)이다...

참으로 내가 존경하는 코메디언 중에 하나이다. 정말 우리에게 많은 웃음을 주면서 국민 건강에 이바지하고 계신 이분... 개그맨들에게 미안하지만, 이 분의 발톱의 때만큼 웃겨줬으면 좋겠다... 이분은 진정한 애국자다... 자신을 이렇게까지 희생하면서 우리에게 큰 웃음을 줄 수 있는 위인이 얼마나 되겠나? 허경영 총재께서 하시는 어이없는 말들이 진짜 진심으로 하는 말은 아닐것이라고 생각한다. 분명 우리에게 웃음을 주기 위해서 자신을 희생 하는 것이라고 생각한다. 참 대단한 희생정신이다... 우리에게 웃음을 선사 하기 위해 허위 사실을 유포하고 큰집(교도소)까지 다녀오시지 않으셨더냐 !!!

만약 맨 정신으로 진심으로 하는 말들이라면, 우리는 불쌍한 그를 사랑으로 감싸줘야 한다...

대통령이 되면 모든 국민에게 몇억씩 준다고 하셨던 그런 분인데, 여기다가 노래의 풀버전 들어간 동영상 올렸다고 저작권 가지고 뭐라고 태클 걸지는 않으시겠지? 더군다나 우리 모두의 건강을 많이 걱정해주시는 분인데 말이다...

이 노래 디지털 싱글로 구입해서 힘들때 꼭 들어야겠다...
bㅡ.ㅡd



가사
여보세요~ Yeah~
Let me introduce 허경영.
He's real. He's come back !!!

(허경영 Rap)
내 눈을 바라봐, 넌 행복해지고.
내 눈을 바라봐, 넌 건강해지고.
허경영을 불러봐, 넌 웃을 수 있고.
허경영을 불러봐, 넌 시험 합격해.

내 노래 불러봐, 넌 살도 빠지고.
내 노래 불러봐, 넌 키도 커지고.
허경영을 불러봐, 넌 더 예뻐지고.
허경영을 불러봐, 넌 잘 생겨지고.

아침 점심 저녁... 내 이름을 세번만 부르면,
자연스레 웃음이 나올 것이야.
망설이지 말고, right now !!!

(코러스)
Call me, Touch me, with me... Everybody !!!
Call me, Touch me, with me... Everybody !!!
난 너를 원해, 난 너의 전화를 원해... 바로 지금...
두려워 하지 말고, 내이름을 불러봐~ Yeah~

(허경영 Rap)
신나는 일이 생길거야...
즐거운 일이 생길거야...
행복한 일이 생길거야...
놀라운 일이 생길거야...

내 눈을 바라봐, 넌 건강해지고.
허경영을 불러봐, 넌 시험 합격해.

내 노래 불러봐, 넌 살도 빠지고.
허경영을 불러봐, 넌 웃을 수 있고..

아침 점심 저녁... 내 이름을 세번만 부르면,
자연스레 웃음이 나올 것이야.
망설이지 말고, right now !!!

(코러스)
Call me, Touch me, with me... Everybody !!!
Call me, Touch me, with me... Everybody !!!
난 너를 원해, 난 너의 전화를 원해... 바로 지금...
두려워 하지 말고 내 이름을 불러봐~ Yeah~

(허경영 Rap)
피곤해? 허경영을 불러봐 !!!
긴장돼? 내 눈을 바라봐 !!!
슬플때? 내 노래 불러봐 !!!
우울해? 허경영을 불러봐 !!!
걱정돼? 내 눈을 바라봐 !!!
심각해? 내 노래 불러봐 !!!
심심할때? 허경영을 불러봐 !!!
아플때? 내 눈을 바라봐 !!!

아침 점심 저녁... 내 이름을 세번만 부르면,
자연스레 웃음이 나올 것이야.
망설이지 말고, right now !!!

Posted by Dansoonie
2009/06/13 - [Information/Entertainment] - David Choi Original Song "Pick It" /w lyrics
위의 글을 포스트 한 이후로, David Choi의 다른 앨범 미수록곡인 Fart도 동일한 작업을 해달라는 요청이 리플을 통해서 올라왔다. 원래 하려고 했던 것이기도, 하고, 요청도 있었고, 사실은 좀더 빨리 하려고 했지만, 귀찮다보니... 이렇게 늦어졌다...

Anyway~

Fart


Lyrics/가사


Fart~ it's the natural thing to do.

방귀~ 그건 자연스러운 것이지.
You know I'm talking to you.
그래 너에게 말하는거야.
You're looking at my profile.1
넌 지금 내 프로필을 보고 있지.
Just take a little while.
좀 자세히 보길 바래.


Fart~ it's the natural thing to do.
방귀~ 그건 자연스러운 것이지.
You know it makes you feel brand new.
새로 태어난 것 처럼 느끼게 해준다는걸 넌 알지.
Don't fight it. Yo. Just spill it.
억제하려 하지마. 요. 그냥 흘려요.
Be proud stand tall, don't hate it.
자랑스럽고 떳떳하게 서세요, 그리고 그것을 미워하지 마세요.
Just embrace it and hold it loose.
받아들이고, 그냥 흘려보내요.


Cause I don't want to keep it all the time.
왜냐하면, 난 그것을 항상 지니고 있고 싶지 않아요.
I don't want to hurt my stomach's pride.
내 배의 자존심에 상처주기 싫어요.
I just want to share it and make the people go wild. Why?
다른 사람들과 나누고 미쳐가는것 보고 싶어요. 왜?


Cause I don't want to keep it all the time.
왜냐하면, 난 그것을 항상 지니고 있고 싶지 않아요.
I want to spread the smell out world wide.
그 냄새를 전 세계에 퍼트리고 싶어요.
I want to show(find)2 appreciation for my fart.
나의 방귀에 대한 나의 마음을 보여 주고 싶어요.



주석

1.  David는 우리가 그의 음악을 그의 Myspace(http://www.myspace.com/davidchoimusic) 에서 듣기를 원한다. Myspace에서 자신의 음악을 들으면서 자신으 프로필을 봐달라는 얘기다. 이건 무슨 뜻인지 도무지 모르겠어서 직접 David에게 email을 보내서 물어봤다.

2. Youtube video에는 show라고 되어있고, 다운로드용으로 공개된 MP3에는 find라고 되어있다. 이 노래를 포함해서 다수의 그의 앨범 미수록 노래를 http://davidchoimusic.com/downloads/originals/ 에서 다운로드 받을 수 있다.

Posted by Dansoonie
화요일에 Coex Mall food court에서 점심을 먹었다. 메뉴는 내가 대학생때 학교 food court에서 자주 애용했던, Sbarro !!! 나랑 회사 동료이자, 회사 입사 선배이자, 동생인 이선임이 같이 Sbarro를 먹으면 Sbarro 종이 그릇을 보면서 말했다...


"형... 쓰바로는 피자 그리고 이탈리안 이태리네?"

물론 장난으로 한 말이다... 내 회사 동료이자, 회사 입사 선배이자, 동생인 이 선임은 외고를 졸업한 똑똑한 친구다...

어쨌든, 이 재미있는 일화를 소개해 주면서 eatery라는 단어를 살펴보기로 했다... 발음도...

일단 뜻은...

According to Naver English-English Dictionary
An eatery is a place where you can buy and eat food.

According to Merriam Webster Online Dictionary
Pronunciation:
ˈē-tə-rē
Function:
noun
Inflected Form(s):
plural eat·er·ies
Date:
1901


그리고 발음은...

Merriam Webster Online Dictionary에서 확인해 보니, "이터리""이러리"의 중간 발음 쯤 되는것 같다... 절대 이태리가 아니다...
Posted by Dansoonie