이번 이야기는 Google Code Project, Subclipse, Mylyn 의 후속편 입니다.

Mylyn 의 connector 중에서 web template 를 라는 connector 가 있더군요. 당연히 자주 사용되어지는 Google code project 역시 사용할 수 있습니다.

   

오늘은 Mylyn 의 web template 를 사용해서 google code project hosting 의 Task 들을 eclipse 의 TaskList 로 가져오는 작업을 해보도록 하겠습니다.

   

이 내용은 당연히 SVN, Eclipse, Subclipse, Mylyn, Google code Project Hosting 에 대해 알고 계시는 분들을 대상으로 합니다.

   

Mylyn Incubator > web templates 업데이트 하기

Eclipse 의 Software Updates... 를 선택해서 업데이트 창을 띄웁니다.

   

Add Site... 를 눌러서 http://download.eclipse.org/tools/mylyn/update/incubator 를 추가해줍니다. 제 경우에는 이미 설치가 되어 있겠죠.

   

우리가 설치해야하는 web templates connector 는 위와 같습니다. 하지만, 이것만 딸랑 인스톨 하려고 하면 에러가 뜨는데요. 그럴땐 Mylyn for Eclipse 3.4 와 Mylyn Extras 들을 같이 체크해서 인스톨 받도록 합니다.

   

설치가 되면 Eclipse 를 재시작 하라는 메세지가 나옵니다. 재시작 하면 지금까지 설정해놓은 Perspective 들이 모두 초기화 되어버리는 상황이 벌어지는데요. 업데이트의 영향이니 좀 불편하더라도 다시 설정을 하시면 됩니다.

   

Google Project Hosting 의 Issue Data 들 가져오기

우선 새로운 Task Ropository 를 만듭니다.

   

위와 같이 Web Template 가 추가되어있는걸 확인할 수 있습니다. Next 를 눌러서 진행합니다.

   

보면 위와 같이 Google Code 가 있습니다. 선택하고 자신의 프로젝트에 맞게 수정을 해줍니다.

   

제 경우에는 프로젝트 아이디가 (ssen-library) 라서 위와 같이 설정을 해주었습니다. (상단의 에러표시는 같은 URL 의 저장소가 이미 존재하기 때문입니다. 신경 안써도 됩니다.)

   

저장소를 만들었으면, 이제 저장소의 내용을 가져올 새로운 쿼리를 만듭니다.

   

맨처음 쿼리를 만들면 Query URL 과 Query Pattern 이 위와 같이 되어있는데요. 그것을 아래와 같이 수정합니다.

   

Query URL : ${serverUrl}/csv

Query Pattern : "({Id}[0-9]+?)","({Type}.+?)","({Status}.+?)","({Priority}.+?)","({Milestone}.+?)","({Owner}.+?)","({Description}.+?)"\n

   

쿼리 URL 은 위에 보이는 CSV 링크의 url 이 됩니다. 해당 url 을 다운받아서 메모장으로 열어보면 아래와 같이 CSV 포맷으로 보이는데요.

   

   

Query Pattern 은 이 CSV 패턴을 해석하는 역활을 하게 됩니다. 제 경우에는 Component 를 추가적으로 오기 때문에

   

"({Id}[0-9]+?)","({Type}.+?)","({Status}.+?)","({Priority}.+?)","({Milestone}.+?)","({Component}.+?)","({Owner}.+?)","({Description}.+?)"\n

   

이렇게 설정되어있습니다.

   

뭐 하지만 유감스럽게도 web template 이 가져오는 정보는 ID, Status, Owner, Summary 뿐이기 때문에 Priority 나 Type, Milestone 같은 중요한 데이터들을 대부분 연동해서 볼 수가 없습니다. 뭐 인큐베이팅 중인 확장이라서 아직 부족한 부분이 있는게 아닐까 싶네요.

   

Google Code Project 의 Issue 관리하기

Issue 를 좀 더 편하게 사용하기 위해서는 Admin 에서 어느정도 셋팅을 해주는게 좋습니다. 뭐 별로 어려운 부분은 아니니 자세한 설명은 생략하고 그냥 스크린샷만 보여드리도록 하겠습니다.

   

   

