imported>linflus |
|
| (75 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장을 이번에 다 읽었습니다. DB프로젝트 설계하는걸 구경 및 참여했습니다.
| |
| # 프로젝트 설계를 하는게 매우 신기했습니다. 가장 최근에 했던 프로젝트가 약 2년 전이라 하나도 모르겠는데 모듈을 잡고 그 모듈의 역활을 잡고 그에 따라 인터페이스를 만들고 하는 걸보고 생각없이 그냥 순차적으로 프로그래밍 하려고했던 제가 참 답이 없었던거 같습니다.
| |
| # "어떤 작업을 수행하는데 필요한 데이터를 요구하지 말라!!! 대신 정보를 가지고 있는 객체에게 일을 해달라고 부탁하라!" 항상 데이터를 get으로 꺼내와 바꿔놓고 set으로 넣어놨던 제 자신을 반성해 봅니다.
| |
| # DB 수업을 듣지 않아서 완전히 참여는 하지 않았지만 DB팀이 하는 프로젝트가 진행되는 모습을 계속 보고 싶습니다.
| |
| ==== 김수경 ====
| |
| # 드디어 1장을 다 읽었다. 1장에 정말 중요한 내용이 많다는 것을 후기를 쓰려고 돌아보며 다시 한번 느낌. 이 책을 읽으면서 1장을 건너뛰고 각 패턴에 대한 설명만 찾아보는 사람이 있을 거라 생각하니 답답함. -L-
| |
| # CRC 모델링에 대해 설명하는 부분에 '''도메인 영역의 언어로 문제를 기술하라'''는 말이 인상적이었다. get과 set을 사용할 필요가 없다는 걸 와닿게 하는 말이었어요. 언젠가 정모에서 ''체험 OO 현장''같은 활동을 해보고 싶음. 우리 모두 객체가 되어보아Yo :)
| |
| # 데이터를 꺼내는 것보다 넣는 것이 좋다는 것을 진작에 생각했더라면…
| |
| == 4월 29일 ==
| |
| * 2장 103쪽 전까지 읽어옵시다. | |
| === 후기 ===
| |
| ==== 김준석 ====
| |
| ==== 임상현 ====
| |
| ==== 서지혜 ====
| |
| ==== 김수경 ====
| |
| ---- | | ---- |
| [[DesignPatterns]], [[스터디분류]], [[2011년활동지도]] | | [[DesignPatterns]], [[스터디분류]], [[2011년활동지도]] |
|
| |