Size: a a a

NodeUA - JavaScript and Node.js in Ukraine

2021 March 25

YZ

Yaroslav Zhymkov in NodeUA - JavaScript and Node.js in Ukraine
экспрес и тайпскрипт..
- прекрати, они же еще дети
источник

L

Leon in NodeUA - JavaScript and Node.js in Ukraine
Timur Shemsedinov
Спасибо! Стараемся)
У меня никак не получается органично классифицировать подходы в голове: Грасп, Солид, и т.д. Они выглядят, как искусственная попытка научить людей не быть тупыми. В контексте:  разделять иерархически построенные понятия по элементарной логике и думать на два шага вперёд. "Не плоди сущностей сверх необходимого", "сила цепи зависит от самого слабого звена", "если что-то может в дальнейшем изменится - подстели соломку" и т.д. Попытки эти подходы искусственно разделить по именам создателей, недостаточно убедительные, на мой взгляд. Впрочем, я теоретик не настоящий, я каску на стройке нашёл. Вы не поделитесь своими соображениями на этот счёт?
источник

D

Dmitriy in NodeUA - JavaScript and Node.js in Ukraine
Sergey
В nodejs таких тоже хватает с экспрессами
Та не спорю)
источник
2021 March 26

TS

Timur Shemsedinov in NodeUA - JavaScript and Node.js in Ukraine
Leon
У меня никак не получается органично классифицировать подходы в голове: Грасп, Солид, и т.д. Они выглядят, как искусственная попытка научить людей не быть тупыми. В контексте:  разделять иерархически построенные понятия по элементарной логике и думать на два шага вперёд. "Не плоди сущностей сверх необходимого", "сила цепи зависит от самого слабого звена", "если что-то может в дальнейшем изменится - подстели соломку" и т.д. Попытки эти подходы искусственно разделить по именам создателей, недостаточно убедительные, на мой взгляд. Впрочем, я теоретик не настоящий, я каску на стройке нашёл. Вы не поделитесь своими соображениями на этот счёт?
Да, в теории у нас сейчас все не очень стройно, это далеко не математика, но лучшей теории пока нет, пойду на пенсию - буду разрабатывать
источник

D

Dmitriy in NodeUA - JavaScript and Node.js in Ukraine
Leon
У меня никак не получается органично классифицировать подходы в голове: Грасп, Солид, и т.д. Они выглядят, как искусственная попытка научить людей не быть тупыми. В контексте:  разделять иерархически построенные понятия по элементарной логике и думать на два шага вперёд. "Не плоди сущностей сверх необходимого", "сила цепи зависит от самого слабого звена", "если что-то может в дальнейшем изменится - подстели соломку" и т.д. Попытки эти подходы искусственно разделить по именам создателей, недостаточно убедительные, на мой взгляд. Впрочем, я теоретик не настоящий, я каску на стройке нашёл. Вы не поделитесь своими соображениями на этот счёт?
Это все имхо, про управление сложностью. когда работаешь один и проект не серьезный то гамнякай как хоч. А в команде надо уметь управлять сложностью отсюда имхо и родились солиды граспы паттерны и так далее
источник

A

Andrey in NodeUA - JavaScript and Node.js in Ukraine
Что-то не понятно, экспресс дал дуба или уже всё на отлично сделали, что и обновлять не нужно?
источник

L

Leon in NodeUA - JavaScript and Node.js in Ukraine
Timur Shemsedinov
Да, в теории у нас сейчас все не очень стройно, это далеко не математика, но лучшей теории пока нет, пойду на пенсию - буду разрабатывать
Спасибо. Не идите на пенсию.
Вы на встрече затронули тему швейцарского ножа для реляционных баз данных, тут у меня друг делает нечто подобное, только в обратную сторону, возможно, вам будет интересно:  
https://t.me/nosingularity
Позволю себе его процитировать, не сочтите рекламой:
источник

M

Maxim in NodeUA - JavaScript and Node.js in Ukraine
Andrey
Что-то не понятно, экспресс дал дуба или уже всё на отлично сделали, что и обновлять не нужно?
1, но его все ещё юзают
источник

L

Leon in NodeUA - JavaScript and Node.js in Ukraine
"Как можно использовать компилятор parsers.dev прямо сейчас?
parsers.dev прямо сейчас?
1) По DDL + DML сгенерировать типы, модели и вообще все что угодно для своего языка программирования.
PostgreSQL поддерживается неплохо, и скорее всего подойдет для абсолютного большинства проектов."
источник

TS

Timur Shemsedinov in NodeUA - JavaScript and Node.js in Ukraine
Leon
"Как можно использовать компилятор parsers.dev прямо сейчас?
parsers.dev прямо сейчас?
1) По DDL + DML сгенерировать типы, модели и вообще все что угодно для своего языка программирования.
PostgreSQL поддерживается неплохо, и скорее всего подойдет для абсолютного большинства проектов."
Это классический БД-центрический подход конца 90х годов.
источник

TS

Timur Shemsedinov in NodeUA - JavaScript and Node.js in Ukraine
Разница очевидна
источник

TS

Timur Shemsedinov in NodeUA - JavaScript and Node.js in Ukraine
т.е. парсер дело хорошее, но брать структуру БД за центр системы - это путь в никуда
источник

IK

Illya Klymov in NodeUA - JavaScript and Node.js in Ukraine
его всё еще пытаются продавать
источник

IK

Illya Klymov in NodeUA - JavaScript and Node.js in Ukraine
"опишите магией структуру БД и мы сгенерируем вам счастье"
источник

IK

Illya Klymov in NodeUA - JavaScript and Node.js in Ukraine
https://www.prisma.io/ как пример
источник

TS

Timur Shemsedinov in NodeUA - JavaScript and Node.js in Ukraine
Тут есть свой синтаксис для можеди, а там выше описали когда SQL скрипт заменяет модель
источник

АБ

Артур Бердыев... in NodeUA - JavaScript and Node.js in Ukraine
10 строк понятной sql или 100 непонятной конфигурации, что же выбрать для того, чтобы один раз сгенерировать таблички:)
источник

L

Leon in NodeUA - JavaScript and Node.js in Ukraine
Я позволил себе пригласить Антона для обсуждения, поскольку тема крайне интересна, актуальная, и, надеюсь, полезная.
источник

AR

Anton Revyako in NodeUA - JavaScript and Node.js in Ukraine
Timur Shemsedinov
т.е. парсер дело хорошее, но брать структуру БД за центр системы - это путь в никуда
Привет. Я по приглашению @lp0404 :)

У меня история немного про другое. Это не генератор crud по схемам. Таких инструментов уже достаточно, не было смысла делать еще один.

Немного другой подход. Он для тех, кто пишет сложные запросы и не пользуется ORM. Стояла задача сгенерировать типы результатов (а в идеале и параметров) для произвольного запроса. Схема в данном случае нужна, чтобы ее скомпилировать в промежуточный объект и понять какие типы у используемых полей.
Существует проект, который компилирует запросы в prepared statements и извлекает типы результата прям из базы. Надежно, но не очень универсально.

Кроме типов мне не хватало еще двух вещей - nullability, и класса количества строк (none, one, one or none, many, many or none), для проверки в рантайме.


А когда я научился делать компиляцию в промежуточные объекты, появилась возможность сделать статический анализатор - holistic.dev
источник

AR

Anton Revyako in NodeUA - JavaScript and Node.js in Ukraine
А когда есть типы - из них уже можно что хочешь собрать. Хочешь  модели, хочешь json-schema, хочешь весь микросервис целиком, если он только то и делает, что в базу ходит
источник