개발과삶2010/03/13 09:16
구글 앱스 마켓플레이스는 기업용 웹 애플리케이션을 판매하고 End User들은 이를 사용하는 구조의 오픈 앱 마켓입니다.
구글 앱스 계정을 이미 갖고 있을 경우 무료/유료의 웹 애플리케이션을 마음대로 사용할 수 있으므로 솔루션을 별도로 개발하거나 시스템을 직접 운영하기 힘든 기업의 경우 또는 관리를 아웃소싱하려는 기업에는 훌륭한 기회가 되리라 봅니다.

구글앱스 계정으로 로그인한 상태에서 앱스 마켓플레이스에서 애플리케이션을 설치하는 과정을 살펴보도록 하겠습니다.

1. 구글 앱스 계정에 로그인 합니다. 단, 관리자계정으로 로그인하여야 합니다.

2. 로그인해서 대시보드로 들어가면 아래와 같은 화면을 볼 수 있습니다.

3. 우선 현재 상태에서는 구글 앱스 마켓플레이스에서 애플리케이션을 설치하려고 하면 400 Bad Request 에러를 접하게 됩니다. 도메인 설정 탭을 클릭하시고 나오는 화면의 제일 하단에 있는 제어판 항목에서 다음 세대(영어로만 제공)을 선택해 줍니다.

4. 변경사항을 클릭해서 작업을 마무리 합니다. 그러면 화면이 정말로(?) 영문으로 나오게 됩니다.

5. 메뉴탭에서 Dashboard를 클릭합니다.

6. Add more services를 클릭합니다.


7. Other services에 있는 Google Apps Marketplace의 링크를 클릭하여 앱 마켓플레이스로 이동합니다.


8. 원하는 앱을 선택하여 상세보기로 들어가서 우측에 있는 Add it now를 클릭합니다.


9. 앱스 도메인 입력폼이 나옵니다. 앱스 도메인을 입력해줍니다. 저는 제 도메인인 pcraft.kr을 입력했습니다. 그리고, Go를 클릭하세요.
        


10. 약관에 동의를 해줍니다.


11. 데이터 접근 권한을 허용해줍니다.


12. 환경설정에 대한 설명이 나옵니다. Continue를 클릭해줍니다.


13. 설치한 앱을 사용가능한 상태로 변경합니다.


14. 대시보드로 다시 돌아가게 되는데, 제일 하단에 보면 방금 전에 설치한 앱이 보일 것입니다. Socialwok이 보이네요. 이제 설치가 끝났고, 클릭하시면 실행이 됩니다.


구글에서는 도메인설정에서 제어판을 다음세대로 해야 앱이 설치된다는 사실을 알려주지 않아서(제가 못찾았을 수도 있겠습니다) 한참을 찾다가 어떤 블로그의 글을 보고 방법을 알게 되었습니다. 'Google Apps Marketplace giving you 400 Bad Request?'

앱 마켓플레이스를 통해 경쟁력 있는 국내 소프트웨어 개발사 및 개인 개발자들의 글로벌 시장 진출이 더 수월하게 되었습니다. 이를 기회로 한국의 소프트웨어 산업이 성장할 수 있기를 기대해 봅니다.

저작자 표시 비영리 변경 금지
Posted by 종이비행기
개발과삶2010/03/12 02:19

iPhone, Android 등등 대부분 모바일 기기와 관련된 앱스토어 일색이었는데, 갑작스레 등장한 앱 스토어가 있었으니 바로 구글 앱스 마켓플레이스 입니다. 특히나 기업용 웹 애플리케이션을 판매하는 마켓이 열렸다는 데서 큰 충격이었습니다.
개발자나 소프트웨어 회사에게는 또 하나의 기회의 땅이 될 수 있어서 좋기는 하지만, 반면 구글 내부에 숨겨진 큰 야심이 조금씩 드러나는 것 같기도 해서 불안한 마음도 있습니다. 물론, 개발자로서는 이런 시장이 생겼다는 데에 큰 의미가 있겠습니다.

마케팅, 유통, 운영은 구글에 맡기고 개발자 및 개발회사는 제품에만 집중하면 되니 이 보다 더 좋을 수는 없을 듯 합니다. MS도 어플리케이션 마켓 시장을 열어주면 좋겠습니다. (그러면 우리 참을인이 좋아하겠지요 ㅋㅋ)

저작자 표시 비영리 변경 금지
Posted by 종이비행기
개발과삶2010/01/28 09:42

iPad 출시소식과 함께 SDK 3.2 beta가 릴리즈 되었습니다. 그러나, iPad 개발을 위해 업데이트된 정도인듯 합니다.
SDK 4.0을 기다렸던 저로서는 쪼끔 실망~

저작자 표시 비영리 변경 금지
Posted by 종이비행기
개발과삶2010/01/11 00:36
※ 주 업이 RCP가 아니라서 가끔 잊어먹게 되는 팁입니다.

아이폰으로 캡쳐한 사진으로 설명합니다.

