이 글은 DroidEgo님의 2010년 1월 24일의 미투데이 내용입니다.

Buy me a coffeeBuy me a coffee

오랜만의 프로그래밍 관련 포스팅입니다.

저는 이번에 제 Twitter 계정에 시간을 알려주는 봇을 구현하였습니다.
(봇[bot] : 특정시간이나 행위에 자동반응하는 형식의 실행하는 서비스를 말합니다)

저의 Twitter 계정에 "현재, 한국시간으로 2010년 1월 24일 오전 6시 를 알려드립니다." 라는 식의 시계 봇을 구현함.


위의 화면를 보시면, 제 트위터를 Following하시면 제가 현재 시간을 알려드리는 걸 알수 있습니다.

(봇은 어떻게 구현했나구요? Google AppEngine이라는 서비스로 Java로 구현했답니다^^)


Google AppEngine book
Google AppEngine book by Channy Yun 저작자 표시

(참고로 Google App Engine은 무료로 제공되는 Java/Python 기반 웹 호스팅 서비스입니다)


제가 간단한 트위터에 시간 알려주는 봇을 구현한 이유는 트위터에서 @xguru 라는 닉을 사용하는 권정혁님이 개발한 트위터 봇들에 영감을 얻고, 나도 프로그램을 작성할 수 있는 학생인데 한번 만들어 봐야지라는 문제의식으로부터 시작하였습니다.

트위터의 xguru님께서 만든 Twitter bot들입니다.


위의 시간을 알려주는 봇을 구현하는데엔 기본적인 Java지식, 그리고 Java Server Page(JSP), Servlet, Twitter API등을 알아야됩니다.

Java기반 지식들은 아 알겠다는 가정하에 트위터 API들을 알아봐야겠죠?

Twitter의 API에 대해선 Twitter에서 제공하는 사이트에서 검색을 하면 나옵니다.
Twitter API wiki

Twitter API는 REST API와 Search API라 나눠집니다.

  • Twitter REST API
    개발자들이 update timeline, status data, 사용자 정보등의 Twitter의 핵심 데이터를 작성, 수정등의 접근할 수 있게 허용해줍니다.
  • Twitter Search API
    Search API는 개발자들에게 Twitter 검색 서비스와 상호작용할수있도록 해주며, 검색 트랜드 관련 데이터에 접근 할수 있도록 해준다.
  • 위의 글의 출처는 아래와 같습니다. http://apiwiki.twitter.com/API-Overview

    The Twitter REST API methods allow developers to access core Twitter data. This includes update timelines, status data, and user information. The Search API methods give developers methods to interact with Twitter Search and trends data.

참고로 Twitter API를 사용할때 주의해야할 점은 일정시간 안에 전송되는 요청을 제한을 합니다.

Twitter API를 사용하였을 경우에 시간당 최대 호출을 150개로 제한을 하고 있죠.

최대 호출을 150개 넘게 호출하면 아래 화면과 같이 Limit라는 것에 걸려서 글을 작성 못하는 일이 발생합니다.

리밋에 대해선 트위터 리밋에 관하여…라는 글을 읽어보시기 바랍니다.

트위터 리밋에 걸릴때 나오는 문구입니다. 이것은 누군가 잘못된 암호를 보내려는 공격시도가 있을때 보이는 리밋문구입니다.


만약 프로그램을 작성한 봇이 요청을 시도할때 이유 없이 에러 발생하면 100% 리밋에 걸렸는지 의심을 해봐야됩니다.

여기서는 Twitter에 글을 작성할 것이기 때문에 Twitter REST API를 사용합니다.

Twitter REST API를 가지고 직접 구현해서 Twitter bot을 구현할 수 있습니다. 그러나 삽질이긴 합니다 =_=.

이미 트위터의 API를 구현한 3rd Party 라이브러리들이 많이 제공하고 있답니다.

http://apiwiki.twitter.com/Libraries 여기에서는 각종 언어로 Twitter REST API를 구현한 라이브러리들이 있습니다.

저는 간단하게 코딩을 하려는데 Twitter4J라는 라이브러리를 선택하였습니다.


Twitter4J는 Yusuke Yamamoto가 Java로 구현한 라이브러리입니다. 오픈소스이며, maven과 통합가능하며, Google App Engine과 친화적인 Java 라이브러리입니다. Twitter4J는 BSD 라이센스을 가지고 있습니다.

