6월~ 7월 중순 ; 컴퓨터 과학으로의 전향 결정, 첫 프로젝트
6월쯤에 컴퓨터 과학 , 프로그래밍이라는 분야에 대해서 21년도 군대에서의 알파고의 붐으로 인해서 Tensorflow로 직접 머신러닝 모델을 아마존의 가상환경이나 주피터를 통해서 해보았던 경험과 평소에 관심이 있었기에 간단히 JS를 이용해서 웹에 Todo list 를 만들어 보는 프로젝트를 혼자 해보았었다.
사실 이때만 해도 commit 이 뭔지 push pull 등 깃에 대한 이해도도 없어서 몇번이고 다시 만들었던 기억이 있다.
그리고 6월 말 경에 학교의 기말고사가 끝나면서부터 앞에서 만들었던 프로젝트를 사용하면서 내가 필요한 서비스나 기능들을 원하는대로 구현하고 사용할 수 있다는 사실에 영감을 얻게 되어 무작정 카카오톡을 클론 코딩을 하는 무료 강의를 수강하면서 HTML CSS JS 등을 이용해 웹페이지를 만들어 보는 클론 코딩 수업을 듣게 된다.
또 그대로 따라하는 것은 못참는 성격에 비슷한 메신저인 LINE을 따라서 만들었던 것 같다ㅋㅋㅋ
7월 ~ 8월 ; 파이썬으로 웹 크롤링 프로그램 제작, 블로그 포스팅 시작
클론 코딩 강의가 주는 인스턴트한 성취감 때문인지 군 훈련소에 있을 당시에 컴퓨터 공학에 대한 주기적인 뉴스나 이야기를 해주었던 친구가 위문 편지를 크롤링을 통해서 뉴스를 보내주었던 기억이 강렬했었던지 여러가지 이유로 파이썬을 통해서 만드는 웹크롤링 기능을 제작하게 된다.
이 때 배웠던 크롤링을 이용해서 백준 알고리즘 공부와 그 공부를 위한 포스팅 위해
원하는 단계의 숫자를 넣으면 내가 작성하던 게시물의 HTML템플릿 형태의 텍스트파일로 저장하는 크롤러를 제작하기도 하였다.
아래에서 자세한건 확인 할 수 있다.
7월 중순 ~ ; 알고리즘 공부 시작, 컴퓨터 구조 공부에 대한 필요성을 느끼다
파이썬을 이용해 백준의 알고리즘을 풀기 시작하였다. 하지만 10월 부터는 문제가 어려워지기도 했고 프로젝트를 시작하여 뒷전이 되고 말았다... 1월부터 다시 시작해야지
단계별로 브론즈부터 실버 골드까지의 문제를 풀면서 무작정 부딫히다보니 부족한 것도 많았고 아예 모르는 개념에서 파생되어서 나오는 개념이 많았기에 이에 항상 도움을 받는 친구에게 컴퓨터 구조에 대한 자료와 운영체제에 대한 (근본에 대한 공부) 필요성을 느끼게 되었다.
8월 ~9월 ; 디스코드 봇 만들기 시도, 서버 및 네트워크에 대한 공부 필요성을 느끼다
백준 크롤링 프로그램을 통해서 얻은 자신감으로 디스코드 봇을 만드는 것을 시도하였지만 쉽지않았다.. 클라이언트가 뭔지 서버와의 통신이 뭔지 봇의 액션과 동기화 비동기화 여러 네트워킹이나 서버에 관련된 지식이 부족하여 쉽지 않았다.
실제로도 블로그 조회수 Top5 안에 두세개가 들어있는 게시글이다.
2022.08.03 - [Discord bot] - 디스코드 봇 만들기 :: 봇 생성 및 개발환경 세팅
동아리나 외부 모임등에서 백엔드 부에서 배우면서 프로젝트를 해보면 좋겠다는 생각을 하였고.. 운이 좋게 학교 컴공과의 동아리에 들어가게 된다.
이때 동아리의 같은 개발직군의 사람들끼리 스터디를 진행하거나 기술을 선정하여 발표를 해보는 등 좋은 경험을 하였다.
9월~ ; 파이썬으로 웹 크롤링 프로그램 제작, 첫 협업 프로젝트 시작
학교 복학과 동시에 1학기와는 다르게 학과 공부보다 컴퓨터 과학에 대한 공부에 집중을 하는 전략을 선택하였다.
당시에 기술블로그도 시작하여서 운영체제나 파이썬 리눅스에 관한 새로운 사실들을 배울때마다 포스팅을 하였다.
나름 방문자가 쏙쏙 느는 기분이 나쁘지 않았다.
10월 이후에는 포스팅이 뜸해서.. 방문자가 줄어들었지만 앞으로 프로젝트를 하면서 알게된 내용들이나 에러에 대한 디버깅 과정들을 포스팅 해나갈 생각이다.
또한 들어가게된 동아리의 팀 내에 시니어가 있지 않아서.. 로그인과 회원관리에 대한 개념 이해와 구현을 Github와 stackoverflow Medium 등에서 찾아서 수많은 착오와 시도 끝에 일주일 정도를 소요해서 로그인 구현을 해보게된다.
또한 수많은 에러 속에서 아직 포기하지 않고 구현한 행동들 속에서 앞으로 있을 프로그래밍적 시련 (알수없는 에러들의 향연) 들에 대한 역치가 점점 높아지는것이 느껴져 성장하고 있구나 라는 생각이 들었다. 하지만 효율 측면에서는 영 좋지 못했던것 같아서 아쉬움이 있기는 하다.
하지만 지금 돌아보니 뉴비 시절에 이런 무모한 작업 한번 해봐야 하지 않았겠나~ 라는 생각이 든다.
10월 ~ 11월 ; 협업 프로젝트의 난항과 교훈
시험 기간이었다는 이유도 있고 다른 개발자의 대회 참가 등의 이유로 9월 중순에 예정 되어있던 기획 단계에서의 프레임 워크는 11월 초에나 나오게 되었고 또한 기존 4명이던 개발자에서 2명이 나가게 되었다. 이런 외부 요소와는 별개로 아직 프론트와 서버 간의 통신 방식 등에 대해서 서로 잘 알고 있지 않았었다.
그래서 인터넷 부트 캠프에서 장고와 리액트를 이용하여 에어비앤비 클론 코딩 강의를 통하여 각 API간의 공유나 공용 모델의 상속 방식 등과 프론트와 서버가 통신을 하는 방법 등에 대한 원리를 잘 알게 되었다.
기술에 대한 개념 부족으로 발생되는 문제에 대해서는 공부를 통해 해결되었지만 이를 제외한 대부분의 문제들은 서버를 담당하는 나와 프론트를 담당해주셨던 개발자 간의 소통이 단순히 상태를 보고하거나 필요한 요청을 하는 것보다 내 요청이 상대방의 작업에 어떤 변화를 가져오는지 정도는 알수 있게 상대방의 분야에 대한 전반적인 이해와 함께 소통을 하는 것이 유효한 소통 이구나 라는 생각을 했다.
11월 ~ 12월 ; 프로젝트 개발 시작과 마무리
서버에 대한 개발은 11월부터 쭉 해오고 있었고 기말 시험 기간이 끝나기 전에 대강 완성을 해놓았다. 일주일에 이틀 정도는 학과에 관련된 공부나 과제 등을 하고 나머지 날에는 모듈 개발만 했던것 같다. 아마 이때 개발을 하는 과정에서 발생했던 에러들이나 장고에 대해서 알게된 내용들은 나중에 시간이 남을 때 블로그에 간간히 포스팅을 할 생각이다.
사실 위 사진에서 빛나는 날은 배포날 전날 이었는데 그 전에도 물론 프론트와 연결하여 이슈 해결을 하였지만 저날 처음 AWS 를 이용하여 배포를 할때 간단한 WSGI 세팅부터 프론트에서 추가했으면 좋겠다고 요구하는 기능, urls 연결, DB 수정 요청 등에 대한 이슈 해결을 6시간에 걸쳐서 20여가지가 나왔던것 같다.
사소한 내용일수 있지만 프론트에서 원하는 수정 사항 등을 듣고 짧게는 5분 길어도 30분 내로 에러가 발생한 위치를 찾아내고 디버깅을 할 수 있는 자신을 확인하고는 첫 회의때 CRUD가 뭔지 이해도 하지 못한 과거의 나와 함께 비교가 되어서 감개무량했던 순간이었다.
부족한 점도 많고 체계적이지도 않았지만 초심자의 입장에서 첫 협업 프로젝트를 해봤다는 점에서 아쉽다는 마음보다도 좋은 경험 이었다는 생각이 많이 든다.ㄴ
[12/29 다시 부산에 내려가 프로젝트에 대한 배포와 마지막 발표회를 하고 왔다]
이외에도 주변에서 응원해주고 위로해준 많은 사람들에게 감사의 말을 전한다.
'Life' 카테고리의 다른 글
Shinjuku | 신주쿠 (3) | 2023.01.30 |
---|---|
도쿄에 와있습니다.. (2) | 2023.01.26 |
22년도 하계 국토종주 3일차 (우중라이딩) (3) | 2022.10.07 |
2022 서울 자전거 대행진 (강변북로를 자전거로) -신청함 (0) | 2022.10.05 |
22년도 하계 국토종주 2일차 (2) | 2022.09.28 |