[TIL] 8/3

예도리·2021년 8월 3일
1

오늘은 꼭 Today I Learned가 될 수 있도록,,,

✏️ 새롭게 배운 것

객체 생성

prototype

js에서도 프로토타입을 사용해서 객체를 생성할 수 있다!
생성자 함수 안에 prototype을 사용해 속성이나 메서드를 추가하면, 하위 객체들은 상위 객체들을 참조한다.
하위 객체들은 각자 __ proto __ 라는 객체를 내부적으로 갖게 되는데 이 내부에서 상위 객체를 링크한다.
prototype을 사용하면 객체를 생성할 때마다 공통된 부분이 생성되는 게 아니라 상위 객체를 참조하기 때문에 메모리를 효율적으로 사용할 수 있다.

Object.create()

기존 객체를 재사용할 수 있다

Object.create(proto[, [propertiesObject])

이 메서드를 사용하면 {}인 빈 객체가 생성된다! 그리고 __ proto __에 인자로 전달된 프로토타입 객체가 링크된다. → 프로토타입 링크

쿠키와 세션

HTTP 통신은 항상 단발성, 상태가 존재하지 않는다. HTTP Request 헤더에 쿠키를 담아 서버에게 정보를 전달한다.

쿠키는 프론트엔드에서 저장하고 관리하는 데이터들, 브라우저를 닫아도 유지된다. 취약점이 존재하는데, XSS 공격을 당할 수 있다. HttpOnly 옵션을 사용해 막을 수 있지만 최근에는 SPA로 웹사이트를 만들어 사용하기 어렵다.

세션 Session

쿠키에 HTTP Session Id를 식별자로 담아 클라이언트와 서버 간 통신이 가능하다. 세션은 서버에 파일로 저장되기 때문에 사용자가 엄청 많아진다면 저장공간이 없어져서 서버가 정상 동작할 수 없다. 또, 인증 정보가 퍼져있어서 제대로 된 값을 응답하지 못할 수 있다.

서버와 클라이언트 간 인증은 jwt 같은 별도 토큰 사용!

유니코드

CCS와 CES

  • CCS : code point를 식별자로 갖는 코드화된 문자들의 집합. ASCII도 포함된다.
  • CES : CCS를 8bit 집합에 대응시킨다. CCS와 CES는 1:1 대응된다!

위의 대응 과정을 인코딩이라고 한다. 문자를 실제 시스템이 인식할 수 있는 값으로 변환시키는 과정이다.

유니코드는 0x0 ~ 0x10FFFF의 4byte 영역을 사용한다. 2byte보다 큰 문자를 표현할 때는 Surrogate Pair를 이용한다. 우리가 사용하는 대부분의 문자, 이모지 등은 BMP 영역에 들어있다.

Git & Github

이건 따로 자세하게 포스팅을 해야할 것 같지만,,, 간단하게 써보자면 특강을 통해 commit, push, pull, fork 말고도 훨~씬 유용한 기능이 많다는 것을 알았고 git을 너무 무서워하지 말아야겠다고 느꼈다! 얼마 전에 상위 레포에 push하는 과정에서 conflict가 발생했었는데, 내 코드만 잘못되면 상관없지만 괜히 남의 코드가 다 날라가버릴 거 같은 두려움에 떨었던 기억이 있다. 이제는 conflict가 발생해도 무서워하지 않고 하나하나 고칠 수 있게 됐다 😼
stash는 방금 프로젝트를 진행하며 바로 사용해봤는데 정말 편하다. 팀원이 올려놓은 코드를 pull했는데 내 로컬 코드에 변경 사항이 있어서 pull이 안되는 상황이었다. 아직 commit을 하고 싶지 않은 상태였어서 stash를 사용해 넣어놨다가 pull한 후 다시 git stash pop을 사용해 꺼내서 좀 더 진행한 후 원하는 때에 commit해서 push할 수 있었다!! 진짜진짜 유용한 기능

🔥 더 공부해 볼 것

정규표현식

써보긴 했는데 더 연습이 필요하다. 정규표현식 관련 메서드랑 선택 과제로 나온 Run-length encoding 관련해서 더 공부해봐야한다.

이벤트 루프

어제 스코프와 클로저에 대해 공부하다가 이벤트 루프도 엄청 많이 만났는데(?), 좀 더 찾아보자!

함수형 프로그래밍

함수형 프로그래밍의 장점이 어떤 상황에서 극대화되는지, 필요성 등에 대해 알아봐야한다.

마무리

어제 TIL을 작성하며 너무 부담감을 느꼈던 거 같아서 오늘은 힘을 좀 빼고 써봤다,, 어제보다 훨~씬 편하게 잘쓰였지만 그만큼 내용이 부족한 것 같다. 일단 적응기간이니깐 너무 부담 갖지말고 써보자!! 꾸준히 쓰다보면 발전할 것이다~

0개의 댓글