파이어 폭스 를 활성화 시키고

사과 아이콘을 클릭하면

'시스템 종료' 등이 두개가 나온다..

다른 소프트웨어는 괜찮은걸 보면  Firefox 문제 일수도 있는것 같고, ㅎㅎㅎ

여튼 짜증난다기 보다 왠지 반갑다 , 애플 개발자 혹은 Firefox 개발자도 사람이라는 증거 ㅎㅎㅎ
회사에서 원래 Linux PC 를 데스크탑으로 사용하다가

Macbook 을 사고 나서 부터는 Mac을 주로 사용하기로 마음먹었다 ㅎㅎ

우선 Linux PC 에 저장되어 있는 메일을 가져와야 하는데..

thunderbird 는 왜 그렇게 하는지 모르겠지만.. 배포판 ( Ubunu, Fedora, OS x ) 마다 메일이 저장되는 장소 혹은 구조가 좀 다르다.




계정 설정에 Local Folder 부분을 클릭해서 보면 저장되어 있는 장소가 어디 인지 알수 있다.

OS 별 기본 디렉토리

Mac OS X : /$HOME/Library/Thunderbird

Ubuntu : /$HOME/.mozilla_thunderbird

Fedora : /$HOME/.thunderbird


우선 리눅스 피시의 저장장소를 열어 보면 아래와 같은 파일과 폴더가 있는것을 볼수 있다.



우선 쉽게 얘기하면, XXXXX.default 파일과 profiles.ini 만 압축해서 Max OS X 로 옮겨주기만 하면된다.

그런데 Max OS X 의 폴더를 보면 Folder 구조가 좀 다르다


profile.ini 는 존재 하지만 XXXX.default 폴더가 없다.

Max OS X 는 각 profile에 해당하는 폴더를 Profiles에 저장하도록 구성되어있기 때문이다.

사실 Profile 에 해당하는 폴더에 대한 Path는 profiles.ini 에 저장되기때문에

Profiles 에 넣지 않고 profiles.ini 와 같은 폴더에 둔다면 따로 해줄일이 없지만.

Profiles 안에 넣기 위해서는 profiles.ini 의 path 부분을 바꿔 줘야 한다.


profiles.ini 를 수정하지 않고 그냥 Profiles 폴더에 넣게 되면 Thunderbird 가 실행되지 않으니

이점을 유의 해야 한다.






1. Trac 을 통해서 새 프로젝트 생성하기

trac-admin [projectpath] initenv



2. Admin 계정 설정하기

milestone이나 component 등을 설정하기 위해서는 admin 권한이 필요하다.
TRAC에 접속해서 wiki 페이지를 잘 찾아 보면 추가하는 방법이 나와있다.
(http://localhost:8000/my-project/wiki/TracAdmin 문서에 설명이 되어있다.)

방법은 아래 구문과 같다.
trac-admin <my-project pth> add <id> <권한> [<권한>]

예는 아래와 같다.
trac-admin c:\projects\trac\my-project permission add alones TRAC_ADMIN

※ 추가 가능한 권한은 아래와 같은 명령으로 알 수 있다.
trac-admin c:\projects\trac\my-project permission list alones


3. Web에서 Admin 활성화 시키기

{$TRAC_HOME}/conf/trac.ini 파일을 수정해야한다

[components] 옵션에

webadmin.* = enabled 를 추가 해주고 접속 하면 된다 :)

[components] 옵션이라는 항목이 없으면 직접 추가해주면 된다 :)


3. Trac Backup

$ cd /var/lib/trac
$ ls
angelos production test
$ sudo trac-admin angelos hotcopy /media/외장\ 디스크/백업/trac/angelos
Hotcopying /var/lib/trac/angelos to /media/외장 디스크/백업/trac/angelos ...
Hotcopy done.
$ sudo trac-admin production hotcopy /media/외장\ 디스크/백업/trac/production
Hotcopying /var/lib/trac/production to /media/외장 디스크/백업/trac/production ...
Hotcopy done.



Mac OS X 는 Unix-like System 중의 하나인 BSD 를 기반으로 한 운영 체재다.

아무래도 임베디드 리눅스 플랫폼위에서 프로그래밍 하는것을 밥먹고 살다 보니 이런 기반 자체가 친숙하게 다가온다.

자 그럼 Unix-like System 에서 빠질수 없는 쉘을 한번 살펴 보자.


쉘을 써보려면 당연히 Terminal 이 필요 하다.

Terminal 은 위의 스샷과 같이 Application-> Utility 에 존재 한다

> export
declare -x SHELL='/bin/bash'

위에서 보는 바와 같이 Mac OS X 의 default Shell은 Fedora나 Ubuntu 와 마찬가지로  Bash Shell 이다.

Bash shell 은 bashrc 라는 파일을 이용해서 Customizing 할 수 있다.

