Size: a a a

NodeUA - JavaScript and Node.js in Ukraine

2020 March 20

NK

ID:0 in NodeUA - JavaScript and Node.js in Ukraine
Завтра на JavaScripr Fwdays'2020 online (в Киеве) расскажу, о том, что чувствуют 70% чем-то задним. Тут можно посмотреть два доклада, в которых есть частичное объяснение необходимости блокировок для написания кода, безопасного от состояний гонки в асинхронных средах:
https://youtu.be/KNsm_iIQt7U
https://youtu.be/DJCzZF383ug

Через некоторое время новый доклад про Web Locks API выложат в открытый доступ, ну и как карантин закончится, я еще на разных конференциях об этом выступлю.
источник

АП

Алексей Попов... in NodeUA - JavaScript and Node.js in Ukraine
Illia 🍭 Oleksiienko
Спеціаліст в цій мові)
думаю що в разі жс складно бути справжнім фахівцем не розуміючи того, як він працює під капотом, на рівні vm. а для того, щоб розібратися в таких межах, напевно треба хоч іноді, для з'ясування якихось деталей, самому заглядати туди
для цього - знати плюси (і с в разі node і libuv)
источник

KS

Kirill Skomarovskiy in NodeUA - JavaScript and Node.js in Ukraine
Алексей Попов
думаю що в разі жс складно бути справжнім фахівцем не розуміючи того, як він працює під капотом, на рівні vm. а для того, щоб розібратися в таких межах, напевно треба хоч іноді, для з'ясування якихось деталей, самому заглядати туди
для цього - знати плюси (і с в разі node і libuv)
@tshemsedinov можно добавить poll с вопросом Сколько раз вы заглядывали под капот V8 за период работы с nodeJS?.
- 0;
- 10;
- 20;
- 40;
- 80;

пжлст
источник

АП

Алексей Попов... in NodeUA - JavaScript and Node.js in Ukraine
Kirill Skomarovskiy
@tshemsedinov можно добавить poll с вопросом Сколько раз вы заглядывали под капот V8 за период работы с nodeJS?.
- 0;
- 10;
- 20;
- 40;
- 80;

пжлст
Почему только v8?
Есть ещё минимум сама нода, и упомянутый libuv
На своём примере могу сказать - в исходники ноды приходилось заглядывать часто. Конечно, чаще всего ограничивалось уровнем кода на js, но и глубже тоже приходилось залезать
источник

TS

Timur Shemsedinov in NodeUA - JavaScript and Node.js in Ukraine
Kirill Skomarovskiy
@tshemsedinov можно добавить poll с вопросом Сколько раз вы заглядывали под капот V8 за период работы с nodeJS?.
- 0;
- 10;
- 20;
- 40;
- 80;

пжлст
У меня есть специальный pool с заглядыванием в исходники, это 3х литровая банка и когда заглядываю в C - беру из гее одну горошину, в C++ - беру боб, в JS - рисинку, в TS - зернышко гречи, в Rust - тыквенную семку, в Python - чечевицу, в Shell скрипты - семки... начи6аешь смотреть одно, оно связано с другим, так пока банка не опустошаетая
источник

VS

Vitalya Semianchuk in NodeUA - JavaScript and Node.js in Ukraine
var spawn = require('child_process').spawn,
   ts = spawn('tshark',
       ['-i', 'Ethernet', '-f', 'udp port 37008']
   );
ts.stdout.on('data', function (data) {
   console.log('stdout: ' + data);
});
ts.stdin.on('data', function (data) {
   console.log('stdin: ' + data);
});
ts.stderr.on('data', function (data) {
   console.log('stderr: ' + data);
});
ts.on('exit', function (code) {
   console.log('child process exited with code ' + code);
});
Кто знает почему в этом скрипте не приходит дата?
источник

VS

Vitalya Semianchuk in NodeUA - JavaScript and Node.js in Ukraine
при запуски той же команде в терминале все идет нормально
источник
2020 March 21

ES

Elena Sharovar in NodeUA - JavaScript and Node.js in Ukraine
Vitalya Semianchuk
var spawn = require('child_process').spawn,
   ts = spawn('tshark',
       ['-i', 'Ethernet', '-f', 'udp port 37008']
   );
