U E D R , A S I H C RSS

Design Patterns/2011년스터디/1학기

ìœì„�ì²´í�¬

김준� 김수경 서지혜 임�현
3/19 O O O X
3/27 X O O O
4/2 O O O O
4/10 O O O O
4/29 O O O O
5/6 O O O O
5/13 O O O O
5/27 O O O O

3월 19�

3월 27�

후기

김수경

  1. HolubOnPatterns 0장� 대해 함께 �야기했다. 나 혼� 0장� 안 �어와서 민�했다. 1장� 꼭 �어와야지.
  2. High Cohesion Low Coupling과 SOLID(SRP, OCP, LSP, ISP, DIP)� 대해 다시 ��해보는 시간� �었다.
    1. SRP(Single Response Principle)� 대해 얘기하면서 '책임'�란 무엇�가� 대한 �야기가 나왔다. 삽질 경험� 없는 사람�게 �체지향 �칙� 설명할 때 '책임'� 무엇�지 어떻게 �해시켜야 할지 모르겠다. 오늘 얘기하면서 낸 결론� 경험� 없으면 �해하기 어렵다는 것…
    2. DIP�서 �존관계 역전� 대체 무엇� 역전시킨다는 것�지 알게�었다. 기존�는 Highlevel 모듈� Lowlevel 모듈� �존하는 ��었지만 �터페�스를 사용하여 Lowlevel 모듈� Highlevel� 제공하는 �터페�스� �존하게 함으로� 설계를 � 유연하게 만들 수 있다.
  3. 여름방학때 1, 2학년들과 함께 OOP 스터디를 진행하고싶다.

서지혜

  1. 0장 �어오고 밑줄긋기(안함), 내용� 대해 �야기 나누기
  2. �체지향� 왜 해야하는가? 근본�으로 소프트웨어가 변화하기 때문�다. �체지향� 변화� 잘 대�할 수 있는 설계 패턴�다.
  3. DIP
    1. 처�엔 단순히 �터페�스 대신 넘겨받는 구체�래스를 �야해서� 줄 알았는� �위기술� 하위기술� �존하는 것� 아닌 하위기술� �위기술� 지�하기 위해 만들어지는 것��는것� 알게�었다.
    2. �존관계 역전�� 해서 낯설었는� �렇게 설명하니 �위기술� 하위기술� 맞추는게 당연한게 아닌가 하는 ��� 들었다.
  4. SRPì—�서 책임나누기 - 변화를 ìƒ�ìƒ�í•´ë³´ë�¼.. 서비스가 변경ë�  때 함께 수정ë�˜ì–´ì•¼ í•  코드들ì�„ 분리해ë�¼! 그것ì�´ 변화ì�˜ ì•ì�´ë‹¤. - ë§Žì�€ ìƒ�ìƒ�ê³¼ 삽질ì�„ 해야겠습니다.
  5. 좋� 설계는 천재 프로그래머� �해 한번� 만들어지는게 아니� 고민하는 프로그래머� �해 지��으로 만들어 지는 것 �다. 용기를 주는 �입니다.
    1. � �리� � 패턴� �용해야할 �유를 대�. 패턴� �용할 때�는 타당한 �유가 있어야 한다. ��없� �용� 패턴� 오히려 설계를 �친다.
    2. �겨�:)

임�현

  • 왜 ë””ìž�ì�¸ 패턴ì�„ ì“°ëŠ�ëƒ�?, SOLID를 공부했습니다. 오랜만ì—� 공부를 잘 안ë�Œì•„갑니다. , 열심히 공부해야겠습니다. 삽질ì�„ ë�œí•˜ê³  ì‹ìŠµë‹ˆë‹¤.

4월 02�

후기

김준�

  1. 밑줄긑기가 잘 남는군. 역시 근� 책� �어온다는건 힘들어.
  2. 알면 알수� 오류는 정정�고 지�� 쌓�는 기분.
  3. 지금짜는 코드만� 미래를 위해서는 개�공부가 중요하지만 난 잘안하지.


