일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- ScrollView 무한 스크롤
- nest.js forwardRef
- javascript 테스트
- nest.js 순환 참조
- 첫코딩
- 비동기 테스트
- 리액트 테스트 코드
- JavaScript
- nest.js 순환 종속성
- 개발
- React Testing Library
- 첫 코딩
- react native 무한스크롤
- 리액트 테스트
- nest.js circular Dependency
- TDD방식으로 리액트 테스팅
- react jest
- 프로젝트 배포하기
- TodoList 테스트 코드
- react
- react testing library 비동기 테스트 사용법
- React 테스트코드
- HTML
- mock api를 이용한 react 테스트
- react 테스트
- CSS
- FlatList 무한 스크롤
- jest
- mock api 사용법
- Testing-library/react
- Today
- Total
성장을 위한 기록
WIL 0516~0521 2주차 회고 본문
2주차 Week I Learn (알고리즘)
2주차에는 알고리즘에 대해 공부하고 문제를 풀어봤다. 그리고 틈틈히 JS를 학습하며 주특기 주차에 대비했다.
ES 의미, ES5,ES6 차이가 무엇인가?
우선 ES는 표준이라는 의미가 될 것이다.
과거 JS가 인기를 끌며 마이크로소프트 사에서 JS를 Jscript라는 이름으로 탑재했던 적이 있다. 이 Jscript와 JavaScript는 실질적으로 방법이 달랐던 것인지, 개발자가 같은 기능을 구현하기 위해서 해야하는 일은 더 많아졌다. 그리고 시간이 흐를 수록 사용자를 끌어들이기 위해 다양한 기능을 넣다보니 점점 달라지는 경향을 보였는데, ECMA(European Computer Manufacturers Association)에서 심각성을 느끼고 약자로 따 ES라는 표준을 발표했다. 표준 규격이 많이 때문에 ES5 등 숫자를 붙여 사용한다.
ES5 VS ES6
둘의 출시 년도 차이는 6년이다. 6년 동안 어떤것 들이 바뀌었는지 확인해보자.
차이라 한다면 ES6만 확인해서 추가된 부분은 ES5에 없다는 의미로 ES6만 알아보겠다.
let, const
let, const 키워드가 추가됐다. 그 전까지 사용하던var
는 함수 레벨 스코프였고 암묵적 재할당이 가능했고, 이 특징은 예기치 못한 에러를 발생하는 주범이 됐다.
이제는 변수 선언 키워드만 봐도 변화가 있을지 없을 지 알 수 있게 되었고, 호이스팅, TDZ(JS 카테고리에 해당 내용 있다.)등 변화가 생겼습니다.화살표 함수 추가
화살표 함수가 추가되면서 함수를 간결하게 작성 할 수 있게 되었다. 즉 가독성과 유지 보수성이 올랐다고 생각된다.파라미터에 기본값 사용
ES5에서 파라미터에 기본 값을 설정하기 위해서는 내부에 코드가 필요했지만, 지금은 파라미터에서 바로 받을 수 있다.function name(a = 4, b = 10){....}
a, b 중 값이 들어오지 않은 인자는 작성한 기본 값을 가지고 실행
Template literal
자주 사용하는 ``(백틱)이다.
ES5에서 문자열은 +를 사용하는 불편한 구조를 가지고 있었다.a = "hello My name is " + name + " thanks" a = `Hello My name is ${name} thanks`
이렇게 백틱 표현식이 생겨 간편해 졌다.
Multi-lin string
위 개념과 비슷한 내용이다. 문자열이 화면을 넘어가면 관리가 불편해져 줄바꿈을 할 필요가 있었다. 하지만 ES5에서는 줄바꿈을 확인 할 수 없었고, \n 과 +연산자로 문자열을 이어갔다.
하지만 백틱이 추가된 이후에는 백틱 사이를 하나의 문자열로 보기 때문에, 줄이 바뀌어도 상관없이 사용 할 수 있다.class
객체 생성 방식 중 하나 이다. 생성자 함수와 기능은 비슷하나 동작 구조는 다르며 클래스 함수는 생성자 함수와 다르게 엄격하여 호이스팅이 발생하지 않은 것처럼 new없이는 사용할 수 없다.
이 밖에 모듈, 디스트럭처링, 프로미스, 심볼 등 많은 기능이 추가됐다.
이번에 JS를 공부하면서 ES6 문법 설명을 많이 듣게 됐는데, 지금 나는 편해진 환경에서 개발 공부를 하고 있다는 생각이 들었고, 한편으로는 계속 발전되고 수정될 텐데(지금 리액트가 속도가 빠르다고 들었다) 하나의 익숙해지고 무뎌지기 보다는 더 나은 기술을 확인해야 한다는 생각이 들었다.
또한 계속 발전하는 것은 뒤쳐지지 않은 언어일 것이고 점점 편하게 작성할 수 있는 방식이 생긴다는 의미이니 다시 학습할 생각이 두렵지만 겁낼 필요 없다고 생각한다.
알고리즘
이번 주차에 핵심은 알고리즘이었다. 알고리즘을 처음 접할 때에는 문제를 읽고 어떻게 풀어나가는 것인지 전혀 이해하지 못했는데, 지금은 어느 정도 문법에 이해도 올라갔고, 문제 푸는 방식에 대해 적응해 시간은 오래 걸리지만 풀어내는 것은 크게 어렵지 않았다.(물론 문제 난이도가 프로그래머스 1단계...)
일주일을 마치며
이제 주특기가 시작했다. 별 내용을 남기진 않았는데, 금,토 2일에 걸쳐 제공된 강의는 모두 듣고 개인 과제를 작성하면서 모르는 내용과 아는 내용을 구분지어 보려고 한다.
JS에 선행 학습이 있었기에 약간 자신만만 했었는데, 겸손함을 갖고 더 달려야 할 것 같다. 리액트가 너무 어렵다.... ㅎㅎ
다음주도 화이팅 !
'개발 일기 및 회고 > 회고' 카테고리의 다른 글
WIL 0530~0605 4주차 회고 (0) | 2022.06.05 |
---|---|
WIL 0522~0529 3주차 회고 (0) | 2022.05.29 |
WIL 0509~0515 1주차 (0) | 2022.05.15 |
3주차 내용 요약 (0) | 2022.04.16 |
항해99 사전강의 5주차 회고 (0) | 2022.04.04 |