ts.stdout.on('data', function (data) {
   console.log('stdout: ' + data);
});
ts.stdin.on('data', function (data) {
   console.log('stdin: ' + data);
});
ts.stderr.on('data', function (data) {
   console.log('stderr: ' + data);
});
ts.on('exit', function (code) {
   console.log('child process exited with code ' + code);
});
Кто знает почему в этом скрипте не приходит дата?
добавьте еще -l (L маленькая)
источник

VS

Vitalya Semianchuk in NodeUA - JavaScript and Node.js in Ukraine
Elena Sharovar
добавьте еще -l (L маленькая)
не в команде дело оно запускается просто дата не приходит
источник

ES

Elena Sharovar in NodeUA - JavaScript and Node.js in Ukraine
попробуйте если не заработает то я ошибаюсь
источник

VS

Vitalya Semianchuk in NodeUA - JavaScript and Node.js in Ukraine
Elena Sharovar
попробуйте если не заработает то я ошибаюсь
огромное спасибо заработало
источник

VY

Vladimir Yefremov in NodeUA - JavaScript and Node.js in Ukraine
Vitalya Semianchuk
огромное спасибо заработало
👍
источник

NK

ID:0 in NodeUA - JavaScript and Node.js in Ukraine
Сегодня доложился на fwdays по Web Locks API, а вчера предложил добавить это в ноду, кто хочет присоединиться к обсуждению и разработке, то прошу сюда, лайк и шер: https://github.com/nodejs/node/issues/22702#issuecomment-601932182
источник
2020 March 22

☆Даня☆ in NodeUA - JavaScript and Node.js in Ukraine
Всем ку, ребят, нужна помощь, кто в сокетах шарит ?
источник

ЕХ

Егор Хильченко... in NodeUA - JavaScript and Node.js in Ukraine
☆Даня☆
Всем ку, ребят, нужна помощь, кто в сокетах шарит ?
думаю многие тут шарят в сокетах, сразу задавай вопрос)
источник

☆Даня☆ in NodeUA - JavaScript and Node.js in Ukraine
Я код можно сюда кидать ?
источник

К

Кай in NodeUA - JavaScript and Node.js in Ukraine
Можете попробовать скинуть код, можете попробовать (наверное) с помощью чего-то по типу Carbon изображением кинуть.
Или как посоветовал @cleargoal
источник

VY

Vladimir Yefremov in NodeUA - JavaScript and Node.js in Ukraine
☆Даня☆
Я код можно сюда кидать ?
может лучше codepen.io ?
источник

☆Даня☆ in NodeUA - JavaScript and Node.js in Ukraine
Вот моя проблема:
У меня есть файл red.php в нем обычный текст, я хочу чтоб если я в нем что-то меняю, без обновы страницы тоже было а не отправлять постоянно send вот php код socket
<?php

require 'vendor/autoload.php';

use Ratchet\MessageComponentInterface;
use Ratchet\ConnectionInterface;
use Ratchet\Server\IoServer;
use Ratchet\Http\HttpServer;
use Ratchet\WebSocket\WsServer;

class Chat implements MessageComponentInterface {
   protected $clients;

   public function __construct() {
       $this->clients = new \SplObjectStorage;
   }

   public function onOpen(ConnectionInterface $conn) {
       // Store the new connection to send messages to later
       $this->clients->attach($conn);

       echo "New connection! ({$conn->resourceId})\n";
   }

   public function onMessage(ConnectionInterface $from, $msg) {
       foreach ($this->clients as $client) {
           if ($from !== $client) {
               // The sender is not the receiver, send to each client connected
               $client->send(file_get_contents('red.php'));
           }
       }
   }

   public function onClose(ConnectionInterface $conn) {
       // The connection is closed, remove it, as we can no longer send it messages
       $this->clients->detach($conn);

       echo "Connection {$conn->resourceId} has disconnected\n";
   }

   public function onError(ConnectionInterface $conn, \Exception $e) {
       echo "An error has occurred: {$e->getMessage()}\n";

       $conn->close();
   }
}

$server = IoServer::factory(
   new HttpServer(
       new WsServer(
           new Chat()
       )
   ),
   8953
);

$server->run();
А вот JS
<script>
var conn = new WebSocket('ws://localhost:8953');
conn.onopen = function(e) {
   console.log("Connection established!");
};


conn.onmessage = function(e) {
   console.log(e.data);
};
</script>
источник

☆Даня☆ in NodeUA - JavaScript and Node.js in Ukraine
В методе onMessage PHP есть $client->send(file_get_contents('red.php')); это получение данных из файлы, но оно работает только если я выполню conn.send()
источник