/etc/bashrc 라는 파일이 모든 유저에게 적용되는 bashrc 파일이고

Ubuntu 나 Fedora 에서는 $HOME/.bashrc 파일을 생성 ( 대부분 이미 생성되어 있다 ) 하여 유저별 Customizing 이 가능하다.

내가 이글을 쓰고 있다는 얘기는 $HOME/.bashrc 가 동작하지 않는 다는 얘기다.

.bashrc 를 불러 주는 건 .bash_profile 이다..

그래서 .bash_profile 을 찾아 보았는데 , 이것도 없다 ㅎㅎ

# .bash_profile

if [ -f ~/.bashrc]; then
        . ~/.bashrc
fi


위와 같이 .bash_profile 을 생성해주면

이제 Terminal 을 실행 실킬때 bashrc 를 실행 해주게 된다. :)
 


이 글은 Feelsync 님의 블로그 http://feelsync.tistory.com/93 를 참조하여 썼음을 알려드립니다.

This article is written based on Feelsync's Blog ( http://feelsync.tistory.com/93 ).


리눅스나 윈도우 처럼 Mac OS/X 에서는 Display 옵션에서 외부 모니터만 사용하는 모드가 없음을 발견했다 ;ㅁ;

I figure out there is no explict way to use external monitor without built-in LCD monitor.

일을 할때 고개돌리는것 조차 ㅎㅎ 귀찮아하는 본인이기에
 
주모니터와 외부 모니터를 함께 쓰는건 여간 귀찮은 일이 아니다 -ㅁ-

When I do my work, even turning my head slightly is annoying me.
So, I really hate use external monitor with built-in monitor

그래서 검색했더니.. 예상외로 엄청 간단하게 가능했다.. ( 근데 왠지 꼼수 같다능 ㅜ.ㅜ )

So I googled, and I can find a simple answer for me.


이 방법은 외부 키보드 혹은 마우스가( USB , BlueTooth )가 있어야 동작한다.

You should use external input device ( USB or BlueTooth Keyboard/Mouse ) to success.

외부 모니터를 설정한후 맥북 덮개를 덮으면.. 잠자기 모드에 들어 간다.

At first, setup the external monitor. And then close the cover to go sleep mode.

그후 외부 키보드나 마우스를 통해서 깨우면 외부 모니터만 활성화되서 잠자기에서 깨어나는것을 볼수 있다 ㅎㅎ

Wake up your MacBook with your external input device, after that you can use external monitor only.

그리고 이렇게 하게 되면 다시 덮개를 연다고 하더라도, 원래 모니터가 사용되지 않는데..

I think you will notice there is no  way to re-enable built-in LCD. 

이때는 사과->잠자기를 한후 덮개를 열어 깨우면 된다.

In this case, you make it go sleep mode and then wake up with Macbook Cover. It will be work

참 쉽죠잉 ? :)

So, Isn't it easy ? :)


본자료는 iphonedevcentral.org에 공개되어있는 Tutorial Video에 의거하여 작성되었음을 알려드립니다.
Video Link : http://iphonedevcentral.org/tutorials.php?page=ViewTutorial&id=49&uid=27391603


리눅스 환경에서 C Programming 을 하면서 밥 벌어 먹고 살다 보니, vim 과 Makefile System을 이용한 CUI 환경에 너무 익숙해져 있어, Xcode의 GUI 환경은 무척이나 불편하고 ㅎ, 생소한점이 많다.

거기다가 언어도 한번도 해본적 없는 Obj-C 라니 orz. 이래저래 공부해야 할것이 태산이다.

이랬거나 저랬거나 언제나 그래왔듯이 새로운 언어와 플랫폼을 공부할때는 역시나 Hello World 를 짜면서 이래저래 살펴 보는게 좋은것 같다.

역시나 Hello World 프로그램 짜는게 가장 자료가 많은것 같다 ㅋㅋㅋ

You Tube 에도 강좌가 올라와 있고 ( 저해상도의 압박으로 보기가 많이 힘들다 )

이런저런 카페에도 글이 많다.

그중에서 가장 괜찮은게 위에 링크 걸려 있는 자료가 아닌가 싶다.

Hello World 프로그램 관련 자료는 꽤나 오래전에 작성된것이 많아 현재 Xcode 버전과도 맞지 않는 점이 많다.

내가 내 블로그에 이런 글을 쓰고는 있지만, 사실 내 글과 링크된 동영상 둘중 하나만 봐야만 한다면 난 당연히 동영상을 볼것임으로 읽는 분들은 꼭 동영상을 한번 보시길 적극 추천한다.

지금 만들어 볼 프로그램은 Button을 클릭하면 Hello World 메세지가 나타나는 프로그램이다.

자 그럼 시작해보자

1. Project 생성하기

