블로그 이미지
Max.

calendar

          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30

Notice

'2011/04'에 해당되는 글 3

  1. 2011.04.26 Social Game 개발
  2. 2011.04.26 Google Apps Marketplace
  3. 2011.04.11 SpringRoo flex addon 테스트하기
2011.04.26 09:48 Business관련
작년엔가 컨설팅프로젝트에서 SNS에 대해서 많은 자료를 본적이 있다. 그때 '징가'라는 업체가 소셜게임으로 이름 좀 날리고 있다는것을 봤다. 당시 유행인 스토어에서 Top에 오른 앱들은 승자독식 원리를 톡톡히 보고 있었고, 나머지 들러리 들은 이슬만 먹고 사는 것을 느꼈던것 같았다.

이런 파레토식의 나열된 환경에서 게임분야는 그 꽃(백미)이다. 말 그대로 모 아니면 토다. 게임 자체가 마치 도박처럼 강한 중독성이 있는데다, 환경이 받쳐주니, 게임하나 뜨기만하면, 인생역전인 것이리라... 뜨지 못해도 약간의 가능성이 있다면, 그걸 부여잡고 인생을 걸 사람이 한둘이 아니겠지...

최근 그런 게임을 만들겠다던 사람들을 도와주고 있다. 나름 시나리오 계획서 등을 갖추고 있다. 이번 시나리오에서 서버측 개발이 그리 어려운것도 아니고, 한발 담궈 보는것도 좋은 경험이 될것 같고, 혹시나 하는 중독성도 즐겨볼겸....

단순하고, 쉬운 게임은 훗날에도 좋은 비지니스 아이템중에 하나임을 틀림없지만, 내가할 분야인지는 여전히 의심럽긴 하다.... 아이디어 싸움인가?....
 
저작자 표시
신고

'Business관련' 카테고리의 다른 글

홀로서기(1) - 기초 정보 모으기  (0) 2011.07.01
사육사와 조련사  (0) 2011.06.10
Social Game 개발  (0) 2011.04.26
Google Apps Marketplace  (0) 2011.04.26
한가지를 갖기 위해...  (2) 2011.03.14
10년의 약속 4번째 시작  (0) 2011.02.14
posted by Max.
2011.04.26 09:33 Business관련
Google Apps Marketplace(GAM)은 요즘 흔한, SNS 스토어 개념의 비지니스 환경인데, 주로 B2B 관련 어플을 등록하고 마케팅하는 곳이다. 어플을 테스트 하기 위해서는 최소한 기업계정 하나는 있어야 하는데, 1개월을 테스트할수 있고, 이후 1년 사용비용이 1계정당 50달러 이다. 도메인을 연결하여 일반 중소기업이 사용할수 있도록한 것인데, 아직 국내 중소기업이 쓰기엔 비싼감이 있다(제공되는 기능을 떠나서 금액에 대한 심리적 마지노선이라 할까...). 몇몇 리셀러가 있는데, 그리 잘 되진 않는 모양이다.

https://www.google.com/enterprise/marketplace/?pli=1


GAM에 어플을 등록하고 공개하려면, 최초등록비 100달러를 지불해야 한다. 이것은 비지니스를 하는것인만큼 그리 비싸 보이진 않지만, 일반 기업들의 구매를 유도하려면, 추가비용으로써 적절한 가격이여야 하는데, 중소기업의 지갑을 열수 있을가 의문도 있다.

이것 저것을 다 떠나서, 웹 어플 또는 기존에 보유한 웹 솔루션을 연동하여 비지니스 영역을 넓히는데는 좋은 가능성을 볼수도 있겠다. 아쉬운것은, 기업계정 하나당 50달러라는 부담감이 국내 일반 중소기업에서 부담할수 있는 금액인가 하는 것인데, 항당되는 계정당 용량을 줄여서라도 금액을 낮추면 활발해질것 같은 생각인데, 구글은 다른가 보다...


저작자 표시
신고

'Business관련' 카테고리의 다른 글

사육사와 조련사  (0) 2011.06.10
Social Game 개발  (0) 2011.04.26
Google Apps Marketplace  (0) 2011.04.26
한가지를 갖기 위해...  (2) 2011.03.14
10년의 약속 4번째 시작  (0) 2011.02.14
나와 동유 사진  (0) 2011.01.26
posted by Max.
2011.04.11 17:24 개발관련

Spring STS 2.6.0에서 Flex addon 모듈을 사용하는 순서를 기록해 본다. 일반적으로 SpringRoo addon은 addon install 명령으로 가능하다. 그에 대해 동영상도 많이 제공하고 있다.

flex addon 관련되서는 http://www.youtube.com/watch?v=R84O87HPCQU&feature=player_embedded 를 보면, 쉽게 따라할수 있게 되어 있다. 하지만 하루가 다르게 바뀌는 roo의 특성상 잘 되지 안는다는거... 아마도 버전이 업데이트 되면서 여기저기 신경 쓸께 많을 것이다. 그래서 한번 테스트 해봤다. 