설정한 Issue 라벨들의 경우엔 실제 이슈 생성시에

   

이렇게 작동을 하게 됩니다.

   

   

   

개인적으로 템플릿은 프로젝트 멤버 (개발자) 가 사용할 새 작업사항과 유저가 리포팅을 할 오류보고만 만들어놓았습니다. 입맛에 맞게 더 추가하면 됩니다.

   

그리고, 아랫쪽의 Default columns shown in list view 는 Label Type-XXX 의 Type 과 연동이 됩니다. 만일 여러분이 Label 에

   

Module-Core

Module-Extension

   

이라고 추가를 해놓고, 위의 리스트에 Module 을 추가시켜 놓으면

   

이 리스트 상에 Module 이 추가되어 나오는 거죠.

이번 이야기는 Trac on Windows, Subclipse, Mylyn 의 후속편 입니다.

TOW 와 Mylyn 을 사용한 프로젝트의 관리는 장점들이 많지만, 아무래도 늘 상 서버를 켜놓아야 한다는 부담이 있기 때문에 선뜻 사용하기가 어렵습니다. 그리고, 이동성의 문제나 소스코드 공유나 배포의 문제점도 있죠.

   

그래서, 오늘은 특별한 개인 서버 없이 사용할 수 있는 Google Code Project Hosting 을 사용해서 프로젝트를 관리하고, 또 Mylyn 으로 내부적인 task 들을 관리하는 방법들을 이야기해 보겠습니다.

   

참고로 여기에 나오는 내용들은 기본적으로 eclipse 나 subclipse, svn, mylyn 이 뭔지 아는 분들을 대상으로 합니다.

   

Google Code Project 에 Project 만들기

http://code.google.com/hosting/ 에 들어가셔서 자신의 google 아이디로 로그인을 일단 합니다.

   

(아... 참고로 google code project hosting 은 오픈소스 프로젝트들을 지원할 목적으로 만들어진 녀석인지라 모든 소스코드가 공개되게 됩니다. 그게 싫다면 사용하지 않는게 좋습니다.)

   

하일라이트 된 "Create a new project" 를 누릅니다.

   

그럼 이런 화면이 나오게 되는데요. project name 은 domain 으로 사용되기 때문에 소문자로 써주도록 합니다. Summary 나 Description 역시 적절히 써주고, 이제 아래쪽에 license 를 선택해 줍니다.

   

오픈소스 라이센스들이 나옵니다. 라이센스에 대해서는 적절히 찾아서 써줍니다.

   

혹은 이렇게 CCL 로 사용해줄수도 있습니다. 뭐 오픈소스 라이브러리를 배포할 생각이 아니라면 딱히 자세하게 기록할 필요는 없지만요.

   

뭐 프로젝트를 만들었으면 상단의 Profile 을 누르면 위처럼 이동을 하게 됩니다. Project Ownership 은 자신이 운영하는 Project 의 리스트를 보여주는거구요.

   

그 옆의 tab 인 Settings 를 누르면 위와 같은 화면이 나오는데요. 저기 보이는 "Your googlecode.com password" 가 중요합니다. (개인비밀번호라서 가렸습니다) SVN 의 비밀번호가 되거든요. 구글코드의 비밀번호는 개인이 지정할 수 없고, 자동으로 생성되는 8자리 난수를 비밀번호로 사용하게 됩니다. 비밀번호를 교체해야 할때는 아래 보이는 Regenerate 를 눌러서 바꿔주면 됩니다.

   

프로젝트 사이트 접속하기

아까전 만든 project site 로 이동해보도록 하겠습니다. 아까전 만들었던 프로젝트의 project name 이 ssen-test-project 였었죠.

   

도메인은 http://code.google.com/p/ssen-test-project/ 가 됩니다. 하지만... 쓰잘데기 없는 쓰레기 프로젝트를 만들기 싫었는지라 최종적으로 프로젝트 생성 버튼은 안눌렀기 때문에 링크를 따라 들어가도 프로젝트는 없습니다.

   

예제를 개인 프로젝트로 보여드리죠. 최초 인덱스 페이지는 위처럼 나오게 됩니다.

   

