Задать вопрос
  • Как отдельным потоком постоянно отправлять сообщения в WebSocket клиенту?

    AlexMcArrow
    @AlexMcArrow
    Люблю РНР, да я такой!
    Вот такой вариант:
    const WebSocket = require('ws')
    
    const wsServer = new WebSocket.Server({ port: 9000 })
    wsServer.on('connection', (wsClient) => {
        wsClient.on('error', console.error);
        console.log('Новый пользователь');
        wsClient.on('message', function (message) {
            console.log('Сообщение от пользователя:', message);
            wsClient.send('Данные получены...')
            wsClient._timer = setInterval(() => some_function(wsClient), 1000);
    
        })
        wsClient.on('close', function () {
            clearInterval(wsClient._timer);
            console.log('Пользователь отключился');
        })
    })
    
    function some_function(wsClient) {
        wsClient.send('Сообщение каждый вызов')
    }

    При каждом полученном сообщение - создается таймер который с заложенным интервалом (1000мс = 1 сек) выполняет функцию
    Ответ написан
    5 комментариев
  • Как в numpy максимально быстро изменить структуру данных в массиве?

    mayton2019
    @mayton2019
    Bigdata Engineer
    CUDA это хорошо. Вот еще Питончик. Прошу прощения за scala-style. Рука машинально typetags пишет...
    from PIL import Image
    import numpy as np
    
    img : PIL.PngImagePlugin.PngImageFile = Image.open("pic-001.png")
    
    if img.mode != 'RGB':
      img = img.convert('RGB')
    
    img_data : np.ndarray = np.array(img)
    
    width : int  = img_data.shape[0]
    height : int = img_data.shape[1]
    
    dest_data : np.ndarray = np.zeros((width, height), dtype=np.uint32)
    
    for y in range(0, height):
      for x in range(0, width):
        pixel : np.ndarray = img_data[x,y]
        color : int = pixel[0] << 16 + pixel[1] << 8 + pixel[2]
        dest_data[x,y] = color
    Ответ написан
    Комментировать
  • Как работать с готовой базой данных sql?

    @Akina
    Сетевой и системный админ, SQL-программист.
    Это не база данных. Это дамп - переносимая копия структуры и данных, позволяющая воссоздать базу данных.

    В комментариях дампа указано, что источником дампа послужил сервер MySQL версии 8.0.28. Поэтому восстанавливать следует на сервере MySQL, причём крайне желательно на версии не ниже 8.0.4. При восстановлении на более младшей версии или на частично совместимой MariaDB возможны проблемы при восстановлении, которые потребуют ручной корректировки дампа - а для этого нужны определённые знания, которых, скорее всего, нет.

    Для восстановления на локальном MySQL-сервере самое разумное - загрузить клиент командной строки и в нём:
    • создать новую БД (CREATE DATABASE databasename;) (в комментариях дампа указано имя history_futures_binance, так что разумно использовать именно его, если такой БД на сервере нет)
    • сделать её текущей (USE databasename)
    • дать команду на развёртывание дампаSOURCE 'x:\path\filename.sql'.

    Скорее всего, всё будет выполнено без ошибок, и в результате БД будет восстановлена. Если же при выполнении возникнут проблемы, будет выведено какое-то сообщение об ошибке - и в зависимости от него нужно будет предпринимать какие-то корректирующие действия.
    Ответ написан
    Комментировать