1) 먼저 springroo flex addon을 roo에 설치 해야 한다. http://s3browse.springsource.com/browse/maven.springframework.org/snapshot/org/springframework/flex/roo/addon/org.springframework.flex.roo.addon/1.0.0.BUILD-SNAPSHOT/ 에(OR http://s3browse.springsource.com/browse/maven.springframework.org/snapshot/org/springframework/flex/roo/addon/)  보면, 4월 10일자 최신 버전을 다운 받을수 있다. 다운받고, roo의 bundle 폴더에 넣는다.

2) Spring STS를 실행하고, Roo프로젝트를 생성하면, flex 명령이 추가되었음을 확인 할수있다.

3) Roo 스크립트는 다음과 같은 순서로 명령을 실행한다.
project --topLevelPackage kr.sng --projectName sng-server --java 6
persistence setup --database MYSQL --provider HIBERNATE
entity --class ~.article.domain.Article --testAutomatically
flex setup
flex remoting all --package ~.article.service
생성된 핵심 코드는 아래와 같다.

[ArticleService.java]
@RooFlexScaffold(entity = Article.class)
@RemotingDestination
@Service
public class ArticleService {
}

[ArticleService_Roo_Service.aj]
privileged aspect ArticleService_Roo_Service {
   
    public Article ArticleService.create(Article article) {
        article.persist();
        return article;
    }
   
    public Article ArticleService.show(Long id) {
        if (id == null) throw new IllegalArgumentException("An Identifier is required");
        return Article.findArticle(id);
    }
   
    public List<Article> ArticleService.list() {
        return Article.findAllArticles();
    }
   
    public List<Article> ArticleService.listPaged(Integer page, Integer size) {
        if (page != null || size != null) {
            int sizeNo = size == null ? 10 : size.intValue();
            return Article.findArticleEntries(page == null ? 0 : (page.intValue() - 1) * sizeNo, sizeNo);
        } else {
            return list();
        }
    }
   
    public Article ArticleService.update(Article article) {
        if (article == null) throw new IllegalArgumentException("A article is required");
        article.merge();
        return article;
    }
   
    public void ArticleService.remove(Long id) {
        if (id == null) throw new IllegalArgumentException("An Identifier is required");
        Article.findArticle(id).remove();
    }
   
}

4) 생성된 mxml 코드는 정상적으로 실행되지 않는다. 하지만, 생성된 mxml코드를 참조해서 아래와 깉이 flex builder를 통해서 Main.mxml 파일을 생성 할수 있다.

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
      xmlns:s="library://ns.adobe.com/flex/spark"
      xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600">
 <fx:Script>
  <![CDATA[
   protected function getDataClickHandler(event:MouseEvent):void
   { 
    articleService.list();
   }
  ]]>
 </fx:Script> 
 <fx:Declarations>
  <s:ArrayList id="entities">
   <fx:String>Article</fx:String>
  </s:ArrayList>
  <s:ChannelSet id="remotingChannels">
   <s:AMFChannel id="amf" url="http://localhost:8080/sng-server/messagebroker/amf"/
  </s:ChannelSet>
  <s:RemoteObject channelSet="{remotingChannels}" destination="articleService" id="articleService">
  </s:RemoteObject> 
 </fx:Declarations>
 <s:VGroup width="100%" height="100%">
  <s:Button label="아티클 목록 가져오기" click="getDataClickHandler(event)"/>
  <mx:DataGrid dataProvider="{articleService.list.lastResult}" height="80%" id="articleGrid" width="80%">
   <mx:columns>
    <mx:DataGridColumn dataField="title" headerText="Title" id="titleColumn"/>
    <mx:DataGridColumn dataField="count" headerText="Count" id="countColumn"/>
    <mx:DataGridColumn dataField="userName" headerText="User Name" id="userNameColumn"/>
    <mx:DataGridColumn dataField="userId" headerText="User Id" id="userIdColumn"/>
    <mx:DataGridColumn dataField="writeDate" headerText="Write Date" id="writeDateColumn"/>
   </mx:columns>
  </mx:DataGrid>
 </s:VGroup>
</s:Application>


간단한 코드로 대충 보면, 데이터를 불려오는 것 뿐이다. 실행하면 데이터를 잘 가져온다. 물론 SpringFlex에 대해서 미리 알고 있어야 하고, Flex에 대해서도 알고 있어야 겠지만, 천천히 생성된 소스코드와 구조를 살펴보면, 기존의 spring-flex를 이용한 프로젝트 구조와 거의 같고, Flex Scaffold는 오히려 기존의 복잡한 UI(다른 Scaffold)보다 간단하여 응용의 여지가 많이 보인다.(예제에서 ArticleService.java와 ArticleService_Roo_Service.aj를 보라)

최근 작업중에 서버측 템플릿을 만들 일이 있어 간단히 테스트해 봤는데, 가능성 있어 보인다. 게다가 아직 M1 버전이다. :)

저작자 표시
신고
posted by Max.
prev 1 next