Updates 를 누르면 위와 같은 화면이 나오게 되는데요. 이 화면에서는 wiki 나 svn 의 update 현황을 보여줍니다. 예를 들어 저 r2 라는 릴리즈 링크를 누르면

   

이렇게 릴리즈 별로 수정된 파일들의 리스트가 나오게 되고, 소스파일들의 경우 어떤 부분이 어떻게 수정되었는지의 분석이 나오게 됩니다.

   

Downloads 의 경우엔 배포할 파일을 등록하는건데, 아직 작업중인지라 등록한게 없네요. action script library 를 만들어서 배포할 생각이라면 swc 파일을 등록해주면 되겠죠. 그 옆에 wiki 가 있고 (wiki 가 뭔지는 다들 아시겠죠...;;;) Issues 의 경우엔 버그리포팅등을 받거나 할 수 있는건데... 딱히 사용할만하지는 않습니다.

   

이제 Source 에 가면 위와 같은 화면이 나오는데요. 여기서 Browse 는

   

이렇게 소스코드를 보여주고

   

Changes 는 이렇게 커밋 이력을 보여주게 됩니다.

   

그리고, 이 https 로 시작하는 url 이 이제 SVN 의 주소가 됩니다.

   

Subclipse 에서 SVN check out 받기

subclipse 에서 이렇게 새로 Repository Location 을 새로 등록해 줍니다.

   

등록해줄 주소는 아까전에 https 로 시작하는 주소를 입력해주면 됩니다. Finish 를 누르면 아이디/비밀번호를 물어보게 되는데 아이디는 자신의 구글 아이디를 입력하고, 비밀번호는 아까전에 봤던 자동으로 생성되는 비밀번호를 입력해줍니다.

   

뭐 그러면 SVN Repositories 에 위와 같이 나올텐데요. 여기서

   

trunk 에 오른클릭을 한 다음에 check out 을 받습니다.

   

check out 을 받다보면 이렇게 내려받을 소스들을 어떤 project 로 만들지를 결정하게 됩니다. 대충해서 내려받도록 합니다.

   

그러면 이렇게 Project Explorer 에 check out 받은 것들이 나오게 되는데요. 맨처음에 해줘야 할 일은

   

filters 를 선택해서

   

.* 의 filter 를 풀어주고

   

아무런 .* 에 해당하는 파일들 (.project 같은류의 이클립스 프로젝트 구성 파일들) 을 선택해서 오른클릭 한 다음

   

이렇게 Team > Add to svn:ignore 를 해주도록 합니다.

   

제외패턴에 .* 을 추가해주면 SVN 이 취급할 파일들에 쓰잘데기 없는 이클립스 설정파일들은 제외되게 됩니다. 이걸 해주지 않으면 쓸데없는 파일들까지 커밋이 되어서 매우 지저분한 svn 저장소가 되겠죠.

   

그리고, 위에 보이는 build.ant 처럼 노출되어선 안되는 파일, 폴더 들의 경우 역시 제외패턴에 등록해줘야 합니다. 특히 ant 에 ftp upload build 등을 만들어뒀다면 정보유출 가능성도 있기 때문에 조심해야겠죠. (google code search 로 검색하다보면 ftp 비밀번호 확 드러난 애들 꽤 있거든요...;;;)

   

여기까지 작업이 되었다면 이제 평범하게 SVN 을 사용하듯 해주면 됩니다.

   

Mylyn 을 사용해서 Local Repository Task 관리하기

mylyn 을 사용하면 기본적으로 이렇게 Local Task Repository 가 주어지게 됩니다. Trac 이나 Bugzilla, JIRA 와 같은 외부 서버를 사용하는 Task Repository 가 아닌, Eclipse 내부적으로 사용하는 것이지요. 당연히 Trac 이나 Bugzilla 와 같이 고급화된 기능은 제공해주지 못하지만 혼자서 작업하는 경우엔 그럭저럭 쓸만한 편입니다. 무엇보다 서버없이 Trac 과 같은 Task 관리를 사용할 수 있다는게 장점이지요.

   

