이번에 텍스트큐브(textcube.org) 구글맵 플러그인 개발을 하게 되었습니다.

개발에 참여를 하게 되면서 subversion에 대해서 기본적으로 알아야했습니다. 안그러면 개발하는데 어떻게 소스코드를 넣고 소스코드 버전 관리를 하기가 끔찍하더군요.

이 내용은 KLDP에 있는 내용으로 알게 됨. Subversion-HOWTO

그리고 간단한 PHP와 JAVA Script는 기본적으로 알고 있으니 인터넷으로 레퍼런스를 찾기로 하였다.

PHP.net - PHP Manual

W3C서 나온 자바스크립트 튜토리얼 - JavaScript Tutorial

그리고 구글 맵 플러그인을 다룰려면 구글 맵 API를 알아야겠지요? - Google Maps API

이번에 Textcube 1.8 버전 JAVA Script를 jQuery기반으로 바꾼다고 해서 jQuery를 사용해야합니다.

그래서 jQuery홈페이지에서 jQuery 문서를 보아야겠습니다. - jQuery Documentation

그렇긴 해도 인터넷에 있는 문서뿐만 아니라 책을 참고하면서 개발하는것이 효율적이겠죠. Flickr Mashup책과 jQuery in Action책을 보면서 개발을 할 것입니다.


FLICKR MASHUPS
카테고리 컴퓨터/IT
지은이 David Wilkinson (정보문화사, 2008년)
상세보기

프로그래밍 JQUERY
카테고리 컴퓨터/IT
지은이 베어 바이볼트 (인사이트, 2008년)
상세보기

휴 생각보다 공부할 것 많구나.


Buy me a coffeeBuy me a coffee

프로젝트명 : 텍스트 큐브 게시판 플러그인 프로젝트

접근 방법

첫주에는 텍스트큐브가 어떻게 돌아가는 지 구조를 알아본다.

|회원 가입 폼을 추가. (팀블로그 권한 확장)

회원 가입 동의 화면을 추가. (약관 등)
회원관리 화면 추가
회원 관리자 기능을 기존 관리자에서 분리한다.
회원 열람/검색/권한 설정 화면 추가
회원 약식 통계 화면 추가
게시판 관리 화면 추가
카테고리 = 하위게시판
개인별 접근 권한 설정 기능을 추가한다.
업로드 파일 제한 기능 추가 (확장자,크기 등)
글 메달기 기능 추가
글 보기 화면 개선
글 네이게이션 확장 (작성자/조회수/작성일/첨부여부/추천수)
간이 투표 기능 추가
투표용 글 여부를 선택
투표 가능 기간 설정
투표 현황 보기


프로젝트 예상 결과
그리고 텍스트큐브의 구조와 자바스크립트의 많은 내용들을 알 수 있을 것 같습니다. 아침놀님의 프로젝트에도 참가하는데 거기에 따른 시너지 효과도 있을 것입니다.

관련 경험/경력
PHP로 학과 홈페이지 작성 및 수정해 본 경험
홈페이지 유지 보수 해보고 웹서버 관리 해본 경험
텍스트큐브 설치 및 사용해본 경험
웹개발쪽에서 PHP와 JAVAscript로 사용하여 간단판 프로그램을 짜본 경험이 있습니다.
오픈아이디에 관심 많아서 http://www.studioego.info/openid/ OpenID예제를 따라해 본 경험도 있습니다.

프로젝트에 가능한 시간은?
1주일에 10시간 정도 가능.

해당 프로젝트를 선택하게 된 동기
테터캠프에 여러번 참가를 해보고 텍스트큐브를 사용을 해보면서 나도 텍스트큐브 개발에 참여를 해보고 싶다는 생각을 하다고 실천에 옮기기로 하여 선택하게 되었습니다.

