Michael
Надо, чтобы каждое последующие событие .on("line", async myAsyncHandler) генерилось только после завершения обработки предыдущего.
Alexander
Подскажите плз группу, где сидят *компании* поставляющие услуги по разработке node.js
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 адресу а там только файловый каталог, сам сайт не запускается
Alexander
На серваке да стоит
Alexander
Апач стоит? Нода какой порт слушает?
там где было написанно 3000, я поменял на ip адрес
Serhiy
На серваке да стоит
Ну значит апач слушает 80 порт. и отдает тебе список файлов
✙ Egor ✙
читай логи детальные
в логах ничего особо не было
✙ Egor ✙
это баг в докере
✙ Egor ✙
был
?
в логах ничего особо не было
значит недостаточный уровень логирования
✙ Egor ✙
--verbose?
Alexander
Ну значит апач слушает 80 порт. и отдает тебе список файлов
да ты прав там написанно 80 порт, а как и на что это дело поменять
Sergey
Скажите, есть что-то подобное http://www.betterspecs.org/ но для ноды?
Iliya
Скажите, есть что-то подобное http://www.betterspecs.org/ но для ноды?
Было на гитхабе где-то, ссылку не найду сейчас
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 по-моему так
𝒟𝓂𝒾𝓉𝓇𝒾𝓎
чистый код или как оно там было
Плохая помять на имена, вспомнил) надо перечитать
A
Конкретнее? Какая книга?)
Песнь льда и пламени, ясное дело))
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 ✙
Я джавист в законе
Латентный джавист
сomorsiс
Я джавист в законе
Оборотень в паттернах
✙ Egor ✙
в комплите на джаве примеры вроде были
Code complete это же совершенный код
✙ Egor ✙
ну хз, мб когда я читал там был цпп
?
Code complete это же совершенный код
да я понял, но там же на джаве примеры
?
либо у меня уже с памятью чето, в любом случае неважно на чем там примеры
?
orly?
?
две строчки в cmd уже не в моде
Artem
Artem
Всем привет! Понимаю что это не совсем в тему, но всёже. Хочу поставить SSL от Let’s Encrypt на Debian 8 + Nginx. При перезапуске столкнулся с ошибкой. Опыта работы с nginx, да и вообще с этой околосерверной темой нет вообще. Помогите пожалуйста разобратся
ixplo
есть два сервиса на ноде. при тесте api через адресную строку браузера одно окно шлёт запросы на favicon, а второе - нет )) хедеры везде одинаковые
отвечу сам на свой вопрос. при первом вызове один из сервисов выдавал 404. браузер больше не спрашивал
ixplo
второй давал 500
?
auth failures - креды неправильные ввел
Artem
auth failures - креды неправильные ввел
я ничего не вводил, как и где это сделать? возможно это связанно с тем, что я пароль для root сменил?
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 норм выдает
сomorsiс
а в реакте у тебя роутер?
Gaisar
нет
Gaisar
просто одна статичная страница