Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

DesignPatterns/2011년스터디: Difference between revisions

From ZeroWiki
imported>linflus
No edit summary
(Repair MoniWiki formatting after migration)
 
(59 intermediate revisions by 5 users not shown)
Line 1: Line 1:
<!-- MONIWIKI PageList(^DesignPatterns/2011년스터디) -->[[Special:PrefixIndex/DesignPatterns/2011년스터디|DesignPatterns/2011년스터디 관련 문서 목록]]
* HolubOnPatterns를 함께 읽는 스터디.
* HolubOnPatterns를 함께 읽는 스터디.
* 참가자: [[김준석]], [[김수경]], [[서지혜]], [[임상현]]
* 참가자:
** [[김준석]], [[김수경]], [[서지혜]], [[임상현]]
** 코치: [[변형진]]
** 코치: [[변형진]]
* 매 주 토요일 2시에 모입니다.
* 매 주 토요일 2시에 모입니다.
== 출석체크 ==
= 출석체크 =
{| class="wikitable"
{| class="wikitable" style="width:100%;"
|-
|-
|  
| 날짜
| [[김준석]]
| [[김수경]]
| [[김수경]]
| [[서지혜]]
| [[서지혜]]
| [[임상현]]
| [[임상현]]
| [[김준석]]
|-
|-
| 3/19
| 7/7
| O
| O
| O
| O
| O
| X
|-
| 3/27
| X
| X
| O
| O
| O
| O
|-
|-
| 4/2
| 7/11
| O
| O
| O
| O
|-
| 4/10
| O
| O
| O
| O
|-
| 4/29
| O
| O
| O
| O
Line 42: Line 26:
| O
| O
|}
|}
== 3월 19일 ==
== 7월 ==
* DoWeHaveToStudyDesignPatterns?
=== 7일 ===
* HowToStudyDesignPatterns?
* 진행 방식 정하기
* 진행 방식
** 일주일에 두 번 모이기 (월 정모 이후, 목 3시~5시)
** 책을 읽으며 [[HolubOnPatterns/밑줄긋기|밑줄을 긋자]]
** 첫 두 주간은 구현 실습 위주
** DB 프로젝트를 하자?
** WinMerge 다시 짜기
== 3월 27일 ==
** 각자 자신의 WinMerge를 짜본다
=== 후기 ===
* 11일까지 해올 것
==== 김수경 ====
** WinMerge 아키텍쳐 설계
# HolubOnPatterns 0장에 대해 함께 이야기했다. 나 혼자 0장을 안 읽어와서 민망했다. 1장은 꼭 읽어와야지.
=== 11일 ===
# High Cohesion Low Coupling과 SOLID(SRP, OCP, LSP, ISP, DIP)에 대해 다시 생각해보는 시간이 되었다.
* [http://onoffmix.com/event/3297 Joseph Yoder와의 만남]
## SRP(Single Response Principle)에 대해 얘기하면서 '책임'이란 무엇인가에 대한 이야기가 나왔다. 삽질 경험이 없는 사람에게 객체지향 원칙을 설명할 때 '책임'이 무엇인지 어떻게 이해시켜야 할지 모르겠다. 오늘 얘기하면서 낸 결론도 경험이 없으면 이해하기 어렵다는 것…
* :JosephYoder방한번개모임
## DIP에서 의존관계 역전이 대체 무엇을 역전시킨다는 것인지 알게되었다. 기존에는 Highlevel 모듈이 Lowlevel 모듈에 의존하는 식이었지만 인터페이스를 사용하여 Lowlevel 모듈이 Highlevel이 제공하는 인터페이스에 의존하게 함으로써 설계를 더 유연하게 만들 수 있다.
# 여름방학때 1, 2학년들과 함께 OOP 스터디를 진행하고싶다.
==== 서지혜 ====
# 0장 읽어오고 밑줄긋기(안함), 내용에 대해 이야기 나누기
# 객체지향을 왜 해야하는가? 근본적으로 소프트웨어가 변화하기 때문이다. 객체지향은 변화에 잘 대응할 수 있는 설계 패턴이다.
# DIP
## 처음엔 단순히 인터페이스 대신 넘겨받는 구체클래스를 써야해서인 줄 알았는데 상위기술이 하위기술에 의존하는 것이 아닌 하위기술이 상위기술을 지원하기 위해 만들어지는 것이라는것을 알게되었다.
## 의존관계 역전이라 해서 낯설었는데 이렇게 설명하니 상위기술에 하위기술이 맞추는게 당연한게 아닌가 하는 생각이 들었다.
# SRP에서 책임나누기 - 변화를 상상해보라.. 서비스가 변경될 때 함께 수정되어야 할 코드들을 분리해라! 그것이 변화의 축이다. - 많은 상상과 삽질을 해야겠습니다.
# 좋은 설계는 천재 프로그래머에 의해 한번에 만들어지는게 아니라 고민하는 프로그래머에 의해 지속적으로 만들어 지는 것 이다. 용기를 주는 말입니다.
## 이 자리에 이 패턴을 적용해야할 이유를 대라. 패턴을 적용할 때에는 타당한 이유가 있어야 한다. 생각없이 적용된 패턴은 오히려 설계를 망친다.
## 즐겨라:)
==== 임상현 ====
* 왜 디자인 패턴을 쓰느냐?, SOLID를 공부했습니다. 오랜만에 공부를 잘 안돌아갑니다. , 열심히 공부해야겠습니다. 삽질을 덜하고 싶습니다.  


== 4월 02일 ==
* 원래는 WinMerge의 아키텍처 공유하는 시간이었지만 아키텍처와 리팩토링 전문가인 Joseph Yoder씨의 방한기념으로 창준선배님이 여신 번개모임에 다녀왔다.
=== 후기 ===
* 급하게 당일날 일정을 변경하였으나 모든 사람이 참석하였다.
==== 김준석 ====
* 오늘의 후기는 여기에
# 밑줄긑기가 잘 남는군. 역시 근데 책을 읽어온다는건 힘들어.
** :JosephYoder방한번개모임
# 알면 알수록 오류는 정정되고 지식은 쌓이는 기분.
=== 14일 ===
# 지금짜는 코드만큼 미래를 위해서는 개념공부가 중요하지만 난 잘안하지.
* To do
 
** 아키텍쳐 리뷰
 
** 자기가 설계한 WinMerge 아키텍쳐 설명하기
==== 김수경 ====
== 8월 ==
# 이번 스터디는 책도 미리 읽어보고, 밑줄도 다들 열심히 그어서 더 재미있었다.
=== 8월 18일 ===
# 혼자 책을 읽을 때는 '동적인 행동양식'이 무엇인지 잘 감이 오지 않았는데 오늘 스터디하며 알게되었다.
* 켄트 벡의 구현 패턴
## 책에 나온 교차 통풍 패턴을 예로 들어 말하자면, 정적인 구조를 볼 때 마주보는 양 쪽 벽 비슷한 높이에 창문이 있는 사무실은 교차 통풍 패턴에 속하는 것처럼 보일 수 있다. 그러나 창문 앞에 커다란 건물이 있으면 바람을 막아서 창을 통해 바람이 들어오지 않는다. 교차 통풍 패턴은 마주보는 양 벽에 각각 창이 있다는 그 자체로 실내 공기를 쾌적하게 만드는 것이 아니라 창을 통해 바람이 불어들어오고 불어나감으로써 실내 공기를 쾌적하게 만드는 것이다. 따라서 교차 통풍 패턴에서 마주보는 양 벽에 창이 존재한다는 정적 구조 보다는 창을 통해 바람이 들어오고 나가는 동적인 행동 양식과 그것을 통해 실내 공기를 쾌적하게 만든다는 의도가 중요하다고 할 수 있다.
* 홀럽 230페이지까지 읽기
# 홀럽 아저씨는 OO계의 진중권인듯.
* 5시에 모입니다
## 책의 일부 내용으로 미루어보아 절차지향적 패러다임이 판칠때 OO를 들고 나와 절차지향의 수호자들''--절차지향으로 코드 잘 짜지도 못 하는 허접들--''과 격한 키배를 수도 없이 펼치지 않았을까…
# ''예측은 빗나가기 쉽다.''
# 무엇이든 생각없이 받아들이지 말고 장점과 단점을 모두 생각한 후에 지금 사용하기 적절한지 판단하고 적용하라는 아주 중요한 메세지가 반복되어 나온다. 다시 한번 되새기는 시간이 되었다.
==== 서지혜 ====
* 처음에 0장에 대해 다시 얘기했는데 그새 잊었던 일을 다시 기억하게 되었다.
* OOD와 OOP가 다르다는 것을 알았다.
* 처음에 모든 기능을 고려하기 보다는(미래의 것까지) 기능을 확장할 수 있도록 유연하게 설계하라.
==== 임상현 ====
# 밑줄 긋기를 하면서 책을 봤습니다. 그런데 처음이라 그냥 책보면서 긋던거 다 그어 버렸습니다 .
# 스터디 하는데 생각보다 시간이 빠르게가 아쉬웠습니다.
# 디자인이란 선택과 트레이드 오프, 리스크 관리의 연속이라는 점이 가슴에 와닿았습니다. 그래서 결국 자구 과제는 추가 사항이 없으므로 개판으로 짰습니다.
# 자구 과제를 하면서 이렇게 짜면 안되는데 이러면 코드가 개판인데 느끼고 있으면서 그렇게 밖에 할수 없는 능력이 슬펐습니다. 더 공부해서 잘짜야겠습니다.
 
== 4월 10일 ==
=== 후기 ===
==== 김준석 ====
==== 서지혜 ====
# 1장 끝
# 밑줄긋기를 안해서 그런지 기억에 잘 안남는다
# 밑줄긋기 시험 끝나고 하겠습니다.
# 저자는 열심히 getter와 setter를 깐다. get/set은 변수를 public으로 만드는 어려운 방법이다!
==== 임상현 ====
# 책 1장을 이번에 다 읽었습니다. DB프로젝트 설계하는걸 구경 및 참여했습니다.
# 프로젝트 설계를 하는게 매우 신기했습니다. 가장 최근에 했던 프로젝트가 약 2년 전이라 하나도 모르겠는데 모듈을 잡고 그 모듈의 역활을 잡고 그에 따라 인터페이스를 만들고 하는 걸보고 생각없이 그냥 순차적으로 프로그래밍 하려고했던 제가 참 답이 없었던거 같습니다.
# "어떤 작업을 수행하는데 필요한 데이터를 요구하지 말라!!! 대신 정보를 가지고 있는 객체에게 일을 해달라고 부탁하라!" 항상 데이터를 get으로 꺼내와 바꿔놓고 set으로 넣어놨던 제 자신을 반성해 봅니다.
# DB 수업을 듣지 않아서 완전히 참여는 하지 않았지만 DB팀이 하는 프로젝트가 진행되는 모습을 계속 보고 싶습니다.
==== 김수경 ====
# 드디어 1장을 다 읽었다. 1장에 정말 중요한 내용이 많다는 것을 후기를 쓰려고 돌아보며 다시 한번 느낌. 이 책을 읽으면서 1장을 건너뛰고 각 패턴에 대한 설명만 찾아보는 사람이 있을 거라 생각하니 답답함. -L-
# CRC 모델링에 대해 설명하는 부분에 '''도메인 영역의 언어로 문제를 기술하라'''는 말이 인상적이었다. get과 set을 사용할 필요가 없다는 걸 와닿게 하는 말이었다. 언젠가 정모에서 ''체험 OO 현장''같은 활동을 해보고 싶음. 우리 모두 객체가 되어보아Yo :)
# 데이터를 꺼내는 것보다 넣는 것이 좋다는 것을 진작에 생각했더라면…
== 4월 29일 ==
* 2장 103쪽 전까지 읽어옵시다. 그리고 [[HolubOnPatterns/밑줄긋기|밑줄을 그어요~]]
=== 후기 ===
==== 김준석 ====
==== 임상현 ====
==== 서지혜 ====
# 오랜만에 디피 스터디라 어색
# 오늘 스터디한 부분은 '왜 extends가 나쁜가'였다. 왜 나쁜지 예를 보았는데 와닿지 않아 이해하기 힘들었다.
# 홀럽에서 말하는 템플릿 메소드 패턴이랑 스프링의 템플릿 패턴은 다른가?(스프링의 패턴이 템플릿 메소드 패턴이었나?)
# 팩토리 메소드 패턴이 뭔지 잘 모르겠다. 기반 객체가 알지 못하는 파생 클래스를 생성한다니. 기반클래스는 원래 파생클래스를 알지 못해! 이말은 생성되는 파생클래스는 기반클래스를 '''반드시 확장해야 한다'''는 건가? 어려워. 
## 자바 스윙의 코드 일부를 보니 알거같기도.. 코드에서 기반클래스를 확장하는 파생 클래스가 아니라 속성이나 기능만 변경된 클래스를 구현 상속해 생성하고 있다.
# 중간까지만 읽어오기 좋지 않아. ''나쁘다'' 만 듣고나니 답답하고 찜찜해.
==== 김수경 ====
# 책을 다 못 읽어서 난감했다.
# 이번 장엔 코드가 많이 나왔는데 꼭 다시 읽어봐야겠다.
----
----
[[DesignPatterns]], [[스터디분류]], [[2011년활동지도]]
[[DesignPatterns]], [[스터디분류]], [[2011년활동지도]]

Latest revision as of 14:26, 26 March 2026

DesignPatterns/2011년스터디 관련 문서 목록

출석체크

날짜 김수경 서지혜 임상현 김준석
7/7 O O X O
7/11 O O O O

7월

7일

  • 진행 방식 정하기
    • 일주일에 두 번 모이기 (월 정모 이후, 목 3시~5시)
    • 첫 두 주간은 구현 실습 위주
    • WinMerge 다시 짜기
    • 각자 자신의 WinMerge를 짜본다
  • 11일까지 해올 것
    • WinMerge 아키텍쳐 설계

11일

  • 원래는 WinMerge의 아키텍처 공유하는 시간이었지만 아키텍처와 리팩토링 전문가인 Joseph Yoder씨의 방한기념으로 창준선배님이 여신 번개모임에 다녀왔다.
  • 급하게 당일날 일정을 변경하였으나 모든 사람이 참석하였다.
  • 오늘의 후기는 여기에
    • :JosephYoder방한번개모임

14일

  • To do
    • 아키텍쳐 리뷰
    • 자기가 설계한 WinMerge 아키텍쳐 설명하기

8월

8월 18일

  • 켄트 벡의 구현 패턴
  • 홀럽 230페이지까지 읽기
  • 5시에 모입니다

DesignPatterns, 스터디분류, 2011년활동지도