U E D R , A S I H C RSS

Ruby/2011년스터디


1. 스터디 소개

2. ì§„í–‰

2.1. 1ì›”

2.1.1. ìœì„�

6� 10� 13� 17� 20� 24� 27� 31�
김수경 O O O O O O O
서지혜 O O O O O O O
강성현 중간� 참여 O O O X
정�정 X X 중간� 빠�

2.1.2. 20�

2.1.2.1. 정리하기

  • 김수경
    • 알게ë�œ ì �
      • ê°�체는 freeze 메서드를 통해 수정ì�„ 막ì�„ 수 있다.
      • 블ë¡�ì�„ 통해 반복ìž�를 구현할 수 있다.
      • 하나ì�˜ ë°°ì—´ì—� ë�™ì�¼í•œ ìž�료형ì�´ 아닌 ê°�체들ì�´ í�¬í•¨ë�  수 있다.
      • ì�Œìˆ˜ë¥¼ ë°°ì—´ì�˜ ì�¸ë�±ìŠ¤ë¡œ 사용할 수 있다.
        • ì�´ 때 ì�Œìˆ˜ ì�¸ë�±ìŠ¤ëŠ” ë°°ì—´ì�˜ 요소를 ë’¤ì—�서부터 ì�½ì–´ì˜¨ë‹¤.(a[-n] = a[a.length - n])
        • 예를 들어 다ì�Œê³¼ ê°™ì�€ ë°°ì—´ c = [a, b, 1, 2, 3, "Hi"] ì—�서 c0 => a, c-2 => 3, c-7 => nil
    • ê¶�금한 ì �
  • 서지혜
    • 알게ë�œ ì �
      • 루비ì�˜ í�´ëž˜ìŠ¤ëŠ” 열려있어 메소드를 추가할 수 있다.
      • ê°�체를 얼리면(freeze) 수정할 수 없게 ë�œë‹¤. 단 다시 ë…¹ì�¼ 수 없다.
      • 코드블ë¡� { ~~ } ì�„ ê°�체처럼 넘길 수 있ì�Œ. 혹ì�€ yield함수가 호ìœí•œë‹¤.
    • ì�˜ë¬¸ì �
      • Procê°�체와 lambda함수ì�˜ ì°¨ì�´ì �(정확한 ì°¨ì�´ì �ê³¼ 사용법)
      • 루비는 왜 ì�´ë ‡ê²Œ 한 기능ì—� 대한 구현법ì�´ ë§Žì�€ê±°ì•¼?
  • 강성현
    • 알게ë�œ ì �
      • 숫ìž�ë�„ ê°�체로 취급해서 메소드를 사용할 수 있다.
      • ë°°ì—´ì�„ 묶고 풀기가 편리하다.
      • 해시 기능 (ë°°ì—´ì�˜ ì�¸ìž�ê°€ 문ìž�ì—´)
      • 반복ìž�를 ì�´ìš©í•˜ì—¬ 간단한 코딩ì�´ 가능
    • ê¶�금한 ì �
      • 블ë¡�ê³¼ ê°�ì²´(Proc)ì�˜ 관계
      • ì•„ì§� 블ë¡�ê³¼ 반복ìž�ê°€ ì�µìˆ™í•˜ì§€ 않다.

2.1.3. 24�

2.1.3.1. �아보기

  • 오늘 스터디ì�˜ 좋았ë�˜ ì �
    • 김수경 - ì…‹ 다 ì±…ì�´ 있고, 다양한 ì±…ì�„ ë³¼ 수 있어서 좋았다.
    • 서지혜 - 짧아서 좋았다.
    • 강성현 - ì§§ê³  ë�” ì�´í•´ê°€ 잘 ë�˜ì–´ 좋았다.
  • 다ì�Œ 스터디ì—�서 하고ì‹ì�€ 것
    • 김수경 - 토론거리를 리스트로 작성해오겠다.
    • 서지혜 - ì±…ì—� 있는 예제를 모ë‘� 실행해보겠다.
    • 강성현 - 모니터를 연결하여 ê°™ì�´ 실습해보면서 진행하면 좋겠다.

