본문 바로가기
개발 노트 꾸러미/스파르타 코딩 교육 AI웹 개발노트

AI웹개발 WIL 1주차 [2021-12-19] Updated

by 괴짜코더 2021. 12. 18.

스파르타 코딩 클럽 AI웹개발 교육 프로그램< Weekly Note 1>

< 1 주차 서론 >

괴짜코딩, 바로 필자는 스파르타 코딩 교육에서 주최한 AI웹개발 교육 프로그램을 시작하기 앞서 내어진 사전 과제들을 부여받고, 모두 섭렵하기로 마음을 먹었다. 파이썬 내부의 구조와 사용방법 그리고 사용용도를 몰랐기에 파이썬 파운데이션과 파이게임 모듈을 통한 벽돌 깨기 게임, 침팬지 게임등 추가적으로 웹스크래핑까지 모두 배웠었다. 협력 프로젝트도 교육 프로그램에 포함되어 있어 각자의 역량을 고려하여 팀 밸런싱을 끌어올리기 위해 파일들도 모두 공유하기로 마음먹었다. 1주차시작 당일 월요일부터 3팀 팀원들과 간단한 호구조사를 하였으며 현재 자기 상태의 레벨이 어떠한지 이야기하였다. 필자를 포함하여 모두 파이썬 루키였음으로 이전에 필자가 하였던 사전과제를 나누면 좋겠다싶어 팀 슬랙 채널을 통하여 파일을 서로 공유하였다. 화요일 그리고 수요일 1주차의 마지막 금요일까지 모두 각자의 진행 상황과 부족한 부분을 커뮤니케이션하였고, 필자가 기존에 배웠지만 잊었던 파트를 수강중인 팀원에게 물어 다시 피드백을 받고, 현재 내가 진행중인 프로그램을 수강이전인 팀원들에게 다음 강의에 무엇을 준비해야하는지 알려주면서 매우 강력한 팀 밸런싱을 맞추어나갔다. 궁극적으로 커뮤니케이션 개발자가 되길 원하는 필자에겐 더욱이나 만족하였고 팀원들 또한 Thanks Each other 하였다. 물론, 3조 팀원들의 성격이 좋았고 3팀의 일원이자 팀장역할을 맡게된 나에게도 무척이나 영광이었다. 

------------------------------------------------

1일차

교육 프로그램의 핵심이자 꽃인 '파이썬' 의 기초적인 부분을 다져나갔다. 사전에 공부를 하였기 때문에 파운데이션은 솔직히 쉬웠고 *범규 강사님께서 너무 잘 가르쳐주셨다. 하지만 응용하고 파이썬을 활용하기 위해선 다양한 방식의 접근을 하는것이 좋겠다 생각했다. 팀원과 필자 또한 [ 반복분,사칙연산,Try Catch, ... ETC ] 등을 제대로 사용하는 법을 익혀 나가면 좋겠다 생각했고 복습의 효과이자 팀원들의 응용의 폭을 넓힌다 생각하고 문제들을 만들었었다. 30제의 문제를 만들려 하였지만, 시간 관계상 총 9제의 문제밖에 월요일에 만들지 못하였다. 만약 필자의 문제들을 적어논 파일이 궁금하다면 아래 파일을 첨부하였으니 필요한 파이썬 학우들은 다운받아서 사용하여도 좋다. ▼

team3_Homework.zip
0.01MB

 

* 2021-12-17일 기준 업데이트 되었다. 후에도 업데이트할 의향이 있다.

------------------------------------------------

2일차

파이썬 파운데이션은 다져놨기 때문에 웹 프로그래밍 A-Z 기초 1주차와 2주차를 다져나가야겠다고 생각했다. 과거에 대학생때 도요타 프로젝트에서 효과적인으로 탄젠트 계산을 위해 C언어를 시작으로 탄젠트 계산기를 만들어보았던기억이있다. 그 이후로 대학생2학년말때 친구의 소개로 홈페이지 제작을 했었기에 HTML5,CSS3,Javascript 가 어느정도 친근하게 느껴졌다.