mylyn 의 local repository 는 trac 처럼 로드맵, 버전같은 분류를 지원해주지 않습니다. 그래서 이렇게 분류가 필요한 task 들을 묶을 category 를 만들어서 관리해주는 것이 좋습니다. 저기 보이는 ssen library 0.1 이란 버전 카테고리를 만들어서 사용하는 것처럼요.

   

그리고, 새로운 task 를 만들때는 위에 보이는 new task 버튼을 눌러서 만들어줍니다.

   

task 를 새로 만들어서 이렇게 써줍니다. 일단 기본적으로 제목과 작업우선순위 (Priority) 를 지정해줍니다. Status 는 Incomplete (작업 미완료) 와 Complete (작업 완료) 를 지정해주게 됩니다. 그 아랫쪽으로 작업에 대한 스케쥴 계획을 지정할 수 있는데요. 필요하다면 Due date 등을 지정해주면 좋습니다.

   

그렇게 이것저것 task 들을 만들어주면 이렇게 리스트가 보여지게 되는데요. 앞쪽의 아이콘 표시를 보면 알겠다시피 Priority 와 Complete 에 대한 상황을 표시해주게 됩니다. 완료 목록의 경우 strike 처리가 되어서 보이게 되죠.

   

Mylyn 의 Task Activation 사용해서 작업하기

마지막으로 Mylyn 의 task activation 을 살펴보도록 하죠.

   

task 리스트의 앞쪽을 보면 저렇게 동그라미 표시들이 있는데요. 위에 채워져서 보이는 동그라미 (폰트가 bold 처리된 녀석) 은 현재 작업 활성화가 되어있다는 뜻입니다.

   

일단 간단한 시나리오를 보여드리자면

   

이렇게 Activation 을 클릭해서 바꿔주게 되면

   

Eclipse 의 작업창들이 모두 닫혀지게 됩니다. 이것은 새로운 task 의 작업이 시작되었다는 것을 의미하죠.

   

그리고 이렇게 소스코드 몇개를 열어놓은 다음에

   

Activation 을 해제해 주면

   

다시 작업창들이 닫히게 됩니다.

   

그리고, 다시 Activation 을 활성화 해주면

   

이렇게 닫혔던 작업창들이 다시 열리게 됩니다.

   

즉, task 의 activation 단위로 최종 작업환경을 기억해주기 때문에 task 의 흐름대로 체계적인 작업관리를 해줄 수 있습니다. 보통 tab 을 스스로 열고, 닫고 하면서 작업하시는 분들의 경우 맨 처음엔 익숙지 않아서 당황할 수 있으나, 익숙해지면 매우 편리해지게 됩니다.

   

그리고, 이렇게 task 가 활성화된 상태에서 svn 커밋을 시도하면

   

커밋시에 이렇게 자동으로 안내 메세지가 입력되게 됩니다.

   

프로젝트를 오랫동안 진행하다보면 커밋 로그를 분석하는 것도 상당히 피곤한 일이 되는데, 이렇게 task 단위로 작업하고, task 단위로 커밋을 하다보면 자신이 어떻게 작업을 했었는지에 대해서 쉽게 쉽게 파악을 할 수 있습니다.

AS3 Friends : FABridge

AS Friends | 2008/12/26 18:30 | 안데르센

ActionScript 와 JavaScript

Flash 와 HTML 은 할 수 있는 영역의 일이 완전히 틀리다고 할 수 있을 정도로 그 활용성이 차이가 납니다. 그렇게 틀리기에 서로 섞어서 사용하면서 많은 시너지 효과를 만들어내게 됩니다. 그리고, 웹개발 시에 Flash 에 익숙하지 않은 웹개발자들과의 협업에 있어서도 자주 사용되고, Flash 가 가진 컴파일해야 한다는 단점을 극복하기 위해서도 자주 사용됩니다.

   

보통은 ExternalInterface 를 사용하지만, 조금 복잡성이 있는 작업의 경우엔 어느덧 beta 딱지를 떼고 정식으로 Flex framework 에 포함된 FABridge (Flex - Ajax Bridge) 를 사용해보는 것도 괜찮습니다.

   

FABridge 의 기능?