사용자 삽입 이미지

위의 이미지에 올라가 있는 것처럼 File->New Project 클릭혹은 단축기를 이용하여, 프로젝트 생성을 시작할수 있다.

사용자 삽입 이미지


New Project 를 실행하면 Iphone 용 Project 혹은 Mac OS X 용 Project 를 선택 할수 있는데,
Iphone 용 Project 중 Window-Based App. 를 선택하면 된다.

하단에 설명이 나와 있는것처럼 Window-based App.는 어떠한 형태의 App.도 될수 있는 가장 원시적인 형태의 App. 라고 볼수 있다. 그외의 타입은 Window-based App. 에서 목적에 따라 기초적인 코드가 자동으로 작성되는 Project라고 생각하면 되겠다.

사용자 삽입 이미지

Project 이름을 결정하고 ( 당연히 Hello World ) 로 하고, 'Save'버튼을 누르면 Project 생성이 완료된다.

2. Interface Builder를 이용한 Inteface 설계및 Class 생성하기

사용자 삽입 이미지

Project 생성이 완료 되고 나면 Interface Builder(이하 IB) 를 통해서 UI 를 디자인 하고 해당 Class 를 등록해야한다.

현재 Project의 UI design 을 위해 IB 를 실행시키기 위해선 .xib 파일을 더블 클릭 하면 된다.

좌측 Overview 칼럼에 Project의 하부 그룹들중에 Resources 을 열어 보면 MainWindow.xib 를 찾을 수 있다.

사용자 삽입 이미지

위의 그림은 IB 를 실행 시킨 모습이다. 최초에 IB 를 실행하면 우측에 있는 윈도우가 없다 ( 나는 없었다 ㅜ.ㅜ )

Tools -> Identity Inspector 를 클릭하면 짠하고 나타날것이다 :)

제일 먼저 해야 할일은 윈도우에 View 를 할당하는 고, View를 컨트롤 하게 될 클래스를 설정하는것이다.

사용자 삽입 이미지

Library Window 를 살펴 보면 View 라는 컴포넌트가 있다. View를 드래그 하여 Window 창에 놓자.

드래그를 하면 최초그림과 달리 Window가 파랗게 변했음을 알수 있다.

파란색으로 색칠된 영역만큼 방금 할당한 View가 보여지게 된다. 영역의 크기는 변경가능하다.

이제 View를 넣었으면 Button 과 Hello World 를 표기할 Label ( Textbox 정도로 생각하면 되겠다 ) 을

생성할차례다


사용자 삽입 이미지

라이브러리 윈도우를 찾아오면 Round Rect Button 과 Label Component 가 있다. 각 컴포넌트를 View에 적당한 위치에 넣고 크기를 알맞게 적용 하면된다.

라벨과 버튼을 각각 더블클릭하면, 초기 텍스트를 변경할수 있다.

자 이제 Button 과 Label Component 를 처리 할 Class를 정의해야한다.

Window 창에서 UIView영역을 클릭하고 Identity 창 중 네번째 Tab(i) 를 클릭해보면

클래스 이름및 속성을 설정 하는 부분이 나온다.

사용자 삽입 이미지

Class 이름을 정의하고, Class Action ( Method 라고 생각하면 되겠다 ) 에 Button Event를 처리할
Action을 추가 하고, Class Outlets (Member Var 이라고 생각하면 되겠다 ) 에 Label과 연결된
Outlet을 추가 하자.

이때, 선언된 Outlet은 Label과 연결될것이기 떄문에 Type에 UILabel 이라고 써줘야 한다.

자 이제 UI Component(Label, Button)과 Class 를 연결할일만 남았다.

Identity Window 의 두번째 Tab (->) 으로 이동하자

사용자 삽입 이미지

위의 그림과 같이 Outlet 혹은 Action 을 Window창에 보이는 컴포넌트와 시각적으로 연결 시킴으로써, Class 와 Component를 연결시킬수 있다.
Outlet : mainText -> Label, Action : showText -> Button
이렇게 연결 시키면 된다.
showText를 연결시킬때는 어떤 이벤트에 대해서 연결한것인지 묻는데
'Touch Up inside'를 선택하도록 하자.

자 드디어 IB 에서 할일은 거의 끝났다.

마지막으로 File->Write Class File 을 선택하여 Xcode에 생성되어있는 Project 와 연결 시키면 된다.

'Write Class File' 을 선택하면, 저장여부를 묻고 Xcode에 열려 있는 Project에 추가 하겠냐는
창이 나오는데, 저장한후 HelloWorld Project에 추가 하면 된다.

자 이제 IB 를 종료 하고 Xcode로 돌아가자.
 
3. 코드 작성하기

사용자 삽입 이미지