웹페이지를 구성하는 HTML5와 CCS3 작성은 어렵진 않았다. 다만 <script> 태그를 이용한 이벤트 function 이벤트 그리고 부트 스트랩은 완성된 틀을 가져와서 적용하는것은 익숙치 않아서 그런지 어려웠다. 덧붙여 jquery, ajax를 쓰게 되니 난해하였다. 짧은 코드로 구현되고 포인터처럼 변수 선언부를 가져와 쓰는 알고리즘은 쉬웠지만 막상 선언하였던 변수의 이름이 한두군데 틀려서 시간을 잡아 먹었던것이 매우 아쉬웠다.  변수선언은 10 에서 12자 고유명사를 사용하는 방법이 나에겐 매우 가독성이 좋았고 명시적이라고 생각하였다. jquery와 ajax를 이용하여 많은 시도와 손이 익는법을 익혀야겠다고 생각했다.

* 아약스와 제이쿼리는 너무 재밌었다.

------------------------------------------------

3일차

아침일찍 부터 일어나 팀원들의 수강 프로그레스를 공유하였다. 2일차까진 웹 프로그래밍 A-Z 기초 1,2주차는 어느정도 익숙해졌다 생각하였고 기초 3주차부턴 파이썬-WEB-DB 상호 커뮤니케이션을 시작하는듲하였다. 다들 웹 프로그래밍 A-Z를 먼저 수강중인 분들이 있었다. 게중에 패키지 인스톨 또는 에러문제가 나는 팀원들이 있었다. 필자는 원체 게임 개발을 하고 있는 입장이였기때문에 몇 몇 원천문제를 해결을 도와주는 일을 하였다. 3주차 수강하기 시간이 바쁜입장이지만, 나또한 앞으로 수강해야할 강의였고 조원들의 문제 또한 나의 문제라 생각하기에 때문에 나의 시간을 할애하는것은 모두의 성장이라 생각하였다. DB와 웹 스크랩 or 스크롤링을 시작하는것은 어렵지 않았다. 다른 IDE인 visual studio 와 visual studio code 안에선 터미널을 주로 사용했기때문에 터미널을 이용한 패키지 설치와 리스트 관리를 팀원들에게도 공유하였다.

ex) [ cls(터미널 커맨드라인 기록 삭제), pip install lxml, pip install pymongo, pip install beautifulsoup ... ETC ] 하지만 오후5시 중반쯤 약 90분정도의 타임어택 숙제가 나왔고 조원들과 나또한 어려웠기 때문에 다들 복잡한 마음을 다듬을수있도록 진정시키고 천천히 이전에 했었던걸 복습하고 숙제로 나온것을 이해하기하기위해 5주차까지의 강의를 이어나갈수있도록 필자인 본인과 조원들에게 권유하였다. 

* 결국엔 그 문제를 풀지 못하였고 다음날 답안이 나올때까지 기다렸다.

------------------------------------------------

4일차

3일차에 타임어택으로 나왔던 답안이 나왔다. 답안엔 강의 내용엔 없던것도 있었다. 물론 불평 불만이 없진 않았을것이다. 사람이란 새로운것을 배우는것에 두려움을 느끼는것은 자연스러운것이라 생각한다. 답안을 뜯어보고 클라이언트-서버-데이터베이스의 상호 커뮤니케이션의 구조를 살펴보았다. 웹 스크래핑을 통한 정보값들을 불러오고 데이터베이스에 업로드 (주소,[POST])후 그 값들을 (주소, [GET])하여 클라이언트에 보여주는것이였다. 말로만 설명하면 물론 쉽지만, 실제로 손으로 코드를 입력하는건 쉽지 않았다. 그 와중 웹스크래핑을 하면서 길게 상단에 선언해야할 부분이 있었는데 필자는 모니터는 27인치와 32인치를 사용중이기 때문에 좌우 스크롤 압박은 없었다. 하지만 노트북을 이후 사용하게될수도 있고 팀원들중에 노트북을 사용하시는분들이 있기때문에 웹 스크롤링을 하거나 DB 클러스터에 접속하기위한 좌우로 긴줄의 선언을 해줘야한다. 그런 번거러움을 줄이기 위해 simple mongo와 simple web을 만들었다. 모듈에서 미리 선언하여 실행할 파일에 긴줄의 상단선언을 할필요가 없어진것이다. 아직 초창기 버전이라 손댈곳이 많지만 선언방법을 안다면 어느정도 하기 쉬울것이다. 아래에 파일을 첨부하였으니 필요한 파이썬 학우들은 다운받아서 사용하여도 좋다. ▼

