본문 바로가기

분류 전체보기65

Closure 클로저(closure)는 직역만으론 작동원리를 이해하기 어렵다. 필자 또한 한 번에 이해하기 어려웠다. 크롬 개발자도구에서 지원하는 디버깅 툴을 통해 하나씩 살펴보고 이해했다. (크롬 개발자 도구는 참 많은 걸 지원한다.) 결론부터 말하자면, 클로저는 반환 된 내부 함수가 자신이 선언 되었을 때 환경을 기억하는 함수다. 클로저를 이해해야 하는 이유는 상태 유지, 고차컴포넌트, 매개변수 함수 등을 위해서다. 물론 클로저에 대한 이해가 없이도 어느정도 알 수 있으나, 접근이나 코드가 복잡해지면 길을 잃기 딱 좋아 보인다. 따라서 미리 이해하고 있고자 정리한다. 위 코드를 실행시키고 개발자도구 소스로 가서 해당 코드 진행 사항을 차근차근히 살펴볼 수 있다. 무엇보다 오른쪽 스코프탭을 통해 클로저 상태도 알 수.. 2022. 10. 18.
Scope 스코프(Scope)는 그 말대로 범위다. for문을 쓰든, if문을 쓰든 우리는 항상 중괄호({})를 열도 닫는다. 이 중괄호가 바로 범위를 뜻한다. 스코프가 하나라면 전혀 문제 없지만, 여러 개 중복된다면 매우 헷갈린다. 스코프는 크게 전역 스코프와 지역 스코프로 나뉜다. 이에 따라 해당 변수가 참조할 범위가 바뀐다. 코드를 보면서 살펴보자. let a = 10; for(let i = 1; i 2022. 10. 17.
Cookie, Session, Local Storage 데이터를 저장하는 곳은 데이터베이스만이 아니었다. 웹서핑 시 뭐가 안될 때마다 '쿠키를 삭제 후 다시 접속하세요'라는 말을 자주 들어보았을텐데, 이 쿠키(Cookie)도 사실은 저장소였다. 다만 어디에 저장되어 있느냐가 다를 뿐. 쿠키 외에도 로컬스토리지(Local Storage), 세션스토리지(Session Storage)도 있다. 오늘 정리할 이 세 가지는 모두 클라이언트, 즉 사용자측에 저장되는 저장소다. 데이터를 사용자 컴퓨터에 저장하고, 상황에 따라 자료가 삭제 되거나, 서버와 통신하기도 한다. Cookie 우리에게 제일 친숙한 저장소가 아닐까 싶다. 익스플로러 사용할 때 브라우저가 느려졌다면 옵션 메뉴에서 많이 한 행동 중 하나가 바로 쿠키 삭제였다. 그 쿠키가 바로 이 쿠키다. 쿠키는 만료 .. 2022. 10. 12.
NoSQL vs SQL SQL(Structured Query Language)과 NoSQL(Non Structured Query Language)은 데이터베이스다. 데이터베이스를 이루는 방식이 테이블과 관계형이라면 SQL, 문서와 비관계형이라면 NoSQL이라 부른다. 이름에서 알 수 있는 SQL이 먼저 생긴 데이터베이스 구조고, 후에 생긴 게 NoSQL이다. SQL 데이터베이스를 구축한다면 사람들이 기본으로 생각하는 구조가 바로 SQL이다. 데이터베이스의 근간이자 오랜 기간 사용했기 때문이다. 우리가 아는 엑셀을 떠올리면 이해하기 쉽다. 데이터베이스 구조는 테이블로 이뤄져 있고 해당 테이블이 다른 테이블과 서로 관계를 맺으며 형성하기 때문에 관계형 데이터 베이스라 부른다. 모형은 IBM이 개발했으며, 여러 분야에 걸쳐 현재 가.. 2022. 10. 11.
정규 표현식 정규 표현식. 처음 들었을 때부터 무슨 말인지 몰라 사전부터 찾아봤다. 국어사전엔 역시 없으니 위키백과 찾아봤다. 정규 표현식(正規表現式, 영어: regular expression, 간단히 regexp 또는 regex, rational expression) 또는 정규식(正規式)은 특정한 규칙을 가진 문자열의 집합을 표현하는 데 사용하는 형식 언어이다. 특정한 문자열을 가진 집합. 이게 핵심이었다. 다양한 프로그래밍 언어에서 지원할 정도로 정규 표현식은 그 쓰임이 많다. 프로그래밍은 패턴을 가지고 그룹화하는 게 기본이기 때문이다. 특히 함수형 프로그래밍에서는 더더욱 그룹화는 중요하다. 프론트엔드를 배우는 나로서는 이 정규식을 어디에서 주로 사용하는 지 찾아봤다. 생각외로 많진 않았다. 주로 텍스트 검증단계.. 2022. 10. 10.