사실 저도 많이 사용해보진 않은지라 뭐라 말하기가 애매한데, 구지 FABridge 에 대한 것을 설명하자면 이게 ExternalInterface .call() 보다는 ExternalInterface.addCallBack() 에 대한 고급화라고 볼 수 있을것 같습니다. 그러니깐 ActionScript 가 JavaScript 에 간섭할 수 있는 기능보다는 JavaScript 가 ActionScript 에 간섭할 수 있는 기능에 더 특화되어 있습니다.

   

Document 도 없고, 예제도 없는지라 딱 확정지어서 말하기는 어렵지만 일단 제가 파악하고 있는 바로는 그렇습니다.

   

ActionScript 측 작업하기

아… 일단 Flex 와 FABridge 연동은 구글 뒤져보면 우르르 나오므로 패스하고, 개인적으로 MXML 을 사용하지 않기 때문에 ActionScript 위주로 설명하겠습니다.

   

FABridge 의 as 파일과 js 파일은 위와 같이 Flex SDK 안에 포함되어있습니다. (왜 이렇게 숨겨둔걸까…;;;)

   

일단 보시다시피 FABridge 는 Flex framework 에 포함되어져 있기 때문에 FABridge 순수한 Flash 프로젝트나 playerGlobal.swc 만을 사용하는 순수 ActionScript 프로젝트에서는 as 파일만 임포트해서는 사용할 수 없습니다.

   

그래서 이렇게 Flex 상에서 간단한 라이브러리 프로젝트를 구성해서 swc 를 찍어냈습니다.

   

그렇게 찍어낸 swc 파일을 사용하면 Flash 프로젝트나 순수 ActionScript 프로젝트에서도 별다른 번거로움 없이 이렇게 FABridge 를 사용할 수 있습니다.

   

미리 말했듯이 FABridge 는 JavaScript 에서 ActionScript 로 간섭하는 편입니다. 그러므로 ActionScript 상에서는 그닥 해줄만한게 없는 편입니다.

   

주석에도 달아놓았지만 테스트용으로 만드는 txt 와 btn 을 public 이란 것을 확인하고, FABridge 객체의 초기화 부분을 잘 살펴보도록 합니다. 첫번째는 FABridge 의 target 이 될 Object 를 두고, 두번째는 연결할 FABridge 의 ID 를 적습니다.

   

JavaScript 측 작업하기