Xcode로 돌아 가면, 아까 IB 에서 생성한 Class 가 Products 그룹에 있는걸 알수 있다.
우리가 구현하는 프로그램은 Button 과 Label 만 사용하는것이고, Class 와 Component가 연결된 상태이기 때문에 MainView Class만 수정하면 된다.

.m 과 .h 파일을 Classes 에 옮긴후 ( Class 니까:) ) , 수정하도록 하자

MainView.h

#import <UIKit/UIKit.h>
#import <Foundation/Foundation.h>

@interface MainView : UIView /* Specify a superclass (eg: NSObject or NSView) */ {
    IBOutlet UILabel *mainText;
}

@property (nonatomic, retain) UILabel *mainText;

- (IBAction)showText;
@end


MainView.m

#import "MainView.h"

@implementation MainView

@synthesize mainText;

- (IBAction)showText {
  mainText.text = @"Hello World"; 
}
@end


빨간색 으로 처리된 부분이 새로 추가된 코드 부분이다.

생성된 MainView Class 에는 Super Class 선언이 빠져 있음으로 Super Class선언을 해주어야 한다.
MainView Class는 View Component 에 연결된 Class 이고, View Component는 UIView Class를
가져야 함으로 Super Class를 UIView 로 설정하도록 한다.

Property 와 Synthesize 부분은 아이님의 블로그에 자세하게 설명 되어 있으니, 참고 하길 바란다.

자 이제 모든 작업이 끝나고 기쁘게 실행 해보면 된다.


4. 실행하기


사용자 삽입 이미지

Xcode 창 상단에 Build and Go 를 선택하면 Build 한후 실행을 할수 있다.

그전에 Target이 iPhone Simulator로 설정 되어 있는지 확인해야 한다.

아래 화면은 Hello World 가 실행 된 모습이다.

사용자 삽입 이미지



어떤 프로그래밍 공부건 Hello World 를 짜보는것으로 그것을 할줄 안다고 자신있게 말할순 없다.
하지만 Hello World 프로그램을 짜보면 많은것을 알수 있다.

방금 해본 프로그램에서도 아주 기초적이지만, IB 를 사용하는법과,
Objective-C 에서의 Class 를 사용하는 법을 훓어 볼수 있었지 않나 생각한다.



사용자 삽입 이미지

   # 물론 이처럼 걸어 간건 아니지만 -ㅁ- , Top of Europe ! 이라는 융푸라우요후 에 갔습니다 :)
      뭐. 진짜 융푸라우요후 가 유럽에서 가장 높은지는 모르지만, 해발 4000미터라는 엄청난 높이의
      산에 편안하게 기차를 타고 :) 갈수 있다는 사실이 매우 즐겁고, 놀라운 일이었습니다.
      우리나라는 허접한 케이블카토 매번 고장난다는데 ;ㅁ;

사용자 삽입 이미지

    # 융프라우요후에 가기전에 중간 기차역 정도 되는곳에 잠시 정차를 하고 밥을 먹었는데..
       아래로 이런 길이 보였습니다 이곳도 해발 2000미터나 되니 후덜덜하죠 ㅎ

사용자 삽입 이미지

     # 제가 올라갈 융프라우요우가 자그만한 호수에 비친 모습이 참 이쁩니다 :)

사용자 삽입 이미지

    # 이곳이 해발 4000미터의 융프라우요후, 7월의 한 여름이지만, 이곳의 만년설은 녹지 않고
      나를 반겨 주었습니다.


사용자 삽입 이미지

     #  융프라우요후 전망대에서 동굴을 지나 밖으로 나가면 이처럼 한여름에 썰매를!! 즐길수 있답니다 :)

사용자 삽입 이미지

      # 이게 7월달의 풍경이라니 :(

사용자 삽입 이미지


    # 유럽현지 출장의 묘미는 관광이 아닌가 하는 사장님이 알면 싫어 할만한 생각을 해봅니다 :)
       융프라우요후에 갔을때는 한국 사람도 많이 봤는데.. 돈 아낄려고 소시지 하나를 4명의 남자가 나눠
       먹는것도 봤습니다 -ㅁ-, 전 "사장님 감사합니다"를 외치며, 먹는데 돈을 아끼지 않았고요 :)

       융프라우요후가 스위스에서 너무 유명한 관광지라, 지난 출장에는 오지 않았는데..
       겨울에 왔으면 더 멋졌을꺼란 생각에 아쉬움이 많이 남습니다 ;ㅁ;
       겨울즈음에 제품에 버그를 좀 심어서, 다시 올까 하는 생각도 해봅니다 ㅎ

   





   
사용자 삽입 이미지


luzern in swiss.
사용자 삽입 이미지

* 이태원에 자리 잡은 나의 작업실.
* 그림 그리시는 분들 방에 몰래 침투 하여, 한장 +ㅁ+
사용자 삽입 이미지

+ Recent posts