📖 TIL/Node.js (24) 썸네일형 리스트형 [Node.js] 라이브러리 lodash lodash가 뭔데? 자바스크립트의 라이브러리 중 하나로 array, collection, date 등 데이터의 필수적인 구조를 쉽게 다룰 수 있게끔 하는데에 사용된다고 한다. 함수형태로 미리 만들어둔 것들을 필요할때마다 꺼내쓸 수 있는데 lodash 라이브러리도 그러한 형태이다. 이러한 라이브러리를 사용하는 이유는 설치를 통해 편리하게 함수를 이용할 수 있고, 성능이 좋은 다양한 메소드를 활용할 수 있어 코드를 짜는데 수월하기 때문에 사용하기도 한다. 어떻게 쓰는데? 터미널을 열어서 간단하게 명령어를 입력하면 된다. ## 터미널 yarn add lodash 명령어로 lodash를 설치했으면 이제 내 파일과 연결을 해주어야 한다. // 내파일.js import _ from 'lodash'; js파일 제일.. [Node.js] CI/CD ⚡ CI/CD가 무엇일까? CI/CD는 애플리케이션 개발 단계를 자동화하여 애플리케이션을 보다 짧은 주기로 고객에게 제공하는 방법이라고 한다. CI/CD의 기본 개념은 지속적인 통합, 지속적인 서비스 제공, 지속적인 배포이며 CI/CD는 새로운 코드 통합으로 인해 개발 및 운영팀에 발생하는 문제(일명 "인테그레이션 헬(integration hell)")을 해결하기 위한 솔루션이라고 볼 수 있다. 뜻을 하나씩 나눠서 생각해보자. CI는 지속적 통합이라고 하며 개발자를 위한 자동화 프로세스인 지속적인 통합(Continuous Integration)을 의미한다고 한다. 이는 모든 개발이 끝난 후에 코드 품질을 관리하는 고전적인 방식으로 단점을 최소화 하기 위한 개념이라고도 볼 수 있다고 한다. CD는 지속적인.. [Node.js] Microservice 🌨️ Microservice는 무엇인가? 마이크로서비스는 무엇일까? 위키백과에 따르면 다음과 같다고 한다. 어플리케이션을 느슨하게 결합된 서비스의 모임으로 구조화하는 서비스 지향 아키텍처 스타일의 일종인 소프트웨어 개발 기법으로 섬세하고 프로토콜이 가벼운 편이라고 한다. 어플리케이션을 더 작게 여러 서비스로 분할 할 때의 장점으로 모듈성을 개선하고 어플리케이션의 이해, 개발, 테스트를 더욱 쉽게 해주고 침식에 더 탄력적으로 만들어준다는 부분을 꼽을 수 있고, 규모가 작은 자율적인 팀들이 팀별 서비스를 독립적으로 개발, 전개, 규모 확장을 할 수 있게 함으로써 병렬로 개발할 수 있게 한다고 한다. 또 지속적인 리팩토링을 통해 각각의 서비스 아키텍처가 하나로 병합될 수 있게 허용해 주며 지속적 배포와 전개를.. [Node.js] BigQuery 🔍️ BigQuery가 뭘까? 빅데이터 분석용으로 유명한 BigQuery. 빅쿼리가 뭘까? 위키백과에 따르면 Big Query는 다음과 같다고 한다. 페타바이트(PB)급 이상의 데이터에 대해 스케일링 분석(필요시 실시간으로 컴퓨팅 자원을 동적으로 확장)을 가능하게 하는 완전 관리형 서버리스 컴퓨팅 데이터 웨어하우스라고 한다. 결국 빅쿼리는 확장성이 뛰어나고 가격 대비 성능이 좋은 기업용 서버리스 데이터 웨어하우스인 셈이라고 볼 수 있다. 객체 스토리지, 스프레드시트의 데이터, 관리형 열 형식 스토리지를 통해 논리적 데이터 웨어하우스를 생성하여 모든 배치와 연속적으로 생성되는 스트리밍 데이터를 분석하게 되는데 이런 빅쿼리는 어떤 점때문에 사용하는 것일까. 👍️ BigQuery의 장점 빅쿼리의 공식 사이트에.. [Node.js] REDIS 🟥 Redis가 뭘까 Redis란 위키백과에 따르면 다음과 같다고 한다. Remote Dictionary Server의 약자로서 Key-Value 구조의 비정형 데이터를 저장하고 관리하기 위한 오픈 소스 기반의 비관계형 데이터베이스 관리 시스템(DBMS)라고 한다. 모든 데이터를 메모리로 불러와서 처리하는 메모리 기반 DMBS라고 한다. 레디스는 스트링 뿐 아니라 자료구조의 추상적 자료형(Abstract Data Type)도 지원한다는 점이 다른 것들과 차이를 나타낸다고 볼 수 있다. 이렇게 다양한 자료구조를 지원하는 것에 대한 장점으로 개발의 편의성이 좋아지고 난이도가 낮아진다는 점을 꼽을 수 있다. Redis를 이용하면 레디스에서 제공하는 Sorted-Set이라는 자료구조를 이용해 더 빠르고 간단하게.. [Node.js] Elastic Search 🔎 ElasticSearch가 뭘까? 일래스틱 서치가 뭘까? 위키백과에 따르면 다음과 같다. ElasticSearch는 루씬 기반의 검색 엔진으로 HTTP 웹 인터페이스와 스키마에서 자유로운 JSON 문서와 함께 분산 멀티테넌트 지원 전문 검색 엔진을 제공한다고 한다. 이는 모든 종류의 문서를 검색하는데 사용할 수도 있으며 가변 검색 및 실시간에 가까운 검색을 제공하며 멀티테넌시를 지원한다고 한다. 공식문서의 간략한 소개글에서도 엿볼 수 있는 부분이 있는데 바로 분산형 RESTful 검색 및 분석 엔진이라는 것이다. 일래스틱 서치는 차세대 데이터 플랫폼이며 검색, 분석, 데이터 저장소 역할을 하는 ElasticSearch와 데이터 수집을 담당하는 Beats, 정제, 전처리를 수행하는 Logstash, 시.. [Node.js] Pagination 📁 Pagination이 뭔데? Pagination이라고 하는 이 기술은 대체 뭘까? 한정된 데이터 자원을 효율적으로 활용하기 위해 쿼리의 결과값으로 리턴된 리소스를 분할하여 전달하는 것을 의미한다고 한다. 결국 이건 보여줄 데이터가 방대한 것에 비해 한번에 보여줄 수 없을 때 사용하는 기능으로 일종의 데이터를 나눠서 보여주는 방식이라고 할 수 있다. 웹으로 가정했을때, 한 페이지 내에서 보여줄 수 있는 데이터의 양이 일정 부분 정해져있다고 생각해보자. 예를 들어 우리의 해상도 가득 데이터를 보여주는 정도를 말이다. 데이터가 아무리 많아도 우리는 해상도에 다 들어갈 만큼만의 데이터를 보여줄 수 밖에 없는데 이때 페이지를 나눠서 보여주는 형식을 Pagination 이라고 할 수 있다. 보통 Paginati.. [Node.js] Search Process 🔍 Search Process가 뭐야? Search process, 우리말로 정보 검색 과정은 어떻게 이루어 지는 것일까? 인터넷 초기에는 모든 웹 서버를 하나의 목록으로 만들어 관리할 만큼 자료의 양이 방대하지 않았기에 찾는 것에 어려움이 크게 없었으나, 현재에 와서는 다르다. 인터넷이 발달한 현재는 웹 상에는 엄청난 양의 자료들이 넘쳐나고 이 중 원하는 자료만을 찾는 것은 더더욱 어려워 보일 것이다. 이때 사용하는 것이 검색 엔진인데, 이는 사용자가 원하는 정보를 찾는데 걸리는 시간을 최소화 할 수 있게 도와준다고 볼 수 있다. 🔄️ 검색 엔진의 동작 원리 검색 엔진은 크게 정보 수집, 색인 그리고 검색의 순서로 동작한다고 한다. 검색 엔진이 사용자가 검색 엔진을 사용하기 전에 미리 웹 상에서 정보를.. 이전 1 2 3 다음