ì�´ë•Œê¹Œì§€ 살펴본 ë°”, django는 ë�°ì�´í„°ë² ì�´ìŠ¤ë¥¼ ì�´ìš©í•˜ëŠ” 패턴ì�„ 대부분 ì¶”ìƒ�화하여 ì‚¬ìš©í• ìˆ˜ 있ë�„ë¡� ì§€ì›�한다. 모ë�¸ê³¼ ë�°ì�´í„°ë² ì�´ìŠ¤ë¥¼ ì—°ë�™í•˜ì—¬, 주언어ì�¸ python으로 모ë�¸ë§Œ ìˆ˜ì •í•˜ë�”ë�¼ë�„ ë�°ì�´í„°ë² ì�´ìФì—� ì�´ë¥¼ ë°˜ì˜�í• ìˆ˜ 있다. ë˜�한 ë�°ì�´í„°ë² ì�´ìŠ¤ë¥¼ ê°�체로 ìƒ�ê°�í•˜ê³ , 삽입과 ê°±ì‹ ì�€ ê°�체를 ì €ìž¥í•˜ëŠ” 것으로, 조회를 ê°�ì²´ì�˜ ì�¸ìŠ¤í„´ìŠ¤ë¥¼ 얻어오는 것으로, ì‚ì œë¥¼ ì�¸ìŠ¤í„´ìŠ¤ë¥¼ ì‚ì œí•˜ëŠ” 것으로 ì¶”ìƒ�화하였다. ì�´ëŸ¬í•œ ì¶”ìƒ�화로 모ìž�란 부분ì�€ 사용ìž�ê°€ ì§�ì ‘ SQLì�„ ìž‘ì„±í• ìˆ˜ 있ë�„ë¡� ì§€ì›�í•˜ê³ ìžˆë‹¤.
기존ì�˜ 웹 어플리케ì�´ì…˜ì�„ 만들 때 설계한 대로 ë�°ì�´í„°ë² ì�´ìŠ¤ë¥¼ 사용하ë�„ë¡� 프로그래ë°� 하는 시간ì�„ 줄였다. 기민하게 웹 어플리케ì�´ì…˜ì�„ ìž‘ì„±í• ìˆ˜ 있기 때문ì—�, 개발ìž�는 ë�°ì�´í„°ë² ì�´ìŠ¤ë¥¼ 올바로 ì„¤ê³„í•˜ê³ ì‚¬ìš©ìž�ì—�게 ì •ë§�로 필요한 기능ì�„ 구현하는 ë�° ì§‘ì¤‘í• ìˆ˜ 있다. ë˜�한 ì‹¤ì œë¡œ 사용하기ì—� 부족한 ì �ì�´ 있ë�”ë�¼ë�„, í”„ë¡œí† íƒ€ìž…ì�„ 만들어 ë³´ë ¤ë©´ ë�”í• ë‚˜ìœ„ ì—†ì�´ 좋ì�€ í”„ë ˆìž„ì›Œí�¬ë�¼ê³ ìƒ�ê°�한다.
RoR와 django ê°™ì�€ 경량 프로그래ë°� 기법ì�´ 힘ì�„ 얻는 ë˜� 다ì�€ ì�´ìœ 는, ê°•ë ¥í•œ í‘œí˜„ë ¥ì�„ 가진 주언어를 ì‚¬ìš©í• ìˆ˜ 있기 때문ì�´ë‹¤. Ruby와 pythonì�€ 스í�¬ë¦½íЏ 언어ì�˜ 성격ì�„ ê°€ì§€ê³ ìžˆìœ¼ë©°, ê°�ì²´ 지향 ê°œë…�ê³¼ 함수형 프로그래ë°� 언어ì�˜ 패러다임ì�„ í�¬í•¨í•œë‹¤. 비ë¡� ëŠ�ë ¤ì„œ 시스템 프로그래ë°�ì—� 사용하기ì—�는 ì �당하지 않지만, ë�™ì �으로 ë¹ ë¥´ê²Œ 변하는 웹 환경ì—�서는 ruby와 pythonê°™ì�€ 언어가 변화를 ì†�쉽게 ë”°ë�¼ê°ˆ 수 있어 ì �당하다.
웹2.0ì�€ 웹ì�„ 플랫í�¼ìœ¼ë¡œ ìƒ�ê°�한다. 플랫í�¼ì�´ 바뀌면 언어ë�„ ë°”ë€�다. 웹 2.0ì�´í›„ì—�는 변화가 ë�”ìš± 빨ë�¼ì§ˆ 것ì�´ê³ , 변화ì—� 알맞는 새로운 ê°œë…�ê³¼ ê¸°ìˆ ê³¼ 언어가 ìƒ�ê²¨ë‚ ê²ƒì�´ë‹¤. 하지만 기존ì—� ë„�리 사용하ë�˜ ê¸°ìˆ ì�€ 변화를 ë§žë�”ë�¼ë�„ 쉽게 ìž�리를 내주지는 않ì�„ 것ì�´ë‹¤. ë”°ë�¼ì„œ 변화를 만들어가는 입장ì—�서는 기존 플랫í�¼, ê¸°ìˆ , 언어와 ì—°ë�™í• 수 있는 ì—°ê²°ê³ ë¦¬ë¥¼ 만들어서 기존ì�˜ 것ì�€ 그대로 사용하면서 ë�” 나ì�€ 것ì�„ 보여주어야 한다. Djangoì�˜ 사례는 기존 ë�°ì�´í„°ë² ì�´ìŠ¤ë¥¼ 그대로 사용하면서ë�„ 사용ìž�ì—�게는 ì¶”ìƒ�í™”ë�œ ë�°ì�´í„° ì €ìž¥ê³ ë¥¼ ì œê³µí•˜ëŠ” 변화ì�˜ ì—°ê²°ê³ ë¦¬ë¥¼ ë³´ì—¬ì£¼ê³ ìžˆë‹¤.
----
졸업논문
기존ì�˜ 웹 어플리케ì�´ì…˜ì�„ 만들 때 설계한 대로 ë�°ì�´í„°ë² ì�´ìŠ¤ë¥¼ 사용하ë�„ë¡� 프로그래ë°� 하는 시간ì�„ 줄였다. 기민하게 웹 어플리케ì�´ì…˜ì�„ ìž‘ì„±í• ìˆ˜ 있기 때문ì—�, 개발ìž�는 ë�°ì�´í„°ë² ì�´ìŠ¤ë¥¼ 올바로 ì„¤ê³„í•˜ê³ ì‚¬ìš©ìž�ì—�게 ì •ë§�로 필요한 기능ì�„ 구현하는 ë�° ì§‘ì¤‘í• ìˆ˜ 있다. ë˜�한 ì‹¤ì œë¡œ 사용하기ì—� 부족한 ì �ì�´ 있ë�”ë�¼ë�„, í”„ë¡œí† íƒ€ìž…ì�„ 만들어 ë³´ë ¤ë©´ ë�”í• ë‚˜ìœ„ ì—†ì�´ 좋ì�€ í”„ë ˆìž„ì›Œí�¬ë�¼ê³ ìƒ�ê°�한다.
RoR와 django ê°™ì�€ 경량 프로그래ë°� 기법ì�´ 힘ì�„ 얻는 ë˜� 다ì�€ ì�´ìœ 는, ê°•ë ¥í•œ í‘œí˜„ë ¥ì�„ 가진 주언어를 ì‚¬ìš©í• ìˆ˜ 있기 때문ì�´ë‹¤. Ruby와 pythonì�€ 스í�¬ë¦½íЏ 언어ì�˜ 성격ì�„ ê°€ì§€ê³ ìžˆìœ¼ë©°, ê°�ì²´ 지향 ê°œë…�ê³¼ 함수형 프로그래ë°� 언어ì�˜ 패러다임ì�„ í�¬í•¨í•œë‹¤. 비ë¡� ëŠ�ë ¤ì„œ 시스템 프로그래ë°�ì—� 사용하기ì—�는 ì �당하지 않지만, ë�™ì �으로 ë¹ ë¥´ê²Œ 변하는 웹 환경ì—�서는 ruby와 pythonê°™ì�€ 언어가 변화를 ì†�쉽게 ë”°ë�¼ê°ˆ 수 있어 ì �당하다.
웹2.0ì�€ 웹ì�„ 플랫í�¼ìœ¼ë¡œ ìƒ�ê°�한다. 플랫í�¼ì�´ 바뀌면 언어ë�„ ë°”ë€�다. 웹 2.0ì�´í›„ì—�는 변화가 ë�”ìš± 빨ë�¼ì§ˆ 것ì�´ê³ , 변화ì—� 알맞는 새로운 ê°œë…�ê³¼ ê¸°ìˆ ê³¼ 언어가 ìƒ�ê²¨ë‚ ê²ƒì�´ë‹¤. 하지만 기존ì—� ë„�리 사용하ë�˜ ê¸°ìˆ ì�€ 변화를 ë§žë�”ë�¼ë�„ 쉽게 ìž�리를 내주지는 않ì�„ 것ì�´ë‹¤. ë”°ë�¼ì„œ 변화를 만들어가는 입장ì—�서는 기존 플랫í�¼, ê¸°ìˆ , 언어와 ì—°ë�™í• 수 있는 ì—°ê²°ê³ ë¦¬ë¥¼ 만들어서 기존ì�˜ 것ì�€ 그대로 사용하면서 ë�” 나ì�€ 것ì�„ 보여주어야 한다. Djangoì�˜ 사례는 기존 ë�°ì�´í„°ë² ì�´ìŠ¤ë¥¼ 그대로 사용하면서ë�„ 사용ìž�ì—�게는 ì¶”ìƒ�í™”ë�œ ë�°ì�´í„° ì €ìž¥ê³ ë¥¼ ì œê³µí•˜ëŠ” 변화ì�˜ ì—°ê²°ê³ ë¦¬ë¥¼ ë³´ì—¬ì£¼ê³ ìžˆë‹¤.
----
졸업논문










