JS38 Node의 여러 API 요청 처리 방법 ★ NodeJS의 한계 : Node는 기본적으로 비동기식이여서 여러 요청을 한 번에 처리가 가능하나 HTTP 요청, 파일 시스템 작업, DB 쿼리, 실시간 채팅 애플리케이션 등과 같은 I/O에 작업에는 적합합니다. 하지만 CPU intensive 작업이 필요한 여러 요청을 처리하는데 한계가 있습니다.(CPU intensive 작업 예시 : 암호화 작업 수행, 이미지/비디오/오디오 파일 처리, XML/JSON/YAML, 수학적 계산, 데이터 압축, 기계 학습 모델 등과 같은 대량의 구문 분석) NodeJs의 한계 극복을 위한 대안책 Redis : 앱이 로드되는 동안 자주 가져오는 데이터 집합이 있는 경우 HTTP요청을 보내거나 쿼리를 실행하는 대신 해당 데이터를 캐시하는 게 좋은데 이 때, Redis가 유.. 2023. 11. 14. Optional Chaining / JS Array.some() / 논리 연산자 ★ Optional Chaining : 프로퍼티가 없는 중첩 객체를 에러 없이 안전하게 접근 가능하도록 해주는 것으로 필요한 상황의 예시는 다음과 같다. => 1) 사용자가 여러 명 있는데 그 중 몇 명은 주소 정보를 가지고 있지 않다 가정했을 때, user.address.street를 사용해 주소 정보에 접근하면 에러가 발생될 수 있음 let user = {}; alert(user.address.street); // TypeError : Cannot read property 'street' of undefined 2) 브라우저에서 동작하는 코드 개발 시 발생하는데, JS를 사용해 페이지에 존재하지 않는 요소에 접근해 요소의 정보를 가져오려 할 때 발생될 수 있음 let html = document.qu.. 2023. 11. 9. Node.js의 유용한 13가지 라이브러리 ★ Node.js : JavaScript 프로그래밍을 위한 서버측 런타임 환경으로 비동기식 특성과 플랫폼 간 상호 운용성으로 인기 있는 웹 개발 기반이 되었고 이벤트 기반 및 논블로킹 I/O를 사용해 대량의 데이터를 처리하는 실시간 분산 시스템에서 효율적이다. ★ Node.js의 알아둬야 할 라이브러리 1) Sequelize : 개발자가 관계형 DB 작업을 더 쉽게 만들어지는 Promise 기반 Node.js ORM(객체 관계형 매퍼) 사용으로 PostgreSQL, MySQL, MariaDB, SQLite 등 다양한 DB가 지원된다. Sequelize는 JS의 객체를 사용해 DB 테이블의 구조를 모델링하고 선호하는 관계형 DB에 연결해 데이터를 쿼리하고 변경 후 검색된 데이터를 구문 분석해 JS 객체로 .. 2023. 11. 9. JSON의 역할 및 속도 저하 ★ JSON(JavaScript Object Notation) : 웹 애플리케이션에서 데이터를 전송하고 저장하는 데 선택되는 경량 데이터 교환 형식으로 단순성과 사람이 읽을 수 있는 형식으로 사람과 기계 모두 쉽게 작업이 가능하다. 그리고 JSON은 서버와 클라이언트 간에 데이터가 통신되는 언어이며 데이터가 DB 및 구성 파일에 저장되는 형식으로 현대 웹 개발에서 중추적인 역할을 한다. ★ JSON 특징 사람이 읽을 수 있는 형식 : JSON은 개발자 및 비개발자 모두 쉽게 읽고 이해할 수 있는 간단한 텍스트 기반 구조를 사용해 협업을 강화하고 디버깅을 단순화 함 언어에 구애받지 않음 : JSON은 특정 프로그래밍 언어에 묶여 있지 않아서 거의 모든 최신 프로그래밍 언어로 구문 분석하고 생성할 수 있는 .. 2023. 11. 8. 이전 1 2 3 4 ··· 10 다음