페이지 트리
메타 데이터의 끝으로 건너뛰기
메타 데이터의 시작으로 이동

참가자

제한재홍광필문혜영김문수강은지박상도Jhang JhinDhal신용우서경진



목표

OOP 개발 패턴을 실습을 통해 확실히 이해하여 실무에 즉각 활용할 수 있도록 한다.
 - 개발자간의 의사소통 원할
 - 재사용 및 유지보수성 증가

커리큘럼

1~3 GoF 디자인패턴 이론

  각 패턴의 목적과 활용방법에 대한 지식을 습득하고 실무 서비스로직에 적용 중인 패턴을 공유한다.

  1주차 - 생성 패턴

패턴명in JDKin Practice
Abstract Factoryjavax.xml.xpath.XPathFactory
Builderjava.lang.StringBuilder
Factory Method java.util.Calendar
Prototypejava.lang.Object#clone()
Singletonjava.lang.Runtime#getRuntime()내부캐시


  2주차 - 구조 패턴 

패턴명in JDKin Practice
Adapterjava.util.Arrays#asList()

VO 변환

- app

- web

Bridgejava.util.Collections#newSetFromMap()
Compositejava.awt.Component
Decoratorjava.util.Collections#synchronizedXXX()
Facadejavax.faces.context.ExternalContext
Flyweightjava.lang.Integer#valueOf(int)
Proxyjava.lang.reflect.Proxy


  3주차 - 행위 패턴

패턴명in JDKin Practice
Chain of Responsibilityjava.util.logging.Logger#log()
Commandjava.lang.Runnable
Interpreterjava.util.Pattern
Iteratorjava.util.Iterator
Mediatorjava.util.concurrent.Executor#execute()
Mementojava.util.Date
Observerjava.util.EventListener
Statejavax.faces.lifecycle.Lifecycle#execute()

방송상태에따른 처리

- 시작

- 종료

Strategyjava.util.Comparator#compare()

목록 정렬 전략

- 최신순 정렬

- 특정 아이템 최상위 정렬

Template Method java.util.AbstractList

할인쿠폰

- 금액할인쿠폰

- %할인쿠폰

Visitorjava.nio.file.FileVisitor


4~6 기본 & 자주쓰는 디자인 패턴 특화 실습

  https://github.com/iluwatar/java-design-patterns

  난이도 Beginner 인 패턴들을 위주로 각 패턴에 특화된 요구사항을 정의하고 패턴을 적용하여 구현해보는 실습을 진행합니다.

  • Factory Method
  • Prototype
  • Singleton
  • Adapter
  • Decorator
  • Facade
  • Proxy
  • Template Method
  • Iterator
  • Observer
  • Strategy
  • State
  • Chain of Responsibility


7~9 디자인 패턴 실습

  이론으로 학습한 패턴을 실제로 어플리케이션에 구현하는 작업을 합니다. 구현할 대상은 간단한 주가 데이터 크롤러 및 거래 알고리즘 및 시뮬레이터 입니다. 스터디 리더의 언어와 같은 언어로 같이 프로젝트에 참여할 수도 있고, 새로 객체 지향을 배워본 언어에 개인적으로 적용하고 코드리뷰를 함께 할 수 있습니다. (파이썬, 자바 예정)

  7주차 - 요구사항 정의 및 데이터 크롤링

  • 만들고자 하는 어플리케이션의 요구사항과 변경사항을 나열합니다. 
  • finance.naver.com 에서 KOSPI 데이터를 크롤링 하는 간단한 프로그램입니다.
  • 크롤러에 대한 failover 기능을 구현하기 위해 naver 에서 실패시 finance.daum.net 에서 가져올 수 있어야 합니다.
  • 기타 스터디에서 새로운 요구사항이 구현될 수 있습니다.

  8주차 - 알고리즘에 기반하여 ETF 트레이딩을 구현하고 계좌 수익률 구현

  • 크롤링한 간단한 데이터를 기반으로 트레이딩 알고리즘을 작성하고 그에 따른 수익률을 추적할 수 있어야 합니다. (트레이딩 알고리즘은 요구사항으로 간단하게 정의되어있습니다)
  • 알고리즘은 다양하게 구현될 수 있으며 알고리즘은 언제든지 교체될 수 있어야 합니다.
  • 프로그램은 실시간으로 동작하는 모듈이라고 가정하고 작성합니다.

  9주차 - 알고리즘 시뮬레이터 구현

  • 실시간으로 동작하는 모듈로 가정하고 작성된 프로그램에서 과거의 데이터를 기반으로 시뮬레이터를 구현합니다.
  • 레이블 없음

4 댓글

      1. 댓글 달지 말고 페이지를 수정합시다~~~ ㅎㅎㅎㅎ

        1. 죄송합니다 모바일버전이 페이지수정이안됐어요 ㅠ 적어주셔서 감사합니다