Egloos | Log-in
결론에 가보기
결론에 가보기
[공유] jEditable 에서 중복체크하는 방법 구현
jEditable은 jQuery의 플러그인 중에 한개이다.

웹화면에서 특별한 변경없이 특정한 부분(예를 들어서 table 필드중에 한개..)을 
클릭, 더블클릭, ..(이벤트를 정할수 있다) 등을 해서 input 태크(text field, select box..)로 바꾸고 
데이터 1개만을 수정하도록 하는 플러그인이다.

간단히 사용하는 코드를 보자.

<span id="phone" class="dblclick" style="display: inline"><%= @zeous.phone %></span>

html 코드에 class에 특정 키워드(dblclick)을 넣어두고
jQeuery 코드에서는 아래와 같이 저 부분을 잡아낸다

$(function(){
   $('.dblclick').editable("/zeous/update", {
        indicator: "<img src='/images/ajax-loader.gif'>",
        tooltip: "더블클릭 하시면 수정하실 수 있습니다.",
        event: "dblclick",
        type: "text",
        name: "inline_value",
        id: "key",
        width: 150,
        style: "inherit",
        submitdata: {id: "<%= @zeous.pcb_id %>", authenticity_token : "<%= form_authenticity_token %>"}
      });
});

보내는 주소는 /zeous/update 이고 
span 영역을 마우스 왼쪽의 더블클릭 하면 text 로 화면이 바뀌게 되고  submitdata에 text에서 받는것 이외의 데이터를
넘겨줄수 있도록 한다..  (기본적으로 <%= javascript_include_tag "jquery.jeditable" %> 가 있어야 한다)

여기까지가 jEditable의 기본적인 사용방법이다. rails 코드이지만 보기에 큰 무리가 없을것이다.

그런데 jEditable의 기본기능을 사용하였을때 
주민번호와 같은 데이터의 중복체크를 어떻게 해야 할것인가..  사용자에게 alert창으로 보여주고 
변경한 데이터를 원래의 데이터로 돌려놓는 정도만 구현하면 될듯한데..

처음에 고민한 방법은 ajax 호출 자체를 실패로 만드는 것이다. 
500에러나 기타 에러를 발생시키는 방법인데.. 약간 마음에 안든다.. 에러는 아니자나.. 다만 중복일뿐이지..

설마 이런 고민을 나만 하였을까.. 하고 찾아보니..역시나 있다.
댓글의 맨 마지막에 보면 아래와 같은 코드가 있다.. 누가 구현해놓은 것이다. jQuery의 ajax 호출을 이용하여서

$('.edit').editable(function(value, settings){
        $.ajax({ 
                type: 'POST', 
                url: 'save.html', 
                async: false, 
                success: function(data){ 
                        if (/ErRoR:/.test(data)) 
                        { 
                                data = data.replace(/ErRoR:/g, '');
                                alert(data + ' Could not save data.'); 
                                //Back to edit 
                        }
                } 
        }); 
        return(value); 
        }, { 
         indicator : 'Saving...', 
         width     : '170px', 
         cssclass  : 'inlineEdit', 
         cancel    : '
Cancel', 
         submit    : '<br><input type="button" value="Save">',
 });

서버쪽은 이렇게... 
render :text => "ErRoR:"+old_data, :layout => false

서버쪽에서 return 해주는 text 중에 앞부분을 ErRoR로 주고 화면 단에서 그것을 처리 하는 방법이다.
그런데 위의 코드의 단점은.. 화면의 텍스트가 원래의 데이터로 돌아와야 하는데. 새롭게 입력된 데이터로 변경된다는 것이다.

