Error rendering WebPanel: No renderer found for resource type: velocity Template contents: <meta name="ajs-keyboardshortcut-hash" content="$keyboardShortcutManager.shortcutsHash">

버전 비교

  • 이 줄이 추가되었습니다.
  • 이 줄이 삭제되었습니다.
  • 서식이 변경되었습니다.

...

개발 실무 디자인 패턴

1~3 GoF 디자인패턴 이론

  전통적인 OOP 개발 패턴을 이해하고 실무에 응용할 수 있도록 준비한다.

  1주차 - 생성 패턴

  • Abstract Factory
  • Builder
  • Factory Method
  • Prototype
  • Singleton

  2주차 - 구조 패턴 

  • Adapter
  • Bridge
  • Composite
  • Decorator
  • Facade
  • Flyweight
  • Proxy

  3주차 - 행위 패턴

  • Chain of Responsibility
  • Command
  • Interpreter
  • Iterator
  • Mediator
  • Memento
  • Observer
  • State
  • Strategy
  • Template Method
  • Visitor

4~9 디자인 패턴 실습 (중간 세미나 포함)

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

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

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

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

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

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

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

  7주차 - 




제가 회사에서 파이썬으로 주식데이터를 수집하고 분석해서 모의로 과거 데이터를 테스트 하는 등의 일을 하고 있는데요, 이런 일들은 굉장히 절차지향적이다보니 객체 지향적으로 프로그래밍 하는데 어렵더라구요( 제가 못해서 ). 저랑 비슷한 고민을 할 분들과 함께 스터디를 해보면 어떨까 합니다.
언어를 파이썬으로 쓰기 때문에 크게 2개로 진행이 됩니다. 
1. 책 https://www.aladin.co.kr/shop/wproduct.aspx?ItemId=102151688&start=we 내용을 먼저 공부할 예정입니다. 공부 방식은 각자 챕터별로 내용을 정리하고 모여서 실습 내용을 따라하고 느낀 점을 공유하기. ( 4주 * 4단원 = 16~18단원 ) 4명 이상만 모이면, 1단원씩 해오기 입니다.
2. 몇 가지 데이터를 수집하고 모의로 주식을 거래하고 수익을 계산해보는 시뮬레이터를 리팩토링하기입니다. 같이 프로그래밍을 하면 좋겠지만, 그러기엔 한정된 시간에 많은 내용을 많이 작성하기 어려워서 이미 작성해놓은 코드를 리팩토링 하려고 합니다. 또한, 몇 가지 요구사항도 이미 여러번 필요했던 요구사항을 실제로 반영해보려 합니다.
2-1) finance.naver.com 등 웹에서 데이터를 수집하는 크롤러를 리팩토링 합니다.
2-2) 주식 혹은 ETF를 거래하는 로직을 리팩토링 합니다.
2-3) 사용자의 기능에 맞는 웹 페이지와 기능을 리팩토링 합니다. (차트 그리기 등..)
2-4) 과거 데이터에 기반해서 해당 로직을 평가하는 시뮬레이터를 리팩토링합니다.

스터디 설계 목적)
0 - 파이썬으로 객체지향적으로 프로그래밍을 공부해보자 ( Java 와는 또 다른 언어 설계로 새로이 공부해볼만한 영역이 많습니다. 신기한 접근법도 많구요 ) 주 언어가 파이썬이 아닌데, 파이썬을 좀 깊게 다뤄볼 기회가 아닐까요.
1 - GoF 의 Design Pattern 에 대해서 공부하면서 코드에 적용해보자.
2 - 간단한 프로그램에서 Enterprise Architecture Pattern 에서 다루었던 내용들을 적용할 수 있는 부분이 있을까를 같이 고민해봄
3 - 객체 지향 생활 체조 같은 내용들을 적용해보면서 코딩을 하거나 고칠 수 있을까?
4 - 금융권에서 다루는 데이터 방식이란 어떤 것일까? (저도 다 아는건 아니지만 제가 아는한 다 공유하려 합니다. 생각보다 별게 없습니다.. )" "두 가지 주제 중에 하나로 고민하려 했는데, 하나는 오픈소스 컨트리뷰트 도전하기 인데, 지난번에 스터디 리더를 하면서 뭔가 아주 명확하고 달성가능한 목표가 있어야 스터디를 운영하기 더 쉽다고 느껴서 목표를 굉장히 명확하게 잡으려고 노력했고, 오픈소스 컨트리뷰트 해보기 ( 번역이나 오탈자 말고 실제 버그 수정 )를 고민했으나, 당장 실력이 아직도 많이 부족한 것 같아 실력을 늘리는 스터디로 하려고 합니다. 
리팩토링할 코드는 전부 제가 짰던 막장 코드이니 예는 얼마나 코드를 못 짜나?를 구경하면서 힐링할 목적으로 참가하셔도 좋겠습니다 와주셔서 많은 훈수질 부탁드립니다....


1. 목표
> 전통적인 OOP 개발 패턴을 이해하고 함수형 패러다임을 적용하여 실무에 즉각 응용할 수 있도록 한다.
* 개발자간의 의사소통 원할
* 재사용 및 유지보수성 증가

2. 커리큘럼
1. 실무에서 사용되는 디자인 패턴 공유.
2. Lambda식과 functional interface
3~7. 디자인패턴 소개, 활용, 람다식 적용
3. GoF - Creational
> * Factory Method
> * Abstract Factory
> * Builder
> * Prototype
> * Singleton

4. GoF - Structural1
> * Adapter(class)
> * Adapter(Object)
> * Bridge
> * Composite

5. GoF - Structural2 
> * Decorator
> * Facade
> * Flyweight
> * Proxy
> * Visitor (behavioral)

6. GoF - Behavioral1
> * Interpreter
> * Template Method
> * Chain of Responsibility
> * Command
> * Iterator

7. GoF - Behavioral2
> * Mediator
> * Memento
> * Observer
> * State
> * Strategy

8. 자주 사용되는 디자인 패턴 실습


...

Elastic Search

elastic search

...