마틴파울러는 이렇게 말했습니다. 컴퓨터가 이해할 수 있는 코드는 어느 바보나 다 짤 수 있다. 좋은 프로그래머는 사람이 이해할 수 있는 코드를 짠다. 워드 커닝햄은 다음과 같이 이야기했습니다. 저는 작지만 유용한 프로그램들을 매일 작성할 것을 추천합니다. 누군가가 똑같거나 혹은 더 나은 걸 이미 만들었다는 데에 절대 신경쓰지 마세요. 유용성과 복잡성 간의 균형 감각을 얻기 위해서는 당신 자신이 만든 프로그램의 유용성을 직접 느껴봐야만 합니다. 둘 다 매우 감동적인 이야기입니다. 정말 부럽기도 하구요~~ 그러나 IT 개발자의 현실은 그렇게 여유롭지만은 못한 것 같습니다. 몇주전 블로고스피어에 올라왔던 아메바님의 그림일기를 보면 아주 적나라하죠.. ^^ 이런 현실을 벗어나 즐겁게 일하면서 사람이 이해할 수 ..
Abstract Factory Pattern - 디자인 패턴 참고서적 : Head First Design Pattern 소스코드 다운로드 : http://www.wickedlysmart.com/headfirstdesignpatterns/code.html 패턴 정의 #5 - Abstract Factory Pattern 추상 팩토리 패턴에서는 인터페이스를 이용하여 서로 연관된, 또는 의존하는 객체를 구상 클래스를 지정하지 않고도 생성할 수 있습니다. 디자인 원칙 1. 추상화된 것에 의존하도록 만들어라. 구상 클래스에 의존하도록 만들지 않도록 한다. 추상 팩토리 패턴을 사용하면 클라이언트에서 추상 인터페이스를 통해서 일련의 제품들을 공급받을 수 있습니다. 이때, 실제로 어떤 제품이 생산되는지는 전혀 알 필요도..
Factory Method Pattern - 디자인 패턴 참고서적 : Head First Design Pattern 소스코드 다운로드 : http://www.wickedlysmart.com/headfirstdesignpatterns/code.html 패턴 정의 #4 - Factory Method Pattern 팩토리 메소드 패턴에서는 객체를 생성하기 위한 인터페이스를 정의하는데, 어떤 클래스의 인스턴스를 만들지는 서브클래스에서 결정하게 만듭니다. 팩토리 메소드 패턴을 이용하면 클래스의 인스턴스를 만드는 일을 서브 클래스에 맡기는 것이죠. Creator 추상 클래스에서 객체를 만들기 위한 메소드, 즉 팩토리 메소드를 위한 인터페이스를 제공하고 있습니다. Creator 추상 클래스에 구현되어 있는 다른 메소..
Decorator Pattern - 디자인 패턴 참고서적 : Head First Design Pattern 소스코드 다운로드 : http://www.wickedlysmart.com/headfirstdesignpatterns/code.html 패턴 정의 #3 - Decorator Pattern 데코레이터 패턴(Decorator Pattern)에서는 객체에 추가적인 요건을 동적으로 첨가한다. 데코레이터는 서브클래스를 만드는 것을 통해서 기능을 유연하게 확장할 수 있는 방법을 제공한다. 디자인 원칙 1. 클래스는 확장에 대해서는 열려 있어야 하지만 코드 변경에 대해서는 닫혀 있어야 한다. 데코레이터 패턴은 포함관계를 나타냅니다. 기본 Component를 각 Decorator 클래스가 포함함으로써.. 원하는 결..
Observer Pattern - 디자인 패턴 참고서적 : Head First Design Pattern 소스코드 다운로드 : http://www.wickedlysmart.com/headfirstdesignpatterns/code.html 패턴 정의 #2 - Observer Pattern 옵저버 패턴(Observer Pattern)에서는 한 객체의 상태가 바뀌면 그 객체에 의존하는 다른 객체들한테 연락이 가고 자동으로 내용이 갱신되는 방식으로 일대다(one-to-many) 의존성을 정의합니다. 디자인 원칙 1. 서로 상호작용을 하는 객체 사이에서는 가능하면 느슨하게 결합하는 디자인을 사용해야 한다. 옵저버 패턴은 주제(Subject)와 옵저버(Observer)에 의해 정의됩니다. 옵저버는 주제에 의존하고..
Strategy Pattern - 디자인 패턴 참고서적 : Head First Design Pattern 소스코드 다운로드 : http://www.wickedlysmart.com/headfirstdesignpatterns/code.html 자바의 디자인 패턴을 좀 정리해 두려고 합니다. 나중에 찾아보기 편하려구요~~ 앞으로 이 부분을 공부하면서 연재할 계획입니다.!! 패턴 정의 #1 - Strategy Pattern 스트래티지 패턴 (Strategy Pattern)에서는 알고리즘군을 정의하고 각각을 캡슐화하여 교환해서 사용할 수 있도록 만든다. 스트래티지를 활용하면 알고리즘을 사용하는 클라이언트와는 독립적으로 알고리즘을 변경할 수 있다. 디자인 원칙 1. 애플리케이션에서 달라지는 부분을 찾아내고, 달라지..
지난 시간에 이어서 SCORM의 CMI 데이터 모델에 대한 정리를 마무리 하도록 하겠습니다. 11. Learner ID cmi.learner_id SCO를 사용하는 학습자의 아이디 또는 구분자 GetValue 미니주석) 보통 LMS에 로그인 할 때 사용하는 ID가 있습니다. 그걸 의미한다고 보시면 됩니다. 12. Learner Name cmi.learner_name SCO를 사용하는 학습자의 이름 GetValue 미니주석) 역시 LMS에서 사용하는 학습자의 이름입니다. learner_id나 learner_name은 사용자가 설정할 수 없습니다. 즉, SetValue를 지원하지 않는 것이죠.. 13. Learner Preference cmi.learner_preference._children cmi.lea..
SCORM RTE에서 이야기한 CMI Data Model을 정리해서 올려놓겠습니다. 아마도 이 자료가 필요한 분들이 많을 거라고 생각됩니다. 처음 SCORM을 접했을 때, 가장 많이 봤던 부분이기도 하구요~~ 이미 다른 정리된 좋은 자료가 있을지 모르지만.. 미니주석이라는 설명으로 제가 나름 파악한 내용도 추가해 놓도록 할께요~~ 각 엘리먼트 다음에 GetValue, SetValue 등이 표시될 겁니다. GetValue, SetValue가 모두 있으면 읽고 쓰기가 가능하다는 것이구요.. GetValue 는 읽기만 가능하구, SetValue는 쓰기가 가능하다는 것입니다. 위 말이 잘 이해가 안되면 이전 강좌를 참고하세요~~ 그리고 스펙에 나와 있는 데이터 타입이나 에러 처리등 기타 상세한 부분은 정리하지 ..
API Wrapper 함수 앞의 Photoshop 예제를 다운로드 했다면 (혹시 받지 않았으면 자료모음에서 받으시기 바랍니다.) 다음 위치의 파일을 보시기 바랍니다. photoshop/util/Photoshop_APIWrapper.js 이 파일을 텍스트 에디터로 열어 보시면.. 위 함수와 이름은 비슷한데.. doInitialize, doTeminate.. 등으로 이루어진 것을 볼 수 있습니다. 이것이 바로 Wrapper 함수라고 보시면 되구요. 내부에서 Initialize, Teminate.. 등을 호출하고 있지요~~ 이런 Wrapper를 왜 사용할까요? 그대로 쓰기 보다는 사용자의 다양한 요구를 받아들여서 적절히 수정해서 적용할 수 있는 융통성을 주기 위해서가 아닐까 하네요... Wrapper 함수의 ..
오랜만에.. SCORM 강좌를 이어서 진행하도록 하겠습니다. ^^ 오늘은 SCORM RTE 부분을 살펴볼 것인데요.. RTE는 Run-Time Environment의 약자로서.. 굳이 번역하자면 실행환경이라고 할 수 있습니다. 그렇다면 이런 실행환경이 왜 필요하고, 어떻게 구성되어 있으며~~ 실제 호출하는 함수나 데이터 모델이 어떠한지를 살펴보도록 할 것입니다. 이것이 바로 SCORM RTE에서 다룰 내용의 전부라고 생각하시면 됩니다. *^^* 자~ 그럼 시작해 보도록 하겠습니다.~~ SCORM RTE의 개념 먼저 RTE가 왜 필요한지 생각해 보도록 하죠~~ SCORM이 등장하게 된 중요한 이유중의 하나는 바로 콘텐츠와 시스템의 분리였습니다. 그래서 목차나 각각의 차시에 대한 파일이나 여러 정보는 ims..
- Total
- Today
- Yesterday
- fingra.ph
- HTML
- 통계
- mysql
- 마케팅
- 하둡
- 모바일
- Hadoop
- 분석
- java
- 디자인
- 세미나
- SCORM
- 자바
- 애플
- 구글
- XML
- 프로젝트
- ms
- 빅데이터
- 책
- 자바스크립트
- 맥
- 웹
- 안드로이드
- r
- 도서
- 아이폰
- 클라우드
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
31 |