Javascript
-
JSON은 다목적 데이터 교환 형식이지만 특정 시나리오에서는 성능 제한으로 인해 더 빠른 대안을 모색하게 되었습니다. 이러한 대안 중 일부를 자세히 살펴보고 이를 선택할 수 있는 시기와 이유를 이해해 보겠습니다. 1. Protocol Buffer(protobuf) https://protobuf.dev/ protobuf 라고도 하는 프로토콜 버퍼는 Google 에서 개발한 바이너리 직렬화 형식입니다 . 효율성, 소형화 및 속도를 위해 설계되었습니다. Protobuf의 바이너리 특성으로 인해 직렬화 및 역직렬화 작업이 JSON보다 훨씬 빠릅니다. 채택 시기 : 특히 마이크로서비스 아키텍처, IoT 애플리케이션 또는 네트워크 대역폭이 제한된 시나리오에서 고성능 데이터 교환이 필요한 경우 protobuf를 고려..
JSON 대체재(성능 향상을 위한 대체재)JSON은 다목적 데이터 교환 형식이지만 특정 시나리오에서는 성능 제한으로 인해 더 빠른 대안을 모색하게 되었습니다. 이러한 대안 중 일부를 자세히 살펴보고 이를 선택할 수 있는 시기와 이유를 이해해 보겠습니다. 1. Protocol Buffer(protobuf) https://protobuf.dev/ protobuf 라고도 하는 프로토콜 버퍼는 Google 에서 개발한 바이너리 직렬화 형식입니다 . 효율성, 소형화 및 속도를 위해 설계되었습니다. Protobuf의 바이너리 특성으로 인해 직렬화 및 역직렬화 작업이 JSON보다 훨씬 빠릅니다. 채택 시기 : 특히 마이크로서비스 아키텍처, IoT 애플리케이션 또는 네트워크 대역폭이 제한된 시나리오에서 고성능 데이터 교환이 필요한 경우 protobuf를 고려..
2024.03.17 -
최적화 되지 않은 JSON 사용으로 인해 발생한 성능 병목 현상을 해결한 실제 사례를 알아보고 LinkedIn 및 Auth0과 같은 유명한 플랫폼부터 Uber와 같은 거대 기술 기업에 이르기까지 JSON을 활용하면서 속도와 응답성을 높이기 위해 어떤 전략이 사용되었는지 알아봅시다. 1. LinkedIn의 프로토콜 버퍼 통합: 문제 : LinkedIn은 JSON의 장황함과 이로 인한 네트워크 대역폭 사용량 증가로 인해 대기 시간이 길어지는 문제를 경험했습니다. 솔루션 : 마이크로서비스 통신에서 JSON을 대체하기 위해 바이너리 직렬화 형식인 프로토콜 버퍼를 채택했습니다. 결과 : 이 최적화를 통해 대기 시간이 최대 60% 까지 줄어들어 LinkedIn 서비스의 속도와 응답성이 향상되었습니다. 2. Uber..
JSON 속도 최적화 향상 사례(실화)최적화 되지 않은 JSON 사용으로 인해 발생한 성능 병목 현상을 해결한 실제 사례를 알아보고 LinkedIn 및 Auth0과 같은 유명한 플랫폼부터 Uber와 같은 거대 기술 기업에 이르기까지 JSON을 활용하면서 속도와 응답성을 높이기 위해 어떤 전략이 사용되었는지 알아봅시다. 1. LinkedIn의 프로토콜 버퍼 통합: 문제 : LinkedIn은 JSON의 장황함과 이로 인한 네트워크 대역폭 사용량 증가로 인해 대기 시간이 길어지는 문제를 경험했습니다. 솔루션 : 마이크로서비스 통신에서 JSON을 대체하기 위해 바이너리 직렬화 형식인 프로토콜 버퍼를 채택했습니다. 결과 : 이 최적화를 통해 대기 시간이 최대 60% 까지 줄어들어 LinkedIn 서비스의 속도와 응답성이 향상되었습니다. 2. Uber..
2024.03.17 -
JSON은 웹 개발에 널리 채택되고 있지만 속도 문제가 없는 것은 아닙니다. 이 형식은 사람이 읽을 수 있는 특성으로 인해 데이터 페이로드(전송되는 '순수한 데이터')가 커지고 처리 시간이 느려질 수 있습니다. 그럼 JSON을 더 빠르고 효율적으로 만들기 위해 어떻게 최적화할 수 있을까요? 이제 JSON이 애플리케이션의 속도와 효율성을 유지할 수 있도록 JSON의 성능 향상 방법을 알아봅시다. 1. 데이터 크기 최소화: 짧고 설명적인 키 사용: 간결하지만 의미 있는 키 이름을 선택하여 JSON 개체의 크기를 줄입니다. // 비효율적 { "customer_name_with_spaces" : "John Doe" } // 효율적 { "customerName" : "John Doe" } 가능한 경우 약어 사용:..
JSON 성능 최적화JSON은 웹 개발에 널리 채택되고 있지만 속도 문제가 없는 것은 아닙니다. 이 형식은 사람이 읽을 수 있는 특성으로 인해 데이터 페이로드(전송되는 '순수한 데이터')가 커지고 처리 시간이 느려질 수 있습니다. 그럼 JSON을 더 빠르고 효율적으로 만들기 위해 어떻게 최적화할 수 있을까요? 이제 JSON이 애플리케이션의 속도와 효율성을 유지할 수 있도록 JSON의 성능 향상 방법을 알아봅시다. 1. 데이터 크기 최소화: 짧고 설명적인 키 사용: 간결하지만 의미 있는 키 이름을 선택하여 JSON 개체의 크기를 줄입니다. // 비효율적 { "customer_name_with_spaces" : "John Doe" } // 효율적 { "customerName" : "John Doe" } 가능한 경우 약어 사용:..
2024.03.16 -
안녕하세요! JavaScript를 사용하면서 객체를 배열로 변환해야 할 경우가 종종 있습니다. 이 글에서는 JavaScript 객체를 배열로 변환하는 3가지 방법을 소개합니다. Object.keys() Object.keys() 함수는 객체의 키들을 배열로 반환합니다. const obj = { name: "Alice", age: 25, job: "developer" }; const keys = Object.keys(obj); console.log(keys); // ["name", "age", "job"] Object.values() Object.values() 함수는 객체의 값들을 배열로 반환합니다. const obj = { name: "Alice", age: 25, job: "developer" }; c..
JavaScript 객체를 배열로 변환하는 3가지 방법안녕하세요! JavaScript를 사용하면서 객체를 배열로 변환해야 할 경우가 종종 있습니다. 이 글에서는 JavaScript 객체를 배열로 변환하는 3가지 방법을 소개합니다. Object.keys() Object.keys() 함수는 객체의 키들을 배열로 반환합니다. const obj = { name: "Alice", age: 25, job: "developer" }; const keys = Object.keys(obj); console.log(keys); // ["name", "age", "job"] Object.values() Object.values() 함수는 객체의 값들을 배열로 반환합니다. const obj = { name: "Alice", age: 25, job: "developer" }; c..
2023.11.02 -
pm2 startup $pm2 startup 을 하면 To setup the Starup Scrip, copy/pase the folloiwing command라고 나옵니다. 즉 셋업하기 위에 아래의 명령어를 복사해서 실행하란뜻입니다. 명령어가 아래처럼 나왔는데 복붙 해줍니다. !!주의 각자의 command에 맞게 복사하세요. sudo env PATH=$PATH:/home/user/.nvm/versions/node/v18.13.0/bin /home/user/.nvm/versions/node/v18.13.0/lib/node_modules/pm2/bin/pm2 startup systemd -u user --hp /home/user 실행하면 아래처럼 나옵니다. 마지막으로 시스템 재부팅시 실행시키려면 아래의 명..
pm2 부팅시 자동 실행 방법pm2 startup $pm2 startup 을 하면 To setup the Starup Scrip, copy/pase the folloiwing command라고 나옵니다. 즉 셋업하기 위에 아래의 명령어를 복사해서 실행하란뜻입니다. 명령어가 아래처럼 나왔는데 복붙 해줍니다. !!주의 각자의 command에 맞게 복사하세요. sudo env PATH=$PATH:/home/user/.nvm/versions/node/v18.13.0/bin /home/user/.nvm/versions/node/v18.13.0/lib/node_modules/pm2/bin/pm2 startup systemd -u user --hp /home/user 실행하면 아래처럼 나옵니다. 마지막으로 시스템 재부팅시 실행시키려면 아래의 명..
2023.10.20 -
자바스크립트 객체(Object)가 비어있는지 확인하는 방법은 다양합니다. Object.keys 사용하기: const myObject = {}; if (Object.keys(myObject).length === 0) { console.log('The object is empty.'); } else { console.log('The object is not empty.'); } Object.getOwnPropertyNames 사용하기: const myObject = {}; if (Object.getOwnPropertyNames(myObject).length === 0) { console.log('The object is empty.'); } else { console.log('The object is not..
자바스크립트 객체(Object)가 비어있는지 확인자바스크립트 객체(Object)가 비어있는지 확인하는 방법은 다양합니다. Object.keys 사용하기: const myObject = {}; if (Object.keys(myObject).length === 0) { console.log('The object is empty.'); } else { console.log('The object is not empty.'); } Object.getOwnPropertyNames 사용하기: const myObject = {}; if (Object.getOwnPropertyNames(myObject).length === 0) { console.log('The object is empty.'); } else { console.log('The object is not..
2023.09.01 -
자바스크립트에서 객체(Object) 안에 특정 키(key)가 있는지 확인하는 방법은 다양합니다. hasOwnProperty 메서드 사용하기: const myObject = { key1: 'value1', key2: 'value2' }; if (myObject.hasOwnProperty('key1')) { console.log('key1 exists in the object.'); } else { console.log('key1 does not exist in the object.'); } in 연산자 사용하기: const myObject = { key1: 'value1', key2: 'value2' }; if ('key1' in myObject) { console.log('key1 exists in th..
자바스크립트 오브젝트 안에 특정 키가 있는지 확인자바스크립트에서 객체(Object) 안에 특정 키(key)가 있는지 확인하는 방법은 다양합니다. hasOwnProperty 메서드 사용하기: const myObject = { key1: 'value1', key2: 'value2' }; if (myObject.hasOwnProperty('key1')) { console.log('key1 exists in the object.'); } else { console.log('key1 does not exist in the object.'); } in 연산자 사용하기: const myObject = { key1: 'value1', key2: 'value2' }; if ('key1' in myObject) { console.log('key1 exists in th..
2023.09.01 -
자바스크립트에서 문자열을 대문자로 바꾸기 위해서는 toUpperCase() 메소드를 사용할 수 있습니다. 이 메소드는 문자열을 모두 대문자로 변환한 새로운 문자열을 반환합니다. 예를 들어, 다음과 같이 사용할 수 있습니다: let str = "hello world"; let upperStr = str.toUpperCase(); console.log(upperStr); // 출력 결과: "HELLO WORLD" 위 코드에서 toUpperCase() 메소드를 사용하여 str 문자열을 모두 대문자로 바꾸고, upperStr 변수에 저장하였습니다. 그리고 console.log() 함수를 사용하여 upperStr 문자열을 출력하였습니다. 또한, ES6부터는 String.prototype.toUpperCase() ..
자바스크립트 문자열 대문자화자바스크립트에서 문자열을 대문자로 바꾸기 위해서는 toUpperCase() 메소드를 사용할 수 있습니다. 이 메소드는 문자열을 모두 대문자로 변환한 새로운 문자열을 반환합니다. 예를 들어, 다음과 같이 사용할 수 있습니다: let str = "hello world"; let upperStr = str.toUpperCase(); console.log(upperStr); // 출력 결과: "HELLO WORLD" 위 코드에서 toUpperCase() 메소드를 사용하여 str 문자열을 모두 대문자로 바꾸고, upperStr 변수에 저장하였습니다. 그리고 console.log() 함수를 사용하여 upperStr 문자열을 출력하였습니다. 또한, ES6부터는 String.prototype.toUpperCase() ..
2023.08.30