XML에서 캐리지리턴(엔터) 문제

플래시에서 다음과 같은 코드를 입력했을 때 캐리지리턴(=엔터)가 한번이 아닌 두번이 입력되는 현상이 발생한다.

var xml:XML =

test11
줄바꿈


trace("=========================================");
trace(xml.child("title"));
trace("=========================================");
trace(xml.child("title").split("r").join(""));
trace("=========================================");

원래 XML의 내용대로라면 한줄 내려서 입력되어야하지만 실제적으로는 빈 행이 두줄이 입력된다는 것. 어도비의 레퍼런스에서 XML, XMLList 부분을 아무리 찾아봐도 이에 대한 내용이 없다. 플래시의 버그인가..? 하는 생각을 하면서 구글신에게 물어본 결과 다음과 같은 글을 찾았다.

http://stackoverflow.com/questions/570656/as3-xml-and-line-spacing-problem

글 내용인 즉슨, line break에서 Carriage Return과 Line Feed가 같이 입력되므로 rn 이렇게 입력된다는 것이었다. 그러므로 r로 입력된 부분을 찾아서 지우라는 말. String 클래스의 split 메서드를 써서 했다길래 나도 split 메서드로 해결 완료. 잘 된다. split 보다는 replace 메서드를 쓰는게 더 나을듯하다.

밑에 리플들을 보면 아마 서버 플랫폼에 따라 차이가 있다는 것 같은데 이것은 내가 윈도우서버를 가지고 있지 않으므로 패쓰.

최근에 C를 배우며 느낀 점들

이제 개발자 4년차…

어떻게 어떻게 하다보니 아이폰개발쪽으로 공부하게 되었다.
학원 커리큘럼상 C를 한달 수강하고 Objective-C를 수강하게 되어있어서 지금은 C 수업을 열심히 듣는 중.
이제 2주 정도 C를 배웠는데 아직은 어렵지 않다. 처음이라 그런지 프로그래밍의 기초부분만 설명하고 있는데 문법만 약간 다를뿐 기초개념상으로는 액션스크립트와 맥락을 같이하는 부분이 대부분이다.
여튼 느끼는건…
C는 참 재미없다. 플래시는 태생적으로 그래픽적인 면을 강조했었기에 뭔가를 조금만 작업해도 화면이 확 변하고 예쁘고 아름답게 뭔가가 눈에 들어온다는 점이 좋았다. 그런데 C는 아무리 열심히 짜도 화면에 텍스트로만 출력되니 너무 답답하다. 뭔가 코드를 짜도 화면상에 변화가 적으니…
역시 옛날 언어라는 생각이 든다. 나온지 수십년이 지났으니 너무 당연하겠지만 편한 환경에서 코드를 짜던 내 입장에서는 이건 뭐 원시 시대로 돌아간 느낌. 컴파일러 수준에서 당연히 해줘야할 부분들… 예를 들면, 변수 선언시 자동초기화 같은 것들이 안되어 있으니 일일히 수동으로 다 해줘야된다. PHP, 자바스크립트도 좀 해봤는데 이러한 언어들도 지원하는 기능을 C가 지원하지 않는다니… 좀 놀라웠다.
게다가 학원에서는 Visual C 6.0으로 하는데 정말 컴퓨터 부셔버리고 싶을만큼 답답하다. 플래시 IDE의 에디터에서도 코드힌트 같은 어느정도의 편리성은 제공하는데 이건 뭐 에디터상으로 지원되는 기능이 너무 없다. Flash Builder(= 이클립스IDE)에서 지원되는 코드힌트, 자동완성, Code Snippet 같은게 있다면 얼마나 좋을까 싶다. 특정 메서드를 쓰면 관련 클래스파일을 자동임포트 해주는 것처럼 헤더파일을 자동입력해주면 좋겠는데 이런 기능도 없다. 최근에 나오는 Visual C는 어느정도 편의기능을 제공하는지 모르겠지만 여튼 Visual C 6.0은 정말 답답하다.
메모리의 접근이라는 새로운 화두가 던져지니 신기하기도 하고 불편하기도하고 그렇다. 이 역시 플래시에서는 컴파일러 차원에서 해결해주던 것을 심각하게 고민하며 코드를 짜야된다. 지금이야 커맨드라인에서 돌아가는 프로그램을 짜니 메모리에 대해 그럭저럭 잘 이해하는데 GUI 환경에서는 메모리에 대해 어떻게 관리하고 접근하는지 너무 궁금하다.
포인터라는 개념이 정말 어렵고 이에 대해 공부하다 포기하는 사람도 많다고해서 얼마나 어려운지 궁금했는데 들어보니 초기개념상으로는 생각보다 어렵지 않다. 일반 변수/함수는 ‘직접 참조’이고 포인터는 ‘간접 참조’라는 개념인데 이 대상이 ‘메모리 영역’이라는 점일뿐. 직간접 참조에 대한 이해와 사용은 그동안 코드에서도 써오던 개념들인데 그 대상이 눈에 안보이는 메모리 영역이라는 것이어서 좀더 생각을 해야하는 것 같다.
아직은 쉬운 코드만 보고 있어서 그런지 포인터의 효율성에 대해 이해가 잘 안된다. 좀더 복잡한 프로그램을 보며 그때 이해해야할 것 같다.
여튼 얼마간 C를 배워보니 다른 언어의 세계도 재미있고 생각만큼 그리 어렵게 생각할 필요도 없다는걸 알았다. 앞으로 더 재미있는 코드를 많이 연습해봐야될 것 같다.

플래시 플렉스 개발자를 위한 액션스크립트 3.0 디자인 패턴

플래시/플렉스 개발자를 위한 액션스크립트 3.0 디자인 패턴
국내도서>컴퓨터/인터넷
저자 : 조이 로트(Joey Lott),대니 패터슨 / 정호연역
출판 : 에이콘출판사 2008.10.28

상세보기

최근에 구입한 액션스크립트 관련 도서.

일하면 할수록 설계가 중요하다는 생각이 든다.

본격적으로 AS3 클래스로 짜면서부터는 신나게 만들다가도 왜 이렇게 만들고 있지? 하는 생각에 코드 지워버리기를 수차례…

좀더 체계화되고 효율적인 코드를 만들어야겠다는 생각이 들었다. 그래서 산게 이 책.

읽어보니 음… 내가 100% 이해하기에는 아직 모자란 감이 있는 것 같다. 지금까지 샀던 모든 플래시/액션스크립트 책중에 제일 공부의 규모가 큰 책인듯. 천천히 읽다보면 언젠간 다 이해되겠지?

밤마다 자기전 조금씩 읽어보고 있다.

서평을 보니 오타가 꽤 많다고 하니 무턱대고 읽지는 말아야할듯.