멘토에게 하고 싶은 말 (혹은 질문)
1. 여기에 참가하게 되면 텍스트큐브 개발자에 이름이 박히는 건가요?
2. Textcube를 제 계정(http://studioego.info/blog/)에 설치를 하였답니다 :)
3. 홍문관에서 있던 교육이야기가 WoC라서 놀라웠습니다
4. 꼭 되었으면 좋겠습니다.


Buy me a coffeeBuy me a coffee
  • Monac님이 주최하신 애자일 3종 강탈 1탄, Head First Software Development에 당첨이 되어서 주소와 이메일, 블로그주소까지 알려주었습니다. 빨리 책이 도착하여 읽는 것만 남았음. 참고로 황금벌레님도 당첨되었으니 빨리 확인해보세요^^(me2book Head First Software Development 소프트웨어 개발 개발론 소프트웨어개발 애자일 Agile)2008-12-30 16:35:10
    Head First Software Development - 더 쉽고 재미있게 소프트웨어를 개발하는 방법
    Head First Software Development - 더 쉽고 재미있게 소프트웨어를 개발하는 방법
  • Head First Design Patterns - 스토리가 있는 패턴 학습법을 보니 소프트웨어공학때 배웠던 뜬구름 잡던 내용들이 머릿속에 정리가 잘되는 기분이 든다. 책에 있는 그램과 만화때문에 계속 책을 보게 합니다. 그러다 보니 벌써 코딩까지?(me2book Head First Design Patterns 디자인패턴 디자인 패턴 소공 소프트웨어공학 SE Software Engineering 정리)2008-12-30 22:43:12
    Head First Design Patterns - 스토리가 있는 패턴학습법
    Head First Design Patterns - 스토리가 있는 패턴학습법
  • [한빛미디어 - 기타증정] 도서가 발송처리 되었습니다. 2~3일이내 받아보실 수 있습니다.-책온다(me2sms)2008-12-31 18:30:07
  • Monaca님의 “애자일3종강탈이벤트”: http://monac.egloos.com/2186534 로 참여하여 당첨되었던 『Head First Software Development』를 택배로 받았습니다. 그런고로 인증샷 올림. 이제 빨리 읽어야지 ㅎㅎ(me2mms me2photo)2009-01-02 23:35:38

    me2photo

이 글은 StudioEgo님의 2008년 12월 30일에서 2009년 1월 2일까지의 미투데이 내용입니다.

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

MVC Pattern, originally uploaded by Dario Santarelli.

MVC(Model, View, Controller)는 게임 개발, 윈도우즈 프로그래밍 개발,웹 어플리케이션 개발등 여러군데서 많이 사용한다.
MVC패턴을 모르고서는 프로그래밍을 할수 없을 정도로 많은 기업이나 오픈소스프로젝트에서 소스의 유지보수를 위해서, 구현의 효율성을 높이기 위해서 많이 쓴다.

MVC 패턴

MVC패턴은 Smalltalk에서 그래픽 인터페이스와 실제로 동작하는 코드를 분리하기 위해 개발되었다 지금은 다른 객체지향언어에서도 널리 사용되는 패턴 중 하나이다.

웹 어플리케이션에서 사용하는 MVC 패턴
MVC 패턴의 기본 개념은 사용자에게 보일 페이지(View)와 데이터 처리(Model), 그리고 이들 상호간의 흐름을 제어(Controller)하는 모듈을 분리하는 것이다. 이렇게 함으로 더 쉽게 웹 애플리케이션을 확장하고 유지, 보수를 할 수 있다.
(여기서는 JAVA Web 개발에 관한 MVC 패턴을 다룬다)

모델(Model)
모델(model)이란 어떠한 동작을 수행하는 코드를 말한다. 표시 형식에 의존하지 않는다. 다시 말해, 사용자에게 어떻게 보여질지에 대해 신경쓰지 않아도 된다. 모델은 순수하게 public 함수로만 이루어진다. 몇몇의 함수들은 사용자의 질의(query)에 대해 상태 정보를 제공하고 나머지 함수들은 상태를 수정하는 함수이다.

웹어플리케이션에서 모델(Model)은 데이터 영역으로 DAO(Data Access Object), DO(Data Object) 등으로 구분해 구현하기도 한다. 하이버네이트, 아이바티스와 같은 퍼시스턴스 프레임워크를 사용하기도 한다. EJB와 연동할 수 있으며 EJB 3.0의 POJO 기반의 퍼시스턴스 API도 있다.


뷰(View)
MVC에서 모델은 여러 개의 뷰(view)를가질 수 있다. 뷰는 모델에게 질의를 하여 모델로 부터 값을 가져와 사용자에게 보여준다.
웹어플리케이션에서 뷰(View)는 JSP를 기본으로 표현 언어, JSTL, 커스텀 태그 라이브러리 등을 함께 사용하며, 모듈화 된 사용자 인터페이스 모델인 JSF(Java Server Faces)도 이용할 수 있다.


컨트롤러(Controller)
MVC의 뷰는 여러 개의 컨트롤러(Controller)를 가지고 있다. 사용자는 컨트롤러를 사용하여 모델의 상태를 바꾼다. 컨트롤러는 모델의 mutator 함수를 호출하여 상태를 바꾼다. 이 때 모델의 상태가 바뀌면 모델은 등록된 뷰에 자신의 상태가 바뀌었다는 것을 알리고 뷰는 거기에 맞게 사용자에게 모델의 상태를 보여 준다.
웹어플리케이션에서 컨트롤러(Controller)는 MVC 패턴의 중심이 되는 부분으로, 직접 구현하거나 구현된 솔루션을 이용할 수 있다. 대표적으로 스트러츠 프레임워크(struts Framework)나 스프링 프레임워크(Spring Framework)가 있다.

'컴퓨터 > 프로그래밍' 카테고리의 다른 글

Android SDK 설치  (0) 2008.12.14
오랜만에 만져본 JAVA  (2) 2008.12.02
내가 보아야 할 Ruby 관련 책들  (2) 2008.05.14
Ruby를 맛봅시다.  (2) 2008.04.30
10.Raw Socket  (0) 2008.04.29
Buy me a coffeeBuy me a coffee

+ Recent posts