[TIL] 프리온보딩: 6주차 회고

Kimyujin·2021년 9월 3일
1

프리온보딩은 원티드 정승일님, 위코드 김예리 멘토님, 루트임팩트 이지현님과 함께하는 프론트엔드 실무 과정입니다. 💕

벌써 프리온보딩 과정을 들은지 6주가 되었다. 난이도도 급상승하고, 과제에 치여 블로그를 쓸 시간이 없었다 (..)
다행히 지난 TIL 이후로는 개념적인 내용이 많아서, 수업시간에 들었던 내용관련 키워드를 가볍게 정리해보고, 얼마나 성장했는지 되돌아 보는 시간을 가지려한다.
🔥 또한 배운 내용들은 개념을 상세히 되새김질하며 다시 글을 써볼 예정이다.

주제

1. Core Javascript

용어설명
콜백함수매개변수로 들어가는 함수
비동기순서가 보장되지 않는 통신 방식 (non-blocking)
Promise비동기 처리의 상태와 결과를 담고있는 객체. resolve, reject
실행컨텍스트코드의 환경과 순서를 보장하는 자료구조(call stack, LIFO)
호이스팅어디서 선언했던, 사용할수 있게 되는 것. 함수 선언문/표현식에서 차이가 있다.
스코프사용할 수 있는 범위
클로저중첩함수의 실행컨텍스트는 pop되어 생명주기가 끝나지만, 지역 변수를 참조한다. = 클로저

2. 유니코드

용어설명
인코딩컴퓨터가 이해할 수 있는 기호로 만드는 것
ASCII문자 인코딩 표준 (초기)
Unicode모든 문자를 인코딩 할 수 있는 표준 (ASCII 진화)
UTF-8Unicode Transform Format-8 bit (인코딩 방식)

3. Sorting Algorithm

용어설명
Selection sort0번째 index부터 max값을 찾아서 하나씩 바꾸는 정렬, 맨 앞부터 고정 (n^2)
Bubble sort인접한 두개를 비교해서, 맨 뒤부터 고정시키는 정렬 (n^2)
Quick sort임의의 pivot을 이용한 정렬 (n log n)
Merge sort하나가 될 때까지 분할하고, 0번째 index를 비교해서 다시 합치는 정렬 (n log n)

4. 날짜 표시

용어설명
UTC국제 표준시(Cordinated Universal Time) (=GMT)
KST한국 표준시(Korea Standard Time) UTC+9
new Date()JS코드가 실행된 시스템의 시계에 의해 날짜 출력

5. 자료구조

용어설명
StackLIFO 자료구조 (ex: 뒤로가기, git stash)
QueueFIFO 자료구조(ex: 브라우저의 task queue)
Linked listhead를 시작으로 각 node가 data와 next를 가지고 있는 자료구조. pointer를 이용해서 각 node에 접근 가능(ex: 주식 시스템)

6. Typescript

용어설명
Type inference타입 추론. 타입스크립트가 값을 통해 타입을 추론하는 현상
Type aliase타입 별칭. 타입을 만드는 것. (type Age)
Type assertion타입 단언. 타입 추론이 예상과는 다를때 쓰는 방법. (as)
Generic유동적인 타입 정의. (<>)

7. Redux

용어설명
data binding{name}과 같이 data를 바인딩 하는 것.
MVC patternModel, View, Controller로 나누는 아키텍쳐
Flux pattern단방향 데이터 흐름. Flux를 기반으로 Redux가 만들어졌다.

8. Cross Browsing

-설명
크로스 브라우징어느 브라우저, 어느 디바이스에서나 원하는 결과물이 나오도록 하는 것
디바이스macOS, window, android, ios
브라우저chrome, firefox, safari, ie 11, kakao webview, naver app webview

9. Webpack, Babel

용어설명
webpack모듈 번들러
모듈(module)전역 변수의 사용을 최소화하기위한 패턴. (es6: export, import)
번들러모듈화 되어있는 것을 하나로 합치는 것
code spliting하나로 번들시 긴 로딩시간으로 인해, 한페이지에 필요한 것만 로딩되도록 코드를 나누는 기법
babelJavascript 컴파일러 (브라우저가 이해할 수 있도록 해줌)

회고

우선 나는 6주동안 과제를 마주하며 일이 주어졌을 때 어떤 식으로 처리해야하는지, 어떤 것을 먼저해야하는지 깨닫게 되었다.

1) 요구사항을 빠르게 분석한다.
2) 애매한 것, 충돌이 날 것 같은 부분은 사전에 확인한다.
3) 구현시에는 무조건 기능 먼저 구현한다. 할 수 있는 것까지 구현한다.
4) 내가 할 수 있는 부분이 아니라는 판단이 들면 빠르게 도움을 요청한다.

앞으로의 공부 방향성에 대해서도 깊게 고민해볼 수 있었다.

1) 무조건 개념정리가 필요하다.
2) 개발에 관련된 것 무엇이든 적극적으로 찾아다녀야하며, 내가 하고싶은 개발을 전략적으로 선택해야한다.

단기간에 많은 사람들과 부딫혀보니 사람들과도 잘 지내는 게 중요하다는 생각이 들었다.

1) 성향이 다른 사람들을 이해할 것
2) 나도 도움받을 날이 있으니, 도움 주는 것을 귀찮아하지 말것
3) 서로 이해하는 방향이 같은지 계속 확인할 것


아직 끝나진 않았지만, 나는 너무 얻은게 많았다.
이런 좋은 기회를 열어주신 위코드와 예리 멘토님께 너무 감사하고, 어려운 개념을 이해하기 쉽게 설명해 주셔서 항상 감탄했었다. 좋은 팀원들도 만나서, 프로젝트하다가 코드 안치고 잡담하기도 했다(..)
10일 정도 남았는데, 힘내서 잘 마무리하고 취업도 잘 해야겠다는 생각이든다. 💪

0개의 댓글