먼저 JavaScript 측 작업을 하는데 있어서 FABridge.js 파일의 swfobject 에 맞춰진 수정본은 "머드초보" 님의 자료를 참고했음을 밝힙니다. (http://mudchobo.tomeii.com/tt/305) swfobject 를 사용하는 분들은 URL 에 있는 압축파일을 다운받아서 그 안에 있는 FABridge.js 파일을 사용하도록 하세요.

   

기본적으로 주어지는 FABridge.js 파일은 swfobject 와 같이 사용할 시에 에러가 튀나오게 됩니다.

   

그러면 간단하게 코딩을 해보도록 하죠.

주석을 달아놓았습니다.

   

우선 23번 라인의 var bridgeID 가 43번 라인에서 flashVars 의 bridgeName 으로 들어가게 되고, 51번째 라인에서 swf 에 전달되게 되죠. 이렇게 전달된 bridgeName 파라메터는 ActionScript 에서 사용되게 됩니다.

   

그리고, 24번째 라인은 55번째 라인에 보이는 <div> 의 id 값입니다. (swfobject 에 관계된 내용이니 넘어가겠습니다.)

   

주목해야 하는 부분은 32번째 라인입니다. 여기서 var swf 는 FABridge.fabridge(=bridgeName).root() 를 대입받게 되고, 이후 swf 는 ActionScript 에서의 FABridgeTest 로 취급되게 됩니다.

   

그렇게 되기에 37번째 라인에서 getBtn() 을 통해서 ActionScript 상의 btn 을 가져오게 되죠.

   

이 ActionScript 상의 btn 을

   

이렇게 getBtn() 으로 가져오게 됩니다.

   

테스트 해보기

아… 당연한 이야기지만, JavaScript 와 연동부분이기 때문에 그냥 HTML 을 더블클릭해서는 보안때문에 실행이 안됩니다. 웹서버 상에 올려서 테스트를 해야 합니다.

   

   

테스트를 해보면 이런 화면이 나오게 됩니다.

   

Flash 상의 버튼을 누르면

   

이 부분의 코드가 실행되면서

   

정상적으로 alert 이 뜹니다.

   

뭐 HTML 측의 button 을 눌러도

   

이 부분이 실행되고

   

다시 ActionScript 쪽의 이 메서드가 호출되면서

   

이렇게 Flash 상의 txt 에 안내문이 찍히게 되죠.

   

그리고, 약간의 응용력을 발휘하면 이렇게도 되겠죠.

   

정상적으로 찍히는 것을 확인할 수 있습니다.

   

ActionScript 에서 javaScript function 호출하기

아니 이렇게 JavaScript 에서 ActionScript 로 간섭하는건 되는데 어째서 ActionScript 에서 JavaScript 에 접근하는건 없는거지? 라는 생각을 한참 했습니다. 이상하더라구요…

   

근데 생각하다 보니깐 그건 그냥…

   

ExternalInterface.call() 해도 되겠더만요…;;;

   

FABridge

보통 웹개발자들이 ActionScript 를 모르고, 왠만한 경우 웹개발자가 만든 JavaScript function 을 액션개발자가 호출하는 형태의 업무가 되므로 이 FABridge 에 대한 활용도는 현재의 개발자 생태계에서는 쓸일이 거의 없는 편일겁니다.

   

뭐 구지 쓴다고 해봤자 매번 링크 수정될때마다 캐귀찮게 플래시 수정해달라는 요청을 떼버리기 위해서 UI 용도로 만들어진 swf 에 직접 EventListener 를 걸수 있도록 환경셋팅 해주는 정도겠지요. 그 외에는 딱히 뭐따 써야할지 생각이 안나는 물건이네요. 아무래도 JavaScript 가 ActionScript 내부에 간섭할만한 일이 많지 않기 때문이지요.

   

흠… 아닐라나 일단 JavaScript 상에서 ActionScript 상의 메서드 호출이 가능하기 때문에 보통 ActionScript 에서

   

var info:String = ExternalInterface.call("jsFunction") as String;

   

과 같은 형태로 되는 작업을 JavaScript 상에서

   

swf.setInfo(str)

   

과 같이 사용할 수도 있게 되어서, JavaScript 연동시에 고질적으로 발생하던 타이밍 문제 (JavaScript 상에서 ActionScript 의 구동 시점을 결정하지 못하는 것) 을 해결하는데 사용되어질수도 있겠네요.

   

뭐… 일단 사용하기가 무척 불편하던 ExternalInterface.addCallBack 보다는 매우 편리하게 사용되어질 수 있으므로 연구를 해보면 여러모로 활용처가 생기지 않을까 싶습니다.

   

FABridge 에 대해서 좀 더 자세히 알길 원한다면

   

http://www.adobe.com/kr/devnet/flex/articles/framework_beta_fabridge.html

   

이 주소로 가서 알아보세요.

강좌를 쓰는데 스크린샷을 꼭 찍어야 할때가 있는데 Print Screen 키 누르고, 그림 저장하고, 다시 자르고, 업로드 하고, 문서에 넣고… 할 필요없이 바로 바로 글 쓰는데 필요한 간단한 팁입니다.

   

원노트의 경우

원노트의(오피스2007에 포함되어 있음) 경우 자체적으로 스크린샷 기능 (Window + S) 가 있기 때문에 쉽게 스크린샷을 찍을 수 있습니다.

   

원노트를 설치하고, 실행시키면 트레이바에 위와 같이 원노트 아이콘이 뜨게 됩니다.

   

오른 클릭을 해서 옵션 > 화면 캡처 기본값을 클립보드에만 복사 로 바꿉니다.

   

이렇게 셋팅을 완료하면 이제 그냥 원노트에서 글을 씁니다. 스크린샷을 첨부하고 싶을때는 단축키 Window + S 를 눌러서 스크린샷을 찍고, Ctrl+V 로 붙여넣으면 됩니다.

   

그리고, 글 작성이 다 끝나면

   

이렇게 해당 글의 목차에 오른클릭을 해서 블로그에 게시를 선택합니다.

   

그러면 써놓은 글들이 워드로 열리게 되는데, 블로그 계정이 셋팅되어 있지 않다면 계정관리를 누릅니다.

   

티스토리 계정이 있다면 티스토리 계정으로 들어가서 BlogAPI 설정을 합니다. 티스토리 계정이 없으면 티스토리 계정을 만들던, 하여튼 MetaWeblogAPI 나 BlogAPI 를 지원하는 블로그툴을 사용해서 API 주소를 알아냅니다.

   

그렇게 알아낸 API 주소를 워드의 계정관리에 추가해줍니다.

   

그림옵션은 반드시 "내 블로그 공급자" 로 설정합니다.

   

그러면 (계정이 여러 개라면) 이렇게 계정을 선택할 수 있게 나오는데… 다 셋팅이 되었으면 이제

   

게시를 누르면 자동으로 블로그 계정으로 올라가게 됩니다.

   

원노트의 단점

원노트의 단점은 아무래도 이게 HTML 기반의 문서를 작성하는 툴이 아닌, 오피스 형식의 문서툴 이라서 Flash 나 사운드를 삽입한다거나 CSS 를 사용해서 테이블을 꾸민다거나 하기가 어렵고, 무엇보다 폰트설정이 기본 맑은 고딕으로 되어있어서 퍼블리싱 된 문서를 보는 사람 컴퓨터에 클리어타입 설정, 맑은 고딕 폰트가 없으면 매우 매우 곤란해지는 경향이 있습니다.

   

왠만하면 상대방에 맞춰줘도 되겠지만, 매우 귀찮으므로… 맑은 고딕은 인터넷에 많으니 알아서 다운받아서 컴퓨터에 깔라고 하고, 클리어타입 설정은 아래 URL 에서 하라고 하면 됩니다. (까놓고 말해서 맑은고딕 + 클리어타입이 가독성이 더 높습니다.)

   

클리어타입 설정 : http://www.microsoft.com/typography/cleartype/tuner/Step1.aspx

 

윈도우 라이브 라이터의 경우

원노트와는 다르지만 윈도우 라이브 라이터라는 프로그램 역시 있습니다. 이건 프리웨어라서 그냥 검색해서 다운받으면 됩니다. 하여튼 설치합니다. 실행시켜보면 우선

   

 

계정을 추가해줍니다.

   

아까전의 티스토리 계정을 추가하기 위해서 기타 웹로그 서비스를 선택하고

   

티스토리 주소와 함께 아이디/비밀번호를 적어줍니다.

   

뭐… API 주소를 입력하고 어쩌고 할 것없이 그냥 알아서 찾아줍니다.

   

설정 완료 화면이 나오면서 블로그 연결이 됩니다.

   

라이브 라이터에는 원노트와 같은 스크린샷 찍는 기능이 없습니다. 원노트가 깔려있다면 그냥 Window + S 단축키로 스샷을 찍어서 Ctrl+V 붙여넣기를 하면 되지만, 원노트가 깔려있지 않다면 PicPick 과 같은 전문 스크린샷 프로그램을 사용하도록 합니다.

   

PicPick : http://picpick.wiziple.net/

   

PicPick 을 다운 받아서 실행시키면

   

아래쪽에 이렇게 팔렛트 모양의 아이콘이 뜨게 되는데

   

오른클릭을 해서 이렇게 영역을 지정하여 캡쳐하기를 하면 원노트의 부분 캡쳐와 같이 사용할 수 있게 됩니다.

   

캡쳐 환경설정 > 캡쳐 방식은 클립보드에 복사로 해두는게 좋고

   

캡쳐 환경설정 > 기능 단축키 설정 에서 영역지정 스크린샷 찍기를 단축키로 지정해놓으면 더 편합니다.

   

역시 작성이 끝나면 게시하기를 눌러서 올리면 됩니다. 혹은 문서를 중간까지만 저장하려면 임시저장을 눌러서 저장한 다음에 나중에 다시 열어서 이어쓰기를 하면 됩니다.

23 번 라인의 define 두번째 인자를 null 로 넣어주면 제대로 돌아가게 된다.

이전 1 2 3 4 5 6 ... 16 다음