Twitter4J는 다음과 같은 기능을 제공한답니다.

  • 100% 순수 자바로 구현 되었으며, JDK 1.4.2 이후의 버전에서 동작한다.
  • Google Android Platform에서도 지원가능
  • 의존성이 없음. 추가적으로 필요한 jar 파일이 없어도 됨.
  • OAuth를 지원함
  • 빠른 수행을 위해서 데이터를 gzip으로 압축해서 전송함

Twitter4J 홈페이지 - http://twitter4j.org/en/index.html



Twitter4J 라이브러리를 사용하고 Eclipse와 Google App Engine을 이용하여 트윗 봇을 구현하였습니다.


Servlet mapping은 web.xml에 있으며 서블릿 클래스를 추가하고 싶으면 web.xml을 추가하면 됩니다.

자바코드를 작성하여 트윗에 올라갈 적절한 내용을 구현합니다.

자바로 트윗 봇을 구성하였으면, 매 시간마다 트윗을 올리기 위해서는 cron 기능을 이용해야합니다. cron설정을 하면 원하는 시간에 트윗을 올릴 수 있습니다.

Google App Engine에서 제공하는 cron을 사용하려면 war/WEB-INF 폴더에 cron.xml을 생성하여 cron.xml에 원하는 시간을 작성해서 올리면 됩니다.

cron 기능 수행에 대한 자세한 내용은 Google App Engine - Scheduled Tasks With Cron for Java 링크를 참조하기 바랍니다.

저는 트윗을 한시간에 하나씩 올리려고 아래와 같이 cron.xml을 구성하였습니다.


<?xml version="1.0" encoding="UTF-8"?>
<cronentries>
  <cron>
    <url>/mashuptime</url>
    <description>Execute time bot every 1 hours</description>
    <schedule>every 1 hours</schedule>
    <timezone>Asia/Seoul</timezone>
  </cron>
</cronentries>


작성을 하고 나선 Deploy를 하여 올리면 간단한 트윗봇이 완성됩니다^^

Java로 작성한 Twitter bot을 Google App Engine에 Deploy하고 올리려는 화면


Google AppEngine으로 Java로 된 웹 페이지를 코딩하고 나선, 갑자기 이런 생각을 하더군요.

Google AppEngine에서 cron기능을 제공하여 매 시간마다 Servlet을 작동시켜 아래와 같은 봇을 구현을 하는데엔 30분도 걸리지 않았습니다.

참 쉽조잉?



이번에 뭔가 Feel을 받으면 매쉬업으로 Twitter bot들을 계속 양산할 느낌이 들더군요. @.@

Buy me a coffeeBuy me a coffee


저는 피, 스마트폰서 '부활' 기사를 보고 이동통신사에선 WIPI 컨텐츠를 버리는 건 정말 포기를 할수 없다는 걸 깨달았습니다.

역시나 SKT는 자기들의 이익을 더 많이 챙기기 위해서 스마트폰에 WIPI를 돌릴수 있는 SKAF Middleware를 넣어, WIPI컨텐츠등을 재활용하여 판매하겠다는 심보가 보입니다.

기존에 있던 WIPI 컨텐츠를 팔아 이익을 남기기 스마트폰에 WIPI를 탑재를 하다는 이야기 인데, 과연 스마트폰에 WIPI탑재를 해도 괜찮을지가 걱정됩니다.

JavaVM으로 올라가는 WIPI를 탑재하므로서 스마트폰에서 무겁게 돌아가는 것 때문에 성능저하가 있다는걸 자명하다고 생각하기 때문이죠.

(실제로 저는 2009년 2월달에 출시된, WIPI가 달린 Windows Mobile 6.1를 사용하는, LG 인사이트폰를 KT에서 개통하여 사용하고 있지만, 인사이트폰에 WIPI가 들어가는 것때문에 성능이 좀 느리다는 문제점이 있습니다.)


참고로  WIPI 문제에 대해선 스마트폰 시장의 성장과 함께 여러가지 문제들이 많이 나왔습니다.


