Mixam19
Салют, ребята. Я к вам на пять минут. Есть одна книга, кто-то знаком? Стоит ли покупать/пиратить? https://www.nodejsdesignpatterns.com/
Mixam19
Ожидания от книги - узнать наконец как готовить ноду на бэке правильно
Mixam19
Или хотя бы направление готовки обрисовать
Mixam19
Ну и в догонку, может кто альтернативные какие-то источники насоветует?
Mixam19
Интересуют не базовые вещи, а именно как готовить так, чтобы потом не гореть в аду
Николай
Книга есть в сети, но большинство книг от packt посредственные
Dmitry
мне кажеться пока не попробуешь смысла от книг и тд нету. А вот если ты с кем то работаешь тогда вообще тема
Mixam19
два проекта на ноде
Dmitry
не могу после дня ничего делать. Как расслабиться ? что бы работа шла продуктивнее
Mixam19
но обоими недоволен
Mixam19
я конечно разбалован рубями
Mixam19
но есть желание перестать хейтить ноду и понять как оно должно выглядеть шоб было нормально
Dmitry
на чем были проекты?
Mixam19
оба на экспресе
Mixam19
один из них - онли ES5
Mixam19
заказчик по каким-то причинам не хотел видеть ES6 в принципе
Dmitry
коу возьми. Не знаю че еще можно
Mixam19
коа трогал, но тут вопрос не в том, какая структура обработки запросов, а как правильно готовить бизнес логику с учетом асинхронности и прототипов вместо классов
Mixam19
если использовать привычные ООП подходы руби или джавы - в итоге получается ужас
Дима
Поправьте меня, но koa не склоняется 🙃
Mixam19
да это дурацкая привычка коверкать слова )
Mixam19
не обращай внимания )
Дима
Коу звучит так же дико как кофю и метру)
Mixam19
ну подходы из джавы я помню средне, для примера больше привел
Mixam19
больше про подходы из руби
Дима
¯\_(ツ)_/¯
Mixam19
его я использую регулярно, но то что работает в руби - в js выглядит совсем по другому )
Дима
Отличия от руби — в языке выбрали явное vs неявное
Дима
Каждый раз как захочешь юзать идею из руби вспоминай, что в этом языке выпилили with))
Николай
В js асинхронная событийная модель, не нужно пытаться применять подходы других языков
Mixam19
распарсишь, явное - это руби или js?
Mixam19
там с разных точек зрения разные варианты могут быть просто )))
Mixam19
я бы поспорил, но в js чате это опасно ) rails - да, неявное целиком и полностью )
Дима
Точнее, самих-то неявных приколов в языке осталось много. Но в среднем переопределение прототипов и прочее неявное неодобряется
Mixam19
В js асинхронная событийная модель, не нужно пытаться применять подходы других языков
вот я это понимаю, потому и хочу найти либо примеры, либо литературу о том, какие подходы нужно применять
Дима
Потому что уже натерпелись
Dmitry
даже хз че спросить. Работаю с node не долго, но вроде все ясно. Иногда тупые залипы, но это не страшно
Mixam19
я вечно недоволен своим кодом на js
Mixam19
на фронте ещё либы/фреймворки подсказывают правильную дорогу
Mixam19
а на бэке - тьма
Dmitry
фреймворк копия laravel на node
Дима
я вечно недоволен своим кодом на js
В момент, когда это прекратится начнётся твой личный застой)
Dmitry
бери. Он точно подскажет правильную дорогу. Сам я не юзал. Ну раз копия laravel, то это имба
Mixam19
laravel - под впечатлением от Yii, Yii под впечатлением от Rails
Mixam19
я так в исходную точку вернусь ))
Dmitry
laravel это далеко от yii. Они абсолютно разные
Dmitry
ты такого как в laravel не найдешь нигде
Дима
как избавиться от этого застоя ? D
Принять как данность то, что твой код далеко не идеален и всегда видеть слабые места
Mixam19
не буду спорить, вся инфа о PHP-мире у меня только от третьих лиц )
Николай
Какая проблема в коде? Покажите его если он public
Mixam19
Какая проблема в коде? Покажите его если он public
Та сейчас собственно никакой. В прошлой компании были проекты на ноде, я не смог готовить её правильно, хотя рефакторил всё, старался делать красиво, но в итоге всё-равно недостаточно красиво. Сейчас на моем проекте на рельсе затишье и я решил предпринять второй подход по понимаю, как правильно готовить node.js
Dmitry
все делали и не сделали? вы все новички там были?
Denis
А вот архитектура нет
Mixam19
В данный момент ищу годные по мнение node.js сообщества источники о бест-практисах )
Mixam19
все делали и не сделали? вы все новички там были?
ну как не сделали, проект запустился, работает, багов нет
Dmitry
ну на гите тьма
Mixam19
недоволен качеством самого кода
Denis
А че с ним не так?
Mixam19
там не то что коллбэк хелл - не настолько нуб вроде, но Single Responsibility хромает
Дима
Вопрос «что делать» в отличии от вопроса «что не так» к сожалению однозначного ответа не имеет 😄
Mixam19
с каких пор js - чисто функциональный язык? )
Mixam19
прототипы - это про ООП, разновидность )
Дима
с каких пор js - чисто функциональный язык? )
С тех пор как ввели => Это стрелка чёрча со всеми вытекающими следствиями
Mixam19
тобишь js уже и stateless стал? )
Mixam19
что-то либо я путаю, либо вы меня троллите )
Дима
Забудь про прототипы)) Если упарываться по фп в жс — это сугубо опционально, то обычные классы вместо прототипной магии рекомендуются очень настоятельно
Дима
тобишь js уже и stateless стал? )
Иммутабельность во все поля
Дима
По желанию
Дима
У меня к примеру такое желание есть, но я не навязываю. Просто радуюсь, что могу себе позволить)
Dmitry
Иммутабельность во все поля
т.е ес6 классы кто то юзает на ноде? Это нормально ? На пример я юзаю коа и хз где там классы прикрутить. Все фп
Дима
Ну смотря сколько сущностей в проекте и что он делает. Если он служит фронтендом для другого сервиса — то очевидно можно обойтись без классов
Aleksandr
смотря что пилить
Дима
Ну это абстрактный какой-то вопрос) Что значит штук 10)) В процессе рефакторинга вижу, что например в проекте вездею заются координаты вида { x: number, y: number }, ну для повышения удобства и улучшения типизации делаю класс Point { x: number y: number constructor(x: *, y: *) { thix.x = x; this.y = y } }