Skip to content

Data Structures in JavaScript

scarlett.kim edited this page Oct 28, 2019 · 1 revision

프론트엔드 개발자를 위한 자바스크립트에서의 데이터 구조

소개

비즈니스 로직이 백엔드에서 프론트엔드로 넘어감에 따라 프론트엔지니어의 전문지식이 더욱 중요해졌습니다. 프론트엔드 개발자는 생산적으로 리액트와 같은 뷰 라이브러리를 사용하고 있습니다. 뷰라이브러리에서 데이터를 관리하기 위한 Redux와 같은 상태 관리 라이브러리를 사용하고 있습니다. 리액트와 리덕스는 UI 업데이트가 데이터 변경에 반응하는 reactive 프로그래밍 패러다임입니다.백엔드는 점점 API 서버로써의 역할을 하고 업데이트 할 때만 엔드포인트를 제공합니다. 실제로 백엔드는 데이터베이스를 프론트엔드로 "전달"하여 프론트엔드 엔지니어가 모든 컨트롤러 로직을 처리할 것으로 예상합니다. 마이크로서비스 및 GraphQL의 인기가 높아짐에 따라 이러한 추세가 증가하고 있습니다.

이제 프론트엔드 엔지니어는 HTML과 CSS를 심미적으로 이해할 뿐만 아니라 자바스크립트도 마스터 해야합니다. 클라이언트의 데이터 저장소는 서버의 데이터베이스에 대한 "복제본"이고 관용적인 데이터 구조에 대한 깊은 지식이 중요합니다. 실제로 엔지니어 경험의 수준은 특정 데이터 구조를 사용한 시기와 사용한 이유를 구별할 수 있는 능력에서 유추할 수 있습니다.

나쁜 프로그래머는 코드에 대해 걱정합니다. 훌륭한 프로그래머는 데이터 구조와 관계에 대해 걱정합니다. - 리눅스 토발즈, 리눅스와 깃 창시자

높은 수준에서 기본적으로 세가지 유형의 데이터 구조가 있습니다. 스택과 큐는 항목을 삽입하고 제거하는 방법만 다르고 배열과 유사한 구조 입니다. 링크드리스트(연결리스트), 트리, 그리고 그래프는 다른 노드에 대한 참조를 유지하는 노드로 구조를 가집니다.

Clone this wiki locally