위지위그(WYSIWYG : What You See Is You Get )


문서 편집 과정에서 화면에 포맷된 낱말, 문장이 출력물과 동일하게 나오는 방식을 말한다. 이는 편집 명령어를 입력하여 글꼴이나 문장 형태를 바꾸는 방식과 구별된다. 현재 대부분의 워드 프로세서는 위지위그 방식을 쓰고 있으나 HTML이나 TeX는 편집 명령어를 통해 편집하는 방식을 고수하고 있다. 이는 문서의 호환성, 범용성 때문이다. - wikipedia에서 발췌 -

쉽게 말해서, 지금 Tistory나 Naver 등 블로그 글쓰기 방식도 WYSIWYG 방식이다. 지금 보고 있는 것이 출력물과 동일한 편집 방식을 WYSIWYG 라고 한다. 



현재 웹표준에 맞춰 제작된 것은 CKeditor 이다. (바로가기)

무료 WYSIWYG 방식의 에디터이다.





Windows << 바로가기

요즘 날개 달린 듯 이곳 저곳에서 "Windows 7" 에 대한 글이 올라오고 있다. ( 제목이 정확한지 모르겠다. 학생 판도 아니고, MS에서 학생들에게 저렴하게 Windows 7을 제공하는 것은 맞는데 그렇다고 공짜도 아니니 ... )


특히 IT 관련 기사에는 몇일째 장식하고 있는지 모르겠다. 그래서 그런지, 여러 커뮤니티에서는 Windows 7으로 OS를 옴기고자 하는 분들이 많으신것 같은데 가격이 만만치 않다. 일반 개인유저라면 Windows 7 Home premium을, 그렇지 않고 조금 다양한 기능(특히 CPU에 윈도우 가상화 붙은 녀석들)을 사용하기 위해서는 Professional이나 Ultimate 버젼을 설치해야 한다.


가격은 너도나도 홍보해 주시는 기자분들이 많아서 일단 패쓰~


설치하고자 하는 분들과 궁금해 하는 분들이 많은데, Windows 7 이 좋고 나쁨을 떠나 MS의 끼워팔기와 불공정 거래법 위반, 그리고 벌금형을 선고 받고도 지키지 않는 그런 M$의 작태를 지적하는 분들이 있어서 앞으로의 MS에 의한 독점에 대한 우려를 잠시 접어 둘 수 있었다. 일단 은행부터 IE 로부터 벗어나면 더 MS로부터 떠나는 분들이 많을 듯. ( 아 오해 하지 마시라 ! 항상 악성 댓글을 적으시는 분들을 보면 글을 다 읽어 보지 않는 난독증 환자들이 즐비해서 그러는데, Win 7이 좋지 않다는 소리가 아니라 소비자의 다양한 권리가 우선시 되어야 한다는 말이다 ! )


일단 혹시 어떻게 하는지 궁금해 하는 분들을 위해 순서는 아래와 같다.


화면 우측 하단에 보면 적정 자격에 대한 글이 있다. 여기서 Here를 누른다.




here 버튼을 누르면 아래와 같은 페이지로 간다. 여기서 기본적으로 US와 UK만 서비스 해주고 있는데,
화면 상단 중앙에


"Don't see your US university/college listed? CLICK HERE and provide us with more information to see if we can add it!"

이란 문구에서 CLICK HERE를 누르면 타 지역 Web store로 연결되게 된다.

아래는 연결된 페이지 ( 페이지 바로 가기 )



여기서 대학 전자 메일 주소를 입력하면 회신이 온다.

아래 사진은 학교 이름으로 된 E-mail을 사용해서 승인을 받은 내용이다.




그러면 위와 같은 메일이 날라 오게 된다. 링크를 타고 들어가야만 정식 승인을 걸쳐서 다운을 받을 수 있는 기회(?)를 획득하게 된다.


아직 국내에서 Windows 7 정식 판매가 되지 않아서 Office2007 학생용 다운로드만 제공해 주고 있다.


그런데 어디서 "카더라 통신"에서 들은 적이 있다. 이 제품들이 영구 라이센스에 속하지 않는다는 것이다.
Windows 7을 학생 신분으로 다운을 받아도 license code(혹은 key)가 딱 한달만 사용할 수 있는 것이라고 한다.
작년부터인가? 막 설치되기 시작한 Windows Genuine Advantage 프로그램이 동작해서 정품 구매나 혹은 사용기한을 연장하기 위해 돈을 더 지불해야 된다고 한다. (이거 WGA는 순전히 개인 생각이다. 혼자 확장 해석 중...)


