Michael
Надо, чтобы каждое последующие событие .on("line", async myAsyncHandler) генерилось только после завершения обработки предыдущего.
Alexander
Подскажите плз группу, где сидят *компании* поставляющие услуги по разработке node.js
Cenator 🐈
Alexander
там только вакансии.. :(
Рустам
Ребят начинаю изучать node.js, соответственно есть пара вопросов, на которые пока не получается найти четкого ответа, что влечет за собой провалы в понимании основных вещей. У кого есть время для общения в лс, чтобы не спамить в группе, дайте знать пожалуйста.
Рустам
Заранее всем спасибо
Yarik
Всем привет, нужен совет, как лучше всего деплоить на прод ? А то через гит не очень удобно, может есть автоматизирование решение ?)
Yarik
Таймураз
✙ Egor ✙
Привет ребят. Есть такой простой докерфайл:
FROM node:7.2.0
RUN npm install --global --verbose autorest
когда я делаю
docker build .
он зависает навечно, и никаких ошибок нет.
✙ Egor ✙
Кто сталкивался?
Рустам
Собственно основная проблема в понимании структуры модуля. Как выводить наиболее-часто повторяющийся код в отдельные функции в условиях ассинхронной природы их вызова.
К примеру ситуация:
В модуле есть несколько функций по работе с условной СУБД, соответственно в каждой их них есть строки кода подключения к БД, и после уже после получения коннекта, идет запрос через этот коннект.
Вот хочу вывести этап создания подключения к БД в отдельную функцию, и обращаться к ней при необходимости, передавая в виде параметров данные необходимые для создания подключения. И вроде все хорошо, НО, данная функция вызывается ассинхронно, и система не ждет результата выполнения этой отдельной функции продолжая выполнять код с "пустой" переменной.
Alexander
Блин что я делаю не так
Ноду установил на хостинге, файлы закинул, npm i, npm start сделал, захожу по ip адресу а там только файловый каталог, сам сайт не запускается
Serhiy
Serhiy
Alexander
На серваке да стоит
?
?
✙ Egor ✙
это баг в докере
✙ Egor ✙
был
✙ Egor ✙
--verbose?
Sergey
Скажите, есть что-то подобное http://www.betterspecs.org/ но для ноды?
Iliya
Evgeny
омфг, разработка на мобильнике
𝒟𝓂𝒾𝓉𝓇𝒾𝓎
Норм тема))
𝒟𝓂𝒾𝓉𝓇𝒾𝓎
Я на мобильнике по рдп сижу
?
каким боком nginx к ноде относится? у них наверняка свой чат суппорт есть
A
Собственно основная проблема в понимании структуры модуля. Как выводить наиболее-часто повторяющийся код в отдельные функции в условиях ассинхронной природы их вызова.
К примеру ситуация:
В модуле есть несколько функций по работе с условной СУБД, соответственно в каждой их них есть строки кода подключения к БД, и после уже после получения коннекта, идет запрос через этот коннект.
Вот хочу вывести этап создания подключения к БД в отдельную функцию, и обращаться к ней при необходимости, передавая в виде параметров данные необходимые для создания подключения. И вроде все хорошо, НО, данная функция вызывается ассинхронно, и система не ждет результата выполнения этой отдельной функции продолжая выполнять код с "пустой" переменной.
Вопрос же на самом деле не про ноду, а про программирование. Особенно, асинхронное программирование.
Что бы посоветовал я:
1. разобраться как вообще работают модули и модульная система в JS. Пока ES6 imports еще всех не победил, можно почитать Eloquent Javascript вот ровно в этом месте. http://eloquentjavascript.net/10_modules.html . Написать самому загрузчик commonJS и AMD модулей - must. Это займет буквально пару часов.
2. посложнее. По моему опыту работы с новичками - пока голова вокруг промисов не наматается, понимать будет тяжело. Внимательно прочитай про Promise/thenable. Оно на самом деле простое как кирпич. А потом реализуй свои промисы на коленке. В стандарт, ясное дело, упираться не надо, хватит наивной реализации.
После этого вопросы с программированием того, что ты спросил отпадут.
Дальше останется всего-то научиться правильно проектировать модули, но тут нет простой инструкции. Хочется сказать Single Responsiblity, SOLID и еще что-то. Но оно из ниоткуда не возьмётся нужно писать код и почитывать какого-нибудь Макконелла
?
tl;dr RTFM
Michael
Вопрос же на самом деле не про ноду, а про программирование. Особенно, асинхронное программирование.
Что бы посоветовал я:
1. разобраться как вообще работают модули и модульная система в JS. Пока ES6 imports еще всех не победил, можно почитать Eloquent Javascript вот ровно в этом месте. http://eloquentjavascript.net/10_modules.html . Написать самому загрузчик commonJS и AMD модулей - must. Это займет буквально пару часов.
2. посложнее. По моему опыту работы с новичками - пока голова вокруг промисов не наматается, понимать будет тяжело. Внимательно прочитай про Promise/thenable. Оно на самом деле простое как кирпич. А потом реализуй свои промисы на коленке. В стандарт, ясное дело, упираться не надо, хватит наивной реализации.
После этого вопросы с программированием того, что ты спросил отпадут.
Дальше останется всего-то научиться правильно проектировать модули, но тут нет простой инструкции. Хочется сказать Single Responsiblity, SOLID и еще что-то. Но оно из ниоткуда не возьмётся нужно писать код и почитывать какого-нибудь Макконелла
👍🏻
Рустам
@wertlex Все именно так. Спасибо большое за рекомендации и направления, как говорится будем пробовать)
𝒟𝓂𝒾𝓉𝓇𝒾𝓎
Вопрос же на самом деле не про ноду, а про программирование. Особенно, асинхронное программирование.
Что бы посоветовал я:
1. разобраться как вообще работают модули и модульная система в JS. Пока ES6 imports еще всех не победил, можно почитать Eloquent Javascript вот ровно в этом месте. http://eloquentjavascript.net/10_modules.html . Написать самому загрузчик commonJS и AMD модулей - must. Это займет буквально пару часов.
2. посложнее. По моему опыту работы с новичками - пока голова вокруг промисов не наматается, понимать будет тяжело. Внимательно прочитай про Promise/thenable. Оно на самом деле простое как кирпич. А потом реализуй свои промисы на коленке. В стандарт, ясное дело, упираться не надо, хватит наивной реализации.
После этого вопросы с программированием того, что ты спросил отпадут.
Дальше останется всего-то научиться правильно проектировать модули, но тут нет простой инструкции. Хочется сказать Single Responsiblity, SOLID и еще что-то. Но оно из ниоткуда не возьмётся нужно писать код и почитывать какого-нибудь Макконелла
Два бокала чая этому парню!
А чтотза Макконелл?
A
Совершенный Код
𝒟𝓂𝒾𝓉𝓇𝒾𝓎
Аа, все, понял
𝒟𝓂𝒾𝓉𝓇𝒾𝓎
Хорошая книга
A
Что-то среднее между Enterprise Design Patterns и "Что такое хорошо, а что такое плохо" )
?
там две вообще
?
clean code и cleaner code по-моему так
Dasha
9 декабря состоится пятый #ITsubbotnik в Санкт-Петербурге
В секции JavaScript вас ждут 2 доклада:
Антон Чесноков расскажет, как заставить ваше приложение работать быстрее, когда кажется, что все и так уже работает на максимуме.
Дмитрий Лаптев поделится информацией, как организовать REST API для некоторых операций на сервере таким образом, чтобы клиенту было удобнее с ними работать
#ITsubbotnik - это бесплатная конференция для опытных разработчиков и инженеров.
Приходите!
Регистрация здесь: https://epa.ms/itsubbotnik-winter
✙ Egor ✙
Clean code - заебок, code complete - так себе книжка
?
Дима
Джазист
✙ Egor ✙
Дима
Я джавист в законе
✙ Egor ✙
не джавист небось?
А к чему такие вопросы? Если в clean code примеры на джаве, а в code complete на c++
?
✙ Egor ✙
✙ Egor ✙
ну хз, мб когда я читал там был цпп
?
либо у меня уже с памятью чето, в любом случае неважно на чем там примеры
?
orly?
?
две строчки в cmd уже не в моде
Artem
Artem
Всем привет! Понимаю что это не совсем в тему, но всёже. Хочу поставить SSL от Let’s Encrypt на Debian 8 + Nginx. При перезапуске столкнулся с ошибкой. Опыта работы с nginx, да и вообще с этой околосерверной темой нет вообще. Помогите пожалуйста разобратся
ixplo
ixplo
второй давал 500
?
auth failures - креды неправильные ввел
Gaisar
Всем привет! собрал билд на ceact-create-app и там запустил локальный сервер, код ниже. По адресу http://localhost:3000 страница открывается нормально, но при переходе по ссылке http://localhost:3000/app не выдает 'Hi!'. Может кто знает в чем проблема?
var express = require('express');
var path = require('path');
var app = express();
app.use(express.static(path.join(__dirname, '..', 'build')));
app.get('/', (req, res)=>{
res.sendFile(path.join(__dirname, '..', '/index.html'))
})
app.get('/app', (req, res)=>{
console.log('app')
res.send('Hi!')
})
app.listen(3000, ()=>{
console.log('node is started')
})
сomorsiс
а если закомментить app.use(express....
сomorsiс
?
Gaisar
тогда ошибка по ссылке http://localhost:3000
Error: ENOENT: no such file or directory, stat 'C:\Users\GD\Desktop\index.html'
at Error (native)
Gaisar
а Hi норм выдает
Gaisar
Всем привет! собрал билд на ceact-create-app и там запустил локальный сервер, код ниже. По адресу http://localhost:3000 страница открывается нормально, но при переходе по ссылке http://localhost:3000/app не выдает 'Hi!'. Может кто знает в чем проблема?
var express = require('express');
var path = require('path');
var app = express();
app.use(express.static(path.join(__dirname, '..', 'build')));
app.get('/', (req, res)=>{
res.sendFile(path.join(__dirname, '..', '/index.html'))
})
app.get('/app', (req, res)=>{
console.log('app')
res.send('Hi!')
})
app.listen(3000, ()=>{
console.log('node is started')
})
тут при переходе на http://localhost:3000/app остается главная страница
сomorsiс
а в реакте у тебя роутер?
Gaisar
нет
Gaisar
просто одна статичная страница
Artem
Всем привет! собрал билд на ceact-create-app и там запустил локальный сервер, код ниже. По адресу http://localhost:3000 страница открывается нормально, но при переходе по ссылке http://localhost:3000/app не выдает 'Hi!'. Может кто знает в чем проблема?
var express = require('express');
var path = require('path');
var app = express();
app.use(express.static(path.join(__dirname, '..', 'build')));
app.get('/', (req, res)=>{
res.sendFile(path.join(__dirname, '..', '/index.html'))
})
app.get('/app', (req, res)=>{
console.log('app')
res.send('Hi!')
})
app.listen(3000, ()=>{
console.log('node is started')
})
а код ответа 200?