김수경

  1. �번 스터디는 책� 미리 �어보고, 밑줄� 다들 열심히 그어서 � 재미있었다.
  2. 혼� 책� �� 때는 '��� 행�양�'� 무엇�지 잘 �� 오지 않았는� 오늘 스터디하며 알게�었다.
    1. 책� 나온 �차 통� 패턴� 예로 들어 �하�면, 정�� 구조를 볼 때 마주보는 양 쪽 벽 비슷한 높�� 창문� 있는 사무실� �차 통� 패턴� �하는 것처럼 보� 수 있다. 그러나 창문 앞� 커다란 건물� 있으면 바람� 막아서 창� 통해 바람� 들어오지 않는다. �차 통� 패턴� 마주보는 양 벽� �� 창� 있다는 그 �체로 실내 공기를 쾌�하게 만드는 것� 아니� 창� 통해 바람� 불어들어오고 불어나�으로� 실내 공기를 쾌�하게 만드는 것�다. 따�서 �차 통� 패턴�서 마주보는 양 벽� 창� 존재한다는 정� 구조 보다는 창� 통해 바람� 들어오고 나가는 ��� 행� 양�과 그것� 통해 실내 공기를 쾌�하게 만든다는 ��가 중요하다고 할 수 있다.
  3. 홀럽 아저씨는 OO계� 진중권�듯.
    1. 책� �부 내용으로 미루어보아 절차지향� 패러다임� �칠때 OO를 들고 나와 절차지향� 수호�들절차지향으로 코드 잘 짜지� 못 하는 허접들과 격한 키배를 수� 없� 펼치지 않았�까…
  4. 예측� 빗나가기 쉽다.
  5. 무엇�든 ��없� 받아들�지 �고 장�과 단�� 모� ��한 후� 지금 사용하기 �절한지 �단하고 �용하�는 아주 중요한 메세지가 반복�어 나온다. 다시 한번 �새기는 시간� �었다.

서지혜

  • 처ì�Œì—� 0장ì—� 대해 다시 얘기했는ë�° 그새 잊었ë�˜ ì�¼ì�„ 다시 기억하게 ë�˜ì—ˆë‹¤.
  • OOD와 OOPê°€ 다르다는 것ì�„ 알았다.
  • 처ì�Œì—� 모든 기능ì�„ 고려하기 보다는(미래ì�˜ 것까지) 기능ì�„ 확장할 수 있ë�„ë¡� 유연하게 설계하ë�¼.

임�현

  1. 밑줄 긋기를 하면서 책� 봤습니다. 그런� 처��� 그냥 책보면서 긋�거 다 그어 버렸습니다 .
  2. 스터디 하는� ��보다 시간� 빠르게가 아쉬웠습니다.
  3. 디���란 선�과 트레�드 오프, 리스� 관리� 연���는 �� 가슴� 와닿았습니다. 그래서 결국 �구 과제는 추가 사항� 없으므로 개�으로 짰습니다.
  4. �구 과제를 하면서 �렇게 짜면 안�는� �러면 코드가 개��� ��고 있으면서 그렇게 밖� 할수 없는 능력� 슬�습니다. � 공부해서 잘짜야겠습니다.

4월 10�

후기

김준�

  1. 1장� �났다. 많� �칙� 대해 새롭게 다시 공부하게 �었는� 내가 강해지는걸(?) �낀다!!
  2. 기본 �리를 파악하는건 매우 중요한 ��지만 정� 파악하기 어렵다는건 새삼스럽게 많� �낀다.

서지혜

  1. 1장 �
  2. 밑줄긋기를 안해서 그런지 기억� 잘 안남는다
  3. 밑줄긋기 시험 �나고 하겠습니다.
  4. 저�는 열심히 getter와 setter를 �다. get/set� 변수를 public으로 만드는 어려운 방법�다!
    1. 멤버변수를 선언하면 꼭꼭 getter/setter를 만들었� 나를 반성...(나중엔 귀찮아서 public으로 한�� 있다지)

임�현

  1. 책 1장� �번� 다 �었습니다. DB프로�트 설계하는걸 구경 � 참여했습니다.
  2. 프로�트 설계를 하는게 매우 신기했습니다. 가장 최근� 했� 프로�트가 약 2년 전�� 하나� 모르겠는� 모듈� 잡고 그 모듈� 역활� 잡고 그� 따� �터페�스를 만들고 하는 걸보고 ��없� 그냥 순차�으로 프로그래� 하려고했� 제가 참 답� 없었�거 같습니다.
  3. "어떤 작업� 수행하는� 필요한 ��터를 요구하지 ��!!! 대신 정보를 가지고 있는 �체�게 �� 해달�고 부�하�!" 항� ��터를 get으로 꺼내와 바꿔놓고 set으로 넣어놨� 제 �신� 반성해 봅니다.
  4. DB 수업ì�„ 듣지 않아서 완전히 참여는 하지 않았지만 DB팀ì�´ 하는 프로ì �트가 ì§„í–‰ë�˜ëŠ” 모습ì�„ 계ì†� ë³´ê³  ì‹ìŠµë‹ˆë‹¤.

