node.js 기반 윈도우 용 초간단 파일 공유 서버
첨부한 압축 파일에서 readme.txt를 참조바랍니다. 아래는 소스코드입니다.
- 컴퓨터 공학/JavaScript
- · 2019. 11. 27.
첨부한 압축 파일에서 readme.txt를 참조바랍니다. 아래는 소스코드입니다.
vector 컨테이너에 대한 반복문을 수행하는 방법은 1) 범위 기반 for 문, 2) 인덱스 접근 for 문, 3) 데이터 배열 취득 후 인덱스 접근 for문, 4) 반복자 사용 for 문 있다. 각각의 방식에 대한 성능이 궁금해져서 각 방식에 대한 성능을 측정해보기로 하였다. 데이터 크기만큼 int형 원소를 갖는 vector를 생성한 후 각 방식대로 반복문을 수행하면서 각 원소에 1이라는 값을 대입하였다. 데이터 크기를 1024, 2048, 4096, ..., 16777216 과 같이 1024부터 두 배씩 증가하여 각 방식의 성능을 측정하였며, 이 작업을 열 번 반복하여 평균을 내었다. 소스코드는 다음과 같다. #include #include #include #include #include #in..
const express = require('express'); const FormData = require('form-data'); let router = express.Router(); router.route('/test').get((req, res) => { let form = new FormData(); form.append('part1', 'part 1 data'); form.append('part2', 'part 2 data'); form.append('part3', 'part 3 data'); res.setHeader('Content-Type', `multipart/form-data; boundary=${form.getBoundary()}`); form.pipe(res); }); module..
C/C++에서 다음과 같이 구조체를 정의할 경우 구조체의 크기는 다음과 같습니다. struct PlayerData{ int32_t age; //4 int16_t height; //2 }; void main() { printf("PlayerData 크기: %d\n", sizeof(PlayerData)); } 크기: 8 이는 성능의 최적화를 위해 컴파일러에서 구조체의 크기를 가장 큰 데이터인 int32_t의 배수로 정의했기 때문입니다. 그러나, 네트워크를 통해 바이트 배열 데이터를 받아 바로 구조체에 넣고 싶다면 구조체의 크기가 정의된 데이터 크기와 일치해야 합니다. 이럴 때, 다음과 같이 구조체의 정렬 크기를 조절할 수 있습니다. #pragma pack(push, 1) struct PlayerData{ i..
C++에서 일반적으로 크기가 정해지지 않은 배열을 사용하기 위해 vector를 사용하고, 크기가 정해진 배열을 사용하기 위해 array를 사용합니다. 그리고 vector와 array의 원소를 for문을 통해 접근할 때 다음과 같은 코드를 작성합니다. vector vec; int length = vec.size(); for (int i = 0; i < length; i++) { vec[i] = i; } 그리고 문득 vector의 인덱스 접근 방식과 일반 배열 []의 처리 성능이 얼마나 차이나는지 궁금하여 반복문으로 값을 할당하는 실험을 진행하였습니다. 시간 측정 도구는 제가 이전에 작성한 HourMeter 클래스 객체를 사용하여 진행하였습니다. vector와 array 그리고 일반 배열[]을 크기 1,00..
HourMeter.h #pragma once #include #include class HourMeter { public: HourMeter(); ~HourMeter(); void startMeasure(); void endMeasure(); double getLatestDuration(); private: std::chrono::system_clock::time_point begin; std::chrono::system_clock::time_point end; std::chrono::duration result_sec; bool isMeasuring; }; HourMeter.cpp #include "HourMeter.h" HourMeter::HourMeter() : isMeasuring(false) {..