본문 바로가기

Project

Domain Driven Design? Domain Model과 Data Model은 어떤 차이가 있나요? 다들 뭔가 알고 있는듯한데 조금씩 다른 이야기를 하는것 같습니다. DDD(Domain Driven Design)에 대해선 요즘에 읽고있는 "Lean software development"에서 짧게 언급하고 있기에 인용합니다. ....중략.... Domain Driven Design 에서 에릭 에반스는 모델 주도 설계(DDD)를 두고 말하길 소프트웨어 구현 방식을 직접적으로 끌어낼수 있는 도메인 모델을 만드는 작업이라고 하였다. 도메인 모델은 고객이나 고객 대표 그리고 실제 코드를 작성하는 개발자가 바로 사용할수 있고 이해할 수 있어야 한다. 에반스는 이런 도메인 모델이 유비쿼터스 언어라고 주장한다. 즉, 개발자와 고객이 모두 같은 뜻을 .. 더보기
REST에 대한 글 내가 아내에게 REST를 어떻게 설명했는가.http://blog.eloitcube.co.kr/43최고다.어떻게 하면 저렇게 직관적으로 개념을 잘 설명할수 있을까?REST에 관한 다른글들http://javaora.tistory.com/26http://www.infoq.com/articles/rest-introductionhttp://www.sdnkorea.com/blog/471이클립스를 사용 자바로 Restful서비스 빌드하기 더보기
지금 이곳의 개선점? (혼잣말) プロジェット管理 -schedule及びtask管理 (milestone,優先中一覧) -repository管理(svn branch作成,tag管理,library管理,etc...) ソースコード改善 -Build管理 1.Build処理改善及び文書化(手順書,document) -ソースコードの間の依存性を減らす 1.hardcodingで書いた所を一元化 2.script処理を最小化 -ソースコードrefactoring Objectの目的と管理を明確にする。 データベース(DB) -DBの正規化 1.テーブル間の関係(relationshipを纏める) -Transaction管理 あと。。 -Framework導入 -maven導入 , issue tracking -人事管理 이 글은 일본사람에게 보여 주려고 만든게 아니라 혼자서 정리해 본 내용이다. 이글 .. 더보기
근태보고 여기 일본인 PM은 고이즈미 코타로(고이즈미아들,파견의품격 남주인공,사토나카 주임) 를 닮아서 이쁘장하게 생겼다. 나이는 26(81년생 나보다 한살 어리다)으로 경력은 약 6년정도로 (이회사에서) 현재 2개의 프로젝트를 맡고있는듯하다. 이쪽 현장은 "개선이 필요한 점"이 많아서 1달정도로 끝내고 싶은 곳이다. 그 중 가장 맘에 안드는것은 근태관리 이다. 여긴 근태관리를 2중으로 하는데 아침에 출근하면 출근보고 메일 퇴근할때 일일보고 메일 금요일에는 그주에 일한 근무시간을 적어서 확인을 받아야한다. (출근시간,퇴근시간,휴식시간,누계) 재미있는 것은 일일보고메일을 PM에게만 보내는게 아닌 어정쩡한 PL,PG?라 불리는 다른 일본인 멤버에게도 보내라는 것이다. 한국인 팀원이 한명더 있는데 한국인에게는 안보내고.. 더보기
자바의 추상클래스(Abstract class)와 인터페이스(interface class) 관련글 : 자바의 접근제한자,인터페이스,상속? 사실 처음 자바를 공부하면서 궁금해 하던게 있었습니다. 그것은 추상클래스(Abstract class)와 인터페이스(Interface)의 차이 및 존재이유입니다. 클래스는 크게 일반클래스와 추상클래스로 나뉘는데 추상클래스는 본문중에 '추상메소드'가 하나 이상 포함되는 경우를 말합니다. 인터페이스는 모든 메소드가 추상메소드인 경우 선언하는 경우가 많습니다. 추상메소드라 함은 메소드의 선언부만 있고 본문이 없는 것을 말합니다. 여기서 본문은 중괄호({})로 묶여진 몸체(body)부분을 말하는데 중괄호 안이 비어있더라도 이것이 존재한다면 그것은 추상메소드가 아닙니다. 추상메소드의 선언의 예는 다음과 같습니다. abstract public void test( int .. 더보기
오라클 단상. Oracle Expert one on one 최근 읽고 있는 책이 Oracle Expert one on one이다. 저자는 오라클개발에 참여하며 수많은 시스템을 구축한 베테랑이다. 책에서 저자가 말하는것은 하나이다. 어플리케이션 개발자도 오라클 DB의 구조 및 동작방식를 알아야 한다는것이다. 이것은 DB구조에 따른 어플리케이션층의 설계가 변경될수 있기 때문이다. 당연한 이야기처럼 보이지만 오라클 DB구조를 주목해야한다. 데이타 베이스는 일반적으로 SQL92이라 불리는 표준을 준수하지만 그 구현방식은 상이하다. 동시성제어(transaction)이라든지 유일키제어 등의 기능들은 각각 벤더에 따라 다르게 구현되어있다. 이러한 다른 사양은 어플리케이션 단위에 까지 영향을 미칠수가있다. 혹자는 이러한 벤더에 종속적인 프로그램을 반대할지도 모르지만 투자된 비.. 더보기
제어의 역행(IoC, inversion of control)에 대한 단상 제어 역행(IoC, inversion of control) SPRING BeansFactory 더보기
Lexical Closure 출처 : http://c2.com/cgi/wiki?LexicalClosure A LexicalClosure, often referred to just as a closure, is a function that can refer to and alter the values of bindings established by binding forms that textually include the function definition. Lexical closures are typically (but not always) formed by defining a function inside another function, for example (in SchemeLanguage): (define (foo x) (defin.. 더보기
Compile,Interpreter 언어 와 자바 컴퓨터 언어를 나누는 큰 한가지 기준이 있는데 그것은 언어의 해석이 컴파일시간에 일어나는가 실행시간이 일어나는가입니다. 전자의 경우는 언어를 실행 이전에 해석하여 최적화를 함으로서 성능을 끌어 올릴수 있고 , 실행 이전에 기본적인 문법 에러를 미리 확인할수 있습니다. 반면 후자의 경우는 언어를 실행시간에 해석하여 언어적 자유를 확보할 수 있습니다. (*이것 이외에도 보안,확장,transaction등 많은 이슈가 있지만 원리적인 측면에서 분류한다면 이렇지 않을까합니다.) 컴파일 언어인 자바와 C는 먼저 Type기반의 언어입니다. 이것은 사용할 데이타의 형을 미리 파악해두어 stack,heap에 적재될 데이타의 최적화를 이룰수 있습니다. (*좀더 정확히말하자면 데이타(data)와 연산자(operator)의 .. 더보기
Java Reflection 과 Interface ,Implement 일단 내가 깨닯은 핵심만 짧게 언급한다. 자세한 기술적 설명은 생략. Spring AOP의 원리에 대해 공부하면서 그 깨닮은 것이지만, Proxy - AOP | Reflection -> Casting -> Interface | Lazy Loading,Realtime Instance 자바에는 C및 다른 언어에 없는 특별한 기능이 하나 있는데 그것이 Reflection이다. Reflection은 클래스의 이름(name space)으로부터 클래스의 정보를 취득하고 그 인스턴스를 생성하는것이다. 말은 간단하지만 사실 이 기능은 수많은 자바만의 기술을 파생하게 되는데, 예를들면 XML에 설정한 클래스 이름으로 클래스를 생성하며 Proxy클래스를 클래스를 생성하고 생성 전후에 필요한 로직을 넣을수있으며(AOP) b.. 더보기