※ 참고로 WIPI란?  (원문 : http://ko.wikipedia.org/wiki/WIPI)

WIPI(Wireless Internet Platform for Interoperability)는 대한민국의 표준 모바일 플랫폼의 이름이다. 통신사간의 모바일 플랫폼을 표준화함으로서, 하나의 콘텐츠를 여러 통신사에서 서비스할 수 있도록 하기 위해 제정되었다. WIPI는 한국어로 '위피'라 읽는다.


한국에서 WIPI라는 플랫폼을 의무적으로 탑재해야한다는 의무조항이 있었습니다. WIPI 의무 탑재조항 때문에 외산 스마트폰(Apple iPhone, Nokia N Series, RIM BlackBerry, HTC, Sony Ericsson, etc)을 거의 들어올 가능성이 없었습니다. 거의 무역 장벽을 만들어 외산 폰들이 대한민국에서 판매하기가 어려웠다는 점이 있었습니다.

그렇기 때문에 외국에선 쉽게 접할 수 있는 스마트폰을 한국에선 WIPI 의무 탑재정책때문에 거의 보기 힘들었다는 것입니다.

스마트폰이 들어온다고 해도 Windows Mobile에 WIPI를 억지로 끼어넣는 식의 방식으로 들어왔습니다.

WIPI는 Qualcomm(퀄컴)사의 Brew나 SUN의 Java ME의 로열티 유출도 막고, 이통사들의 플랫폼을 통합하자는 취지에서 도입된 것이었습니다.

점점 휴대폰의 사양이 고급화 되고, 각각 이동통신사에서 이통통신사에서만 맞는 WIPI코드를 추가하다 보니 WIPI라는 이름만 같고 실제로는 각각 이동통신사의의 플랫폼으로 나눠졌습니다.

추가로 로열티의 유출을 막기 위해서 WIPI를 제정하였으나,WIPI의 내부구조들이 SUN사의 Java ME와 대부분이 같아서 로열티를 지불하는 문제점이 있엇습니다.

위와같은 여러가지 문제들때문에, 방송통신위원에서는 2009년 4월을 기점으로 대한민국에서 나오는 개인용 휴대폰들은 전부 WIPI를 의무적으로 탑재해야한다는 법 적용이 폐지가 되었습니다.

그래도 WIPI 의무화 폐지가 되었긴 해도 이동통신사(SKT, LGT)에선 그 많은 WIPI콘텐츠(게임, 모바일 뱅킹등)을 버릴수 없을 겁니다.

SKT에서는 WIPI 자체에 대한 기존 투자는 포기하지도 않았고, 그 많은 WIPI용 컨텐츠를 당장 포기할 수는 없기때문에 스마트폰에서 WIPI를 넣어 WIPI컨텐츠를 팔아야겠다는 결론이 나온 걸 기사에서 볼 수 있습니다.


이 기사 볼때마다, 이동통신사는 변화가 오는 걸 환영하지 않은 듯 합니다.

ps. 다만 KT는 예외가 되었군요. 어차피 WIPI 의무화 폐지로 WIPI컨텐츠가 스마트폰용으로 조만간 바뀔것이라는 느긋한 생각을 하는듯합니다.

Buy me a coffeeBuy me a coffee

2009년 1월 새해가 온 뒤 결심을 하였습니다.

영어 성적 올리기, Sakai Project에 대해 많은 공부를 하기. JAVA를 능수능란하게 사용하게, JAVA Script Framework인 Prototype, Script.aculo.us, DOJO, 등등에 대해 꿰뚫고, 운전면허를 딴다는 것이 목표였습니다.

1월 2일에는 연구실 청소를 했으며, 3일에는 연간 계획을 어떻게 잡을지에 대해 계획을 세웠으며 4일에는 오래간만에 집에서 푹쉬면서 오래간만에 PHP코딩을 해보았답니다.

5일에는 연구실 컴퓨터 작업 셋팅을 하였고, 6일에는 운전면허학원에 가서 학원 등록을 하였습니다. 학원 등록하는데에 필기는 알아서 따라고 해서 당황했지만요 ^^ (필기는 벼락치기로 합격했습니다 후후)

7일에는 회사노트북을 집에 놓고 회사 갔다는 아부지때문에 오목교역에 있는 목동 KT IDC까지 가보았고 학교에 가서 어떻게 대학원갈지에 대해 생각을 해보았습니다.

8일엔 나태하게 보내고, 9일에는 운전면허학원에서 안전교육 받고 학교서 공부하였지요.

10일에는 강남 삼성동에 있는 강남운전면허시험장에 접수를 하였고, 11일엔 대구 내려가서 사촌누님 결혼식장에 갔습니다. 왕복 6시간을 버스에서 있다보니 거의 잠만 잤군요.

12일엔 주행연습 시작하고, 운전면허 시험 합격. 그리고 학교에서 9시까지 공부하였지요,

13일도 주행연습. 너무 피곤해서 집에서 바로 뻗었음.

이렇게 회고를 하면서 그렇게 시간을 효율적으로 사용하지 않은 느낌이 들긴 하네요. 운전면허학원이 남양주에 있다보니 집에서 학원까지 대략 40분 걸리는 것 같고, 학원에서 학교까지 가는데 대략 2시간 정도 걸리니 교통수단에서 시간을 많이 뺐기는 것 같습니다. 계속 운전면허에만 투자하여서 정작 필요한 공부는 안해서 걱정이 되군요. 설날 전까지는 어느정도 교수님께 보고할 보고서 정도는 정리를 해야하는데 말이죠.

이러다 작심삼일식으로 생활할까봐 걱정되군요.


애자일 회고
카테고리 컴퓨터/IT
지은이 에스더 더비 (인사이트, 2008년)
상세보기


애자일 회고에서 보면 회고의 중요성에 대해 말하던데, 이 책의 예를 따라서 회고하는 습관을 가져야겠습니다. 계속 운전면허만 붙잡는 생활은 이번 주까지만 일겁니다. 이번주만 지나면 하고 싶은 일들을 할 수 있을려나?

그리고 회고를 하면서 1월 말경엔 규칙적으로 일어나서 JAVA Framework책을 독파하는 것을 꼭해야겠다는 생각을 해버렸답니다. ㅎㅎ 대학원 입학전에 빨리 논문 쓸 준비를 하고 싶은 생각을 하였습니다.

Buy me a coffeeBuy me a coffee

이번 monaca님이 주최하신 애자일 3종 강탈 1탄 Head First Software Development에 당첨이 되었습니다.

그 당첨된 책이 드디어 도착하였습니다 >.<

2009년 1월 2일 드디어 도착한 소포를 뜯어보니 책이였어요 +_+

학교서 돌아오니 책상위에 웬 택배가 있었나 싶었더니?

monaca님의 이벤트에 당첨된 Head First Software Development가 도착!



으흐흐 저는 sungdh86로 당첨되었답니다. 드디어 책이 도착하여 저의 기분이 좋군요 +_+

책이 도착하였으니 얼른얼른 읽고 서평을 올리겠습니다 >.<


이것이 당첨된 Head First Software Development

대충 책을 훑어보았는데 4학년 1학기때 UML그린다고 삽질하거나, 영문판 소프트웨어공학과목 교재 에서 이해 못한 내용들이 그림으로 잘 설명되어서 뻥 뚫리게 이해할수 있게 한 것 같다.

Object-oriented Systems Analysis and Design Using UML
작가
Simon BennettSteve McRobbRay Farmer
출판사
McGraw Hill Higher Education
출간일
2005년 8월 1일, 월요일
설명
The book provides a clear, practical framework for development that uses all the major techniques from UML 2.0. It follows an iterative and incremental approach based on the industry-standard Unified Process. It places systems analysis and design in the context of the whole systems lifecycle, and includes generic analysis and design issues. Two realistic case studies are used throughout the book - one for illustrative examples and the other for practical exercises for the reader.The book is structured in four parts, which can be flexibly combined to meet the needs of the syllabus. The first part provides the background to information systems analysis and design and to object-orientation. The second begins with two case study chapters, and focuses on the activities of requirements gathering and systems analysis, and the basic notation of the Unified Modelling Language (UML). The third part covers the activities of system design and UML notation for object design. The final part examines the later stages of the systems development lifecycle, reuse and software development methodologies.

위의 책은 4학년 1학기 소프트웨어공학 교재이다. 이책 읽다가 해석 안되는 부분도 많고 머리가 나쁜지 아님 익숙하지 않은 내용들이라서 그런지 읽어도 이해 안되서 머리가 아픈 줄 알았다.

이번 교육용 협업 및 학습 오픈소프 프로젝트인 Sakai Project를 공부하다 막힌 부분의 기초를 쌓기 위해서 현재 읽고 있는 Head First시리즈들 입니다.

HEAD FIRST SOFTWARE DEVELOPMENT
카테고리 컴퓨터/IT
지은이 댄 필로네 (한빛미디어, 2008년)
상세보기

HEAD FIRST OBJECT ORIENTED ANALYSIS DESIGN
카테고리 대학교재
지은이 브렛 맥래프린 (한빛미디어, 2007년)
상세보기

HEAD FIRST DESIGN PATTERNS
카테고리 컴퓨터/IT
지은이 에릭 프리먼 외 (한빛미디어, 2005년)
상세보기

위의 3개의 책을 읽다보니 4학년 소프트웨어공학 수업 듣기 전에 3개의 책을 읽었다면 UML설계도 쉽게 하고, 소프트웨어공학을 금방 이해하였을 것이고, 소프트웨어공학 과제 프로그래밍도 매우 쉽게 나갔을 것이라는 생각만 하고 있다. 정말 다시 4학년 1학기로 돌아가면 소프트웨어공학 A+받을 것이라는 생각이 들 정도로 3개의 책이 머리속에 쏙쏙 들어가게 설명이 되어있다.

ps. monaca님 저의 닉은 sungdh86과 studioego 두개 동시에 쓴답니다. 이점 유의해주세기 바랍니다. 혹시나 블로그에 글 올렸는데 다른 닉으로 올려서 먹튀자 명단으로 올라갈까바 걱정 ㄷㄷ

Buy me a coffeeBuy me a coffee

이번 monaca님이 주최하신 애자일 3종 강탈 1탄 Head First Software Development에 당첨이 되었습니다.

이번 대학원 가기전에 교수님이 공부하라고 던져주신 교육용 협업 및 학습 오픈소프 프로젝트인 Sakai Project에 대해 공부하다 보니 Agile방식으로 Log4J나 JUNIT코드들이 난무하고 Framework는 왜이리 써서 머리 터지게하는지 어떻게 다가갈지 겁이 나더군요.


Monaca님의 말마따나

HFSD는 프로젝트에 어떤 문제가 생기고, 도구를 사용해 그 문제를 어떻게 해결하는가에 집중합니다. 그래서 익히 이름은 들어봤지만 어렵게 느껴지거나 쉽게 접근하기 어려운 뽀스(force)가 느껴졌던 프로젝트 유틸리티를 조금은 쉽게 접근할 수 있습니다. 

테스트를 위한 TDD,

버전 관리를 위한 Subversion, 

빌드 관리를 위한 Ant,

지속적인 통합을 위한 CruiseControl

이런 도구가 이야기와 함께 등장합니다. 어쩌면 '내가 했던 프로젝트가 이랬었지'하고 공감하는 부분도 있겠죠. 공감된다면 책에서 말하는 문제 해결 방법을 적용해보는 것도 좋습니다.

Sakai Project에서 보았던 위의 내용들을 이해 하기 위해서 책이 필요했었는데 다행이도 당첨이 되어서 기쁩니다.

으흐흐 저는 sungdh86로 당첨되었다는 기쁨이 ㅎㅎ

책 도착하면 잘 읽고 서평을 올리겠습니다 >.<


이것이 당첨된 Head First Software Development

ps. monaca님 저의 닉은 sungdh86과 studioego 두개 동시에 쓴답니다. 이점 유의해주세기 바랍니다. 혹시나 블로그에 글 올렸는데 다른 닉으로 올려서 먹튀자 명단으로 올라갈까바 걱정 ㄷㄷ

ps2. 요즘 공부하는 것들이 SI업체에서 하는 일들 ㄷㄷㄷ 나도 졸업하면 악명높은 SI업체로 발을 디디는 것인가?

HEAD FIRST SOFTWARE DEVELOPMENT
카테고리 컴퓨터/IT
지은이 댄 필로네 (한빛미디어, 2008년)
상세보기

Buy me a coffeeBuy me a coffee

출처 - Sakai Project : Documentation

Developing for Sakai, Part I: Getting Started (Z. Thomas, Aeroplane Software)

Get Sakai up and running quickly as you follow this step-by-step guide. Technologies covered include Java, Subversion (source control), Maven (compilation, build and deployment) and Tomcat (servlet container).

Developing for Sakai, Part II, Setting Up Eclipse (Z. Thomas, Aeroplane Software)

Zach Thomas provides another step-by-step introduction to Sakai development, this time focusing on the open-source Eclipse IDE, the development platform of choice for Sakai developers.

Developing for Sakai part III: App Builder Plugin (Z. Thomas, Aeroplane Software)

Zach discusses how to install and utilize Aaron Zeckoski's Sakai App Builder plugin for Eclipse.

Eclipse 101 - Basics, Tips & Tricks (L. Speelmon, Indiana University)

Builds on Zach Thomas' introductory screencasts by providing additional best practices when using the Eclipse IDE for Sakai development.

여기에 있는 Screencast들은 Sakai Project를 시작할때 어떻게 개발환경을 셋팅하는지를 보여준다.

JAVA SE, Maven, Tomcat, Eclipse등의 개발환경 셋팅이 정말 중요하다는 것을 느껴줍니다.

맥에서 셋팅하던데, 맥을 쓰고 싶은 욕구가 증가하는 단점도 있다.

Buy me a coffeeBuy me a coffee

정말 오랜만에 JAVA를 만지게 되었다.

학과에서는 커리큘럼을 시스템쪽으로 공부하도록 맞춰져있기 때문에 항상 C아님 OOP를 쓴다면 꼭 C++를 사용하도록 해서 프로그래밍 하는데 재미가 하나도 없었다.

그러나 한 줄기 빛이 있었나니. 재수강하는 기초데이터베이스 과목 조교님께서 JAVA로 DB응용프로그램을 짜라고 하셨다.

얼씨구나 좋구나. 내가 왜 좋아 하는 이유는 한가지, JAVA를 사용하기 때문이다.

대학교 1학년 여름방학때, 회사서 아르바이트를 하면서 처음 JAVA를 접하면서 인터넷, 웹에 대해 관심을 많이 가지게 되었고, JAVA로 DB프로그램을 짜 본경험이 있었기 때문이다.

작년 기초데이터베이스 과목 들었을때에는 교수님께서 이상하게 과제를 내셔서 웹서버도 만들고 CGI형식으로 직접하게 하고 임베디드 SQL인 ORACLE PRO*C와 C++을 사용하면서 과제를 내주셨기때문에 과제 하는데 온갖 갖은 노력을 해도, 시간이 부족해서 대충 내고 말았던 기억이 있었다. (팀프로젝트였고 두사람이 해야했지만 한 사람이 C++코딩을 전혀 못하는 젬병이라 내 혼자 하다가 제풀에 넘어갔음. OS과제하느라 DB과제 신경 못쓴것도 있지만.)

(임베디드 SQL로 C++과 연동해서 프로그램 짜라면 쉽게 짤수 있다. 그러나 과제 낼때 웹으로 해야한다고 해서 C++에 CGI를 직접 그때 알아서 구현하라고 해서 임베디드 SQL내용은 별로 없었고 CGI를 직접 구현하는 실제로 쓸모없는 코드양들이 많다는 단점이 있다.)

JAVA로 하면 임베디드 SQL 없이 그냥 JAVA에서 제공하는 SQL관련 메소드를 이용해서 과제를 하면 되니 속이 엄청나게 편하다. 거기에 인터넷관련 메소드 사용 없이 콘솔로 보여주기만 하면 끝이니, 이번학기 과제는 날로 먹는 것 같은 느낌까지 난다. (3일만에 놀면서 다 짰다.)

JAVA에는 Eclipse가 궁합이라는 것을 과제를 해보면서 뼈져리게 느낀다. Eclipse가 아니였다면 몇일 삽일 할 내용을 빨리 제거도 해주니 IDE의 덕도 많이 보고 있구나.

JAVA 코딩에는 Eclipse로 코딩해야지 편하다는 사실. (Sakai Project도 Eclipse를 써야지 이해 되는 것들이 많다.)

ps1. 오랜만에 Eclipse로 JAVA코딩하는 것이 편하다는 사실을 다시 깨닫고 있습니다. IDE는 좋은 것 써야한다는 결론! 이클립스가 좋아요라는 뻘글을 쓰려고 이런 글 올리나 *-_-*
ps2. 학과에선 C/C++만 강조하지만, 지도교수님이 시키는 일로 요즘 JAVA코딩을 하고 있습니다.

Buy me a coffeeBuy me a coffee
Planet Sakai

Over one-third of the top 100 universities in the world participate in Sakai, providing a system now in use at over 160 other universities, colleges, and schools.


이번 대학원에 들어가기 전에 지도교수님께서 한번 연구해보라고 던져주신 Open Source Project인 Sakai Project에 대해 뚫어지게 공부를 하고 있다.

국내에서 Sakai project에 대해 관심을 가진 동네는 배재대학교 밖에 없더군요. 석사 졸업하기 전까지 Sakai Project쪽에 많은 기여를 할 예정입니다.

Sakai Project라는 것은 2월달에 처음 알게 된 오픈소스 프로그램인데, JAVA기반의 교육 환경 프로그램이라고 생각하면 된다.

'컴퓨터 > Sakaiproject' 카테고리의 다른 글

Sakai Overview: Michael Korcuska  (0) 2009.01.04
JAVA개발에 관련 서적들  (0) 2008.12.25
Sakai Developer screencasts  (0) 2008.12.12
Buy me a coffeeBuy me a coffee
관련 포스트와 기사입니다.
KLDP - Sun이 MySQL을 합병했군요
랜덤여신님 - Sun, MySQL 인수 합병
美썬, 'MySQL' 10억달러에 전격 인수
오라클, BEA시스템 인수
ZDNET - 썬, 10억달러에 MySQL 인수「오픈소스 최강 넘봐」
ZDNET - 오라클「BEA 인수 확정」

이번에 SUN사가 MySQL을 인수하게 되었다고 하네요.
MySQL의 블로그에 공지문에 나와 있네요. http://blogs.mysql.com/kaj/sun-acquires-mysql.html/
SUN사 홈페이지에서도 이런 글이 올라왔군요. http://www.sun.com/aboutsun/media/presskits/2008-0116/index.jsp?intcmp=hp2008jan16_mysql_learn 
SUN TO ACQUIRE MYSQL

SUN Microsystems 홈페이지에 올려진 SUN Microsystems사와 MySQL합병소식


Sun Microsystems에서 MySQL을 인수할 때, 인수 금액은 10억 달러라고 하군요.
사용자 삽입 이미지

Sun Microsystems와 MySQL이 합쳐졌습니다. 이제 DBMS시장과 웹쪽에서는 어떤 일이 벌어질지가 궁금하네요.


.
최근 SUN Microsystems사가 오픈소스에 진출하려고 노력하는 가운데, 오픈소스의 대표적인 킬러 소프트웨어인 MySQL이 SUN사와 합치게 되면 그 시너지 효과는 어마어마해질거라 생각됩니다.

SUN Microsystems에서 개발한 JAVA와 MySQL의 결합이 아주 자연스럽게 일어나겠군요. 아니 SUN사에서 나온 OS인 Solaris와 DBMS인 MySQL의 결합도 있을수있군요.
이제 LAMP(Linux+Apache+MySQL+PHP)의 결합만 있는 것이 아니라 JSP와 Solaris등의 결합도 있을수가 있겠군요.
세계 최고의 DBMS점유율을 가진 Oracle이 MySQL을 합병시킬려고 하다가 SUN사와 합병이 되었으니 DBMS시장도 어떻게 될련지 궁금합니다.
Oracle의 점유율을 야금야금 먹고 있는 MySQL이 SUN사와 합병으로 인해 어떤 전략으로 기업을 운용할지가 궁금하네요. DBMS시장에서 Oracle이 대부분 차지한 것이 어떻게 될까 상상만 해도 재미있겠군요.

이런 SUN사의 행보에 따라 Oracle도 BEA system을 인수했다고 하네요. SUN사가 MySQL사를 인수했던 비용에는 조금 미치지는 못하지만 웹로직 자바서버의 대표적인 BEA사와 Oracle의 합병으로도 IT업계는 예측불허의 상황이 되었습니다.
2008년 IT 최고의 뉴스라고 칭할 정도로 Sun Microsystems사와 MySQL의 합병과 BEA system과 Oracle사의 합병으로 IT업계의 판도는 어떻게 될련지가 예측불허의 상황이 되었습니다.

ps. 이제 JAVA와 MySQL의 결합아 자연스럽게 되었군요. JAVA하면 Oracle이였던 기억이 나긴해도 ㅎ 
Buy me a coffeeBuy me a coffee

+ Recent posts