티스토리 뷰

Recording

Day-30

켈럽 2022. 10. 20. 23:09

Objective

 

1. CS Concept

 

2. 백엔드 로드맵 순서로 공부하기

 

3. 노션 정리한 내용 전부 돌려보기

 

4. 자료구조와 알고리즘

 


Result

 

1. 면접을 위한 CS 전공지식 노트 반복해서 보기 및 노션에 정리된 내용 보기

 

-OS 파트 읽고 있다. 기존에 이미 유튜브나 블로그 등을 통해서 Network나 OS나 공부를 해놓긴 했지만 확실히 더 디테일하고 전문적인 개념들이 많이 나온다. 그래도 기존에 공부를 조금 해뒀던게 많은 도움이 된다. 어떻게 공부를 해나가야할지, 어떤 부분들을 좀 더 중심적으로 봐야할지에 대해 잘 알 수 있게 해줬다.

 

*기존에 공부하던 분야와는 다른 느낌이다. 프로그래밍 툴을 쓰는 방법과 프로그래밍의 이론 두가지를 따로 보고 공부를 하는게 아니라 같이 해야 한다고 느껴진다. 왜냐하면 초반에 이론에 대해서 공부할 때 이해가 잘 안 가던 부분이 툴을 공부하고나니 이해가 되는 경험을 많이 했기 때문이다.

당장 이론에 대해서 이해가 안 되는 내용이나 어려운 내용이 있더라도 조급하게 생각하지 말고 천천히 하나씩 해나가는게 중요한것 같다.

 

*Node.js 공부 한 뒤에 MVC 패턴에 대해서 읽어보자.

(MVC 패턴이라는건 디자인 패턴의 한 종류이고, 디자인 패턴은 개발자끼리의 예절인 것이다. 이는 내가 어느정도 개발 공부를 한 뒤에 봐야 금방 이해가 될 것이고 적용을 할 수 있을 것이다.)

 

2. Learn a Language -> JavaScript

 

-현재 바닐라 JS 공부 진행중인데 기존에는 Html에서 input element에 onclick event를 통해 JS의 쓰임에 대해서 배웠지만 지금은 아예 Html과 JS 파일을 따로 만들어두고 JS 문법과 로직 짜는걸 공부하고 있다. JS 문법 자체에는 어려움이 없어 보이지만 Web API를 활용하는게 어렵다고 느껴진다. 하지만 모든걸 다 알고 다 외울수는 없다. 내가 필요한 부분들을 하나씩 습득해나가면서 후에 잊어버렸을 때 쉽게 다시 생각날 수 있도록 하는 것이 중요하다.

 

-이론적인 부분은 기존에 공부했던 내용이랑 지금 하고 있는 내용이랑 어느정도 정리가 필요할것 같다. 반복문에 대한 내용이 현재 배우고 있는 부분에는 없는것 같고 그 외에도 서로 보충할 내용들을 정리할 시간이 필요하다. 

*현재 JS 공부 끝나면 Node.js로 넘어갈텐데 지금 배우는 내용 보다 조금 더 심화적이지만 중요한 내용이 있다. call back, promise, Synchronous, Asynchronous와 관련된 부분들은 매우 중요하기 때문에 여기까지는 꼭 공부를 한 뒤에 넘어가는 것이 좋을것 같다. 다만 항상 모든 것을 다 하려고 하다보면 오히려 독이 될 수도 있다. 내가 필요성을 느꼈을 때 공부를 하는게 맞다. 위 내용 이상으로는 새로운 개념을 발견하게 되더라도 개념까지는 알고 가는건 좋지만 깊이 공부하는건 좋은 방법이 아닌것 같다. 

 

-navigator.geolocation.getCurrentPosition() 을 이용해서 브라우저에서 제공하는 위치 서비스를 이용해 보았다. 위 함수를 통해 현재 위치의 위도와 경도를 알 수 있다. 이를 기반으로 Weather API를 사용하면 해당 위치의 현재 날씨와 온도 등을 알 수 있는데, 웹페이지에는 날씨와 온도(섭씨 온도)와 지역 이름이 나타나도록 구현하였다. 로직은 어렵지 않았지만 생소한 함수를 사용하는게 어색했고 무엇보다 API를 사용해서 웹페이지에 표현이 되도록 구현하는게 어려웠다.

 

-이제 처음부터 끝까지 스스로 만들어 보고 새로운 기능을 한 두개 더 추가해 볼 예정이다. 브라우저에서 지원하는 검색 기능을 하나 넣어봐도 좋을것 같다.

 

