OSAF

A collection of 25 posts

1대다

[DDD] User-Familly 구현

User-Familly 관계부터 생각해보면, User가 일방적으로 여러 Familly를 가지고 있다고 볼 수 있습니다. 다중성(?)은 User에서 Familly쪽으로 1:대 관계입니다. (형제 자매가 같이 입사한 경우 다:다가 될 수도 있지만, 드문 경우니깐 중복 데이터 상관하지 않고 일단은 1대다로 ㄱㄱ, ) 생명주기를 생각해보면, Familly가 User에 종속되어 있습니다.

Association Fake Object

하이버네이트 사용시 Association Fake Object라는 기술을 사용해 보세요.

이 기술은 사부 토비님이 알려준 기술입니다.   Fake Object라는 이름으로 배운 기술인데 보다 적당한 이름이 생각나서 붙여봤습니다. 유즈케이스를 보여드리자면 Post -> Board 관계에서 Post를 추가하려고 할 때 Post에 Board 객체를 어디선가 setBoard로 묶어줘야 합니다. 그걸 폼을 보여주기 전에 하거나 아니면 폼을 받아서 처리할

애니프레임

오랜만에 다시 본 애니프레임

얼마만에 살펴보는 건지 모르겠지만, 많이 발전한 것 같은 느낌입니다. OSAF를 공개하고나서 프레임워크 공개가 얼마나 쉽지 않은 일인가.. 얼마나 챙길 것이 많은지를 몸소 채험하고 있는 와중에 애니프레임을 보니까 뭔가 느낌이 새롭습니다. 깔끔한 홈페이지부터 잘 정리되어 있는 문서화가 정말 부러웠습니다. 크게 Core랑 Web이랑 Tool과 예제가 있고,

1.0.0-M2

OSAF 1.0.0-M2는 스프링 2.5.6 기반 프레임워크~

국내 최초 아니 어쩌면 세계 최초 스프링 2.5.6 기반 애플리케이션 프레임워크가 될지도 모릅니다. 크하하하. 최첨단 프레임워크니까 이 정도는 해줘야겠죠? 나오자마자 바로 업그레이드. 이럴 땐 메이븐이 편하긴 합니다. pom.xml에서 프로퍼티 사용해서 버전만 바꿔주면 되거든요.     <properties>      

이클립스 자바 프로젝트

OSAF를 일반 자바 프로젝트로 읽어 들이는 방법

OSAF는 꼭 메이븐 프로젝트가 아니여도 사용할 수 있습니다. 아마 메이븐 때문에 OSAF를 접하시는 분들이 어렵게 느끼시는 것 같은데요. 다음에 배포할 때는 일반 자바 웹 프로젝트 예제도 같이 넣어두겠습니다. 지금은 일단 사용법만 간단하게 보여드리겠습니다. http://blip.tv/play/gbkj17xNi7wl 웹 프로젝트 샘플도 이와 비슷하게 사용하시면

개발자

OSAF에 참여하고 싶은 개발자

메일 한 통이 날아왔습니다. 흠.. 한 단어의 영문 이름과 제목도 한 단어. hi. ‘스팸인가…스팸이라고 하기엔 너무 단순한데..’ 그래서 열어봤습니다. 캬오.. 소스포지에서 소스 코드만 보고 찾아온 것 같네요. 그래서 프로젝트 사이트 알려주고, 어떻게 참여하고 싶은지 물어보는 답멜을 보내줬습니다. 한국에 계신 분들도

잡담

OSAF 공개에 대한 이 생각 저 생각

프로젝트 시작 사부님의 글 스프링과 하이버네이트를 이용한 RAD프레임워크 – OSAF(OpenSprout App. Framework) 공개에도 나와있지만, 이 프로젝트를 시작하게 된 시점과 여자친구에게 차인 시점이 교묘하게 일치합니다. 그리고 그 즈음에 경제가 막 악화 되면서 프로젝트가 연이어 연기 되거나 파토나는 상황이 이어졌습니다. 현재까지도 좀 그런 상태라 회사에

여름 방학 계획

OSAF의 특징

OSAF는 스프링, 하이버네이트 기반 애플리케이션 프레임워크입니다. 라는 다소 두리 뭉실한 소개로는 대체 어떤 특징이 있는지 애매 모호 하실 것 같아서 OSAF가 가지고 있는 특징을 설명하겠습니다. 1. 제네릭 활용 GenericDao는 많이 듣고, 알고, 사용하고 있으리라 생각합니다. 하지만, OSAF에는 하이버네이트 기반의 GenericDao 뿐만 아니라, GenericService, GenericController

다운로드

OSAF 다운받기