김수경

  1. 드디어 1장� 다 �었다. 1장� 정� 중요한 내용� 많다는 것� 후기를 쓰려고 �아보며 다시 한번 �낌. � 책� �으면서 1장� 건너뛰고 � 패턴� 대한 설명만 찾아보는 사람� 있� 거� ��하니 답답함. -L-
  2. CRC 모ë�¸ë§�ì—� 대해 설명하는 부분ì—� ë�„ë©”ì�¸ ì˜�ì—­ì�˜ 언어로 문제를 기술하ë�¼ëŠ” ë§�ì�´ ì�¸ìƒ�ì �ì�´ì—ˆë‹¤. getê³¼ setì�„ 사용할 필요가 없다는 걸 와닿게 하는 ë§�ì�´ì—ˆë‹¤. 언젠가 정모ì—�서 ì²´í—˜ OO 현장같ì�€ 활ë�™ì�„ í•´ë³´ê³  ì‹ì�Œ. 우리 모ë‘� ê°�ì²´ê°€ ë�˜ì–´ë³´ì•„Yo :)
  3. ��터를 꺼내는 것보다 넣는 것� 좋다는 것� 진작� ��했��면…

4월 29�

후기

김준�

  1. ��구현� 나�다고 �한다. 그래서 그런지 나�보�다. 코드가 꼬�니까.
  2. Factory Method와 Template Method 방법�대해 나��� 설명하는� Swing� 나오니까 다시 화난다. 난 Swing디��� 싫어!!

임�현

  1. ��구현� 왜 나�가� 대해 배웠다.
  2. ��구현� 커플�� 늘리는 것 + 찾기 힘든 버그를 발�시키는 �� �� 매우 슬픈거 같다.
  3. 쩌는 형님들� 잘 쓰시겠지만 코드가 꼬�는 모습� 보니 내가 하는 ��구현� �단 슬�질 가능성� 매우 높으므로 ��� ��� 해서 쓰�가 아니면 닥치고 �터페�스 구현� 해야겠다.

서지혜

  1. 오랜만� 디피 스터디� 어색
  2. 오늘 스터디한 부분� '왜 extends가 나�가'였다. 왜 나�지 예를 보았는� 와닿지 않아 �해하기 힘들었다.
  3. 홀럽�서 �하는 템플릿 메소드 패턴�랑 스프�� 템플릿 패턴� 다른가?(스프�� 패턴� 템플릿 메소드 패턴�었나?)
  4. 팩토리 메소드 패턴� 뭔지 잘 모르겠다. 기반 �체가 알지 못하는 파� �래스를 �성한다니. 기반�래스는 �래 파��래스를 알지 못해! ��� �성�는 파��래스는 기반�래스를 반드시 확장해야 한다는 건가? 어려워.
    1. �바 스윙� 코드 �부를 보니 알거같기�.. 코드�서 기반�래스를 확장하는 파� �래스가 아니� �성�나 기능만 변경� �래스를 구현 ��해 �성하고 있다.
  5. 중간까지만 �어오기 좋지 않아. 나�다 만 듣고나니 답답하고 찜찜해.

김수경

  1. 책� 다 못 �어서 난�했다.
  2. �번 장엔 코드가 많� 나왔는� 꼭 다시 �어�야겠다.

5월 6�

  • 다ì�Œì‹œê°„ì—�는 ìž„ìƒ�현ì�˜ SE 프로ì �트ì�¸ WinMerge프로ì �트를 ë�„와주겠습니다!!!

후기

김준�

  1. Factory Method, Abstract Factory Method, Template Method, Command, Strategy� 비�를 통해 ��구현� 비효율성� 대해 �꼇다.
  2. �터페�스를 �용한 캡�화는 참 편리하다 Java를 만든사람들� �걸 목�� �고 만든것�까?
  3. 한번 짜�야 할 필요성� �낀다. Life Game으로 넘어가기전�.

임�현

서지혜

  1. 너무 어려웠다.
  2. 기억� 잘 안나네 책� 다시 �고 � 후기는 고치�� 하겠습니다.

김수경

  1. 지난주� 헷갈렸� Factory Method 패턴� 대해 �해할 수 있게 �다.
    1. Factory Method 패턴� ��� 통해 바뀌는 부분� 오버��딩하여 구현
    2. Strategy 패턴� implements를 통해 바뀌는 부분� 구현하여 넘겨준다.
  2. � 난 책� 안 �었다........ 죄송합니다......

