0. Introduction¶
본 세미나에서는 웹 개발에 필요한 기본 지식들과 함께 React, Django-REST의 기본 개념 및 사용법을 같이 공부해보고, 실제로 간단한 웹앱을 만들어볼 것입니다. 웹 개발이라는 분야는 정말 방대하기 때문에 세미나에서는 핵심적인 개념들만을 주로 가르치고, 그 외에 필요한 부가적인 내용들은 실제 개발을 통해 스스로 찾아보면서 공부할 수 있도록 하는 것이 목적입니다. 공부하면서 어려운 것이 있으면 멘토분들이 적극적으로 도와주실 것이니 그런 기회를 잘 활용해서 모두가 나중에 있을 프로젝트에 같이 참여할 수 있는 실력을 쌓을 수 있기를 바랍니다.
세미나 진행방식¶
총 6개의 섹션으로 진행될 예정이고, 매 섹션마다 스스로 공부할 수 있도록 간단한 개발 과제가 나갈 것입니다. 그리고 마지막으로 공부했던 내용들을 모두 활용하여 실제로 사용 가능한 수준의 간단한 웹앱을 개발하는 프로젝트 과제가 나갈 것입니다. 이 과제들을 성실히 수행하시면 이후 프로젝트에 참여할 수 있는 자격을 가지게 됩니다.
또한 조마다 주기적으로 스터디 모임을 가져 과제하면서 어려운 것들을 도와줄 수 있도록 할 것입니다.
세미나 일정¶
- 9.15 : Introduction
- 9.22 : HTML & CSS
- 9.29 : Javascript & React 입문
- 10.13 : React
- 11.3 : Redux & Redux-saga
- 11.17 : Django REST
- 12.1 : Django REST 심화 및 웹앱 개발
웹앱(web app)이란?¶
데스크탑 앱이나 모바일 앱과 같은 기능을 제공하는 웹 서비스를 웹앱이라고 부릅니다. 보통 단순히 정보를 나열하면 웹사이트, 유저와의 인터랙션이 많으면 웹앱이라고 합니다. (ex. 페이스북)
프론트엔드/백엔드란?¶
웹 개발은 크게 프론트엔드(frontend) 개발과 백엔드(backend) 개발로 나눌 수 있습니다. 두 용어의 차이를 간단하게 얘기하면, 프론트엔드는 실제로 유저들이 보는 영역을 다루고, 백엔드는 서비스가 제대로 돌아갈 수 있도록 데이터를 저장, 가공, 제공하는 기능을 다루는 분야라 할 수 있습니다.
페이스북을 예로 들어봅시다.
프론트엔드:
- 유저가 실제로 보는 화면
- 유저가 뉴스피드를 스크롤할 때 서버(백엔드)에서 데이터를 받아와 유저에게 보여주는 기능
백엔드:
- 프론트엔드에서 데이터(ex. 뉴스피드 데이터)를 요쳥하면 그것을 데이터베이스에서 가져와 전달해주는 기능
- 유저의 데이터를 바탕으로 유저가 좋아할만한 글들을 골라주는 기능
- 누군가 댓글을 남겼을 때 유저한테 알림을 전달해주는 기능
개발 입문자를 위한 팁¶
- 구글링을 자주 합시다! 개발하면서 겪는 거의 대부분의 어려움들은 구글을 통해 해결할 수 있습니다...
- API 문서 읽는 연습을 합시다!
- 되도록이면 영어로 문서를 읽어버릇 합시다! 한글로 된 문서들도 어느정도 있긴 하지만 결국 언젠가는 영어 문서를 읽게 됩니다...
- Best Practice들을 자주 참고합시다! 어떤 문제를 해결하는데는 더 나은 해결책들이 있기 마련입니다. 입문자라면 best practice들을 자주 보고 참고하도록 합시다.