OSAF 소스포지 링크를 클릭하면 다음과 같이 두 개의 파일이 보입니다. 위에 있는 녀석은 OSAF 의존성 라이브러리들을 osaf홈/lib 폴더에 모두 담고 있습니다. 메이븐을 사용하지 않을 때는 거기에 있는 모든 라이브러리를 클래스패스에 추가해서 사용하시면 됩니다. 메이븐을 사용하실 때에는 아래에있는 1메가 남짓의 파일을 받으시면 됩니다. 소스포지를

OSAF

OSAF(OpenSprout Application Framework) 1.0 M1 공개

lk4.mp3 (쇼팽, 연습곡 25번, 겨울바람) 토비님과 제가 주관하는 OpenSprout에서 OSAF 1.0을 드디어 공개합니다. OSAF는 스프링, 하이버네이트 기반의 자바 애플리케이션 프레임워크입니다. 그리고 OSGi 플랫폼에 설치하여 사용할 수 있는 번들이기 때문에, 필요한 패키지만 import 할 수 있다면, 얼마든치 번들로 설치가 가능합니다. 주요 기능으로는 자바

그리드 태그 파일

약간 어설픈.. OSAF 그리드 태그 완성

조금 어설픈 그리드 태그를 완성하고 공개합니다. 사실상 그리드 태그의 핵심 요소는 DisplayTag이고, 회사에서 사용한 OSAF 태그는 상용제품을 사용하고 있어서 공개할 수가 없었습니다. 그리드 구조도 조금 바껴서, 엑셀 기능을 제대로 활용할 수 없었습니다. ㅠ.ㅠ.. 이제 더이상 시간을 끌다가는 언제 공개할 수 있을지 몰라서, 일단

메이븐

OSAF 메이븐 저장소 사용하기

참조 : http://www.sonatype.com/book/reference/repository-manager.html#sect-conf-maven-nexus 기본으로 메이븐 저장소를 사용하게 되는데, 멀리 있어서 느린데다가, 라이브러리 업데이트도 느리기 때문에 최신 라이브러리를 참조할 수가 없습니다. 반면, 최신 라이브러리를 빠르게 참조할 수 있는 OSAF 메이븐 저장소를 간편하게 사용하실 수 있습니다. 일단 .m2 폴더(

태그 파일

JavaScript Calendar

참조: http://www.dynarch.com/projects/calendar/저렇게 달력을 뿌려주는 자바스크립트 라이브러리입니다. Date 정보를 입력받을 때 사용하면 유용하겠죠. 여러 가지 스타일 시트도 제공해주고, 여러 포맷으로 데이터를 조작할 수도 있고, 좋습니다. jscalander가 제공하는 예제 소스 코드를 보면 어떻게 이용할 수 있을지 대충 알 수 있습니다.

컨트롤러

delete 요청 처리 컨트롤러 코드 고민

앞선 글에서도 살펴봤지만, Cascade 옵션을 적용하려면, id 값으로 레코드를 제거하는 쿼리를 날리는게 아니라, Session의 delete(object) 메소드 호출을 해야 하는데. 기존의 컨트롤러는 삭제할 객체의 id 값을 가져오고, service.delete(id)를 호출하여 최종적으로는 id로 삭제하는 쿼리를 난리게 됩니다. 방법은 두 가지. 1. Cascade 옵셥을

OSAF

OSGi 기반 프레임워크과 애플리케이션 아키텍처 진화 과정

대체 어떻게 모듈화 해야 할까… 어떻게 나눌 것인가.. 어떻게 구성해야 번들간의 상호참조(CD)를 없앨 수 있을까..어떻게 나눠놔야 개발을 할 때 여러 번들을 뒤적거리지 않을까.. 번들헬이 발생하지 않게 하려면… 위와 같은 고민들은 OSGi와 스프링 DM을 학습하다보면, 자연스레 맞닥드리게 되는 문제들입니다. 이

번들

번들을 찾으려면.. http://www.springsource.com/repository/

http://www.springsource.com/repository/ 필요한 번들을 찾으려면 왼쪽 사이트에 가셔서 검색하시면 됩니다. 다소 복잡한 dep 구조를 가지고 있는 하이버네이트도 잘 정리되어 있었습니다. 위에 링크에서 번들 파일을 바로 다운로드 할 수 있으며, Maven을 사용할 때는 아래 dependency 덩어리를 pom.xml에 추가하면 됩니다. 그리고 이

ㅁㄴ

국내 최초 OSGi 기반 애플리케이션 프레임워크 OSAF 1.5 - 멀지 않았다.

프로젝트와 프로젝트 사이에 텀이 생겨서, 요즘 다듬고 있는 OSAF 1.5 입니다. 범용성은 없고, 얼리어댑터에게만 유용한 프레임워크입니다. 초고속 애플리케이션 개발을 지원하는 OSAF의 맛보기 정도랄까요. 프로젝트를 만드는 김에 OSGi 번들로 만들생각입니다. 굳이 Spring DM 번들일 필요는 없지만, 일단 베이스는 Spring DM 번들로 시작했습니다. 보시면 이미

You've successfully subscribed to Whiteship!