일단 "카더라 통신"은 실제 해본 사람들에 따라서 다르겠지만, MS에서 묵직한 떵덩어리 때문에 고생하던 것을 오랜 시간 동안 야심차게 이곳저곳에서 빼고, 붙이고 베끼고 내놓은 것이니 괜찮아 지지 않았을까 ?


 후에 한국 정식이 발매되어 Professional 버젼이 구매 가능해 지면(물론 저렴하게 ...) 이참에 한번 사 보는 것도 괜찮은 듯 ㅡ ㅡ ... 기업들도 발빠르게 내놓기 위해서 준비 중이라는데 =_- 내껀 아직 Windows XP home 밖에 지원이 안된다오 ㅡ ㅡ ...







+ 수정된 사항

한국 스토어가 연결이 되었나 보다. 위의 방법대로 하면 다시 오피스로 넘어가 던데

http://store.digitalriver.com/servlet/ControllerServlet?Action=DisplayHomePage&Env=BASE&Locale=ko_KR&SiteID=mswpkr&&resid=Qt-RIgoHAiwAAFz7H0wAAAAQ&rests=1256683031403

여기에 들어가서 다시 하면 된다. 메일로 메시지가 위와 같이 날라 오니 ^^::

아래는 그 결과 화면.




여기서 구매 !

아참, 하나 더... XP에서 하는 것처럼 레지스터 꼼수를 사용하면 정품 인증 계속 유지 할 수 있다고 한다.



flash.display 패키지 내에는 DisplayObjectContainer 라는 Class가 있다.

위의 Class는 UIComponent를 상속받는 Container 들에게도 해당 속성이 적용 받는데, 포스트에 적을 것은 게중에 해당 컨테이너에 속한 컴포넌트들의 속한 순서(? addChild 된 순서)를 바꾸는 것을 알아 본다.

일단 DisplayObjectContainer에는 Canvas나 혹은 다른 Container 들에게 볼 수 있는 몇가지 Method가 있다.


setChildIndex(child:DisplayObject, index:int):void
Changes the position of an existing child in the display object container.

swapChildren(child1:DisplayObject, child2:DisplayObject):void
Swaps the z-order (front-to-back order) of the two specified child objects.

removeChild(child:DisplayObject):DisplayObject
Removes the specified child DisplayObject instance from the child list of the DisplayObjectContainer instance.

getChildIndex(child:DisplayObject):int
Returns the index position of a child DisplayObject instance.


이것 이외에도 여러가지 유사한 기능을 하는 Method들이 있다. Parameter만 다르고 기능은 거의 같으니 일단 이정도로 소개하도록 하고

 DisplayObjectContainer라는 Class 명에서 뜻하는 것처럼 다른 컴포넌트들을 담는 녀석들은 여러 자식 클래스(컨테이너에 addChild 시키는 컴포넌트들)를 담는데, 이를 add 시킨 순서로 0, 1, 2, 3, 4 .. 순으로 저장되게 된다. 그런데 이게 왜 중요하냐? 당연한게 아니냐? 의문이 들거다. 맞다. 너무 당연하다. 보통 Application들을 보면 여러가지 패널이라든지 혹은 창들을 보게 되는데 마우스를 클릭하면 해당 Unit 혹은 창들이 가장 최상위에서 활성화되게 된다. 즉, 선택한 녀석만 최상단에 나오게 되는 것이다.

 플래스를 하다가 보면 Click 이벤트로 유닛을 Drag 하고 Drop 하는 등 여러가지 일을 할 수 있는데, 이런 Container에 속한 자식들에 대한 Focus는 자체적으로 지원해 주지 않는다. ( 아시면 댓글 좀...)
 뭐 찾아보면 있을 수도 있는 거지만, 지금까지 헛 공부 한 것이 아니라면 자동으로 지원해 주지 않는다.
 그래서 위와 같이 여러 다중의 창이 떴을때 이런 것을 해주기 위해서는 위의 메서드들을 알아야 한다는 것이다.




 위의 코드에서 붉은 색 라인의 것은 swapChild를 사용해서 add 된 컴포넌트들끼리 순서를 바꿔준다. 물론 바꿔줄때 자신의 순번보다 하위에 있는 것은 손볼 필요가 없으므로 자신보다 순번이 높은 컴포넌트들끼리 바꿔주면 원하고자 하는 기능을 완성할 수 있다.

 아래는 위의 소스를 실행한 화면이다.





클릭한 사각 박스가 우선 선택 되는 것을 확인 할 수 있다.


-PS-
 가끔 오류가 나는데 Canvas로 된 Container를 선택하는게 아니라 쌩뚱맞게 뒤의 Border를 Swap 할때 선택하게 되서 오류가 난다. 드레그 한 사용자의 잘못이 아니라, 플래시 플레이어에서 이상하게 인식하는 건지 거참 요상하다. 잘되었다가 안되었다가 마음대로다. =_-...







