Как стать автором
Обновить
-9
0

Backend Development

Отправить сообщение

Регулярные выражения полностью доступны без флага --harmony.
Есть хороший сайт который показывает что работает, а что нет.
node.green

Используют, вот что лучше проще проставить в vim пробелы или таб, это без знания команд

Пробелы легче контролировать в консольной ide, хотя за такое по рукам надо бить за правки на сервере.

Был есть еще Lazarus win/linux, Delphi не был таким ограниченным, сейчас продукт стал кросплатформеным.

1 Сколько байт занимает элемент массива, зависит от типа массива, ну еще можно узнать вот так.
let float64 = new Float64Array();
console.log(float64.BYTES_PER_ELEMENT) // 8
let int32 = new Uint32Array();
console.log(int32.BYTES_PER_ELEMENT) // 4
Можно, но когда аппарат не мощный приходятся использовать старую школу.
Я пользуюсь таким набором
1 Mocha+Chai
2 Sinon
3 Nock для заглушек http ответов + Faker для генерации данных
4 Браузер тесты использую (безголовый хром) chrome-remote-interface + chrome-launcher
Очень минимальные изменение, у меня ушло на весь проект 15 минут для замены Object на BaseObject
Я делал так: Открыл старый добрый тотал командр Alt+F7 поиск Object -> файлы на панель, далее F4 и через notepad++ быстренько подправил.

можно еще перекинуть все файлы на редактор и через поиск и замену «найти и заменить во всех открытых вкладках».

Взгляните на инструкцию к нашим мотоциклами, там все просто "просто возьмите болванку и по чертежу, сделайте деталь", a тут какаета кнопка, меню. Ну а так слово как по мне паразит.

в mongodb ObectId тоже содержит дату
$id= "5824736fcaec5460bbfdc489";
$timestamp = hexdec(substr($id,0,8));
$identifier = hexdec(substr($id,8,6));
$pid = hexdec(substr($id,14,4));
$counter = hexdec(substr($id,18,6));

сжатие числа через Base62 тоже самое делает, почему назван Base64?

Не верю что вы не нашли библиотеки для тестирования.
https://www.npmjs.com/package/mock-socket


Все гуглится chai+Websocket.

Можно и без type script, если есть тесты

До переписывания модуля с пхп 5.6 на ноду проект выдерживал 400-600k
пых упирается в оперативу 10гб 70% от полного объёма сервера.


Заменил на воду тогда 4 версия нагрузки ноль, сейчас уже 8.4.модуль обслуживает 7-10 млн в час. Нагрузка 20% ядра и 800 мб оперативный, вотакой опыт

Забавно, я думаю после вашей статьи, РТ может сделает верификацию мобильных номеров при заключении договора.
Немного другой сучий:
Мне после покупки номера от белайн ( через 6 месяцев) названивали коллекторы/смс с угрозами погасить долг некто Алексея Г. ( я каждому коллектору объяснял, что я совсем другой человек и знать не знаю — этого человека и не хочу, оставите меня в покое).
Через год звонков, я уже знал где этот человек живет ( причем не долёко совсем от офиса где я работаю), на какой машине ездит, сколько у него детей итд.

После того как номер не используется вроде 3 месяца, сотовый оператор перепадает номер обратно в оборот.

Да, зловред может быть добавлен как веб-воркер
А если поймали троян (установили что-то с интернета) то в ярлыки браузера.

Спасибо за ссылку в issue WASM, познавательно.

Ну для начала нужно понять почему поиск внутри цикла не работает, а дальше можно и на большом массиве проверить.


Пока не вижу плюсов в wasm, раз такая дорогая операция вызова, даже для массива не годится.


Я не использую обход массива на десятки и сотни тысяч элементов, эффективней будет сделать хэш массив.

что то не пойму, вот есть код
in_array.cpp
#include <iostream>
#include <functional>
#include <algorithm>
#include <vector>

using namespace std;
int in_array(const store[], const int storeSize, query) {
   for (size_t i=0; i<storeSize; ++i) {
      if (store[i] == query) {
         return i;
      }
   }
   return -1;
}


экспортируем в
wast
(module
(table 0 anyfunc)
(memory $0 1)
(export "memory" (memory $0))
(export "in_array" (func $_Z8in_arrayPKiii))
(func $_Z8in_arrayPKiii (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(local $3 i32)
(block $label$0
(block $label$1
(br_if $label$1
(i32.eqz
(get_local $1)
)
)
(set_local $3
(i32.const 0)
)
(loop $label$2
(br_if $label$0
(i32.eq
(i32.load
(get_local $0)
)
(get_local $2)
)
)
(set_local $0
(i32.add
(get_local $0)
(i32.const 4)
)
)
(br_if $label$2
(i32.lt_u
(tee_local $3
(i32.add
(get_local $3)
(i32.const 1)
)
)
(get_local $1)
)
)
)
)
(return
(i32.const -1)
)
)
(get_local $3)
)
)


пытаемся применить и использовать в nodejs 8.4
var wasmCode = new Uint8Array([0,97,115,109,1,0,0,0,1,136,128,128,128,0,1,96,3,127,127,127,1,127,3,130,128,128,128,0,1,0,4,132,128,128,128,0,1,112,0,0,5,131,128,128,128,0,1,0,1,6,129,128,128,128,0,0,7,157,128,128,128,0,2,6,109,101,109,111,114,121,2,0,16,95,90,56,105,110,95,97,114,114,97,121,80,75,105,105,105,0,0,10,190,128,128,128,0,1,184,128,128,128,0,1,1,127,2,64,2,64,32,1,69,13,0,65,0,33,3,3,64,32,0,40,2,0,32,2,70,13,2,32,0,65,4,106,33,0,32,3,65,1,106,34,3,32,1,73,13,0,11,11,65,127,15,11,32,3,11]);

var wasmInstance = new WebAssembly.Instance(WebAssembly.Module(wasmCode));
exports.in_array = wasmInstance.exports._Z8in_arrayPKiii;


подключаем хотим протестировать производительность
const array_helper = require('./lib/helpers/in_array/index');

let data = [1,876,324, 3424,234234,234234, 555];

var suite = new Benchmark.Suite;
console.log(array_helper.in_array(data, data.length, 234234)); // ответ всегда -1;
suite.add('test in array', function() {
array_helper.in_array(data, data.length, 234234) > -1;
}).add('indexof', function() {
data.indexOf(234234) > -1;
})
.on('cycle', function(event) {
console.log(String(event.target));
})
.run();

я конечно не шарю в с++ но сравнить а+б могу.

Информация

В рейтинге
Не участвует
Откуда
Воронеж, Воронежская обл., Россия
Дата рождения
Зарегистрирован
Активность

Специализация

Специалист
От 500 000 ₽