나의 웹프로그래밍 공부 과정

자몽·2021년 8월 16일
2

잡담

목록 보기
3/5
post-thumbnail

✅ 웹에 입문하다

📕 학교에서의 '웹프로그래밍' 수강

우선 나는 학교 수업에서 '웹'이라는 분야에 처음으로 입문하게 되었다.
학교에서는 간단하게 html, css를 배우고 웹에 대한 기본 지식들을 알려주었다.

배우는 내용들이 너무 재미있어서, A+를 받을 정도로 정말 열심히 수업을 들었던 것 같다. 이때부터 나의 '웹'에 대한 열정이 시작되었다!!

이때까지만 해도 JS의 중요성을 모르고 웹 공부를 다 한줄 알고 들떠있었다

하지만 왠걸, 웹의 진정한 시작은 JavaScript부터였다.

📕 w3schools

처음에는 자바스크립트 공부W3SCHOOL(https://www.w3schools.com/) 에서 시작했다.
이전에 python, C를 공부해본 경험이 있었기에 상대적으로 기본적인 for문, if문을 빠르게 익힐 수 있었다.

하지만 인터넷 자료를 참고하면서 공부하는 방법은 순서대로 공부한다는 느낌이 잘 들지 않았다.(개념 단위로만 공부하는 느낌)

이로 인해 '모던 JavaScript' 책을 구매해 공부하기 시작했다.

📕 모던 JavaScript 책

이 책을 간단하게 소개하자면 약 1000페이지의 무지막지한 분량을 가진 백과사전같은 책이다. 다행이도 이 책은 내가 원했던 방식인 '순서대로 공부하기'를 잘 지키며 공부할 수 있게 되어있어 열심히 공부했다.

하지만 문제는 읽어도 읽어도 끝이 안나는 분량이였다.
아직 자바스크립트의 입문자로써 내가 원하는 웹페이지를 조작하는 실습은 적고, 기본적인 개념과 이론을 공부하는 일은 솔찍히 말해서 좀 지루했다.

그래도 언젠가는 끝나겠지 하면서 하루에 한 챕터씩 나간 결과 2달정도의 시간을 소모해 책을 다 읽을 수 있었다.
(이제와서 생각해보면 첫 시작은 기본적인 개념이 잘 실려있는 300페이지 정도의 분량이 담긴 책이면 더 좋았을 것 같다.)

이렇게 끝날듯 끝나지 않았던 책을 다 읽고 나서 드디어!! React에 입문하게 되었다.

✅ React!! 드디어 제대로 뭔가 하는 기분

📘 리액트를 다루는 기술

관련 사이트: https://thebook.io/080203/

지금도 가끔씩 뒤적여보는 책이다.
웹쪽으로 공부하면서 가장 도움이 됐던 사이트나 책을 고르라 한다면 이 책을 당당하게 고를 수 있을 것 같다.
그만큼 알려주는 것도 정말 많고, 마지막 프로젝트를 완성하면 엄청난 뿌듯함을 가질 수 있다.

약간의 단점? 아니 단점보다는 어려운 부분이라고 하는게 더 좋을 것 같다. redux 챕터를 만나게 되면 한동안 해멜 가능성이 좀 높다.(redux 공부하려고 1주일이나 투자 ㅜㅜ)
이해한 후에 책을 보면 너무 쉽게 설명해놨는데? 이걸 왜 이제봤지? 하는 생각이 들지만 처음 봤을 때에는 개념이 잘 잡히지 않아 인터넷을 엄청 뒤적거렸다.

한줄요약: redux 어려움

📘 팀 프로젝트

팀 프로젝트 관련 활동들 기록: https://velog.io/@wkahd01?tag=Team-Project.1
어떻게 보면 나를 가장 빠른 시간동안 성장시켰던 것은 '팀 프로젝트' 였던 것 같다.
'리액트를 다루는 기술'책의 초반 부분을 공부하면서 운영중인 스터디에서 '팀 프로젝트'인원을 모집해 프로젝트를 진행하였다.
원래 목표는 간단하게 todo앱을 만들어서 프론트/백 연동하기였지만, 기획 단계에서 이정도면 할 수 있지 않을까..? 라는 생각으로 기능을 추가하다보니 일이 너무 커져버렸다 ㅋㅋㅋㅋ

솔찍히 말해서 초반에는 너무 막막했다. rest api라는 기본 개념조차 없는 수준이였기에, 정말 차근차근 진행해 나갔다. 매일 3~4시간씩 모여 어떻게 할 지 의견을 정하고, 웹에 대한 기본적인 지식들을 공부해 나갔다.

나는 프론트엔드 파트였는데, 같은 팀원들은 이제 막 JS를 시작했던 분들이기에 React 부분은 대부분 내가 진행했어야 했는데, 최대한 팀원들 실력을 빠르게 끌어올리기 위해서 많은 것들을 알려주고 공부했다.

프론트엔드는 이렇게 성공적으로 되어가고 있었는데..! 아쉽게도 백엔드에서 문제가 생겨 프로젝트를 제대로 진행하기 어려워졌다.

그래서 결국 프로젝트를 중단하기에 이르렀는데, 프로젝트를 모두 끝내지 못해 너무 아쉬웠지만,

한달이라는 시간 동안 '리액트를 다루는 기술'을 모두 읽고, 혼자서 CRUD 기능을 모두 할 수 있을 정도의 실력을 기를 수 있어서 너무 뿌듯했다.

✅ 추가 활동(블로그 및 스터디)

📙 프로그래밍 스터디

스터디에 관한 내용은 다음 링크에 상세하게 작성해 놓았다.
https://velog.io/@wkahd01/프로그래밍-스터디

📙 프로그래밍 스터디>알고리즘 스터디

비교적 최근에 시작한 스터디이다.
스터디 인원은 기존에 운영하던 프로그래밍 스터디에서 모집해 현재는 나 포함 3명이 활동중이다.
매주 하나의 주제(ex 스택)을 가지고 공통 문제 1개, 자유 문제 1개씩을 풀어와 서로에게 설명하는 활동을 하고 있다.

초반에 이 스터디를 만들지 말지 고민했던 시간이 무색해질 만큼 '알고리즘 스터디'는 너무나 유익했다.
우선, 여러가지 장점들이 있었는데,

  1. 서로 푸는 방법이 모두 달라, 다른 관점에서 생각할 수 있다는 점이 가장 좋았으며,

  2. 이 알고리즘 문제를 풀 때 어떻게 접근하는지 다른 아이디어를 얻을 수 있어서 좋았다.

  3. 첫 주차에 발표할 때는 어떻게 상대방이 이해할 수 있게 설명할지 고민이 많았는데 몇 번의 시행착오를 거치며, 이제는 서로 설명을 하면 금방금방 이해를 할 수 있게 되었다.

  4. 또한, 알고리즘 문제 푸는 활동을 의무감을 가지고 꾸준히 풀 수 있었기에 정말 도움이 됐던 것 같다.

📙 velog 운영

자몽 velog: https://velog.io/@wkahd01

'꾸준히 글을 올리자'라는 목표를 가지고 velog에 매주 2~3번은 글을 작성하고 있다.
작성하는 내용은 다양하다. 간단하게 소개하자면,

  • 공부하기 싫을 때, 면접 대비 겸 JS 기본 개념들을 복습하기 위해서 관련 내용들을 모아서 정리한 후, 내 것으로 만들어 velog에 포스팅한다. (대부분 알고 있는 지식들을 한번 더 정리하는 것이기 때문에 크게 머리를 안써도 되기 때문)

    참고한 사이트
    https://realmojo.tistory.com/300
    https://canoe726.tistory.com/28

  • 알고리즘 문제를 푼 후, 기본 개념 소개와 함께 알고리즘 문제 올리기(with 코드 주석처리)

  • 간단한 토이 프로젝트
    어려운 개념이나 흥미로워보이는 주제를 발견하면 토이 프로젝트를 하면서 모르는 것들을 이해하는 것을 좋아한다. 따라서 이렇게 간단하게 토이 프로젝트를 통해 만든 결과물을 약간의 설명과 함께 velog에 포스팅 하고있다.

📙 학부생 연구원

학기 말에 교수님께 학부생으로써 연구원을 하고싶다고 연락드렸다.

이렇게 학부생 연구원을 시작하였는데, 우리 연구실은 독서실과 비슷한 느낌이였다.
교수님이 시키신 일들을 하는 것이 아닌 자유롭게 원하는 공부를 할 수 있었기에 웹 공부를 꾸준히 할 수 있었던 배경중 하나가 된 것 같다.

또한, 학부생 연구 참여 프로그램이 있었는데 생소한 mininet에 대해 공부하면서 자료가 부족해 하루에 3~4시간씩 멍하니 인터넷만 뒤지곤 했는데, 이런 경험을 통해 영어 원문 읽은 실력과 검색 능력을 주었던 것 같다.

📙 깃허브

개발자들이 가장 애용한다는 깃허브!!
단순히 클라우드 기능을 쓰는 것보다 버전 관리같은 것들이 더 중요하다고 말하지만, 아직 버전관리를 크게 할 일이 없어,
현재로써는 주로 공부 의욕을 높이기 위해 깃허브를 사용하는 것 같다.

잔디밭.. 무럭무럭 자라렴

⭐ 3줄요약

공부 진행 순서: 학교 수업 > w3schools > 모던JavaScript > 리액트를 다루는 기술 > 토이 프로젝트 + 팀 프로젝트
추가로 했던 활동: 스터디, 알고리즘 스터디, velog, 학부생 연구원

뭔가 되게 한것들이 없어 보였는데, 이렇게 나열하니 생각보다 뭐가 많네요 ㅋㅋㅋ

📌 공부하면서 도움됐던 사이트 모음

profile
꾸준하게 공부하기

0개의 댓글