안드로이드 프로젝트를 SVN에 등록하고, 소스버전관리를 하다가 작업폴더를 정돈하면서 옮기기 위해 SVN에 있는 Check out으로 내려받았다. 그런데 이클립스 이녀석!!이 내려받은 안드로이드 프로젝트를 제대로 인식하지 않는 것이다. 몇가지 방법을 동원해봤지만 마음에 들지 않는다.

그래서 인터넷 검색을 했다. 그리고 발견했다.


링크 : SVN으로 받은 후 android 프로젝트로 인식시키는 방법



방법 :


1. SVN으로 원하는 안드로이드 프로젝트를 체크아웃(Check Out)하여 소스를 내려받는다.

2. new Project 를 이용해서 새로운 안드로이드 프로젝트를 생성한다.

3. 파일 탐색기등을 이용해서 새로 생성한 안드로이드 프로젝트 폴더 루트에 있는 .classpath, .project 파일 두개를 'SVN으로 내려받은 안드로이드 프로젝트 루트'에 복사한다.

4. F5를 눌러서 프로젝트를 다시 읽는다.

5. 대체적으로 정상적으로 인식 될 것이다.


딱히 이클립스에서 해결할 수 있는 방법은 없는 것으로 보인다. 다음에는 maven을 이용해서 프로젝트 소스와 라이브러리를 관리해볼까한다. 미루지말고 이녀석부터 당장해볼까? ㅡ_-)?


.serialize() - jQuery API : http://api.jquery.com/serialize/

$('form').submit(function() {
  alert($(this).serialize());
  return false;
});

오늘 jQuery를 가지고 스크립트를 작성하다가 jQuery를 이용해서 form 객체를 호출해서 jquery.submit() 메서드를 실행했는데 안먹히는 거다. 왜 그런거지!? 하면서 끙끙거리면서 고민하다가 옆에 계신 실장님께 도움을 요청하여 왜그런지 분석하다가 jQuery Document에 있는 걸 그대로 따라한 소스를 보시고서는

이건 센스가 없는거에요. 이 코드가 작동되는 것이 맞지만, 굳이 이렇게 할 필요가 있을까요?
이렇게 하면 될텐데?

라고 하시며 조언을 해주시는데...

document.forms['form'].submit();

이건 된다.

$('#form').submit();

이건 안된다.

$('#form').get(0).submit();

이건 된다. 단, 이렇게 get(0)으로 꺼내게 될 경우에는 jQuery에서 다루는 객체가 아니라 실제 form 객체이기 때문에 submit() 메서드는 jquery에서 다루기가 어려워진다. 즉, 복잡시러워지는거다. 문득 생각난건데.

$($('#form').get(0)).submit(function() {

});

요렇게하면 쓸 수 있지 않을까란 잡생각도 잠시 해봤다.

가만히 보고 있으니, 굳이 form.submit()을 실행하는 이벤트를 가로채서 ajax처리할 필요가 없었다.

var serializeObject = $form.serialize();

로 form에 있는 정보를 문자열로 직렬화해서 ajax로 넘기면 되는 거였다. 흠.


사실 그 앞에서 jQuery를 이용해서 동적으로  document.body에다가 form을 생성하고 거기에 appen로 붙이면서 form객체를 만들고 있었다. 이렇게 만들어진 form 객체를 jQuery를 이용해서 다루려고 했던 것인데, 이 부분에서 내가 생각했던 의도와는 다르게(원래 그렇게 되는 게 맞는 것이었겠지) 동작하고 있었던 것이다. 오류메시지도 나타나질 않으니 당황스러웠기도 하고 황망했다.


난 (개발) 센스가 부족하다. ㅠㅅ-)

센스만점이 되는 그날까지 부지런히 노력하자.




오늘의 교훈 : 난 브라우저(클라이언트)에서 다루는 객체의 계층구조나 동작원리를 제대로 이해하지 못하고 있다는 것이다. 그저 jQuery를 이용해서 다루는 정도가 아니라, 충분히 머리 속에서 동작원리를 이해하고 상상해볼 수 있는 수준까지 도달하기 위한 노력을 잊지 말자.

파일명 : config.properties

property.thisReadUrl=/app/test/show



파일명 : testFreemarker.ftl

<#list "${props['property.thisReadUrl']}"?split(",") as url>

    <#if (RawRequest.requestURI?index_of((url!)?trim) == -1)>

구현내용 ~~~~

    </#if>

</#list>

** RawRequest.requestURI 는 http RAW Request 정보를 가져오는 것 같은데, 이 부분에 대해서는 공부할 필요가 있겠다

기능 : 현재 URL 위치를 반환한다.


위의 형태처럼 ${props['properties']} 를 이용하여 서버에 적용된 properties 들을 조회하여 동일한 이름을 가진 property를 freemarker 파일을 구성하는 과정에서 사용할 수가 있다.


이를 위해서는 applicationContext.xml 내에 



    
         
            properties 파일 위치
        
         
    



에 대한 내용들을 설정해줘야 한다. 


누가 봐도 감탄할 만한 한줄의 코드.


'Hello, world'


완벽한 코드를 향해 노력하는 프로그래머, 코드 디자이너가 되기 위해 노력하자.




바텐더
카테고리 만화 > 직업만화
지은이 Joh Araki(조 아라키) (학산문화사, 2006년)
상세보기


신의물방울.28
카테고리 만화 > 직업만화
지은이 TADASHI AGI (학산문화사, 2011년)
상세보기


'신의 글라스', '신의 물방울'을 보다가 뻘생각.


+ Recent posts