-Terminal 관련해서 간단한 강의가 있는데 concept을 넘어 사용법까지 디테일하게 공부해야 하기 때문에 이것도 조금씩 공부해야한다.

 

-그 외에 지금까지 배운 내용들로는 부족한 부분들을 보완해야 할것 같다. callback에 대한 개념이나 promise에 대한 내용 등 부족한 부분이 많다.

*이론적인 부분을 꼼꼼하게 알려주는 강의를 찾았다. 가볍게 들어보니 JS에 대해서 조금 더 디테일한 내용을 담고 있고 중요하지만 지금까지 구현했던 기능에서는 사용하지 못했던 부분들까지 아울러서 설명하고 있다. node.js 시작 하기 전에 틈틈히 하나씩 보면서 정리하면서 공부할 것이다.

 

-AJAX도 결과적으로는 브라우저에서 사용되는 기능인 것이고 JS와도 연관이 있기 때문에 공부를 할 예정이다.

 

-Terminal 관련해서 틈 날 때마다 조금씩 보고 있다. 지금까지 했던 부분에 대해 복습도 했고 Terminal command 몇가지를 배우고 직접 사용하면서 익숙해지려고 노력하고 있다. nodejs에 대해 미리 가볍게 알아봤는데 Terminal을 사용하는 방식과 유사하다고 느껴졌다. JS를 마무리 한 뒤에 node를 공부할 때 더 도움이 될것 같다. 그리고 이어서 Git에 대해서도 공부를 했다. 단순히 git이 무엇인지에 대한건 이미 공부를 했었고 이번에는 실제로 git을 이용하는 방법에 대해서 공부를 하고 있다. git과 github를 연동시켜서 repo를 생성하고 삭제하고 commit까지 직접 해보려고 한다. 이번 JS 프로젝트가 어느정도 완성이 된다면 실행해볼 것이다.

 

-JS를 어느정도 공부한 뒤에는 node.js에 대한 공부를 하게 될텐데 이는 JS를 이용해서 서버를 만들기 위해서는 필수적으로 공부를 해야 하는 부분이고 Express framwork를 함께 공부하게 될 것이다. 간단한 클론 강의를 포함해서 이론적인 부분까지 공부를 하게 될 것이고 그 후에는 스스로 작은 프로젝트를 하나 만들게 될 것이다.

아무튼 쉬는 시간이나 휴일 등을 이용해서 node.js에 대한 강의를 가볍게 들어보자. JS를 마무리 하기까지 조금씩 공부를 해놓는다면 본격적으로 공부를 하게 될 때 훨씬 수월할 것이다.

 

3. Internet 필기 내용 복습(REST API 공부한 뒤 다른 파트로 넘어가자)

-HTTP에 대한 내용을 복습하던 중에 REST API에 대해 알아야겠다는 생각이 들었다. API 자체에 대해서는 공부 초반부터 계속 들어왔지만 제대로 이해가 되질 않았다. 이번에 HTTP를 복습하면서 REST API에 대한 내용이 나와서 나온 김에 공부를 하려고 한다.

 

*CS 노션에 정리 된거 복습을 계속 하고 있지만 CS 전공지식 노트 책에 훨씬 더 자세하게 설명이 되어 있다.

이 책을 보면서 노션에 정리된 내용과 같은 부분은 삭제를 하고 책에 없는 내용(주로 개념을 쉽게 설명해주기 위한 내용이라던가 너무 간단해서 책에 없는 내용)만 남겨놓고 책을 위주로 보는게 좋을것 같다.

(Internet 파트도 마찬가지로)

 

4-1. 유튜브 영상 노션에 정리한 내용 반복해서 보기

 

4-2. 관련 책 읽기

-그림으로 배우는 알고리즘

*이 책은 거의 다 읽어가는데 알고리즘이나 자료구조는 코드를 배우는 것과 별개의 문제가 아니다. 처음에는 이 책을 보면서 무슨 말인지 이해가 안 됐었는데 코드를 공부하다보니 이해가 되기 시작했다. 단순히 코드를 짜는 공부를 하는게 아니라 항상 왜 이건 이렇고 왜 이건 이렇게 되는지 어떻게 해야 더 좋은 방법인지 등에 집중을 하면서 파생되는 원리나 근본적인 문제들에 접근을 하다보니 조금씩 내가 알게 되는 범위가 늘어나게 됐다.

 

-간단한 알고리즘 문제를 하나씩 풀어보려고 한다. 여러 유명한 사이트가 많은데 프로그래머스가 당장에는 잘 맞는것 같아서 제일 기본적인 문제부터 천천히 풀어보려고 한다. 코딩테스트를 준비하기 위한 목적도 있지만 당장 어떤 프로젝트를 하나 만들거나 클론 코딩을 하는 것도 중요하지만 알고리즘을 공부해야 로직을 짜는데 있어서 공부가 될 수 있다고 생각이 들어서 조금씩이나마 시작해보려고 한다.