일단 관련 링크는 ☞ 마이크로소프트웨어(http://www.imaso.co.kr)




장소와 대충의 순서는 저렇다.

그런데, 어랏 ? 희정이다. 설마 발표하는 발표자 희정이가 그 희정인가 ?

이곳저곳에 요즘 사진 많이 찍혀 나오더만 =_- 오오 ...

끌리긴 한데, 과제의 케 압박 덕에 못 갈 것 같다.

일단 담주 월요일까지 얼마나 진행 되는지 한번 보고 ㅎ 아 그러면 너무 늦나 ?




  Sandbox 요류에 대해서 많이 조사를 하지 않았지만, 대충 보안 정책상 발생하는 문제 라고 이곳 저곳에서 주워 들었다.  ( 참고 : 링크1 , 링크2   )

  거의 모든 틀을 만들어 놓았다고 조금 낙낙해 있는데, 금일 Editor에 이미지 첨부를 하니 이거 왠걸? 되지 않았다. 물론 FLEX 에서는 정상적으로 이미지 및 HtmlText가 표현이 되었으나, AIR에서는 되지 않는 상황 !!!

  뭔가 잘 못 된 것이 있는지 다시 코드를 짜보고 몇시간 동안 삽질을 하다가 혹시나 하는 검색에 두둥 ... 나와 같은 삽질을 먼저 해본 분들이 몇분 계셨다.

  해결책 ? IFrame 이란 것을 사용하라 ? 일단 사용안해봐서 모르겠고, 둘째는 SandBox 보안 수준을 낮춰라 ? 일단 그것도 접어 두고 ㅡㅡ... AIR 자체로서 그런 기능을 구현하기 어려운듯.

  원래 계획 이었던 모든 등록 관련 한 것은 AIR에서 하고, View만 Web에서 서비스 해주려고 했으나, 어쩔 수 없이 저쪽 한 단면은 웹으로 빼서 사용해야 할 듯 싶다.

  혹시나 해서 AIR에서 HtmlLoader를 통해 웹페이지를 가져오니 ... 아주 잘 된다.
 
  이걸로 문제를 해결해야 될 것 같은데... 요놈의 데이터 전송 부분이 발목을 잡는다. ㅠ_ㅠ

  아참, AIR를 사용하지 않고 파일 전송을 위해서는 FileReference 라는 Class를 사용한다. 내부에 Download, Upload라는 Method들을 내장하고 있으니 자세한 것은 Adobe sdk reference를 참고




결론.
100% 확신하는 것은 아니나, 1.5버전 AIR의 TextArea에서는 보안 정책으로 인해 img 태그가 먹혀들지 않는다.







어이쿠야 ...

웹 프로그래밍을 그닥 해보지 않아서 잘 몰랐었는데 ...


CSS(Cascading Style Sheet)는 마크업 언어가 실제 표시되는 방법을 기술하는 언어로, HTMLXHTML에 주로 쓰이며, XML에서도 사용할 수 있다. W3C의 표준이며, 레이아웃과 스타일을 정의할 때의 자유도가 높다.
- Wikipedia CSS 검색 내용 중 -


요놈이 아주 중요한 놈이렸다...

일단 FLEX에서 TestArea에 htmlText라는 변수를 가지고 있는데 그놈에게 html code를 넣으면 TextArea에 html 코드가 출력이 된다.

그런데, ActionScript 3.0 에서 지원되는 Html tag는 한정적이고 모든 Tag들을 지원해 주지 않았다.

copy & paste를 통해 다른 워드프로그램에게서 데이터를 붙여 넣으면 내부에 선언된 Style 때문에 모든 서식이 깨져 일반 Text만 붙여지게 된다.

웹을 하는 사람들이라면 "당연"히 CSS는 기본이지 라고 할텐데, 그걸 이제사 깨닫다니 ㅡ_ㅡ ...

책을 끝까지 다 보질 않고 막 시작하다 보니 이런 참사가 ㅡ_ㅡ ...

웹표준으로 하기 위해선 이런 CSS를 바탕으로 개발을 !!!

아래는 표준 웹 코딩의 장점이라고 올려주신 포스트




덕분에 추가적으로 공부해야 될 것들이 더 생겼다.

앞으로 남은 시간은 ... 거의 2주. 하앍 ㅡ_ㅡ 미치겠고만 ...

사진임

사진임


AIR에서 작업중이지만... 만들다 만 것. 의외로 RichTextEditor 에서 제공되어지는 기본적인 기능말고 구현하려고 했지만... 결국 만들어진 기능은 RichTextEditor와 별반 달라진게 없다.

사진 업로드랑, 기타 여러가지 더 덧붙여서 수정할 예정 ...

아직까진 많이 부족하다... ㅠㅠ


+ Recent posts