Size: a a a

NodeUA - JavaScript and Node.js in Ukraine

2021 February 17

d

dirtyhandz in NodeUA - JavaScript and Node.js in Ukraine
Привет, а подскажите пожалуйста, я новичок в программировании, недавно сижу разбираюсь относительно.... Смотрю лекции Тимура по основам js(спасибо, кстати, ему, уникальный контент как я понимаю...), и у меня вопрос такой: сейчас на лекции по работе async.js он советует самому попробовать реализовать какой-нибудь метод из библиотеки, однако я открываю filter например исходник из async и, честно говоря, читается довольно тяжело, самое сложное для меня отследить поток передачи управления и данных из модуля в модуль... Вопрос к опытным: это всегда будет так? То есть это решается опытом, и надо просто глаз и руку набить, или может кто-то какие-то средства или метод использует для облегчения задачи с незнакомым системным кодом? Спасибо :)
источник

E

Evgen in NodeUA - JavaScript and Node.js in Ukraine
dirtyhandz
Привет, а подскажите пожалуйста, я новичок в программировании, недавно сижу разбираюсь относительно.... Смотрю лекции Тимура по основам js(спасибо, кстати, ему, уникальный контент как я понимаю...), и у меня вопрос такой: сейчас на лекции по работе async.js он советует самому попробовать реализовать какой-нибудь метод из библиотеки, однако я открываю filter например исходник из async и, честно говоря, читается довольно тяжело, самое сложное для меня отследить поток передачи управления и данных из модуля в модуль... Вопрос к опытным: это всегда будет так? То есть это решается опытом, и надо просто глаз и руку набить, или может кто-то какие-то средства или метод использует для облегчения задачи с незнакомым системным кодом? Спасибо :)
Конечно это приходит с опытом
источник

TS

Timur Shemsedinov in NodeUA - JavaScript and Node.js in Ukraine
Dmytro Nechai
Если не ошибаюсь, Тимур говорил что вы и так можете не полагаться на автоматическое привидение типов, соблюдать контракты, настроить линтер и писать на как бы строгом динамически типизированной языке, соблюдать гомогенность данных, и в результатах ваш кот будет оптимизирован движком основываясь на автоматически выведенных типах.
И еще не использовать примеси, не менять типы переменным и аргументам, не патчить встроенные прототипы и не менять объектам прототипы динамически, - все это можно запретить линтерами @shymas
источник

E

Evgen in NodeUA - JavaScript and Node.js in Ukraine
Timur Shemsedinov
И еще не использовать примеси, не менять типы переменным и аргументам, не патчить встроенные прототипы и не менять объектам прототипы динамически, - все это можно запретить линтерами @shymas
+
источник

d

dirtyhandz in NodeUA - JavaScript and Node.js in Ukraine
Evgen
Конечно это приходит с опытом
👍 Спасибо!
источник

V

Vyacheslav in NodeUA - JavaScript and Node.js in Ukraine
dirtyhandz
Привет, а подскажите пожалуйста, я новичок в программировании, недавно сижу разбираюсь относительно.... Смотрю лекции Тимура по основам js(спасибо, кстати, ему, уникальный контент как я понимаю...), и у меня вопрос такой: сейчас на лекции по работе async.js он советует самому попробовать реализовать какой-нибудь метод из библиотеки, однако я открываю filter например исходник из async и, честно говоря, читается довольно тяжело, самое сложное для меня отследить поток передачи управления и данных из модуля в модуль... Вопрос к опытным: это всегда будет так? То есть это решается опытом, и надо просто глаз и руку набить, или может кто-то какие-то средства или метод использует для облегчения задачи с незнакомым системным кодом? Спасибо :)
Если что-то не понятно ищите в других источниках информацию, потом станет понятнее
источник

d

dirtyhandz in NodeUA - JavaScript and Node.js in Ukraine
Vyacheslav
Если что-то не понятно ищите в других источниках информацию, потом станет понятнее
Да, так и стараюсь делать, в принципе весь синтаксис понятен(хочется верить) и mdn на английском читаю свободно, но получается что каждая реализация каких-то абстракций уникальна, как и в лекциях Тимура тоже, и когда спрэд на спрэде с замыканиями, колбэками, промисами и тд да ещё и передаётся туда сюда из модуля в модуль, мой мозг ломается 🤪
источник

DK

Danil Kincharov in NodeUA - JavaScript and Node.js in Ukraine
Исходя из ответа на интервью у Немчинского, можно сделать вывод, что использовать Nest c Fastify не зашкварно?
источник

DH

Dima Haponov in NodeUA - JavaScript and Node.js in Ukraine
ну типа
источник

A

Alexander in NodeUA - JavaScript and Node.js in Ukraine
Danil Kincharov
Исходя из ответа на интервью у Немчинского, можно сделать вывод, что использовать Nest c Fastify не зашкварно?
Как по мне, то нест в этой связке абослютно бесполезный оверхед. Разделить аппку на правильные слои можно на чистом фастифае и получится даже лучше.
источник

A

Alexander in NodeUA - JavaScript and Node.js in Ukraine
Тем более если учесть тот факт, что нестовский адаптер и на 30% не использует того, что есть в фастифае. И работает оно быстрее не из-за фич фастифая, а из-за того, что в самом фастифае нет всего того говна, который есть в экспрессе.
источник

DH