2개의 컬럼으로 시작하였습니다.

GridLayout gridLayout = new GridLayout();
gridLayout.numColumns = 2;

이후에 2개의 컬럼을 1개의 컬럼으로 병합할 필요가 생겼습니다. 그러면,
GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
gridData.horizontalSpan = 2;

하고나서, 추가할 컴포넌트에 setLayoutData()로 추가해주면 됩니다.


저작자 표시 비영리 변경 금지
Posted by 종이비행기
TAG RCP
개발과삶2009/12/14 22:35
※ 주 업이 iPhone 개발이 아니라서 가끔 잊어먹게 되는 팁입니다.


1. New Project에서 Window-based Application 선택



2. 기본 AppDelegate명을 변경
생성후에 XxxAppDelegate와 같이 프로젝트명이 앞에 붙는데 이를 제거하여 네이밍을 단순화하기 위해 파일명과 클래스명을 모두 변경한후, MainWindow.xib에서도 클래스명을 변경해준다.
   


3. Navigation Controller 추가
Library에서  Navigation Controller를 MainWindow.xib에 넣는다.



4. Navigation Controller를 위해 AppDelegate.h 소스 수정
@interface AppDelegate : NSObject <UIApplicationDelegate> {
    UIWindow *window;
   
    IBOutlet UINavigationController *navCtrl;
}

@property (nonatomic, retain) IBOutlet UIWindow *window;
@property (nonatomic, retain) IBOutlet UINavigationController *navCtrl;


5. Tab Bar Controller를 위해 AppDelegate.m 소스 수정
@implementation AppDelegate

@synthesize window;
@synthesize navCtrl;

- (void)applicationDidFinishLaunching:(UIApplication *)application {
    [window addSubview:navCtrl.view];

    [window makeKeyAndVisible];
}

- (void)dealloc {
    [navCtrl release];
    [window release];
    [super dealloc];
}


6. Navigation Controller와 AppDelegate를 연결시킨다.



7. View를 Navigation Controller의 View Controller에 추가한다.



저작자 표시 비영리 변경 금지
Posted by 종이비행기
개발과삶2009/12/13 15:10
※ 주 업이 iPhone 개발이 아니라서 가끔 잊어먹게 되는 팁입니다.


1. New Project에서 Window-based Application 선택



2. 기본 AppDelegate명을 변경
생성후에 XxxAppDelegate와 같이 프로젝트명이 앞에 붙는데 이를 제거하여 네이밍을 단순화하기 위해 파일명과 클래스명을 모두 변경한후, MainWindow.xib에서도 클래스명을 변경해준다.
   



3. Tab Bar Controller 추가
Library에서  Tab Bar Controller를 MainWindow.xib에 넣는다.



4. Tab Bar Controller를 위해 AppDelegate.h 소스 수정
@interface AppDelegate : NSObject <UIApplicationDelegate> {
    UIWindow *window;
   
    IBOutlet UITabBarController *tabBarCtrl;
}

@property (nonatomic, retain) IBOutlet UIWindow *window;
@property (nonatomic, retain) IBOutlet UITabBarController *tabBarCtrl;


5. Tab Bar Controller를 위해 AppDelegate.m 소스 수정
@implementation AppDelegate

@synthesize window;
@synthesize tabBarCtrl;

- (void)applicationDidFinishLaunching:(UIApplication *)application {
    NSMutableArray *tabs = [[[NSMutableArray alloc] init] autorelease];
    tabBarCtrl.viewControllers = tabs;
    tabBarCtrl.customizableViewControllers = tabs;
    [window addSubview:tabBarCtrl.view];

    [window makeKeyAndVisible];
}

- (void)dealloc {
    [tabBarCtrl release];
    [window release];
    [super dealloc];
}


6. Tab Bar Controller와 AppDelegate를 연결시킨다.



7. Tab 추가 방법
AppDelegate.h
IBOutlet UINavigationController *funcCatNavigationController;
@property (nonatomic, retain) IBOutlet UINavigationController *funcCatNavigationController;

AppDelegate.m
funcCatNavigationController.tabBarItem.image = [UIImage imageNamed:@"tb_icon_func.png"];
funcCatNavigationController.tabBarItem.title = @"함수";
[tabs addObject:funcCatNavigationController];



저작자 표시 비영리 변경 금지
Posted by 종이비행기
개발과삶2009/11/29 17:48
iPhone이 11월 28일 KT를 통해서 전격 출시가 되었습니다.

이미 예약자만 6만명이 넘는다는 이야기를 들었습니다.
아직은 대기 수요자라고 볼 수 있겠습니다만,
대기 수요자로 상황이 종료되리라 생각하지는 않습니다.

최근 신문 기사에 연일 보도되는 아이폰과 옴니아의 비교 기사를 보시면,
하드웨어 스팩과 A/S 정책 및 요금제에 대해서만 이야기가 나오고 있습니다.
국내 스마트폰이 iPhone과 경쟁이 안될 수밖에 없는 원인조차 파악을 못하고 있습니다.
단순히 스팩 비교에만 열을 올리고 있는 게 우리 현실이죠.