그래서 위의 코드를 참고해서 새롭게 변경한 코드는 
$(".masked_duplicate").editable(function(value, settings) {
        var t_data = value;
        $.ajax({
            type: 'POST',
            url: '/zeous/update',
            async: false,
            data: {inline_value: value, key: $(this).attr("id"), id: "<%= @zeous.pcb_id %>", authenticity_token : "<%= form_authenticity_token %>", is_duplicate: "true"},
            success: function(data)
            {
              if (/ErRoR:/.test(data))
              {
                  data = data.replace(/ErRoR:/g, '');
                  alert(value + ' 는 중복된 데이터 입니다.');
                  t_data = data;
              }
            }
        });
        return(t_data);
      }
ajax 콜하기전에 데이터를 미리 저장해놨다가 실패시에는 과거 데이터로 return 한다. (서버쪽 코드는 동일하다)
so Cool~ 마음에 든다 ^^ 


by 제우스 | 2009/10/19 14:57 | 컴퓨터 | 트랙백 | 덧글(2)
[잡생각] 나에게 게임이란..
나에게 게임이란 생활에서 받는 스트레스를 날려버리는 필수항목이다!!!


프로젝트가 막바지에 다다르고 있다. 
회사 생활이나 프로젝트를 진행하는 것이 스트레스가 없지는 않지만 
마지막에 오면서 그 강도 기하급수적으로 늘어나고 있다. 

한달 전쯤 회사 컴퓨터가 슬슬 느려지고 netbeans에 코딩을 위한 타이핑이
내가 키보드에 치는것과 화면에 보이는것이 3초정도 시간차를 보여주는 등등 최악으로 가고 있어서
프로젝트의 중간에 부담감이 없지는 않았지만 XP에서 VISTA로 갈아탔다.

이때!!! 프로젝트가 끝날때까지는 회사 컴퓨터에 게임을 설치 하지 않으리라.. 라는 굳은 결심까지..
회사에서의 게임이야..그렇게 많이 하는 편은 아니었다.

점심 먹고 옆팀 사람들과 함께.. 아바 한두판정도..
저녁 먹고 퇴근을 기념하는 wow 보석 일일 퀘스트 정도..
정말 짜증나는 사건&사고가 발생하였을때... 업무시간에 머리를 식히고 짜증을 덜어내기 위한 정도...
가볍게 하는 정도이니깐.. 안해도 괜찮겠지.. 라고 아직도!! 버티고 있지만.. 그 후유증까지는 예측을 못하였다.

어제같은 짜증나는 IE 버그를 만나고 (물론 해결은 하였지만..) 
이런 일에 저런일에 치이고, 이런 니미.. 저런 니미 같은 사람들에게 당하고 난것에 대한 풀수 있는 방법이 
회사에서는 없다는 것이 문제였다.
책을 보거나 웹서핑을 좀 하면 되겠지..라는 생각은 그 정도의 흥분, 짜증상태에서는 그것도 다 무용지물이었다.

이때는!!!! 정말.. 게임이 필요하다.. 그것도 일반적으로 하던 방식이 아니라..

워3라고 하면 오크로 선택해서 블마로 실컷 견제해주고 와이번을 끝까지 모아서 한번에 확~ 밀어버리는, 
또는 휴먼을 선택해서 패멀을 하고 그리폰으로 휩쓸어 주던지..

아바라고 하면 산탄 총을 들고.. 적진으로 달린다.. 중간에 죽는것은 상관없다.. 
한번에.. 3~4명을 펑펑 잡아주고 적 베이스 뒤쪽에서 술래잡기 하면서 1~2명 더 잡아주면.. 

와우라고 하면 딜전사로..(탱은 안된다.. 답답한 딜러 보면 짜증이 가중된다 -_-;;;) 
5인파티(이 이상은 안된다.. 나보다 더 잘하는 사람이 많다..ㅠㅜ)로 쩌는 딜로 40%이상에 데미지를 해주고
나머지 딜러들에게 썩소를 한번 날려주어야..

기분이 좀 풀린다. 정말 심할때는 저 3개를 다 해줘야만 한다.. 

마음은 그렇지만.. 회사에서는 안된다.. ㅠㅜ 
옆팀 아바하는 것을 구경하거나.. 다른 사람 와우질을 구경만 하고 있다.. 아우.. 
그리고 퇴근하고 운동을 마치고 게임방으로 달려간다.. 시간이 부족하다.. 달려줘야 한다..라는 강박관념에 더 심하게 하고 있다.
밥도 끼니를 맞춰서 먹으면 적정한 양을 조절할 수 있지만 배가 고프면 그런거 다 잊고 평소보다 훨씬 더 많이 먹는것처럼 
퇴근후에 게임을 더 탐닉하는 것 같다..

아.. 그동안에 해오던 가볍게 게임을 해주는 것이 얼마나 나에게 큰 역할을 해주고 있었는지 새삼 느끼고 있다.

ps. 회사 업무시간에 게임을 하는 것이 얼마나!! 중요한지에 대한 글은 아닙니다 ㅠ
ps. 비스타에서 아바를 설치하다가 블루 스크린을 만났다.. ㅠㅜ 제길 프로젝트가 막판이라.. 
     불안해서 설치를 뒤로 미룬다.
by 제우스 | 2009/10/07 15:33 | 게임이야기 | 트랙백 | 덧글(4)
[정보] rails에서 전역아닌 전역변수 - 인스턴스 변수 (반성문 추가!)
(끝까지 읽어보서야 합니다)

쩝.. 아우.. 내가 제대로 알고 있는게 무엇인지.. ㅜㅡ

인스턴스 변수(instance variable) 
루비나 레일스에서 흔히 사용하는 개별 객체(클래스 인스턴스)에 종속되는 변수이다. 
(잘 정리된 정의는 여기를 ^^)

루비보다는 레일스에서는 controller와 view의 데이터 전달을 
이 인스턴스 변수로 하기 때문에 그 활용도가 엄청나게 높다.

-- controller 
class zeousController
  def index
    @name = 'zeous'
  end
end
-- view
<%= @name %>

이 정도까지는 레일스 프로그래밍을 해본 사람이라고 하면 그냥 알수 있는 부분이었고 
내가 어제까지 알고 있는 내용이었다. 

오늘 새롭게 안 내용은

-- controller 
class zeousController
  def index
    @name ='zeous'
     print_name
  end
  def print_name
    puts @name
  end
end
-- view
<%= @name %>

이렇게 하면 print_name에서 zeous가 제대로 찍힌다는 것이다!!!!

정의를 다시 생각해보자.. 개별 객체에 종속이 되는 변수... 
이렇게 동작하는 것과 정의가 일맥상통하는데.. 난 왜 몰랐을까.. ㅠㅜ

rails에서는 1개의 request에 대해서 thread 형태로 서버에서 동작할테고
아마도 controller를 new해서 쓸테니깐.. 그 안에서는 모두 공유가 가능해지는 형태가 되는것이다. 
view에서는 루비에서 다른 클래스의 인스턴스 변수를 참조하는 방법을 바탕으로 접근하는 형태일것이다.. 

흠.. 원인과 결과, 시작과 끝이 명쾌하게 연결이 되는데.. 왜 그동안은 이렇게 생각을 못한것이지.. ㅠㅜ
에효.. 니가 아는게 머냐.. ㅠㅜ

=========================================================================================================

트랙백에서 허진영님이 알려주신 것을 바탕으로.. 다시 한번 생각, 정리, 찾아보기, 공부를 한 반성문입니다.
결론은 자바이건, 루비이건.. 제가 제대로 알고 있었던것이 한~개도 없었다는 생각이 들면서 참 쪽팔리지만
그래도 이렇게 반성문이라도 써야 할것 같아서 다시 글을 씁니다.

1. rails는 싱글 스레드입니다.

그냥 아무생각 없이 당연히 멀티이겠지.. 라는 생각으로 들어갔는데.. 아니네요..
회사에서 실서비스하고 있는 몇개의 시스템도 다시 생각해보니 lighttp나 fcgi를 통해서 3~5개를 띄워놓고 하고 있습니다.
그 이유가 레일스가 단일스레드의 형태이기때문에 이러한 형태로 운영하고 있었습니다. 


2. 자바이건 루비이건 변수종류는 동일하다.

루비에 대해서 이상하다고 느낀것이 자바쪽에서는 이런 것이 없었다라고 생각해서 그렇게 느낀것이었습니다.
자바쪽을 살펴보니..아니었네요.. 자바이건 루비이건 동일한 형태이고.. 이름도 같았네요..
(http://java.sun.com/docs/books/tutorial/java/nutsandbolts/variables.html)

루비
class BaboZeous
  @@zeous1  = '1'  : 클래스변수
  KINGORI = 10        : 상수

  def beBabo
    @zeous2 = '2'    : 인스턴스변수
    zeous3 = 3         : 지역변수
  end
end 

자바
public class BaboZeous 
{
  private String zeous2 = "2";             : 인스턴스변수
  public static String zeous1 = "1";     : 클래스변수
  public static final int KINGORI = 10   : 상수
  
  public void beBabo()
  {
     int zeous3  = 3;                           : 지역변수
  }
}

루비는 동적인 언어이기때문에 인스턴스변수의 선언 위치가 자유롭다. 하지만 변수의 생명주기는 자바와 동일하다. 

3. 창피하다.

가장 기초중의 기초이면서 상식으로 알아야 하는 변수 선언과 생명주기를 엉터리로 생각하고 있었다니..
물론 추석 연휴 다음날이라 아무 생각 없었다라고 하기에는 너무 바보 같았습니다.. 앞으로 공부 열심히 하겠습니다. ㅠ




by 제우스 | 2009/10/05 12:56 | 컴퓨터 | 트랙백(1) | 덧글(1)
[잡생각] 사랑해요~ JQuery
지금 하고 있는 프로젝트는 ruby on rails로 하고 있다. 

기본적으로 prototype.js가 기본으로 설치가 되고 
그동안 prototype.js로 ajax나 기타 기능들을 사용하고 있었다.
(사실.. 기타 기능은 거의 쓰지 않고 순수한 자바스크립트만을 쓰고 있었다..)

이번 프로젝트에서는 JQuery를 한번 써보기로 하였다. 충실하게...
JQuery로 스터디를 막.. 시작하는 것도 한몫하였지만... 

우선 확 JQuery에 호감을 가지도록 한것은 플러그인이 정말 다양하고 마음에 드는것이 많다.
그중에 지금 프로젝트에서 쓰고 있으면서 효과를 톡톡히 보고 있는것이 inline edit 이다 

예를 들어서 개인정보를 보고 수정을 하려고 하는데 
나는 새로 바뀐 전화번호만을 바꾸고 싶은데 기존에는 전체 정보를 수정 form으로 바꾸고 전화번호를 수정하였는데
view 화면에서 바꾸고 싶은 부분을 클릭, 더블클릭, 마우스 오버등의 이벤트를 통해서 변경하고 바꾸는 것이다.
그리고!!!! 해당 화면의 reload가 없어서.. 서버의 부하도 줄일수 있다.

지금 프로젝트의 특성상 메인화면에 많은 기능들이 있기에 수정할때마다 메인화면을 reload하면
이런 저런 비용이 많이 들텐데... 그것을 확!!! 줄일수 있다.

inline edit에서 약간 부족한 기능(변경되는 정보의 중복체크..등)은 구글링해서.. 
얻은 정보에 내가 또 수정해서 쓰는등..(이건 다음에 포스팅하겠다) 정말 활용도 100%로 잘 써먹고 있다.


그리고 그동안의 피곤한 자바스크립트 코딩의 패러다임을 완전히 바꾸고 있다. ^^

물론 이렇게 바꾸기 위해서 부족한 지식의 짜맞추기가 힘들지만.. JQuery의 스터디가 끝나고 프로젝트가 끝나고
다음 프로젝트부터는 정말로 깔끔한 코드로 만들수 있을것이다.. (흠.. 너무 심한 구라인가? ^^)

몇개의 코드를 공유해보자면.. 

check box가 여러개 있을때 전체 체크를 하려면?
$('#selected_games > input:checkbox:not(checked)').attr('checked', 'checked');

select box를 textarea처럼 펼쳐놓고 내용(option)을 맨 마지막에 추가, 선택된 부분을 삭제하려면?
<select id='total' multiple><option>.... </option></select> 일때

추가는 
var op_size = $('#total > option').size();
$('#total')[0].options[op_size] = new Option;
$('#total>option:eq('+op_size+')').attr({value:'새로운값',text:'새로운값'});

선택된것의 삭제는
var selected_index = $('#total > option').index($('#total > option:selected'));
$('#total')[0].options[selected_index] = null;

아.. 꼴랑 2~3줄로 완성이 되다니.. 
물론 아직 공부를 덜해서.. 더 깔끔한 방법이 있는지 모르겠지만.. 이정도로도 충분히 만족스럽다.. 

약간 힘든것은 에러가 발생하였을때 JQuery가 자체적으로 이것을 먹어버려서.. 디버깅이 힘들긴 하지만
어느정도 숙달이 되고 완성된 단계로 올라서게 되면 초강력, 깔끔한 자바스크립트의 코드들이 되지 않을까.. 

사랑해요~ JQuery
by 제우스 | 2009/09/30 11:29 | 컴퓨터 | 트랙백 | 덧글(4)
[영화리뷰] 애자 vs 불꽃처럼 나비처럼
최근 본 2개의 영화에 대해서 나름 영화대 영화를 해보려고 한다 ^^

1. 영화를 보기전

출발 비디오여행같은 영화를 보는데 치명적인 정보를 듬뿍 제공하는 프로그램, 블로그는 보지 않지만
그래도 TV의 선전이나 영화 예고편등을 통해서 어느정도 선입견이 생기기 마련이다.
두 영화 모두 비극적인 결말이 예상이 된다. 
병에 걸린 어머니와 딸의 이야기, 민비와 그를 사랑하는 호위무사의 이야기..
어떤것이 더 자연스럽게 이야기를 풀어갈 것인가.. 그게 핵심이겠지..

애자 
왠지 느낌상 불꽃처럼보다 더 인위적일것 같다. 
흔히 TV 드라마에서 보는 그럼 말도 안되는 설정 같은 것으로 그냥 보여지는게 아닐까...
그냥 병실에서 아픈 얼굴에 둘만 눈물 흘리는 연출일것 같은데..흠

불꽃처럼 나비처럼
조승우, 수애가 주인공이다. 
그래.. 조승우가 누군데.. 나름 액션도 있을것 같고 비극적인 결말이겠지만 
나름 역사적인 사실을 바탕으로 이야기를 풀어갈테니깐 좀더 괜찮겠지?


2. 영화를 보고 난 후

현재 네이버 별점이 애자는 8.69이고 불꽃처럼은 6.97이다. 
네이버 별점과 나의 궁합이 100% 맞는 편은 아니지만 그래도 나름 신뢰하는 편이다.
9.0이상이 되면 무조건 봐야하고 6점대 이하는 절대 보지 말아야 하는 정도? ^^ 중간은 애매하다.
불꽃처럼은 개봉한지 아직 일주일이 되지 않았다.. 분명 더 떨어져야만 한다 -_-;;; 짜증나!!!


애자
영화를 보기전에 걱정하였던 인위적인 부분이 거의 없었다.
어머니가 어떤 병때문에 아픈지도 모를정도로.. 그냥 아프다정도만 있고.. 사실 그것도 눈치를 잘 못챌정도이다.
그냥~ 아들, 아들만을 외치는 어머니와 그런 어머니의 사랑을 덜(?) 받은 딸의 러브스토리정도?

연기를 하는 두명의 배우.. 사실 약간은 네임벨류가 떨어져보일지 모르겠지만.. 정말 멋졌다.
늘 강하게 부정하고 말은 막하지만.. 사실 너무나도 서로 아낀다는 것이 자연스럽게 보인다.. 
메신저로 딸과 이야기하는 어머니의 모습을 보자니깐.. 울 어무이에게 문자를 가르쳐주던 얼마전의 기억이 ^^ 나기도한다.

강하지도, 약하지도 않고.. 그냥 자연스럽게.. 영화는 흘러 끝까지 간다.. 실컷 울게 하면서..

불꽃처럼 나비처럼
머셔~ -_- 이거... 완전 믿는 도끼에 발등 찍혔다..

제일 신경이 거슬렸던 것은 조승우와 민비는 너무나도 사랑하는 사이라는 것이다.
그런데.. 나는 그것을 잘 모르겠다. 그냥 너무나도 사랑하는 사이니깐 이런 액션을 하는거고
너무나도 사랑하는 사이라서 저런 액션을 하는건데.. 사랑하는 사이라는것!!!!이 너무나도 억지스럽다.
그것에 대한 기본이 안되니.. 영화 전체가 너무나도 부자연스러울수밖에 없다.

그리고 조승우!!! 
아무리 중전이 되기전에 민비랑 알던 사이라지만.. 
감히!!! 조선시대에!!! 양반도 아니고 천민(어머니가 대역죄인으로 처형당했으면 가문까지 몰락되지 않았을까 ^^)주제에
이름을 부르다니 ... 그것도 둘만 있는 조용한 곳도 아니고 마지막 한장면도 아니고.. 대놓고.. 뻔뻔하게 -_-;;;;

수애의 연기력도 좀 의심이 가는 정도이다.. 
'님은 먼곳에'에서 멋진 연기력을 보였다고 하였는데 확인 작업 들어가봐야겠다.. -_-;;;

특히나 배드신... 
비록 중전이겠지만 아마도 첫번째의 경험일것이다..  그런데 그런 표정과 제스추어와 눈물은 머지? 흠
이해가 잘 안된다.. 그냥.. 대충 배드신도 있다라는 건수를 위해서 넣은듯한.. 짜증나는 부분이 아닐수 없다. 

액션장면에서는 괜찮은 부분이 약간 있기도 하지만.. 종종 화면의 움직임이 너무 빨라서 어지러운 느낌이 없지 않았다.
3D 게임으로 단련이 되어 있는 내가 어지러울 정도라면.. 진짜 이상한 것이다.. 액션이라기 보단 화면만 흔드는 정도일테지..

믿는 도끼에 제대로 발등찍힌 느낌.. 비추!!! 입니다요. 
by 제우스 | 2009/09/28 16:43 | 영화나 책 | 트랙백 | 덧글(0)
[잡생각] 요즘 근황 - 프로젝트로 정신없음
10월 중순에 오픈을 목표로 한창 프로젝트로 정신이 없다. 

spring+java 조합의 서비스를 ruby on rails로 갈아타는 2.5개월짜리 프로젝트의 거의 마지막이다.
또한 프로젝트에서 PM의 역할까지 맡고 있어서 더욱더 정신이 없다. 

내가 잘해서 PM이라고 하기 보다는 돌아가면서 하는 PM순서에 이번은 내 차례이기도 하였지만
처~음부터 rails로 setting을 할수 있고 진행 방식도 마음대로 할수 있는 이런 프로젝트는 
오랜만에 해보기에 멋지게 출사표까지 날렸는데 사실 많이 힘들다. ㅠㅜ

최대한 애자일스럽게 ..(도대체 애자일이 멀까. .ㅠㅜ 하면 할수록 모르겠다) 하기 위해서

기획서 없이 
운영자들의 이야기만을 듣고 html 로 이루어진 프로토타입 웹페이지를 만들어서 
리뷰미팅을 하고 프로토타입을 실제 모습으로 점차 바꿔주고..  
또 새로운 페이지는 프로토타입으로 시작을 하고.. 등등 을 6번 이상하였고 

운영자들과의 요구사항 정리나 개발자사이에서의 히스토리 관리를 위해서 
이슈크래커 시스템을 사용하고 있고

일일빌드 환경을 만들어서 최소한 나만은 하루에 한번씩 commit을 하여서 
실환경으로 setting된 서버로 올려서 실 데이터에서 발생하는 오류도 잡고 운영자들에게 화면 공유하고..

rails 프로젝트가 처음인 팀원의 코드는 commit이 되면 같이 살펴봐주고.. 좀더 괜찮은 코드로 다듬어주고
core 부분에 그동안 해보고 싶었던 자동 로거 시스템 같은것도 만들어서 넣고  
소스의 전체적인 틀이 제대로 가고 있는지 살펴보면서 중복같은 느낌이 들면 리펙토리를 하고..

등등.. 나름 애자일스럽게 잘하고 있다라고 생각을 하고 있지만
짜증나는 부분도 많고 힘든 부분도 많다. 

내가 PM이면서 core 부분의 코드를 많이 잡고 있다보니.. 진도가 잘 안나간다.. 
거기다가 팀장은 애자일스럽게(이럴때는 이 단어가 짜증남 -_-;;;) 일정도 바로바로 수정, 반영해줄것을 요청한다.

일정을 정리하기 위해서 이슈트래커에 등록된 이슈의 히스토리를 잘 남겨줄것을 프로젝트 멤버들에게 요청하지만..
딱딱 잘 안된다.. ㅜㅡ . 아마도 내가 팀장에게 일정관리로 스트레스를 받는 것처럼 멤버들도 나에게 받고 있을것이다.. 

어쩔수 없이 얼굴을 보고 이거 어떻게 되어가? 라고 물어보고 이슈의 히스토리를 내가 정리해주고..
황당한 소리와 엉뚱한 소리를 하는 운영자와의 토론으로 요구사항을 정리하고 나면 
오늘도 내가 개발해야 하는 부분은 뒷전에 밀려있다. 
그래서 ㅠㅜ 황금같은 주말.. 아무도 나를 건들지 않는 주말에 나와서 남은 개발을 하고 있다... 

과거에도 비슷한 이야기를 한것 같은데
애자일스러운 프로젝트 진행은 멤버의 구성이 정말로 중요하다. 

6번 이상의 프로토타입을 가지고 화면구성 회의를 했건만.. 매일매일 확인할수 있는 서버를 마련해줬건만
마지막에 와서 마음에 안든다고 하는 사용자들을 보면 정말 울컥한다.. -_-;;;

그래도.. 내가 정말 잘 못하는 CSS와 화면 구성을 도와주는 멤버가 있으니 내가 짐 하나를 덜었지만...
일정관리를 해주는 멤버가 한명만 더 있었으면 난 아키텍쳐에 좀 더 초점을 맞추고 기술적인 부분에 투자를 
많이 할수 있었을텐데.. 또다시 프로젝트 이후에 마음에 안드는 구성이 되지 않을까 노심초사한다..

그래도 오랜만의 프로젝트라 기쁜 마음도 있다. 
블로그에 기술적으로 정리해야 하는 것들이 많이 있다는 것이.. ^^ 요즘 공부를 제대로 하고 있다는 증거가 아니겠는가..

얼능 끝내고 refresh 휴가나 가보자고~
by 제우스 | 2009/09/19 15:38 | 컴퓨터 | 트랙백 | 덧글(0)
[정보] 윈도우에서 rails + oracle 셋팅하기
2달전에 컴퓨터를 한번 새로 setting하면서 거의 정리해놓았고
오늘!!! XP에서 비스타로 갈아타면서 정리한 것을 다시 한번 사용해보았는데. 완벽하다!! 
ruby, rails는 setting은 이미 설치되었다는 것을 가정으로 다음 순서를 따라가면 된다.

1. oracle instant client / oracle client 설치 
  window 32-bit용 instant client download
  download해서 압축을 풀면 끝  

2. 시스템 path에 설치된 위치를 잡아준다
  cmd 창에서 path 확인 필수!!

3. 시스템 변수에 NLS_LANG  KOREAN_KOREA.KO16MSWIN949 로 등록한다.

4. 시스템 변수에 TNS_ADMIN 을 설치된 instantclient 위치로 등록한다

5. instantclient 위치에 tnsnames.ora 파일을 위치시킨다  (db 서버에 맞도록 주소 setting)

6. 컴퓨터를 재시작한다!!!! 

7. gem install activerecord-oracle-adapter --source http://gems.rubyonrails.org 

8. gem install activerecord-oracle_enhanced-adapter

9. http://rubyforge.org/projects/ruby-oci8 에서 ruby-oci8-1.0.0-rc2-mswin32.rb 를 다운받는다

10. cmd 창에서 실행시킨다 c:/> ruby ruby-oci8-1.0.0-rc2-mswin32.rb

11. http://www.dll-files.com/dllindex/dll-files.shtml?msvcr71 에서 msvcr71.dll 파일을 가져다가 
     자신의ruby설치폴더|/bin/ 에 복사한다

12. 연결확인 
c:/> ruby -r oci8 -e "OCI8.new('scott', ‘tiger', '//aaa.zeous.com:1521/dbzeous').exec('select sysdate from dual') do |r| puts r.join(' | '); end"


by 제우스 | 2009/09/16 17:59 | 컴퓨터 | 트랙백 | 덧글(0)
[잡생각] 지금과는 달랐을텐데..
지금과는 달랐을텐데..

1. 
난 대학입시때 재수를 하지 않았다. 
대학교를 가기 위한 공부에 눈을 뜬것은 고1였을때
중학교때까진 그냥 학원가서 친구들과 노는것뿐이었다.
당연히 고3때의 성적이 가장 좋았다. 그리고 대학에 입학.

지금 돌이켜보면 그때도 참 바보같이 공부를 하였다. 
전체의 관점에서 정리하는 것도 없었고, 출제자의 의도 파악같은것은 생각도 못하였으니..
지금같은 마인드로 재수를 한다면.. 서울대도 가능할것 같은데...

그럼 지금의 나와는 달라지지 않았을까..

2.
난 군대를 가지 않았다. 
병특도 아니고 정확히는 제2국민역.. 전쟁나기전까진 총잡을 일이 없다.
대학교 4년을 휴학 한번없이 바로 졸업하였다. 

다른 친구들은 흔히 해외로 가는 어학연수도.. 
형이 해외에 나가 있어서 집에서는 아들 2명을 동시에 해외로 보내는것은 안된다고 난 밀려났다.
결과적으로는 형이 어학연수와 유학을 내 대학교 4년동안 다녀오게 되었다.

그냥 휴학을 하고 1년 국내여행을 하거나, 하고싶은 일이라도 하였다면..
그럼 지금의 나와는 달라지지 않았을까..

3. 
대학원을 2년 다니고 졸업할 무렵..
다니던 학교의 박사과정에 대해서는 별로 관심이 없었다.. 공부를 안하는 교수들을 보면서..

주위 사람들은 조건(집안형편이 그렇게 어려운 것도 아니었고, 나이도 어리고..)이 완벽한데
왜 유학을 안가냐고 난리였고 집에서도 은근히 유학을 가기를 바라고 있었지만 난 바로 취직을 하였다.

그때 당시의 생각은
IT 기술이 얼마나 빨리 변하는데.. 지금 배운 기술을 써먹지 않는다면 난 도태될것이라 생각하였다.

만일 그때 졸업후 바로 취직이 아니라 다른 무엇인가를 선택하였다면
그럼 지금의 나와는 달라지지 않았을까..


4.
회사를 다니다가 30살을 넘어서 유학을 가보겠다고 본격적인 준비를 하였다. 기간은 6개월... 
6개월후 원하는 만큼의 성적이 나오지 않아서 1년을 더 준비할지, 포기해야 할지 결정하던 찰라..

자금적으로 부족한 상황이었다. 현금은 거의 바닥이 났고..
유학자금으로 생각하던 자산을 정리하던지 부모님에게 손을 벌려야했다. 
결국 유학가는 것을 포기하게 되었다.

만일 어떻게든 자금을 마련해서 1년을 더 준비하게 되었다면
그럼 지금의 나와는 달라지지 않았을까..


지금와서 돌이켜보면 

1년이라는 시간이 아까워서 내가 선택할수 있었던 몇가지를 포기하였었다.
30대중반인 지금은 내년이나 그 후년이나 지금의 생활과 크게 다르지 않을것이라 생각이 드는데
그전에는 왜 1년이라는 시간을 그렇게 아까워하였을까..

어쩌면 지금도 10년후에 후회할 선택을 하고 있을지도 모른다.
1년정도 회사를 쉬면서 여행 실컷하고 6개월 몸짱만드는것에 투자하면 나중에는 어떤 판단을 내리게 될까?
by 제우스 | 2009/09/02 13:51 | 말말말 | 트랙백 | 덧글(5)
[리뷰] 3D 던전앤 파이터 C9..
N사에서 중박을 기대하면서 밀고 있는 게임이다. 

간단 설명을 3D 던전앤 파이터로 이야기하고 있는데
던파가 많이 뜨긴했구나.. 이런 RPG의 게임은 모두 3D 던파라고 하는군..
(트리니티라는 게임도 3D 던파라고 이야기 하던데... )

N사에 다니는 친구의 꼬임도 약간 있었고
나때문에 다른 서버에서 하던 친구를 내가 하던 서버로 불러들인 잘못(?)도 있어서
조금씩 해보고 있는 게임이다.

머라고 할까.. 키보드로 조작하는 맛이 조금 있는 게임이라서 금방 질리지 않고 계속하고 있다.
지금은 15레벨... 25레벨에 전직할수 있는 것이 '블레이드 마스터'라서.. 25레벨까지는 달려볼것이다.
(난 이 적혈귀, 블레이드마스터 를 너무 사랑한다.. ㅠㅜ)

게임의 전체적인 그래픽은 그렇게 뛰어나거나 특이한 사항은 없다.
N사에 있던 그 전 MMO에 비해서는 약간 괜찮지만.. 그렇게 뛰어나지는 않다..
전반적인 분위기는 리니지2를 많이 닮았다. (아이온보다 리니지2라는 생각이 팍!! 든다)

스킬창을 보게되면 완전 리니지2이다....


1,2,3,4 버튼으로 누르는 스킬보다는 캐릭터를 움직이는 키 + 단축키로 시전되는 기술들이 많아서
캐릭터의 컨트롤이 단순하지 않아서 조작하는 맛이 조금 있다. 
이제 곧 온라인으로 만들어지는 진삼국무쌍하고도 조금 비슷하고 피망의 워로드와도 게임류는 비슷하지만
조작하는 레벨이 단순하지 않아서 더 재밌다고 할수 있다. 

몇가지 마음에 드는 부분이 있는데 우선은 게임외적인 요소로 시작하는 화면이다


게임설치후 바탕화면에 바로가기 아이콘을 만들었는데.. 지울까 말까 고민하다가 이것을 보고 지우지 않았다.
그냥 다른 게임포탈에 있는것처럼 홈페이지가 아니라 wow와 같이 바로 클라이언트가 실행이 되는것이다.

과거 플레이엔씨의 통합런처에 대한 글을 쓴적도 있었는데 그것의 단점을 C9은 완벽하게 보강하였다.
게임 플레이를 위해서 최단패스.. 바로 로그인하고 게임시작!!.. 플레이어들은 이런것을 원한다.

아... 피망들의 게임은 정말로 짜증이다. 실행시키기 위해서 도대체 몇단계나 거쳐야 하는것인지..
특히나 AVA의 경우에는 홈페이지에 있는 intro도 짜증이다 -_-;;;; (비록 내가 다니는 회사이지만.. 이건 정말 별로다!!!!!)


또 한가지.. 완벽하지는 않지만 게임도중 컴퓨터로 다른 작업을 할수 있도록 alt+tab을 가능하게 해준다.

내가 뭐 큰일을 하겠다는것도 아니고 msn이나 네이트로 온 메시지를 확인하고 싶은데.. 
안되는 게임들은 -_-;;; 도대체 뭔지.. wow는 완벽하게 이 부분을 지원한다.. 
C9의 경우에는 해상도가 약간 깨지기는 하지만  그래도 100% 다시 게임으로 복귀 가능하다...
FPS의 게임들.. 특히나 AVA ..(오늘 AVA를 많이 까네.. ㅠ) alt+tab이후에.. 컴퓨터 리부팅한적도 있다 -_-;;;;


C9의 단점도  없지는 않다..

가장 짜증이 나는 부분!!! 
스킬을 단축키에 끌어내거나 , 인벤토리에 있는 것을 캐릭터에 장착을 하려고 할때, 물품보관함을 정리할때, 
정말 욕나오게 원하는 위치로 이동이 안된다.. 아직도 어떻게 해야 정확하게 이동이 되는지 모르겠다.

인벤토리에 있는 아이템을 캐릭터에 장착할때는 마우스 우클릭을 하면 되기는 하지만
반지같은 2개의 종류가 있어서 이것이 안먹히는것에서는 정말 욕나온다..
wow나 아이온에서는 해당 위치로의 이동이 아니라 그냥 캐릭터창으로 옮기기만 하여도 제대로 장착이 된다.

또 한가지...

중요한 버튼들의 위치가 짬뽕되어 있다.

게임시작 버튼은 오른쪽에 있다.
게임시작 버튼을 누르고 채널을 선택하고 접속하는 버튼은 왼쪽에 있다. 

채널을 선택하는 상태창에서 접속과 닫기의 비율은 아마 9:1정도로 접속이 많을것인데
똑같은 크기로 게임시작과 일관성이 없게 왼쪽에 있다.
거래 승락하는 버튼도 오른쪽에 있었던거 같은데.. 어째튼 일관성이 조금 떨어진다.

그리고 던전을 선택할때.. 왜 맨날 제일 낮은 던전이 디폴트냐고!!!
자신의 레벨(12레벨이면 임프광산이겠지)을 디폴트로 선택해주게 하면 다른 던전으로 가기도 편하다
기껏해야.. 자신의 레벨보다 1~2개 낮게, 또는 높게니깐 그 범위안인데..제일 낮은 던전은 아니다..

사실 처음에는 지도안에서 자신의 파티원들 위치도 확인이 안되어서 웃겼는데
패치를 한번 거치고 나니깐 보여지게 된것을 보면.. 계속 발전중이긴 하다..

친구는 피로도가 있어서 자신같은 라이트유저는 좋다라고 이야기 하지만
아마 이 피로도가 나중에는 돈을 버는 상품으로 연결될 가능성이 농후하다.. 
그러니.. 뭐 그렇게 멋진 기능이라고 보긴 힘들다.. ^^

전체적으로는 not bad~ ^^
by 제우스 | 2009/09/01 11:31 | 게임이야기 | 트랙백 | 덧글(3)
[잡생각] wow 에서도 애자일 방법론을?
(이 글을 게임쪽으로 보내야 할지, 컴퓨터쪽으로 보내야할지 고민스럽네 ㅋㅋ)

얼마전에 wow의 대규모 패치인 3.2 패치가 있었다. 
새로운 아이템도 많이 추가가 되었고 새로운 던전도 추가가 되었다. 
그런데 참 재미있게도 애자일스럽게 느껴지는 부분이 있다.

십자군 10인/25인 보스들이 공개되는 방식이 바로 이 부분이다!!!!

처음에 1마리가 나오고 2주정도 있다가 한마리가 더, 며칠전 한마리가 더 공개가 되었다.
그 전 패치에서 나온 울드아르의 13마리 보스가 한꺼번에 공개된 것과는 대조적이다.

wow 유저인 나의 입장으로 써는 애자일스러운 이 방식이 너무나도 좋다.
이유는 간단하다.. 진입장벽이 낮기때문이다.. 

정규레이드팀을 뛰지 않는 나에게는 울드아르의 13마리 보스의 공략을 한꺼번에!!! 
알기에는 너무나도 버겁다. 그래서 쉽게 울드아르 던전을 갈수가 없다.. 시간이 있다고 해도
( 님.. 공략은 다 아시죠? 라는 질문에.. 인벤에서 봤어요.. 라는 대답으로 맨날 짤린다 ㅠ)

십자군 25인은 벌써 경험해보았다. 보스가 1마리일때.. 
공대를 구성하는 사람도.. 편하다.. 그냥 1마리의 공략만 설명하면 되니깐...
한마리가 더 추가가 되었을때.. 이미 1마리의 공략은 숙지하였으니 그 다음것만 익히면 되니깐 또 갈만하다.

이번 주말에는 3번째 보스를 구경할 것이다.
왜냐.. 난 이미 1,2번째 보스는 잘 알고 있거든 ^^
by 제우스 | 2009/08/21 17:59 | 컴퓨터 | 트랙백 | 덧글(3)
◀ 이전 페이지 다음 페이지 ▶

카테고리
영화나 책
말말말
컴퓨터
게임이야기
태그
wow instancevariable 근황 잡생각 jquery duplicate 본성 10억 중복체크 여유 힘들어 ruby 애자 리뷰 게임 스트레스 checkbox 프로젝트 C9 jeditable 애자일 십자군 rails oracle 영화 불꽃처럼나비처럼 selectbox 후회 인스턴스변수
전체보기
최근 등록된 덧글
와.. 위에 있는 코드들을 보시고 j..
by 제우스 at 10/20
jQuery의 Ajax호출은 상당히 ..
by 매드캣 at 10/19
으흠...안녕하세요:) 게임....
by P.lay at 10/08
저는 스트레스 풀 수 있는 것들이 ..
by tetris at 10/07
그대에겐 자동 활력소 애기가 있..
by 제우스 at 10/07
스트레스 해소법이 있다는 것만..
by 홍여사 at 10/07
추가 제보 ------------ eve..
by 제우스 at 10/07
네.. scriptaculous를 통해서..
by 제우스 at 10/01
inline 에디팅은 scriptaculou..
by 오리대마왕 at 09/30
ㅋㅋㅋㅋ 쓰고 싶으면 쓰셔야죠....
by 제우스 at 09/30
라이프로그
10억
10억

거북이 달린다
거북이 달린다

용의자 X의 헌신
용의자 X의 헌신

마더
마더

터미네이터 : 미래전쟁의 시작
터미네이터 : 미래전쟁의 시작

스타트렉 더 비기닝
스타트렉 더 비기닝

천사와 악마
천사와 악마

노잉
노잉

7급 공무원
7급 공무원

박쥐
박쥐

인사동 스캔들
인사동 스캔들

와이키키 브라더스
와이키키 브라더스

매란방
매란방

건투를 빈다
건투를 빈다

코끼리는 생각하지 마
코끼리는 생각하지 마

배려
배려

벤자민 버튼의 시간은 거꾸로 간다
벤자민 버튼의 시간은 거꾸로 간다

작전
작전

워낭소리
워낭소리

작전명 발키리
작전명 발키리

적벽대전 2 : 최후의 결전
적벽대전 2 : 최후의 결전

트랜스포터 - 라스트미션
트랜스포터 - 라스트미션

디파이언스
디파이언스

사랑하지 않으면 떠나라!
사랑하지 않으면 떠나라!

촐라체
촐라체

쌍화점
쌍화점

황후화
황후화

크리스마스 별장
크리스마스 별장

눈먼 자들의 도시
눈먼 자들의 도시

예스맨
예스맨

순정만화
순정만화

펀치 레이디
펀치 레이디

눈에는 눈 이에는 이
눈에는 눈 이에는 이

전략적 책읽기
전략적 책읽기

돈, 뜨겁게 사랑하고 차갑게 다루어라
돈, 뜨겁게 사랑하고 차갑게 다루어라

좋은 놈, 나쁜 놈, 이상한 놈
좋은 놈, 나쁜 놈, 이상한 놈

다크 나이트
다크 나이트

H2 1
H2 1

그림으로 읽는 생생 심리학
그림으로 읽는 생생 심리학

호모 코레아니쿠스
호모 코레아니쿠스

강철중: 공공의 적 1-1
강철중: 공공의 적 1-1

이채원의 가치투자
이채원의 가치투자

쿵푸 팬더
쿵푸 팬더

카불의 사진사
카불의 사진사

인디아나 존스 4 - 크리스탈 해골의 왕국
인디아나 존스 4 - 크리스탈 해골의 왕국

시골의사의 부자경제학
시골의사의 부자경제학

종자돈 700만 원으로 부동산 투자 200억 만들기
종자돈 700만 원으로 부동산 투자 200억 만들기

우리동네
우리동네

디지로그 digilog
디지로그 digilog

대하소설 주역 4
대하소설 주역 4

읽지 않은 책에 대해 말하는 법
읽지 않은 책에 대해 말하는 법

Stick 스틱!
Stick 스틱!

색즉시공 시즌 2
색즉시공 시즌 2

바르게 살자
바르게 살자

20대는 통장을, 40대는 인생을 채워라
20대는 통장을, 40대는 인생을 채워라

점퍼
점퍼

생로병사의 비밀
생로병사의 비밀

추격자
추격자

오늘의 거짓말
오늘의 거짓말

주식시장을 이기는 작은책
주식시장을 이기는 작은책

대한민국 진화론
대한민국 진화론

무방비 도시
무방비 도시

피라니아 이야기
피라니아 이야기

우아한 세계
우아한 세계

경제를 읽는 기술
경제를 읽는 기술

실용주의 프로그래머
실용주의 프로그래머

블로그 비즈니스
블로그 비즈니스

어거스트 러쉬
어거스트 러쉬

세븐데이즈
세븐데이즈

뷰티풀 선데이
뷰티풀 선데이

괴물 1
괴물 1

킹덤
킹덤

당신과 일하기 힘들어 죽겠어
당신과 일하기 힘들어 죽겠어

뉴욕의 프로그래머
뉴욕의 프로그래머

나를 바꾸는 데는 단 하루도 걸리지 않는다
나를 바꾸는 데는 단 하루도 걸리지 않는다

벽오 금학도
벽오 금학도

해바라기
해바라기

펀드투자가 미래의 부를 결정한다
펀드투자가 미래의 부를 결정한다

상식이 통하는 웹사이트가 성공한다
상식이 통하는 웹사이트가 성공한다

아버지의 가계부
아버지의 가계부

본 얼티메이텀
본 얼티메이텀

최강 로맨스
최강 로맨스

여자도 여자를 모른다
여자도 여자를 모른다

부동산 10년 대폭락 시나리오
부동산 10년 대폭락 시나리오

아키텍트 이야기
아키텍트 이야기

보물지도
보물지도

오션스 13
오션스 13

게임회사 이야기
게임회사 이야기

바람피기 좋은 날
바람피기 좋은 날

조폭 마누라 3
조폭 마누라 3

삼미 슈퍼스타즈의 마지막 팬클럽
삼미 슈퍼스타즈의 마지막 팬클럽

광기와 우연의 역사
광기와 우연의 역사

런어웨이
런어웨이

회사가 당신에게 알려주지 않는 50가지 비밀
회사가 당신에게 알려주지 않는 50가지 비밀

롱테일 법칙
롱테일 법칙

해리 포터와 불사조 기사단
해리 포터와 불사조 기사단

사소한 것에 목숨 걸지 마라 - 습관 바꾸기 편
사소한 것에 목숨 걸지 마라 - 습관 바꾸기 편

우리가 미처 알지 못한 소프트웨어 공학의 사실과 오해
우리가 미처 알지 못한 소프트웨어 공학의 사실과 오해

트랜스포머
트랜스포머

20대부터 시작하는 스트레스 제로기술
20대부터 시작하는 스트레스 제로기술

미운오리새끼의 출근
미운오리새끼의 출근

캐리비안의 해적 : 세상의 끝에서
캐리비안의 해적 : 세상의 끝에서

미녀는 괴로워
미녀는 괴로워

유태우 교수의 내몸개혁 6개월 프로젝트
유태우 교수의 내몸개혁 6개월 프로젝트

브레이크 업 : 이별후애(愛)
브레이크 업 : 이별후애(愛)

인사이드 맨
인사이드 맨

마키아벨리, 회사에 가다
마키아벨리, 회사에 가다

웹 2.0 경제학
웹 2.0 경제학

한반도
한반도

연애, 그 참을 수 없는...
연애, 그 참을 수 없는...

구미호 가족
구미호 가족

럭키 넘버 슬레븐
럭키 넘버 슬레븐

찰리와 초콜릿 공장
찰리와 초콜릿 공장

아파트
아파트

레전드 오브 조로
레전드 오브 조로

rss

skin by jiinny
X