LINUX.ORG.RU

Сообщения sniper21

 

vue-cli app и socket.io

Пытаюсь перенести пример-приложение (https://github.com/websockets/ws/tree/master/examples/serverstats) на vue-cli и socket.io

<template>
  <div id="app">
    <span v-if="isConnected">Connected!!!</span><br/>
    <strong>Server Stats</strong><br>
    RSS: <span id='rss' :v-model="rss">{{rss}}</span><br/>
    Heap total: <span id='heapTotal' :v-model="heapTotal">{{heapTotal}}</span><br>
    Heap used: <span id='heapUsed' :v-model="heapUsed">{{heapUsed}}</span><br>
  </div>
</template>

<script>
export default {
  name: 'app',
  data() {
    return {
      heapUsed: '',
      heapTotal:'',
      rss:'',
      isConnected: false,
    }
  },
  sockets: {
    connect() {
      this.isConnected = true;
    },
    dissconnect() {
      this.isConnected = false;
    }
  }
}
</script>

<style>
#app {
  font-family: 'Avenir', Helvetica, Arial, sans-serif;
  margin-top: 60px;
}
</style>

main.js

import Vue from 'vue'
import App from './App.vue'
import VueSocketIO from 'vue-socket.io'

Vue.config.productionTip = false;
Vue.use(new VueSocketIO({
  debug: false,
  connection: 'http://localhost:3000'
}));

new Vue({
  render: h => h(App),
}).$mount('#app');

server.js

var app = require('express')();
var http = require('http').Server(app);
var io = require('socket.io')(http);

app.use((req, res, next) => {
  res.setHeader('Access-Control-Allow-Origin', '*');
  res.setHeader('Access-Control-Allow-Headers', 'X-Requested-With,content-type');
  res.setHeader('Access-Control-Allow-Credentials', true);

  next();
});

app.get('/', (req, res) => {
  let time = setInterval(() => {
    res.send(JSON.stringify(process.memoryUsage()));
  },100);
});

io.on('connection', socket => {
  socket.on('disconnect', () => {
  });
});

http.listen(3000, () => {
  console.log('Listening on *:3000');
});

Что же не так?

 , ,

sniper21
()

npm run serve запускает сервер и компилирует приложение vue.js

сервер стартует на порту 8081. И все хорошо

запускаю свой сервер $ node.js server.js (на express)

а как скомпилировать приложение на vue.js чтобы оно могло достучаться до моего сервера

 , ,

sniper21
()

dracut warning /dev/disk/by-uuid does not exist

Вот такая ошибка и я попадаю в консоль

dracut:/#

UUID совпадает в GRUB и в blkid

Ошибка возникла после dd при помощи clonezilla

Как исправить?

 ,

sniper21
()

В скриптах одного сервиса заметил вот такой код !function() {}

!function () {
  "use strict";      
}();

Непонятно как работает

!function
.

Пишут что это позволяет сразу выполнить функцию, но как если она не вызывается?

 

sniper21
()

как спроектировать такое приложение?

В браузере должно отображаться состояние прибора постоянно- желательно как можно ближе к RT с поправкой на сеть разумеется. К прибору подключаться по TCP сокетам.

Сейчас сделано так

Web browser <----AJAX-----> Apache+PHP <---TCP sockets------> Прибор

Браузер говорит что ему надо данных, php получает от браузера запрос, и открывает соединение с прибором полуает данные и отправляет в браузер. PHP не принципиально.

Вопрос: как такое лучше сделать чтобы каждый раз не отправлять запрос из браузера, но при этом получать данные с устройства постоянно? Web sockets?

 , ,

sniper21
()

javascript и пути

есть стандартные директории

myProject
  | |
  | ----- app
  |------ public

в public лежат js файлы

как из таких js достучаться до php скриптов в app?

req.open('../app/script.php', url, true);

так не работает.

 ,

sniper21
()

регулярки и поиск по условию

Дано строка

123;345;567

Нужно выцепить отдельно первое значение, отдельно второе, отдельно третье

Пишу:

цифры от 0 до 9 три раза искать до первого «;» один раз.

(([0-9]{3})(?=;)){1}

В результате выделяет два значения.

Как выбрать второе и третье?

 ,

sniper21
()

оффлайновый проверяльщик jsonpath?

онлайновых полно, а оффлайновые, такие есть?

jq у него свой - путь.

 , , jsonpath

sniper21
()