Dima Haponov in NodeUA - JavaScript and Node.js in Ukraine
Alexander
Как по мне, то нест в этой связке абослютно бесполезный оверхед. Разделить аппку на правильные слои можно на чистом фастифае и получится даже лучше.
тогда раздели на ноде чистой и будет еще лучше)
источник

VS

Vlad Sobenko in NodeUA - JavaScript and Node.js in Ukraine
Alexander
Тем более если учесть тот факт, что нестовский адаптер и на 30% не использует того, что есть в фастифае. И работает оно быстрее не из-за фич фастифая, а из-за того, что в самом фастифае нет всего того говна, который есть в экспрессе.
от фреймворка обычно ждешь DI контейнер и удобную конфигурацию, а не слои.
источник

A

Alexander in NodeUA - JavaScript and Node.js in Ukraine
Vlad Sobenko
от фреймворка обычно ждешь DI контейнер и удобную конфигурацию, а не слои.
Тогда нест получается вообще не нужон
источник

A

Alexander in NodeUA - JavaScript and Node.js in Ukraine
Dima Haponov
тогда раздели на ноде чистой и будет еще лучше)
Если писать rpc сервис, то 100%. Будет даже удобнее чем с каким-то фреймворком
источник

CM

Chumachenko Mihail in NodeUA - JavaScript and Node.js in Ukraine
QQ!
Помогите пожалуйста)
*express*
У меня такая проблема:
Есть БД mysql из нее хочу вывести данные.
Проблема в том, что запрос выполняется, данные приходят, но потом куда-то улетучиваются)))
+ я никак не могу разобраться как дождаться результата выполнения запроса, а после уже выводить его.

db.js
...
makeQuery(query) {
       this.connection.query(query, (err, result) => {
           if(err)
               console.log('query error!!!' + err.message);
           console.log(result);
           return result;
       });
   }

queries.js
...
function selectUserByName (){
       console.log('query start')
       var result =db.makeQuery("SELECT * FROM user");
       console.log(result);
       console.log('query end');
};

в db.js result выводит, а уже в queries.js - нет.

Console:
query start
undefined
query end
*Результат запроса*

Куда девается результат запроса после вызова функции и как сделать структуру async-await чтобы дождаться результата?

Заранее огроменное спасибо!
источник

VS

Vlad Sobenko in NodeUA - JavaScript and Node.js in Ukraine
Alexander
Тогда нест получается вообще не нужон
Не знаю, не пробовал, что в нем есть, чего нет.
источник

M

Mehannoying in NodeUA - JavaScript and Node.js in Ukraine
Chumachenko Mihail
QQ!
Помогите пожалуйста)
*express*
У меня такая проблема:
Есть БД mysql из нее хочу вывести данные.
Проблема в том, что запрос выполняется, данные приходят, но потом куда-то улетучиваются)))
+ я никак не могу разобраться как дождаться результата выполнения запроса, а после уже выводить его.

db.js
...
makeQuery(query) {
       this.connection.query(query, (err, result) => {
           if(err)
               console.log('query error!!!' + err.message);
           console.log(result);
           return result;
       });
   }

queries.js
...
function selectUserByName (){
       console.log('query start')
       var result =db.makeQuery("SELECT * FROM user");
       console.log(result);
       console.log('query end');
};

в db.js result выводит, а уже в queries.js - нет.

Console:
query start
undefined
query end
*Результат запроса*

Куда девается результат запроса после вызова функции и как сделать структуру async-await чтобы дождаться результата?

Заранее огроменное спасибо!
Вам бы ознакомиться с асинхронным программированием.
источник

NN

Nikita Nesterchuk in NodeUA - JavaScript and Node.js in Ukraine
Chumachenko Mihail
QQ!
Помогите пожалуйста)
*express*
У меня такая проблема:
Есть БД mysql из нее хочу вывести данные.
Проблема в том, что запрос выполняется, данные приходят, но потом куда-то улетучиваются)))
+ я никак не могу разобраться как дождаться результата выполнения запроса, а после уже выводить его.

db.js
...
makeQuery(query) {
       this.connection.query(query, (err, result) => {
           if(err)
               console.log('query error!!!' + err.message);
           console.log(result);
           return result;
       });
   }

queries.js
...
function selectUserByName (){
       console.log('query start')
       var result =db.makeQuery("SELECT * FROM user");
       console.log(result);
       console.log('query end');
};

в db.js result выводит, а уже в queries.js - нет.

Console:
query start
undefined
query end
*Результат запроса*

Куда девается результат запроса после вызова функции и как сделать структуру async-await чтобы дождаться результата?

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

M

Mehannoying in NodeUA - JavaScript and Node.js in Ukraine
Chumachenko Mihail
QQ!
Помогите пожалуйста)
*express*
У меня такая проблема:
Есть БД mysql из нее хочу вывести данные.
Проблема в том, что запрос выполняется, данные приходят, но потом куда-то улетучиваются)))
+ я никак не могу разобраться как дождаться результата выполнения запроса, а после уже выводить его.

db.js
...
makeQuery(query) {
       this.connection.query(query, (err, result) => {
           if(err)
               console.log('query error!!!' + err.message);
           console.log(result);
           return result;
       });
   }

queries.js
...
function selectUserByName (){
       console.log('query start')
       var result =db.makeQuery("SELECT * FROM user");
       console.log(result);
       console.log('query end');
};

в db.js result выводит, а уже в queries.js - нет.

Console:
query start
undefined
query end
*Результат запроса*

Куда девается результат запроса после вызова функции и как сделать структуру async-await чтобы дождаться результата?

Заранее огроменное спасибо!
источник