티스토리 뷰
Objective
1. CS Concept
2. 백엔드 로드맵 순서로 공부하기
3. 노션 정리한 내용 전부 돌려보기
4. 자료구조와 알고리즘
Result
1. 면접을 위한 CS 전공지식 노트 반복해서 보기 및 노션에 정리된 내용 보기
-CS 전공지식 노트를 보던 중에 아직은 생소한 내용이 많이 포함되어 있는걸 알게 되었다. 그래서 해당 내용을 찾아봤는데 결국에는 배워야할 부분이라 간단하게 체크만 하고 넘어가고 Network에 관한 부분에 더 집중하자.
2. Learn a Language -> JavaScript
*버튼 만들기를 통한 JS에 대해서 공부를 하는 수업.
-(변수) var을 사용해서 설정하는데 변수를 사용하는 가장 큰 이유는 코드를 결국 중복의 제거이다. 코드가 복잡해짐에 따라 중복의 제거의 중요성이 커진다.
(var을 이용해서 강의를 했지만 재선언 재할당의 가능 불가능에 따른 이유로 요새는 const나 let을 사용한다.)
-궁극적으로 하고자 하는건 input button을 통해 day 버튼을 누르면 배경은 흰색/텍스트는 검정색, night를 누르면 배경은 검정/텍스트는 흰색으로 바뀌는 사용자와 상호작용이 가능한걸 만드는게 목적.
(onclick이라는 event를 사용해서 만들었다.)
-비교연산자와 불리언. 불리언은 true와 false 두가지 값만 존재하는데 이 자체로는 의미가 없고 조건문이나 반복문과 함께 쓰일 때 비로서 불리언이 왜 필요한지를 알게 될 것이다.
-Terminal 관련해서 간단한 강의가 있는데 concept을 넘어 사용법까지 디테일하게 공부해야 하기 때문에 이것도 조금씩 공부해야한다.
-WSL와 Uduntu를 각각 다운 받아야 했지만 현재는 WSL만 받으면 자동으로 Ubuntu가 설치 된다.
-Uduntu ID와 Password 설정할 때 잘못 설정해서 아예 초기화 하는 방법을 엄청 오랜 시간을 쏟아서 찾아냈다. 리눅스는 애초에 터미널 프로그램을 열 때 관리자의 권한으로 실행해서 root로 접근하는게 아니라 명령어를 입력해서 root로 접근할 수 있는데 이 때 ID와 Password를 모르면 관리자 모드로 명령이 불가능하다.
-oh my zsh를 이용해서 터미널 프로그램을 꾸미는게 가능하다. 강의 중간에 그래도 중요한 내용이 나올것 같아서 따라가면서 끝까지 들어봤다. 결과적으로는 터미널 프로그램을 꾸미는게 당장에는 의미가 없지만 그래도 조금이나마 터미널을 사용하는 방법에 대해 익숙해질 수 있는 시간이었다.
-본격적으로 WSL에 대한 명령어를 학습할 것이다.
3. Internet 복습 완료 및 internet 복습 도중에 network에 대해 자세하게 공부해야 할 필요성을 느껴서 network 조금 더 자세한 내용 정리했음. 반복해서 보자.
4-1. 유튜브 영상 노션에 정리한 내용 반복해서 보기
4-2. 관련 책 읽기
-그림으로 배우는 알고리즘
-면접을 위한 CS 전공지식 노트
-어플을 통해서 수시로 보면서 자주 노출시켜서 익숙해지기
*자료구조와 알고리즘은 결국은 중요한 부분인건 맞다. 하지만 내가 지금 당장 이 부분에만 너무 집중을 해버린다면 정작 현재 중요한걸 놓칠 수 있기 때문에 코딩테스트 문제 푸는데에 집중을 하기 보다는 확실하게 이해를 하고 개념적인 부분을 알도록 초점을 맞추는게 중요할것 같다.
Keep and Holding
CS50 강의
-P2 이후 강의는 c언어를 이용한 수업들이라 고민을 좀 해봐야 할것 같다. 근데 c언어 자체에 초점을 둔게 아니라 이를 기반으로 프로그래밍 언어의 중요한 데이터 타입, 자료구조와 알고리즘에 대한 강의들이기에 간단히 들어봐도 좋을것 같다.
일단 어차피 나머지 내용들은 자료구조와 알고리즘 공부를 위해 수강하고자 하는 것이니 현재 진행하고 있는 자료구조 알고리즘 공부를 먼저 완료한 뒤에 판단해도 될것 같다.
로드맵에 있는 각종 CS
-로드맵에 있는 CS에 대한 내용은 정리는 다 됐다. 하지만 concept 정도의 내용이기도 하고 이마저도 완전히 이해했다고 보기 어렵기 때문에 반복해서 보는게 가장 중요할 것 같다. 그 이후에는 좀 더 깊은 내용에 대해서 공부를 해나가면 될 것 같다. 일단은 반복해서 보고 JS 클론 코딩까지 끝내면 Framework 넘어가면서 CS 자세하게 더 공부하자.
Version Control Systems / Repo Hosting Services
-깃과 깃허브에 대한 이해가 필요한 내용. 깃에 대한 기본 내용은 이해했고 깃허브 사용 방법에 대해서도 어느정도 숙지하게 됐다.
-깃이 무엇인지는 간단한 내용이고 깃을 어느정도 사용할 줄 알아야 한다.
영어 공부
-회화적인 부분을 포함해서 프로그래밍에 맞는 영어를 공부해야하는데 일단 많이 읽어봐야한다. 지금은 읽는 공부에 비중을 두고 해야하고 회화는 비중을 좀 적게 두면서 계속 가져가야한다.
(다행히 지금까지 영어를 꽤 많이 해왔고 수험 영어가 아니기에 실력 늘리기 더 쉬울것)
크롤링
-누가 추천해준 코드를 복사해서 붙여넣기를 하더라도 하나하나 잘 깊게 보면서 어떻게 이루어져 있는가, 왜 이런 코드를 추천을 해줬는가를 따져가면서 해야한다. 그리고 후에 작은 프로젝트를 하나 스스로 만들 때도 크롤링을 통해서 많은 코드 데이터를 쌓아야 한다.
나중에는 팀협업 경험을 쌓기 위해서 사이드 프로젝트도 찾아보자. 개발자 커뮤니티에서 찾아보면 꽤 나온다고 한다.
풀스택
-항상 큰 목표를 두고 작은 목표들을 설정해가며 진행해야한다. 현재로서는 웹개발에서 풀스택 개발자가 되는 것이 목표이다. 모든걸 다 할 수는 없을 것이다. 하지만 중요한 부분들을 하나씩 채워나가다보면 분명 이뤄낼 수 있을 것이다.
*JS가 어느정도 숙달이 된다면 TS도 이어서 배우면 좋을 것이다.