[WIL] 내일배움캠프 2주차

My_Code·2024년 4월 28일
0

TIL

목록 보기
13/112
post-thumbnail

본 내용은 내일배움캠프에서 활동한 내용을 기록한 글입니다.


💻 WIL(Weekly I Learned)

📌 주간 학습 목차

✏️ 월요일

  • 자바스크립트 공부와 개인과제가 시작하는 주!!

  • 총 5주차의 자바스크립트 강의를 시청

  • 1주차는 자바스크립트의 기본 문법을 학습함

  • 2주차는 ES6의 문법과 Map, Set 자료구조를 학습함

  • 사실 1, 2주차는 내용이 어렵지 않아서 1.5배속으로 빠르게 수강

  • 3주차는 데이터 타입과 실행 컨텍스트, this에 대해서 학습함

  • 데이터 타입에서는 변수와 상수에 대해서 학습함

  • 변수는 메모리 상에서 변수명과 데이터가 같은 곳에 저장될 줄 알았음

  • 하지만 변수명과 데이터는 다른 메모리에 저장되어서 주소를 통해 연결함

  • 또한 얕은 복사, 깊은 복사 등에 대해서 조금 더 알아보는 시간이 됨


  • 실행 컨텍스트에서는 호이스팅이라는 가상 개념을 학습함

  • 변수나 함수의 실행 과정을 이해하기 위한 개념이라고 함

  • 하지만 실제로 큰 도움은 되지 않은 것 같음.... (어디에 사용하는 거지?)


✏️ 화요일

  • 남은 4주차와 5주차를 학습함

  • 4주차에는 동기/비동기에 대해서 학습함

  • Promise는 콜백함수에서 발생하는 콜백지옥을 벗어나기 위한 방법

  • Promise는 비동기 실행을 동기적으로 처리하기 위한 방법

  • 비동기 동작을 동기적으로 사용하는 이유는?
    => 순서를 보장할 수 없는 과정에서 순서를 보장받기 위해 사용

✏️ 수요일

  • 오늘부터는 알고리즘 특강와 코드카타를 시작함

  • 알고지름 특강은 총 4일동안 진행됨

  • 알고리즘 특강은 코딩테스트를 대비한 코드와 친해지는 과정이라고 함

  • 처음에는 파이썬 vs 자바스크립트로 고민을 했음

  • 사실 코딩테스트를 잘 보려면 파이썬이 맞긴 함

  • 하지만 자바스크립에 대한 코딩 지식이 부족하기에 같이 병행하기로 함

  • 그리고 개인과제를 시작함

  • 개인과제는 이제까지 학습하 자바스크립트 문법을 이용해서 영화 검색 사이트를 제작하는 것

  • 일단은 HTML과 CSS를 이용해서 사이트의 틀을 먼저 구성함

  • 이후 TMDB의 API와 연결하는 작업까지 함

  • TMDB에서 코드를 제공하기 때문에 데이터를 가져오는 방법은 간단했음


✏️ 목요일

  • 오늘도 하루의 시작은 알고리즘 특강와 코드카타

  • 오늘의 알고리즘 특강은 실제 간단한 알고리즘 문제를 기반으로 진행함

  • 튜터님께서 자신만의 언어로 알고리즘을 해석하는 것이 중요하다고 말씀함

  • 그렇기에 항상 메모장을 통해서 알고리즘을 분해해서 해석할 필요가 있다고 함

  • 알고리즘 특강 이후 남은 시간에는 개인과제를 진행함

  • 오늘은 검색창을 통해서 영화를 검색하는 기능을 사용함

  • 사실 실제 데이터베이스면 데이터베이스에서 데이터를 검색하면 됨

  • 하지만 TMDB는 자바스크립트로 요청한 페이지의 데이터만 넘겨주기에

  • 페이지 단위로 검색이 되게끔 제작함

  • 지금은 임의로 10페이지 데이터를 사용할 수 있게 함


✏️ 금요일

  • 오늘은 시간복잡도, 공간복잡도, 배열, 링크드리스트를 배움

  • 다른 내용보다 링크드리스트 부분이 조금 헷갈렸음

  • 사실 링크드리스트는 다른 언어에서 개념을 알았음

  • 하지만 자바스크립트로 어떻게 작성해야 할지 막연했음

  • 알고리즘 특강을 통해서 기본적인 구조를 파악하니 그래도 어떻게 코드를 작성해야할지 머릿속에서 그려졌음

  • 개인과제가 어느정도 완성이 되었기에 조기제출함

  • 이후에는 자바스크립트 문법중에서 이해가 되지 않았던 Promise에 대해서 추가적으로 공부함

  • 일종의 콜백함수가 발전한 형태가 Promise라고 할 수 있음

  • 콜백함수 => Promise => async/await

  • fetch === '시간이 걸리는 작업'이기 때문에 그것도 비슷한 동작을 위해서 setTimeout() 함수를 통해 시간을 지연하는 것임

  • 아무래도 예제를 통해 코드 구조를 이해하는게 빠르기에 예제를 하나 만듦

  • 예제를 만들어서 실행하면서 학습하니 많은 도움이 됨

  • 그냥 순차적으로 실행 => 콜백함수만 사용해서 실행 => Promise를 사용해서 실행 과 같은 순서로 코드를 바꾸면서 실행함



📌 향후 계획

  • 다음주에는 마지막 알고리즘 특강을 진행함

  • 이후에는 매일 아침 9시부터 1시간동안 각자 코드카타하는 시간을 가질 예정

  • 그리고 튜터님께서 금요일에 피드백해주신 내용이 있기에 그걸 기반으로 코드를 수정할 예정

  • 또 다시 팀프로젝트가 진행되는 주...!!!

  • 아직 회의를 한번도 진행한 적이 없기에 걱정은 되지만 최대한 의견을 모아서 화이팅!!



📌 이번 주 느낀 점

  • 이번 주는 개인과제가 있었지만 생각보다 수월한 한 주가 되었음

  • 다른 언어들도 마찬가지만 자바스크립트도 공부할 게 끝도 없는 것 같음

  • 기본 문법, 자주 사용되는 메서드, 클래스, Promise 등등 너무 많았음

  • 그렇기에 이해가 잘 되지 않는 부분은 다른 강의나 블로그를 통해서 더욱 깊게 공부할 필요를 느낌

  • 이후에도 자바스크립트에 대한 공부는 계속 블로그로 남기면 좋을 것 같음

  • TIL 작성에 오늘 알게 된 자바스크립트 문법을 남겨보자!!


profile
조금씩 정리하자!!!

0개의 댓글