2.1.3.2. 정리하기

  • 서지혜
    • 알게ë�œ ì �
      • 루비는 지역변수 기반. 모든 변수는 def ~end등ì�˜ 블ë¡� 안ì—�서 유효범위를 가진다. 전역변수는 $ì—°ì‚°ìž�로 선언할 수 있ì�Œ
      • moduleì�€ ìž�ë°”ì�˜ interface와 ê°™ì�€ 것ì�¸ê°€?
      • 기존ì�˜ ì—°ì‚°ìž�중 ì„ ì–¸ë�˜ì–´ 있는 ì—°ì‚°ìž�를 오버로딩하면, ì�´ì „ì�˜ ì—°ì‚°ìž�는 부를 수 없는것ì�¸ê°€?
    • ê¶�금한 ì �
      • nil or false #ê²°ê³¼ : false 와 false or nil # ê²°ê³¼ : nilì�¸ ì�´ìœ 
      • module 키워드로 믹스ì�¸í•  수 있는 모듈ì�„ 선언할 수 있다.
      • 루비는 간편한 반복ìž�를 ë§Žì�´ 제공한다.
  • 강성현
    • 알게ë�œ ì �
      • 기존 ì—°ì‚°ìž�를 재정ì�˜í•˜ëŠ” 것ì�´ 가능
      • C기반 언어와 다른 구문: else if->elsif, try-catch-finally -> begin-rescue-ensure
      • .times 는 0부터 시작하는 카운터를 내장하고 있으며 ì�´ë¥¼ 변수로 부를 수 있다
      • moduleì�€ Javaì�˜ interface ê°œë…�
      • end로 ë��나는 부분ì�€ 변수 scopeëž‘ì�€ 별 ìƒ�관없다
      • 파ì�¼ 다루는 ê±´ File.open 안ì—� { } 괄호 안ì—�서 입력해야 함
    • ê¶�금한 ì �
      • ë�„대체 nilê³¼ false와ì�˜ 관계는 어떻게 ë�˜ëŠ”ì§€ 모르겠ì�Œ
  • 김수경
    • 알게ë�œ ì �
      • , ì�˜ 사용 : a, b = b, a 로 간단하게 swapì�„ 구현할 수 있다.
      • times 메서드는 현재 반복 실행 횟수를 넘겨준다.
        • 3.times{|i| puts i} 는 0 1 2를 ìœë ¥
      • 모듈ì�„ ì�´ìš©í•˜ì—¬ 제한ë�œ 다중ìƒ�ì†�ì�„ 구현할 수 있다.
        • ìž�ë°”ì�˜ ì�¸í„°íŽ˜ì�´ìФ ê°™ì�€ ëŠ�낌?
    • ê¶�금한 ì �
      • nil or false -> false, false or nil -> nil, nil and true -> nil, true and nil -> ì�¸ ì�´ìœ 
      • ===? case 비êµ�?
      • if ~/first/

2.1.4. 27�

  • 과제
    • 1ë¶€ 11장 ~ 13장 공부해오기.
    • 2ë¶€ 23장, 24장, 26장 공부해오기.
    • 위키ì—� ë‚´ìš© 정리하기

2.1.4.1. �아보기

2.1.4.2. 정리하기

  • 서지혜
    • 알게ë�œ ì �
      • 루비ì�˜ 유닛테스트는 ìž�ë°”(mocking ë�¼ì�´ë¸ŒëŸ¬ë¦¬ í•„ìš”)보다 간단하다!
      • 루비는 진화중ì�¸ 언어. 루비ì�˜ ë§Žì�€ 부분들ì�´ ë…¼ìŸ�ì�˜ 중심ì—� 있다.
      • 루비는 매우 ë�™ì �ì�´ê¸° 때문ì—�(실행중ì—�ë�„ 메서드를 ì •ì�˜í•  수 있다) 테스트 ë˜�한 ë�™ì �으로 ì�´ë£¨ì–´ì ¸ì•¼ 한다(프로그래ë°� 루비 26장 참고)
    • ê¶�금한 ì �
      • 루비ì�˜ í�´ëž˜ìФ ìƒ�ì†�ë�„와 klassê°€ 나타내는 메타í�´ëž˜ìФì�˜ ì •ì�˜.(루비ì�˜ 메타í�´ëž˜ìŠ¤ëŠ” 싱글턴ê°�체다?)
      • 오리타입ì�€ 단순히 ê°�ì²´ì�˜ 타입ì�„ 검사하지 않는 것 ë¿�ì�¸ê°€?
      • í�´ëž˜ìŠ¤ëŠ” 타입ì�´ 아니다. ì�´ê²ƒì�€ 무엇ì�„ ì�´ì•¼ê¸° 하는 것ì�¼ê¹Œ?
  • 김수경
    • 알게ë�œ ì �
    • ê¶�금한 ì �


Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:27:57
Processing time 0.0107 sec