ê·¸ë‚ í–ˆë�˜ ì�¼. ëŠ�ë‚€ì �. êµ�훈ì�„ ì •ë¦¬í•´ë³´ëŠ” 페ì�´ì§€. (ThreeFs)
ê³µë�™ 기ë¡� ¶
(ì�´ 부분ì�€ Document Mode ì�´ë©°, 해당 한 ì�¼ë“¤ì�„ 기억하는 사람들ë�¼ë¦¬ 기억ì�„ 모아서 ë§Œë“니다.
ê·¸ë‚ í–ˆì—ˆë�˜, ì�¼ì–´ë‚œ ì�¼ë“¤ì—� 대해 기억나는대로 간단히 ì •ë¦¬í•´ë´…ì‹œë‹¤. 너무 길어지면 '프로그래ë°�ìž”ì¹˜ì²«ì§¸ë‚ ' ì‹�으로 페ì�´ì§€ë¥¼ 나누어ë�„ ì¢‹ê² ê³ ìš”. )
ê·¸ë‚ í–ˆì—ˆë�˜, ì�¼ì–´ë‚œ ì�¼ë“¤ì—� 대해 기억나는대로 간단히 ì •ë¦¬í•´ë´…ì‹œë‹¤. 너무 길어지면 '프로그래ë°�ìž”ì¹˜ì²«ì§¸ë‚ ' ì‹�으로 페ì�´ì§€ë¥¼ 나누어ë�„ ì¢‹ê² ê³ ìš”. )ì�¼ë‹¨ 간단하게 프로그래ë°�잔치 소개를 í•˜ê³ ìœ„í‚¤ì—�서 ~~ 한 부분ì—� 대해 설명ì�„ 하였다.
ì œë¡œìœ„í‚¤ ë˜�다른 대화ì�˜ 방법 ¶
ìƒ�민 ê³¼ 1002 는 위키ì—�서ì�˜ 대화ì—� 대해 간단한 시연ì�„ 보여주었다. 1002/MP3ê³µìœ í”„ë¡œê·¸ëž¨ ì—�서 ê°€ìƒ�ì�˜ ì�¸ë¬¼ 1002, ìƒ�민, ì©¡ì§� 등ì�´ 대화를 하면서 페ì�´ì§€ë‚´ìš©ì�„ 조금씩 ì •ë¦¬í•˜ê³ , ì �ì°¨ ì�Œì•…ê³µìœ í”„ë¡œê·¸ëž¨, 소리바다와그누텔ë�¼ 페ì�´ì§€ë¡œ ë‚˜ëˆ„ì–´ì ¸ê°€ëŠ” 모습ì�„ 중간중간 버벅ì�´ëŠ” 설명과 함께 시연ì�„ 했다.
시연뒤, 사람들ë�¼ë¦¬ 위키ì—� 대해 ë‘� 팀으로 나누어서 í† ë¡ ì�„ 했다.
위키 ê´€ë ¨ í† ë¡ ¶
위키 ê´€ë ¨ì™€ í† ë¡ ì�„ 했다.
한쪽ì�€ ìƒ�ìš±, 세연, ì�€ì§€, ì°½ì„, 기웅, ìƒ�민ì�€ 위키ì�˜ 좋ì�€ì �, 불편한ì �, 어떻게 위키를 ì�¨ì•¼ í• ê²ƒì�¸ê°€ì—� 대해 ì�´ì•¼ê¸°í–ˆë‹¤.
한쪽ì�€ ìƒ�ìš±, 세연, ì�€ì§€, ì°½ì„, 기웅, ìƒ�민ì�€ 위키ì�˜ 좋ì�€ì �, 불편한ì �, 어떻게 위키를 ì�¨ì•¼ í• ê²ƒì�¸ê°€ì—� 대해 ì�´ì•¼ê¸°í–ˆë‹¤.
(Fill More)
>
- 위키ì—�서ì�˜ ìž�ìœ ë¡œìš´ ë§�í�¬ê°€ ì˜¤ížˆë ¤ 위키를 ì�½ëŠ”ë�° ì–´ë ¤ì›€ì�„ ê°€ì ¸ì˜¤ê¸°ë�„ 한다. (ë§�í�¬ë¥¼ ë”°ë�¼ê°€ë‹¤ë³´ë©´ ë‚´ê°€ 처ì�Œì—� ì�½ì—ˆë�˜ 글로 다시 ë�Œì•„오지 ëª»í•˜ê³ ë°©í™©í•¨)
- 계층위키ì—� 대해서 - ê°œì�¸ 페ì�´ì§€ ë‚´ì—� 계층위키로 페ì�´ì§€ë¥¼ ì—´ê³ ì‹œìž‘í•œë‹¤ë©´, 처ì�Œ 쓰는 입장ì—�ì„ íŠ¹ë³„ížˆ 편집ì—� 대해 êµ¬ì• ë°›ì§€ 않아서 좋ì�„ 것 같다.
한쪽ì—�서는 ì§„ê· , ë�•준, ìƒ�협, 재ë�™, ìƒ�ê·œ, ì�¸ìˆ˜, ì„�천ì�€ 주로 위키 활성화와 위키글쓰기 스타ì�¼ì—� 대해 ì�´ì•¼ê¸°í–ˆë‹¤.
- 오늘 위키ì�˜ 간단한 룰로서 ë“¤ê³ ë‚˜ì˜¨ ê°œì�¸íŽ˜ì�´ì§€ ë‚´ '/' 구분ìž�를 ì�´ìš©í•˜ëŠ” 계층위키ì—� 대한 사람들ì�˜ ìƒ�ê°�
- 계층위키ì—� 대해서는 좀 ë�” ì‹ ì¤‘í• í•„ìš”ê°€ 있다. (
HierarchicalWiki)
- 위키ì�˜ 룰ì�€ 사용하는 사람들ì�´ ì �ì°¨ì �으로 만들어야 하는ë�°, 지금ì�˜ 룰ì�€ '규칙'처럼 ì„ ì–¸ì�„ 해버린 모습같다. 위키ì�˜ 룰ì�€ ê²°êµ ìœ„í‚¤ë¥¼ ì�´ìš©í•˜ëŠ” 사람들ì�´ 만들어가는 것 아닌가?
- 사람들ì�´ 마ì�ŒíŽ¸í•˜ê²Œ 쓸수ë�„ ìžˆê² ì§€ë§Œ, ë‚´ìš©ì�˜ 중복ì�„ ê°€ì ¸ì˜¤ê¸° 쉽다.
- ë§Œì�¼ 사람들ì�´ Courage 를 내어서, 다른 사람들 페ì�´ì§€ì—� 대해서 êµ¬ì¡°ì¡°ì •ì�„ 빈번하게 해준다면, 계층위키가 ë§Žì�´ 필요하지 않ì�„것ì�´ë‹¤.
- 계층위키ì—� 대해서는 좀 ë�” ì‹ ì¤‘í• í•„ìš”ê°€ 있다. (
- 위키� 활성화� 대한 �야기
- ZeroPagers ì�˜ 위키ì—� ìž�ì‹ ì�˜ 공부내용ì�„ ì •ë¦¬í•˜ëŠ” 것ì�€ 'ì�˜ë¬´'ì�¸ê°€? ìž�ì‹ ì�„ 위한 í–‰ë�™ì�´ 아닌가? ê°•ìš”ë�˜ëŠ”ê²ƒì�€ 아닌지. (ì‹¤ì œë¡œ ìž�ì‹ ì�˜ 공부내용ì�„ 글로 ì •ë¦¬í•˜ê¸°ì—� 대한 ì–´ë ¤ì›€)
- 위키가 ì±…ì�„ ëŒ€ì‹ í•˜ëŠ”ê°€? - 위키가 ëª¨ë“ ë‚´ìš©ì�„ 다 ì�´ì•¼ê¸°í•´ì£¼ì§€ 않으며, 그럴 í•„ìš”ë�„ 없다.
- 사람들마다 글쓰기 스타ì�¼ì�´ 다르며, ì •ë¦¬í•˜ëŠ” 스타ì�¼ë�„ 다르다. - 위키 스타ì�¼ì�˜ 글쓰기는 사람들ì�´ 글쓰기 페ì�´ì§€ë¥¼ 만드는ë�° ì£¼ì €í•˜ê²Œ ë§Œë“ ë‹¤. 글ì�„ 쓰기 ì „ì—� ê³ ë ¤í•´ì•¼ í• ì‚¬í•ì�´ 너무 많다.
- 위키를 쓸때 ì�´ë¯¸ ë�„í��먼트모드화 ë�˜ì–´ë²„린 글들ì�´ë‚˜, 시작부터 ë�„í��먼트모드ì‹�으로 잘 ì •ë¦¬ë�œê¸€ë“¤ì�€ ë�ë�¼ê³ ë�” ìŠ¤ë ˆë“œ ìž�체를 ë¶™ì�´ê¸°ê°€ ì–´ë µë‹¤. ì�´ë¯¸ ë�„í��먼트모드화 ë�œ 글ì—� 대해서 êµ³ì�´ ë�” ìŠ¤ë ˆë“œë¥¼ ë¶™ì�¼ ì�´ìœ ë�„ 없다.
- 위키ì—� 다른 사람 참여를 ì›�한다면, 처ì�Œë¶€í„° 조금씩 ì �ì°¨ì �으로 글ì�„ 쓰는건 어떨까?
- 위키ì—� 다른 사람 참여를 ì›�한다면, 처ì�Œë¶€í„° 조금씩 ì �ì°¨ì �으로 글ì�„ 쓰는건 어떨까?
- ZeroPagers ì�˜ 위키ì—� ìž�ì‹ ì�˜ 공부내용ì�„ ì •ë¦¬í•˜ëŠ” 것ì�€ 'ì�˜ë¬´'ì�¸ê°€? ìž�ì‹ ì�„ 위한 í–‰ë�™ì�´ 아닌가? ê°•ìš”ë�˜ëŠ”ê²ƒì�€ 아닌지. (ì‹¤ì œë¡œ ìž�ì‹ ì�˜ 공부내용ì�„ 글로 ì •ë¦¬í•˜ê¸°ì—� 대한 ì–´ë ¤ì›€)
- 'ë§�ì—†ì�´ ê³ ì¹˜ê¸°' ì—� 대해서
- ê°œì�¸ 페ì�´ì§€ì—� 대해서 'ë§�ì—†ì�´ ê³ ì¹˜ê¸°' ì�˜ 경우 해당 사람ì�˜ 기분ì�„ ìƒ�하게 í• ìˆ˜ë�„ 있다.
- 구체ì �으로 '~한 ì �ì�´ 잘못ë�˜ì—ˆë‹¤' ë�¼ê³ 길게 설명하는 것 보단, 그냥 조용히 ì �ì ˆí•˜ê²Œ ê³ ì³�주는 것ì�´ 좋ì�„ 수ë�„ 있다.
- ê°œì�¸ 페ì�´ì§€ì—� 대해서 'ë§�ì—†ì�´ ê³ ì¹˜ê¸°' ì�˜ 경우 해당 사람ì�˜ 기분ì�„ ìƒ�하게 í• ìˆ˜ë�„ 있다.
Think Different! ë‚¯ì„ ì–¸ì–´ì™€ì�˜ ì¡°ìš° ¶
7 ê°œì�˜ 언어 Set 중 사람들ì�€ 1개씩 골ëž�다. ê°™ì�€ 언어를 ê³ ë¥¸ 사람들ë�¼ë¦¬ Pair 를 구성, 해당 언어로 ë¬¸ì œë¥¼ 풀기 시작했다.
Schemeì�„ ê³ ë¥¸ ìƒ�ê·œ, ì°½ì„ì�€.. ~ ì�„ 했다.
한편, Smalltalkì�„ ê³ ë¥¸ ì�¸ìˆ˜, 재ë�™ì�€.. ~ ì�„ 했다. ê°€ë�” '피 í† í•˜ê² ë‹¤'는 ë§�ì�„ 했다;
ê·¸ë¦¬ê³ , Haskellì�„ ê³ ë¥¸ ë�•준, ì§„ê· , ìƒ�협ì�€.. ~ ì�„ 했다.
ì € 쪽ì�˜ Ruby를 ê³ ë¥¸ ìƒ�ìš±, ì •ì§�ì�€ .. ~ ì�„ 했다.
Python ì�„ ê³ ë¥¸ ì�€ì§€, 세연, 기웅, 재니는.. ~ ì�„ 했다.
사람들ì�€ 서로가 ê³ ë¥¸ 언어로 ë§Œë“ Hello World, 구구단 ì�„ 시연하면서 ê°�ìž�ì�˜ 개발환경, 프로그래ë°� 방법 등ì�„ 보여주었다. ê·¸ë¦¬ê³ JuNe ì�€ 중간ì—� Smalltalk (Squeak)ì�˜ OOP ì �ì�¸ 특성, Scheme, Haskell ì�˜ 함수형 언어 페러다임ì—� 대해 ë³´ì¶© 설명ì�„ 했다.
질답시간ì—�는 JuNeì�˜ ë�„움하ì—� 여러 ì�´ì•¼ê¸°ë“¤ì�´ ì˜¤ê³ ê°”ë‹¤.
우리나��서는 왜 �러한 언어들� 잘 쓰�지 않는가?
~ 한 답변으로 ~ê°€ ìžˆì—ˆê³ , 중간ì—� http://www.tiobe.com/tpci.htm 를 프로ì �터로 보았다.
오늘 한 언어들 중�서 추천하는 언어로는?
학부ìƒ�ì�´ 공부해볼만한 언어로는 Schemeì�´ 추천ë�˜ì—ˆëŠ”ë�°, StructureAndInterpretationOfComputerPrograms란 ì±…ì�„ 공부하기 위해서 Schemeì�„ 공부하는 것ë�„ 그럴만한 가치가 ìžˆë‹¤ê³ í–ˆë‹¤. 특히 SICP를 공부하면 Scheme, ì˜�ì–´(VOD 등ì�„ 통해), ì „ì‚°ì�´ë¡ ì�„ ë�™ì‹œì—� 배우는 ì�¼ì„�삼조가 ë� 수 있다. ë˜� 다른 언어로는 Smalltalkê°€ 추천ë�˜ì—ˆë‹¤. OOPì�˜ 진수를 ë³´ê³ ì‹¶ì�€ 사람들ì�€ Smalltalk를 ë°°ìš°ë©´ í�° 깨달ì�Œì�„ ì–»ì�„ 수 있다.
다ì�Œë‚ 행사ì—� 대해 간단하게 ì†Œê°œí•˜ê³ ì²«ì§¸ë‚ ì™„ë£Œ.!
Schemeì�„ ê³ ë¥¸ ìƒ�ê·œ, ì°½ì„ì�€.. ~ ì�„ 했다.
한편, Smalltalkì�„ ê³ ë¥¸ ì�¸ìˆ˜, 재ë�™ì�€.. ~ ì�„ 했다. ê°€ë�” '피 í† í•˜ê² ë‹¤'는 ë§�ì�„ 했다;
ê·¸ë¦¬ê³ , Haskellì�„ ê³ ë¥¸ ë�•준, ì§„ê· , ìƒ�협ì�€.. ~ ì�„ 했다.
ì € 쪽ì�˜ Ruby를 ê³ ë¥¸ ìƒ�ìš±, ì •ì§�ì�€ .. ~ ì�„ 했다.
Python ì�„ ê³ ë¥¸ ì�€ì§€, 세연, 기웅, 재니는.. ~ ì�„ 했다.
사람들ì�€ 서로가 ê³ ë¥¸ 언어로 ë§Œë“ Hello World, 구구단 ì�„ 시연하면서 ê°�ìž�ì�˜ 개발환경, 프로그래ë°� 방법 등ì�„ 보여주었다. ê·¸ë¦¬ê³ JuNe ì�€ 중간ì—� Smalltalk (Squeak)ì�˜ OOP ì �ì�¸ 특성, Scheme, Haskell ì�˜ 함수형 언어 페러다임ì—� 대해 ë³´ì¶© 설명ì�„ 했다.
질답시간ì—�는 JuNeì�˜ ë�„움하ì—� 여러 ì�´ì•¼ê¸°ë“¤ì�´ ì˜¤ê³ ê°”ë‹¤.
우리나��서는 왜 �러한 언어들� 잘 쓰�지 않는가?
~ 한 답변으로 ~ê°€ ìžˆì—ˆê³ , 중간ì—� http://www.tiobe.com/tpci.htm 를 프로ì �터로 보았다.
오늘 한 언어들 중�서 추천하는 언어로는?
학부ìƒ�ì�´ 공부해볼만한 언어로는 Schemeì�´ 추천ë�˜ì—ˆëŠ”ë�°, StructureAndInterpretationOfComputerPrograms란 ì±…ì�„ 공부하기 위해서 Schemeì�„ 공부하는 것ë�„ 그럴만한 가치가 ìžˆë‹¤ê³ í–ˆë‹¤. 특히 SICP를 공부하면 Scheme, ì˜�ì–´(VOD 등ì�„ 통해), ì „ì‚°ì�´ë¡ ì�„ ë�™ì‹œì—� 배우는 ì�¼ì„�삼조가 ë� 수 있다. ë˜� 다른 언어로는 Smalltalkê°€ 추천ë�˜ì—ˆë‹¤. OOPì�˜ 진수를 ë³´ê³ ì‹¶ì�€ 사람들ì�€ Smalltalk를 ë°°ìš°ë©´ í�° 깨달ì�Œì�„ ì–»ì�„ 수 있다.
다ì�Œë‚ 행사ì—� 대해 간단하게 ì†Œê°œí•˜ê³ ì²«ì§¸ë‚ ì™„ë£Œ.!
한ì�¼. ëŠ�ë‚€ì �. êµ�훈 ¶
- 처ì�Œìœ¼ë¡œ ì–´ë–¤ 언어를 ì ‘í–ˆì�„때 ê·¸ 언어를 보는 기준ì�€ 지금까지 ë‚´ê°€ 알아왔ë�˜ 언어ì�´ë‹¤. ì˜ˆì „ì—� 알았ë�˜ 언어ì—� 있ë�˜ 구문ì�´ ì�´ 첨 보는 언어ì—�서는 어떻게 í• ìˆ˜ 있나 살펴 보는 것ì�´ë‹¤. ê·¸ ì›�하는 기능ì�´ ì�´ 첨보는 언어ì—�서는 ì—†ì�„ 수ë�„ ìžˆê³ ëŒ€ì‹ ë‹¤ë¥¸ 기능ì�´ 있ì�„수ë�„ 있는ë�°.
ì�´ë²ˆì—� Haskellì�´ë�¼ëŠ” 언어를 ë´¤ì�„때 ì�´ê²ƒë�„ 지금까지 언어들ì�´ëž‘ 비슷 ë¹„ìŠ·í• ê±°ë�¼ê³ 만만하게 ìƒ�ê°�했었다. 그래서 지금까지 짜왔ë�˜ ë°©ì‹�으로 í•´ë³¼ë�¼ê³ ìƒ�ê°�했다. 그런ë�° 잘 안ë�˜ì—ˆë‹¤. ì�´ 언어는 ê·¸ 밑바탕ì—� ê¹”ë ¤ 있는 ê°œë…�ì�´ 달ëž�ë�˜ 것ì�´ë‹¤. 그래서 그런ì‹�ì�˜ ì ‘ê·¼ì�€ 좋지 않ì�„ 수 ë°–ì—� 없었ë�˜ 것ì�´ë‹¤. ì�´ë ‡ê²Œ 다른 패러다임ì�„ 바탕으로 하는 언어를 ì ‘í•˜ê²Œ ë�œê²ƒì�€ ì‹ ì„ í•œ 충격ì�´ì—ˆë‹¤. - ìƒ�협
- 좋았ë�˜ ì � : 새로운 언어를 ì ‘í• ìƒ�황ì�´ 올 때 , 문법ì�„ ì�µížˆê³ ì �용하는 방법ì—� 대해 경험 í• ìˆ˜ 있었단 ì �. ì�´ 때 ì�¸í„°ë„·ì�˜ ë§Žì�€ 문서들 중 íŠœí† ë¦¬ì–¼ 형ì‹�ì�˜ 문서가 ë�„움ì�´ ë�œë‹¤ëŠ” ì �. --naneunji
-- ì–´ëŠ�ì •ë�„ Python ì�„ ì�µìˆ™í•˜ê²Œ ì�¨ë³¸ ë’¤, Python ì�´ì „ì—� ì�¼ë�˜ 언어들과 비êµ�í•´ë³´ë©´ ê°� 언어들ì�„ ë�” 잘 비êµ�í•´ë³¼ 수 있지 않ì�„까 ìƒ�ê°�í•´. 요새 ìž�바프로그래ë°�ì�„ 주로 하면서 ëŠ�꼈ë�˜ê±´, 'ë§Œì�¼ ìž�바가 ì�¸í„°í”„리터 쉘ì—�서 실행ë�˜ëŠ” 언어ë�¼ë©´, 나ì�˜ 프로그래ë°� 작업 ë°©ì‹�ì�€ 어떻게 바뀔까?' 하는것. Python, Jython ì�„ 꾸준히 쓰면서, 컴파ì�¼ì–¸ì–´ì—�서 ëŠ�ë�¼ì§€ 못한 재미를 (즉ê°�ì �으로 ê²°ê³¼ ë°˜ì�‘ì�´ 올때 특히!) ëŠ�껴서..~ --1002
ê·¸ë¦¬ê³ Pythonì�€ ë�°ë¸”스 ìº í”„ í• ë•Œ ìž ì‹œ ì ‘í•´ë´¤ëŠ”ë�° ì�´ë²ˆ 기회로 좀 ë�” 잘 아니 조금 ë�” 알 수 있는 기회여서 좋았다
결과를 바로 ë³¼ 수 있다는 게 넘 좋았다. ì�´ì œê¹Œì§€ c++로 짜면서 ëŠ�ë�¼ì§€ 못했ë�˜ ê·¸ ëŠ�낌!!
ê·¸ë¦¬ê³ ì–¸ì œë‚˜ ì—´ë ¤ìžˆëŠ” ìž�세가 중요하다는 걸 ëŠ�ë�¼ë©´ì„œ 프로그래ë°� 잔치를 마쳤다, ì—´ë ¤ìžˆëŠ” ìž�세....... -- 세연
- 충격 ì�´ì—ˆë‹¤.. ë�¼ê³ 하면 너무 ì�¼ë°˜ì �ì�¸ 수ì‹�ì–´ ì�¼ê¹Œ. 사실 앉아서, 해당 언어들ì—� 대하여 집중 í• ìˆ˜ 있는 시간ì�´ 주어 지지 않았다는 것ì�´ 너무나 ì•„ì‰¬ì› ë‹¤. To Do 로 해야 í• ì�¼ì�´ 추가 ë�˜ì—ˆë‹¤. 아니 Memory List로 표현해야 í• ê¹Œ?
- 사람들ì�˜ í‘œì •ì�„ 보면서, 아는 ë§Œí�¼ ë³´ì�¸ë‹¤. ë�¼ëŠ” ë§�ì�´ ìž�꾸 머리ì†�ì�„ ë§´ë�ˆë‹¤. 사람들ì�´ 서로 얼마나 다른 ëŠ�낌ì�„ 가질까?
- 창준 ì„ ë°°ê°€ 오셔 준것ì�„ 행운ì�´ë�¼ 표현하면 너무 부족한 것ì�´ë‹¤. ë�”불어 ë˜� 다른 ì„ ë°°ë‹˜ë“¤ë�„ 오셔서 시간과 ì§€ì‹�ì�„ ê³µìœ ë¥¼ 했으면 ì¢‹ê² ë‹¤ëŠ” ìƒ�ê°�ì�´ ë“ ë‹¤. ì§�장ì�´ 무엇ì�¸ì§€.
Haskellì�„ ìƒ�당히 ì‹ ê¸°í•´ 하는 친구들ì�´ 많았는ë�° Pythonë�„ 비슷하게 í• ìˆ˜ 있습니다.
~cpp
>>> handan=lambda a:[a*b for b in range(1,10)]
>>> gugudan=lambda :[handan(a) for a in range(1,10)]
>>> handan(2)
[2, 4, 6, 8, 10, 12, 14, 16, 18]
>>> gugudan()
[[1, 2, 3, 4, 5, 6, 7, 8, 9], [2, 4, 6, 8, 10, 12, 14, 16, 18], ...]
>>> gugudan=[[a*b for b in range(1,10)] for a in range(1,10)]
>>> gugudan
[[1, 2, 3, 4, 5, 6, 7, 8, 9], [2, 4, 6, 8, 10, 12, 14, 16, 18], ...]
-----------
>>> gugudanpair=[(a,b) for a in range(2,10) for b in range(1,10)]
>>> printgugupair=lambda pair: sys.stdout.write("%d * %d = %d\n"%(pair[0],pair[1],pair[0]*pair[1]))
>>> ign=map(printgugupair,gugudanpair)
2 * 1 = 2
2 * 2 = 4
2 * 3 = 6
2 * 4 = 8
2 * 5 = 10
2 * 6 = 12
2 * 7 = 14
...
9 * 4 = 36
9 * 5 = 45
9 * 6 = 54
9 * 7 = 63
9 * 8 = 72
9 * 9 = 81










