개발을 하다보면, 종종 고민에 빠진다.
평소에도 생각하던 문제인데, 우연히 인터넷에서 몇가지 글을 보면서
기냥 생각나는데로 주저리 주저리 적게 되었다....


[기능을 추가하는 딜레마]
사용자 삽입 이미지

게임 개발의 암세포! FEATURE CREEP  <--- 링크

이 글에서 중점은,
불필요하게 기능을 추가(혹은 신규 기술의 도입)하다보면,
원래 기능의 장점이 쇠퇴될 수 있다는것?!

생각해보면, 우리의 일상생활에서 유명한 맛집을 생각해도 그렇다.

맛집의 메뉴는 메뉴도 별로 없다... 유명하다는  음식 한두개 일뿐....

장사가 안되는 가게일수록 메뉴는 많다.
심지어 분식집에서 알탕이 판다던가... ㄱ-

즉, 역으로 말해보면
자신있는 메뉴가 없어서 양으로 승부한다고 볼 수 있다.







[요구사항 추가의 딜레마]

얼마전, 네이버 메인에도 있었던 영상으로 생각된다.
사실 실제 프로젝트를 진행되면 수많은 수정요구사항과 추가사항이 생긴다.
물론, 이건 성능이나 기타 문제로 곤란하다고 이야기도 해보지만,

대부분 기획이나, 고객 대빵(사장님뻘?!)에 따라 결정될수밖에 없는 구조이다...
그렇다고 해서 무조건 요구사항을 받아들인다면???!!!!
한번쯤 생각해볼만한 영상이라고 생각한다.


[Flash] http://serviceapi.nmv.naver.com/flash/NFPlayer.swf?vid=517EAEC6FF15DA0B2D455C4F9489D3C03115&outKey=V122005688ad231e37bb31ab575d276bef723d3103d2dc5b813521ab575d276bef723

 
출처 : http://mynism.cafe24.com/36




[기냥 주저리주저리]

다양한 요구사항과 기능추가의 문제점도 있지만,

mp3+디지털카메라+DMB+전자수첩+PMP+전화 => 휴대폰

이라는 긍정적인 사례도 있다.(물론 소프트웨어는 아니지만)
이런 사례는 어떻게 설명해야 할까??

왜 그럴까? 라고??
프로젝트 진행을 하다보면 일정은 정해졌고, 고객의 Need는 변화한다는것이다
소프트웨어를 만드는 프로젝트에서도
충분한 시간과 명확한 고객의 Need가 있다면, 저런 긍정적인 사례가 발생될수 있다.


난 이렇게 생각한다

고객은 원하는 기능과 요구사항이 뭔지 정확히 하는것이고
개발자는 해당 기능을 구현했을때 일어나는 문제를 파악하고,
기획자/관리자는 둘의 의견을 듣고 타협점을 만들어야 한다는것...


이렇게 삼위 일체가 이루어 지지 않는다면,
dslr기능이 있는 핸드폰을 만들어야 한다면서,,,
핸드폰에 대형 카메라 렌즈를 꼽아서 주머니에도 안들어가는 그런 핸드폰이 나왔을지도 모른다고....

첫판.... 렙업을 위해 들어간
녹킹 무한재도팟...

하지만 땅에 떨어지는 유니크 !!!
*참고로 아케인이면, 아크가 쓰는 무기인데.... 옵도 쓸만하다... 트라이보다 가격이 비싼걸로 기억..

하며 추억에 잠기고...
이제부터 고도의 심리전...

누구에게 저것이 갈것이냐!!

사용자 삽입 이미지

평소의 경험상,,, 내가 먹으면 꼭 딴놈이 먹었다.(레어였지만)
그래서 눈치를 봤는데...
오늘도 패배...

사용자 삽입 이미지


55제였다면, 매우 속상했을듯...

몰랐는데... 파이어폭스(FF)에서는
outerHTML을 지원하지 않는다(innerHTML은지원)

그래서 인터넷을 뒤져봤는데... 리턴하는 소스는 많이 나왔는데
값을 덮을수 있는 방법은 잘 나오지 않아서
인터넷 뒤져서 샘플코드를 만든 소스...

해당 outerhtml을 알고싶으면 getouterHtml
해당 outerhtml에 텍스를 치환하고 싶으면 setOuterHtml
를 사용하면 되고, 기타 outerhtml을 지원할 경우는 그 함수를 쓰도록
처리한 소스....

<html>
<title>outerHTML 파이어폭스 대응</title>
<script>
/**************************************
* 샘플 코드 및 펑션 생성 @ 정민철
*
http://tost.tistory.com
*
* 원본 참조소스
*-----------------------------------------------------------
*
http://snipplr.com/view/5460/outerhtml-in-firefox/
* http://www.phpschool.com/gnuboard4/bbs/board.php?bo_table=tipntech&wr_id=56477
***************************************/
//ff대응 outerhtml결과
function getouterHtml(obj)
{
 var html = null;
 //널처리
 if (obj == null) return null;
 
 if (typeof(obj.outerHTML) == "string")
 {//스트링값을 가져온다면 IE로 가정함
  html =  obj.outerHTML;
  //alert("ie"); //디버그용
 }
 else
 {
  html = (new XMLSerializer).serializeToString(obj);
  //alert("ff"); //디버그용
 }
 return html;
}
//ff대응 outerhtml 삽입
function setOuterHtml(obj, html)
{
 if (obj == null) return; //null처리
 
 if (typeof(obj.outerHTML) == "string")
 {//스트링값을 가져온다면 IE로 가정함
  //alert("ie"); //디버그용
  obj.outerHTML = html
 
 }
 else
 {
  //alert("ff"); //디버그용
     var el = document.createElement('div');
     el.innerHTML = html;
     var range = document.createRange();
     range.selectNodeContents(el);
     var documentFragment = range.extractContents();
     obj.parentNode.insertBefore(documentFragment, obj);
     obj.parentNode.removeChild(obj);
 }
}
</script>




<body>
<div id="test" style="background:yellow;">
원래본문
</div>
<script>
var divobj = document.getElementById("test");
</script>

<a href="javascript:alert(getouterHtml(divobj))">outer값확인</a>
<a href="javascript:setOuterHtml(divobj, 'htmltest')">outer값 변경</a>
</body>
<html>


개인적으로는 웹브라우저가 하나만 남았으면 좋겠다.

+ Recent posts