Custom_Modules.zip
0.01MB

 

* 2021-12-18일 기준 업데이트 되었다. 후에도 업데이트할 의향이 있다.

- ▼ 커스텀 모듈 가이드 더보기 클릭 -

더보기

 

실행할 파이 프로그램과 동일 선상의 hirachy 위치에 있어야한다.
파일을 실행하기 위해선 __init__.py 파일이 존재해야하는데 3.3 이후 파이썬 버전이라면 필요없다.
simple_mongo_DB.py은 __init__.py파일 아래에 있다 상단 선언부에 pymongoclient를 매번 해줘야하는 번거로움을 이 모듈로 해결한다.
simple_mongo_DB.py와 동일하다 파일을 실행하기 위해선 __init__.py 파일이 존재해야하는데 3.3 이후 파이썬 버전이라면 필요없다.
웹 스크래핑 스크롤링을 하기위해 상단 선언해야 하는 번거로움을 줄이기 위해 beautifulsoup와 requests 등 이 모듈안에 포함되어있다.
모듈을 불러오기위해서 from simple_mongo_DB import simple_mongo_DB를 하면된다. simple_web 또한 똑같은 방식으로 하면된다.

------------------------------------------------

5일차

금요일은 매우 번거로웠다. 작성한 파일들을 문서화 시키고 업데이트를 해야하는부분이 많았고, 다음주를 파이게임을 대비하며 다시 파이썬 기초를 다시 익혀야했다. 하지만 이날 금요일까지는 5주차까지 완주를 해야만 타임어택의 문제의 내용을 이해할수있었고, filezilla등 aws 인스턴스에 git을 이용하여 업로드 하는 법을 눈으로 익혀둬야할거라 생각했다. 3조원들 중에 웹 프로그래밍 A-Z 5주차까지 완주한 사람들이 한둘씩 나오기 시작했고 다양한 시각에서 바라본 코드들을 공유했다. 정보 공유로 서로가 정말 많이 공부가 되었고 복습느낌으로 소통하며 강의 내용관 번외의 이야기겠지만 파이썬 그리고 웹 프로그래밍수업에 포함된 팁들을 주고 받았다. 5일차날엔 주간에 했던 모든것들을 훑어보는 시간이였다. 하지만 단기간에 모든것들을 익히기엔 시간이 너무 촉박하였기에 수업내용의 전반적인 틀의 이해도를 높이는 하루였다.

------------------------------------------------

6일차 [수업과 무관한 토요일]

수업일에 포함되지 않은날이였다. 게더타운엔 12명에서 15명까지 들어올 학우들이 보였고 그중에 우리 조원3명과 19조팀원 한명이 3조 공부방 공간안에서 수업과 파이썬에 관련된 다양한 토론을 진행하였다. 다음주를 대비하는 내용또한 있었으며 서로간 수업과 무관한 사적인 대화를 통하여 수업에서 받는 스트레스와 긴장감을 녹여내는 시간들이였다. AI웹개발 1주차를 거치면서 아직 부족하지만 배움의 시작의 기틀을 찾게되고 프로젝트에 대비하고 조원들과 커뮤니케이션을 통하여 개발 방향과 조원들간에 어떻게 하모니를 이루어가고 잡아갈수 있는 6일차였다.

* 이후 수업과 무관한 7일차 일요일에도 게더타운에 접속하여 조원과 다른 조의 팀장과도 소통하였다.

댓글