*프로그래머스 기초 단계부터 조금씩 시작하고 있다.

 

-면접을 위한 CS 전공지식 노트

 

-어플을 통해서 수시로 보면서 자주 노출시켜서 익숙해지기

 

*자료구조와 알고리즘은 결국은 중요한 부분인건 맞다. 하지만 내가 지금 당장 이 부분에만 너무 집중을 해버린다면 정작 현재 중요한걸 놓칠 수 있기 때문에 코딩테스트 문제 푸는데에 집중을 하기 보다는 확실하게 이해를 하고 개념적인 부분을 알도록 초점을 맞추는게 중요할것 같다.


Keep and Holding

 

CS50 강의

-P2 이후 강의는 c언어를 이용한 수업들이라 고민을 좀 해봐야 할것 같다. 근데 c언어 자체에 초점을 둔게 아니라 이를 기반으로 프로그래밍 언어의 중요한 데이터 타입, 자료구조와 알고리즘에 대한 강의들이기에 간단히 들어봐도 좋을것 같다.

일단 어차피 나머지 내용들은 자료구조와 알고리즘 공부를 위해 수강하고자 하는 것이니 현재 진행하고 있는 자료구조 알고리즘 공부를 먼저 완료한 뒤에 판단해도 될것 같다.

 

로드맵에 있는 각종 CS

-로드맵에 있는 CS에 대한 내용은 정리는 다 됐다. 하지만 concept 정도의 내용이기도 하고 이마저도 완전히 이해했다고 보기 어렵기 때문에 반복해서 보는게 가장 중요할 것 같다. 그 이후에는 좀 더 깊은 내용에 대해서 공부를 해나가면 될 것 같다. 일단은 반복해서 보고 JS 클론 코딩까지 끝내면 Framework 넘어가면서 CS 자세하게 더 공부하자.

-CS 관련된건 현재 보고 있는 '면접을 위한 CS 전공지식 노트'를 보면서 공부하면 될것 같다.

 

Version Control Systems / Repo Hosting Services

-깃과 깃허브에 대한 이해가 필요한 내용. 깃에 대한 기본 내용은 이해했고 깃허브 사용 방법에 대해서도 어느정도 숙지하게 됐다.

-깃이 무엇인지는 간단한 내용이고 깃을 어느정도 사용할 줄 알아야 한다.

 

영어 공부

-회화적인 부분을 포함해서 프로그래밍에 맞는 영어를 공부해야하는데 일단 많이 읽어봐야한다. 지금은 읽는 공부에 비중을 두고 해야하고 회화는 비중을 좀 적게 두면서 계속 가져가야한다.

(다행히 지금까지 영어를 꽤 많이 해왔고 수험 영어가 아니기에 실력 늘리기 더 쉬울것)

 

크롤링
-누가 추천해준 코드를 복사해서 붙여넣기를 하더라도 하나하나 잘 깊게 보면서 어떻게 이루어져 있는가, 왜 이런 코드를 추천을 해줬는가를 따져가면서 해야한다. 그리고 후에 작은 프로젝트를 하나 스스로 만들 때도 크롤링을 통해서 많은 코드 데이터를 쌓아야 한다.

 

나중에는 협업 경험을 쌓기 위해서 사이드 프로젝트도 찾아보자. 개발자 커뮤니티에서 찾아보면 꽤 나온다고 한다.

 

풀스택

-항상 큰 목표를 두고 작은 목표들을 설정해가며 진행해야한다. 현재로서는 웹개발에서 풀스택 개발자가 되는 것이 목표이다. 모든걸 다 할 수는 없을 것이다. 하지만 중요한 부분들을 하나씩 채워나가다보면 분명 이뤄낼 수 있을 것이다.

*JS가 어느정도 숙달이 된다면 TS도 이어서 배우면 좋을 것이다. JS를 공부하다보니 data type 때문에 오류도 많이 나고 디버깅 할 때 찾아내기가 힘들 때가 있었다. TS는 JS에서 이 점을 보안해서 나온 언어이다. JS가 어느정도 숙달이 된 후에는 꼭 배우자.

'Recording' 카테고리의 다른 글

Day-32  (0) 2022.10.22
Day-31  (0) 2022.10.21
Day-29  (1) 2022.10.18
Day-28  (0) 2022.10.17
Day-27  (1) 2022.10.14
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함