5월 13�

  • 다ì�Œ 범위 : 3장 173page까지 ì�½ì–´ì˜¤ê¸°

후기

김수경

  1. 오늘� LifeGame으로 바로 넘어가기 전� 임�현� SE 과제� 파� 비� 프로그램� 설계해보았다.
    1. MVC 모�� 맞춰 설계해야해서 HolubOnPatterns�서 좋다고 하는대로만 설계하지는 않�.
    2. DB 프로�트를 시작할 때처럼 전체 아키���서 어떤 것들� 오고가야하는지부터 ��했는� 쉽지 않았다.
    3. Block과 Line�서 어� 쪽� 실제 status를 가지고 있어야 할지가 설계� 주요 �슈였다.

김준�

  1. SE프로�트�서 후회하는 부분� 대해 집어보고 갈수 있었� 유용한 시간.
    1. MVC로 나누고 Data모�� 위한 Drawable� 만드는 �유를 알것 같았다. 서로 �접�� 통신� 꼭 안해��는군..
  2. 다시한번 ë³´ê³ ì‹ì�€ë�° 지금 ìƒ�ê°�해보니..?


서지혜

  1. �스트만 �고 ��프게임으로 넘어가는 것� 현재 우리� 수준� �절하지 못하다고 �단함.
    1. SE프로�트� SimpleMerge를 구현해 보기로 하였다.
  2. 남� 프로�트� �놔� 배놔� 하기 프로�트를 하였다.
    1. 지난 SE 프로�트가 기억�.. 안난다. 내가 한게 없다.. 그래서 SimpleMerge를 구현해본다 하여 반가웠다.
      1. JUnitê³¼ EasyMockì�´ 핵심ì�¸ 프로ì �트ë�¼ TDD를 하고ì‹ì—ˆë‹¤.
      2. 그러나 아키�� 설계를 하고 나니 시간� 늦어버렸다.
      3. 아키�� 설계와 그� 따른 �터페�스를 만들었다.
        1. 프로그램� �작하는 모습� ��해보니 아키��� 윤곽� 잡� 수 있었다.
        2. �번 기회� MVC가 뭔지 제대로 알았다(개�만)
        3. Model : 비즈니스 로�� 필요한 ��터들� 저장하는 �래스군.
        4. View : 유저�게 보여질 �터페�스군.
        5. Control : Modelê³¼ View 사ì�´ì�˜ ì •ë³´ êµ�환ì�„ 제어하는 í�´ëž˜ìŠ¤êµ°. 모ë�¸êµ°ì�˜ ë�°ì�´í„°ë¥¼ ë·°ê°€ ìœë ¥í•˜ëŠ”ë�° ìš©ì�´í•˜ë�„ë¡�, ë·°ì—�서 ë°›ì�€ ë�°ì�´í„°ë¥¼ 모ë�¸ì—�게 ì �합하ë�„ë¡� 가공해준다.
      4. 임�현 엔�지� 결과물� 공유해 주세요
    2. 재미있다. 내 프로�트가 아니� 마�놓고 ��� 수 있었다. 굿.
      1. 과제나 프로�트를 만들때 기능 구현�만 집중하지 �고 �렇게 스터디한 내용� �용해보니 좋다. 뭔가 배우긴 했었구나 하는 ��� 든다.

임�현

  1. SE project� merge 프로그램 디��� 했다. MVC모�� 스팩�� �유롭게 책� 나온걸 �유롭게 �보진 못했다.
  2. 군대갔다오니 java를 하나� 모른다. 계� 삽질해서 매우 슬�다. 그래� 책�서 �� 것들� � 볼려고 하는� 머리��서 뭔가 떠오르는 것 같지만 구현� 안�서 아쉬웠다.
  3. �단 java를 다시 공부해야겠고 책� 나온 내용� 정�로 내껄로 쓰려면 �번처럼 활용하는 �� 계� 해�야겠다.

5월 27�

후기

김수경

김준�

서지혜

임�현

6월 3�

  • 다ì�Œì£¼ë¡œ 모임 미룹니다..

6월 10�

  • 다ì�Œì‹œê°„ì—�는 ìž„ìƒ�현ì�˜ SE코드 리뷰를 하겠습니다.

후기

김수경

김준�

서지혜

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:23:07
Processing time 0.0625 sec