UX 철학이 녹아든 UI와 이에 최적의 기능을 제공하는 OS,
수많은 애플리케이션을 제공하는 앱스토어,
이를 지원할 수 있는 하드웨어.

이렇듯 iPhone OS라는 훌륭한 SW의 지원이 없었던 들
iPhone이 출시될 때마다 전세계적으로 들썩들썩하지는 않았을 것입니다.
우리도 예외는 아닐듯 보입니다.
기존에 iPod Touch를 사용하면서 iPhone OS에 익숙한 유저들이
기존에 스마트폰을 버리고 iPhone으로 오지 않는다는 보장이 없겠지요.

iPhone을 쓰는 이유는 하드웨어의 디자인도 디자인이겠지만,
더 큰 이유는 단순하고 편리한 소프트웨어 때문이 아닐까 합니다.

하드웨어의 디자인, 스팩이 성공의 키는 아닙니다.
애플의 iPod과 한국의 MP3 플레이어의 세계적 점유율이 큰 차이가 난 이유도
바로 훌륭한 하드웨어와 함께 훌륭한 소프트웨어(iTunes) 및 서비스(iTunes store)가
있어서가 아니겠습니까?

여담이지만, 현재 iPod Touch를 갖고 있습니다.
아직은 예약 시즌이라 참고 있지만,
대리점에서 판매가 되면 아마도 구입하게 될 듯 합니다.
아마 저와 같은 분들이 꽤 되시리라 봅니다.
10여년간 SKT 고객이었지만 말이죠.
저작자 표시 비영리 변경 금지
Posted by 종이비행기
개발과삶2009/11/02 09:37
1. 개발 총책임자가 새소식과 최신 정보를 전한다. 예를 들어 곧 있을 중요한 이벤트에 관한 정보 말이다.
2. 돌아가며 이야기한다. 제품 그룹별로 한 명씩 지난 주에 무엇을 했고, 이번 주에 무엇을 할 것이며, 팀에 어떤 문제점이 있는지를 보고한다. 몇몇 다른 사람들이 보고할 수도 있다.
3. 누구든지 자유롭게 정보를 보태거나 질문을 할 수 있다.

이 회의는 정보를 브리핑하는 포럼이지, 토의나 회고를 하는 자리가 아니다. 흥미로운 토론거리가 튀어나오면, 우선 토의를 중지시킨 다음 그 주제에 관심이 있는 사람들은 회의가 끝나고 남아서 논의를 계속하라고 부탁한다.

- 출처: 스크럼과 XP (헨릭 크니버그)
저작자 표시 비영리 변경 금지
Posted by 종이비행기
TAG 스크럼
개발과삶2009/11/01 19:52
큐브리드 R2.0부터 제공되는 CUBRID Manager는 Eclipse의 플러그인으로 동작이 가능하도록 설계가 되어 있습니다. 그래서, 이클립스로 개발할 경우 편리하게 사용될 수 있게 되었습니다. 또한, 윈도우즈, 리눅스, 맥 등 다중 플랫폼에서 실행 가능한 독립 애플리케이션 형태로도 배포가 되고 있어서 R1.x에 비해 편의성이 좋아졌습니다.

그러나, 현재 큐브리드 매니저의 개발 목표는 큐브리드 데이터베이스 관리 도구입니다. 개발시 자주 사용되는 SQL 편집기, 데이터 편집기, 실행계획 분석기, 스키마 조회 등만 별도로 제공되는 큐브리드 전용 도구는 없습니다. CUBRID Manager는 SQL 개발도구가 아닌 데이터베이스 관리도구입니다.

SQL을 테스트하거나 테이블 구조를 조회하기 위해서도 CM 계정으로 로그인해야하는 문제가 발생합니다. 권한 부여가 가능하기는 하나 불필요하게 계정 정보가 노출 되어야 하는 문제가 발생하는 것이지요. 데이터베이스 유저 정보만으로도 JDBC 인터페이스를 통해서 충분히 접근가능한 정보들인데도 말이지요.

CUBRID 데이터베이스도 점차 확산되는 추세이다보니 양질의 개발 도구에 대한 개발자들의 니즈도 점점 증가하는 추세로 보입니다. 개발자들이 가장 절실하게 필요로 하는 도구는 바로 이와 같은 SQL 개발을 위한 그리고, 데이터 조회/편집을 위한 도구라고 생각이 됩니다.

이러한 이유로, CUBRID SQL 개발도구에 대한 니즈를 수집하고 그에 따른 개발 프로젝트를 오픈소스로 진행해보려 합니다.
관심 있으신 분들은 큐브리드 도구 개발카페로 오셔서 함께 하여 주시면 좋겠습니다.

[큐브리드도구개발카페 바로가기]

저작자 표시 비영리 변경 금지
Posted by 종이비행기
개발과삶2009/10/29 14:30

저작자 표시 비영리 변경 금지
Posted by 종이비행기