найти регулярной в строке совпадающий с паттернов кусок

странно, не работает. Почему?

cat test.sh

#!/bin/bash
T="this is base line"

[[ $T =~ "\bbase\b" ]] && echo "yes"

 ,

sniper21
()

Как расположить 4 контейнера div рядом - «квадратом»

Красным выделено, то что у меня получилось:

https://pasteboard.co/HO9c3YT.png

.main_div {
    display: flex;
    align-items: flex-start;
}
.bottom_div {
    display: flex;

}
.div2 {
    padding-left: 25px;
}

<div class="main_div">
    <img class="div1" src="img/div1.png" alt="DIV1">                
    <img class="div2" src="img/div2.png" alt="DIV2">                
</div>
<div class="bottom_div">
    <img class="div3" src="img/div3.png" alt="DIV3">                
    <img class="div4" src="img/div4.png" alt="DIV4">                
</div>

 ,

sniper21
()

отрицание в регулярных выражениях

хочу отсеять *.sh скрипты чтобы не пролезали

nicefile.png

badfile.sh

Хочу это делать с конца строки, это возможно при помощи отрицания ^(?!sh)$ + обратного просмотра ^(?<!sh)$ ?

проверяю в онлайн проверяльщике, но не работает.

 

sniper21
()

регулярной исключить цифру в начале имени файла

[^0-9] - это исключить от 0 до 9

а как указать, что-то относится только к первому символу?

 

sniper21
()

php сокеты почему один код медленнее в 6 раз чем другой?

отправляю строку:

   
fwrite($fp, $cfg_message, strlen($cfg_message));

Вариант 1:

    while (($t = fgets ($fp, 1024)) !== false) {
        if(strpos($t,'\r\n') == false)
            $tempbuffer .= $t;        
    }
    echo $tempbuffer;

Вариант 2:

    $tempbuffer = fgets($fp, 1024);
    echo $tempbuffer;

Вариант 2 работает примерно за 1 секунду.

Вариант 1 работает примерно за 60 секунд, такое ощущение что по таймауту.

 , ,

sniper21
()

php распаковать бинарную строку

Дана бинарная строка, в которой, например, 1056 байта. Строку получаю в big endian. Но программа будет работать на Intel т.е little endian?

В строке каждые 4 байта это значние float.

  $index = 0;
  $out = bin2hex($buffer);
  $result_array = array();
  $tmpbuffer = array(4); // массив для каждых 4-х байтов
  for ($i = 0; $i < 1024/4; $i++) {
      $index = $i*4;
      $tmpbuffer[0] = $out[$index];
      $tmpbuffer[1] = $out[$index+1];
      $tmpbuffer[2] = $out[$index+2];
      $tmpbuffer[3] = $out[$index+3];
      array_push($result_array, unpack("f", $tmpbuffer)); // 4 байта распаковываем в одно значение float и отправляем в результирующий массив
  }

Вопрос: как это правильно сделать?

 , двоичная,

sniper21
()

busybox как получить скорость интерфейса?

можно ли используя какую-то утилиту из busybox выяснить скорость интерфейса?

 ,

sniper21
()

Что значит перестройка кэша?

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

где в этой логике работы кеша «перестройка кэша»? Зачем его перестраивать?

 ,

sniper21
()

Как показать MYSQL что можно забрать памяти N Gb?

Вот на сервере установлено 48Gb оперативки.

в конфиге я ему пишу:

#возьми под буферы 35Gb
innodb_buffer_pool_size = 35G
# и ещё 16Mb
innodb_log_buffer_size  = 16M

Но что-то он не торопится забрать,

free показывает что свободно также как было.

Вопрос: что не так? Mysql не надо столько?

 , ,

sniper21
()

Самый быстрый способ копирования файлов с сервера на сервер в одной подсети?

В одной подсети - это значит что шифрование даром не надо.

  • NFS?
  • FTP?
  • (???) rsync?
  • rcp?

 , ,

sniper21
()

Как называется технология автоматического переключения пользователя...

... между WiFi точками одной сети?

 ,

sniper21
()

Запретить пользователю все команды через sudo, и запретить все команды от пользователя кроме некоторых

в Чем проблема?

Создал username и группу username.

# visudo

%username ALL=/bin/pwd, /bin/ls
:wq

но почему-то пользователь всеравно исполняет и ping и cd и прочее

 ,

sniper21
()

RSS подписка на новые темы