[항해 99] 2주차 WIL - Weekly, I Learned
WIL - Weekly, I Learned
2022-9-26~2022-10-2
▶ 기간 : 2022-9-23 ~ 2022.9.29
▷ 프로그래밍 기초(알고리즘)
9월 23일(금) 부터 알고리즘 공부(코딩 테스트 역량 강화)를 하며 9월 27일 (화) 알고리즘 모의고사(3문제중 한문제를 골라 풀고 설명 영상을 촬영해 제출) 를 통해 생에 처음으로 동영상을 촬영해 보았다. 저번주에 미니 프로젝트를 진행했을땐 발표는 내가 했지만 시연 영상은 팀원분께서 경험을 살려 찍어주셨기에 촬영은 처음이었는데 1분 가량의 간단한 영상인데도 NG를 세번이나 냈다. 그리고는 9월 29일 (목) 알고리즘 테스트 (3문제중 2문제를 골라 풀고 설명영상을 제출)에서 4시간이라는 넉넉한 시간에도 상중하 세문제중 중,하 문제만 간신히 풀었다. 자신만만하게 상문제를 붙잡고 한시간 넘게 씨름을 하다 결국 포기하고 현실에 수긍했다. 이 결과로 주특기 주차 달리기반 걷기반이 결정되었는데 내가 달리기반이라니 전산상 오류가 틀림없다...
▶ 기간 : 2022-9-26 ~ 2022.11.3 (약 6주)
▷ 자바스크립트 언어 스터디
처음으로 언어 스터디를 진행하게 되었다. 본인 포함 6명 모두 같은 리액트 프론트엔드 선택으로 자바스크립트 언어 스터디를 진행하게 되었다. 매일 11시에 모여 간단하게라도 자신이 공부하다 모르는 부분이나 공유하면 좋을것 같은 내용, 자바스크립트 뿐만아니라 리액트 내용 등을 이야기하며 스터디를 진행하기로 했다. 특히 월 수 토 엔 정규적으로 30분씩이라도 교재를 함께 공부하는 시간으로 정했다. 교재는 혼자공부하는 자바스크립트 라는 책으로 혼자서도 공부하기 좋게 되어있다.
이번 주차는 chapter 5 함수 부분으로 공부한 내용은 내가 보려 만든 정리노트 부분에 따로 정리되어 있으니 참고하면 좋을듯하다.
▶ 기간 : 2022-9-30 ~ 2022.10.6
▷ 주특기 입문
1주차 웹개발 미니프로젝트, 2주차 프로그래밍 기초, 3주차엔 주특기 입문 주차이다.
3주차부터 5주차까지 3주차엔 주특기 입문, 4주차엔 주특기 숙련, 5주차엔 주특기 심화 기간으로 3주간 내가 선택한 주특기 리액트를 공부하게 되었다.
금요일에 새로운 조로 배정받았는데 엄청난 실력의 조장님과 단둘이 한조가 되었는데 다른 조처럼 3~4명이었으면 다른조처럼 조원들 간에 서로 알려주는 시간을 가지며 함께 성장해서 좋았을텐데 조장님께 배우기만 하는 입장이 되어서 미안한 마음이 크다. 내가 아는 것을 하나라도 공유하려 하는데 실력차이가 너무 큰듯하여 도움이 되는지 잘 모르겠다... 역시 내가 달리기 반이 된것은 전산오류가 아닐까 싶다....
다른 사람들의 항해99 수료일지를 보면 인터넷 강의 영상을 보고 학습했다는 말이 많고 매니저님을 통해 들은 말로는 우리 기수부터 인강이 아닌 교육자료로 제공된다는 말을 듣고 걱정이 크지만 항해의 커리큘럼이 실무와 비슷한 환경에서 혼자 공부 할 수 있는 개발자가 되는 것이기에 이해가 된다. 하지만 본인같은 비전공자가 적응하기엔 다소 가혹하다는 생각이 든다. 프로그램을 깔고 환경을 세팅 하는 등 기본적인 것에 쓰는 시간도 적지 않고 처음 써보는 툴에 적잖이 당황했다. 코딩하는 것이 전부가 아니라는 생각이 들었고 이 과정이 힘들면서도 재미는 있는 것 같은데 개발자가 적성에 맞는 것인가 라는 생각이 끊이지 않는 것은 어쩔 수 없는 것 같다.
◆이번 WIL의 키워드
JavaScript의 ES란?, ES5/ES6 문법 차이
- ES란 ECMA Script의 약어이며 자바스크립트의 표준 규격을 나타내는 용어이고, JavaScript를 표준화시키려고 탄생했다. JavaScript의 역사는 점점 깊어지고, 문법의 보완이 필요하면서 버전별로 문법을 확장시키고 브라우저는 특정 버전의 기능별로 지원할 수 있도록 ES가 명세를 확정해왔다. 그래서 ECMA Script는 JavaScript를 표준화시키고, 규격화하기 위해 만들어진 것이다. 현재는 ES10 버전까지 나왔고, 주로 쓰이는 것은 ES6인데, 6은 버전 이름이며 ES 2015라고도 한다. 2015년에 ES6버전이 최종으로 나왔기 때문에 그렇게 불린다.
- ES5 와 ES6 의 차이
ES5 (2009)
배열에 forEach, map, filter, reduce, some, every와 같은 메소드들이 지원되었다.
Object에 대한 getter와 setter가 지원되었다.
Javascript strict모드가 지원되었다. (기존에 비해서 더 엄격하게 문법 검사를 진행한다.)
json 형식의 자료들을 지원한다. 과거에는 XML이라는 규격을 사용했다가, json이 인기를 끌면서 javascript 역시 지원을 하게 되었다.
ES6 (ES 2015)
이 버전은 ES6라고도 하고 ES2015라고도 하는데, 두개가 같은 버전이고 불리는 이름만 다르다. 이유는 뒤에 버전 숫자(3,4,5,6 등등)만 붙이면 갱신되는 ES의 발행의 진행이 보기 어렵다는 이유때문이다. 원래 ES는 몇년에 한 번씩 발표가 되었지만, ES5이후부터는 빠르게 변화하는 웹 생태계 때문에 1년에 한번씩은 갱신을 하자는 움직임들이 생겨나게 되었고, 이로 인해 단순한 숫자를 붙이기 보다는 갱신된 연도를 붙여서 새로운 이름을 만들자는 의견들이 생겨나게 되었다.
대표적으로
-> Hoisting을 개선했다.
기존에는 var키워드를 사용하여 호이스팅이 빈번하게 일어났는데 이를 방지하기 위해 블록 스코프를 가진 let과 const를 추가했다.
-> 화살표 문법을 지원한다.
장점 : 코드의 간결화, this를 바인딩하지 않는다.
-> iterator와 generator 추가.
-> module의 import/export 추가.
-> Promise 도입
자바스크립트는 비동기적 언어이기 때문에 callback에 대한 이슈가 많았으나 이부분을 해결할 수 있는 문법을 제공한다.