• 0
    Если Вам не удавалось разделить логику, более того, если бы даже это не удавалось ни кому, то это не значило бы, что этого сделать нельзя. Но, поверьте, удавалось. Например, логика корректности разделяется на две части, собственно правила корректности и алгоритм применения правил к данным. Правила пишутся в формате метаданных (не обязательно только декларативные, метаданные могут содержать и функции) и помещается в метамодель (схему) предметной области. Алгоритм же пишется 2 раза (и она действительно разный), один раз для применения правил к UI, второй — для применения правил к данным на сервере приложений для пакетной обработки. Может быть и третья реализация, для применения правил к данным в СУБД. Не вижу тут сложностей, честное слово.
    Эволюция приложений или куда мы идем
  • 0
    В варианте #D есть логика и на клиенте и на сервере, он от варианта #B отличается только одноранговым взаимодействием клиентов и дополнительной функцией сервера — быть брокером в одноранговом взаимодействии.

    Вообще, конечно, для ERP лучше разделить логику, что и предложено в «Hybrid Application». С разной пропорцией можно выделить:
    — Логику модели (она запускается и на клиенте и на сервере, там, где работает модель)
    — Логику бизнес-процессов (которую для ERP удобнее реализовывать на сервере)
    — Логику интерфейса (которая запускается только на клиенте и абстрагирована от прочей логики)
    И эти три вещи не можно так построить, что они не будут пересекаться и «знать» друг о друге.
    Эволюция приложений или куда мы идем
  • 0
    Конечно же проектирование БД, Olga_ol, это же не курс о том, как написать PostgreSQL. В видео БД написано, нужно заголовки править и в ютюбчике тоже.
    Лекции Технотрека. Проектирование СУБД (осень 2016)
  • 0
    HANA это очень хороший пример архитектуры, комплексный, состоящий из сервера приложений, СУБД, веб-сервера. Но я не специалист в SAP и глубоко не расскажу, а что точно понятно, что все компоненты там работают отдельно, как разные службы, без встраивания, о котором я пишу в статье, и такое решение застряло в середине нулевых годов, хотя, на то время было очень передовым. Разные процессы требуют постоянного межпроцессового взаимодействия, а это не только существенная потеря ресурсов, но и ограничения, например, сервер приложений должен дублировать в модель предметной области в памяти, а вообще она в БД хранится, так зачем же дублировать и синхронизировать. Все идет к интеграции.
    Эволюция приложений или куда мы идем
  • 0
    Про QNX непонятно, поясните, к чему она тут?
    Эволюция приложений или куда мы идем
  • +1
    Это плохо: const Car = { ... };
    Это хорошо: const car = { ... };
    Объекты называем в lowerCamelCase, а классы и конструкторы прототипов в UpperCamelCase.
    Чистый javascript.Переменные
  • 0
    По такой логике можно было бы добавить хабы: Разработка веб-сайтов, HTML, jQuery. Те, кто хочет читать статьи по JavaScript, тот подписывается на JavaScript. А если человек подписан на Node.js, но не подписан на JavaScript, то он не хочет видеть эти статьи.

    Вот лучше добавить: Совершенный код, Проектирование и рефакторинг.
    Чистый javascript. Объекты и структуры данных. Асинхронность. Обработка ошибок
  • +1
    И уберите со всех статей теги: ReactJS, AngularJS. Ни одна из них ни каким боком к ним не отностися. Вас же минусуют за них.

    Можно оставить тег Node.JS только для этой статьи, а на других тоже уберите, это все про чистый JavaScript и только про JavaScript.
    Чистый javascript. Объекты и структуры данных. Асинхронность. Обработка ошибок
  • +1
    Отступы, длинные строчки, описательные пременные. Лучше взять примеры тут, я поправил: tshemsedinov/clean-code-javascript/tree/max-line-length-80
    Чистый javascript. Объекты и структуры данных. Асинхронность. Обработка ошибок
  • +4
    Райан уже оправдывается за свои примеры на гитхабе ryanmcdermott/clean-code-javascript. Но вообще, делать require в функциях, в колбеках от ввода/вывода, и на промисах — это не то, чтобы не чистый код, это лютый ужас. А новички, которым эта книга предназначена, такого почитают и потом мы встречаем require внутри циклов или внутри Array.map()
    Чистый javascript. Объекты и структуры данных. Асинхронность. Обработка ошибок
  • 0
    Вызывайте функцию age() через runInNewContext и будут ограничивать.
    Node.js и JavaScript вместо ветхого веба
  • –3
    Так в отдельном процессе на другом языке и по JSTP с ноды высылать запрос или адон на Си сделать, но в js не самая лучшая математика для алгоритмов.
    Node.js и JavaScript вместо ветхого веба
  • –2
    Считать пи на ноде, серьезно?
    Node.js и JavaScript вместо ветхого веба
  • –1
    Таймауты нужно ставить на: парсинг, исполнение кода и вызовый функций, которые из этого кода экспортируются, но все это скрыто от разработчика, делается рантаймом.
    Node.js и JavaScript вместо ветхого веба
  • +1
    Как из анекдота «чем такого лечить, проще нового сделать». Добавить не очень сложно, но они очень долго не будет поддерживаться всеми, а значит, на нее нельзя будет рассчитывать. Да и ID это только одна проблема, нужно еще объединять мелкие пакеты в один и бить большие пакеты на части, потому, что один большой ответ может забить собой соединение на долго, не пропуская маленькие ответы. Еще нужно возможность отменять долгие запросы, да вообще слишком много чего нужно.
    Node.js и JavaScript вместо ветхого веба
  • –2
    У нас: несколько сишников, несколько питонистов, несколько свифтовцев, несколько джавистов, несколько обджективсишников, по одному го и хаскелевцев.
    Node.js и JavaScript вместо ветхого веба
  • 0
    Сравните диаграммы
    Node.js и JavaScript вместо ветхого веба
  • 0
    Так протокол остается блокирующим, проблема называется «head-of-line blocking», это для API совершенно не применимо, это для загрузки статики ускорит. А если через соединение отправить запрос, то до его возврата новый не отправить все равно. Pipelining позволяет отправить пачку запросов разом и так же разом ожидать на них ответ. По сути это отправка одного запроса, склеенного и получение на него одного большого ответа. Как только запрос или пачка отправлены, то соединение заблокировано до получения последнего из них. Смысл API в том, чтобы посылать запросы тогда, когда это нужно, в произвольное время.
    Node.js и JavaScript вместо ветхого веба
  • –2
    Тсс… пусть сам делает лабу, а не паленую сдает, я его уже почти обучил.
    Node.js и JavaScript вместо ветхого веба
  • –1
    Так че, заработало?
    Node.js и JavaScript вместо ветхого веба
  • –2
    Это таймаут на парсинг, а теперь на исполнение скрипта
    let exported = js.runInNewContext(sandbox, { timeout: 1000 });
    

    Доки читайте.
    Node.js и JavaScript вместо ветхого веба
  • –2
    Предполагается передача кода по сети с сервера на клиент, ни это ли происходит при
    <script src="script.js"></script>
    
    Про обратную совместимость и прочее я уже пояснил, это экспериментальный стек.
    Node.js и JavaScript вместо ветхого веба
  • –1
    Где?
    new vm.Script(code, { timeout: <number> });
    
    Node.js и JavaScript вместо ветхого веба
  • –4
    Кстати, так нечаянно случилось, что именно сегодня, 23 августа, 25 лет назал, другой Тим запустил ветхий веб, о чем нам рассказывает Wired, а 6 лет назад тот же Wired похоронил веб
    Node.js и JavaScript вместо ветхого веба
  • +1
    Спасибо за поддержку, надеюсь, что редукция до одного синтаксиса много что упростит. А JavaScript уже реализован на всех платформах. Мы и язык запросов делаем вот такого толка, см. концептуальный код. Это существенно проще, чем мы делали в конце девяностых на Дэлфи, шлюз между FIDO hydra протоколом и USP over TCP. Тмыл, голдед, UUE, это все было пропитано правильным духом общения людей, но таким же нагромождением стандартов, как и ветхий веб сейчас. Сейчас я год выбирал из более чем 300 студентов политехнического ВУЗа, читал лекции, делал семинары, сидел с ними с 10 утра до 10 вечера, и теперь они сами пишут код именно так, как это делал бы я, теперь они очень эффективны, потому, что одинаково мыслят, тратя минимум времени, чтобы договориться между собой. Мы все сделаем, тов. Mithgol the Webmaster!
    Node.js и JavaScript вместо ветхого веба
  • –3
    Попробуйте
    Node.js и JavaScript вместо ветхого веба
  • 0
    Через то же HTTP 1.1 соединение нельзя послать следующий запрос, пока не вычитаешь предыдущий.
    Node.js и JavaScript вместо ветхого веба
  • –2
    new vm.Script(code, { timeout: <number> });
    
    Node.js и JavaScript вместо ветхого веба
  • –1
    Поверх блокирующего протокола добавить ID, для различения ответов это шикарно. Посылаем запрос 1, ждем ответа 1, посылаем запрос 2, ждем ответ 2, класс просто.
    Node.js и JavaScript вместо ветхого веба
  • 0
    HTTP 1.1 имеет блокирующие соединения, и ограниченное их число, это одна из причин разработки HTTP/2
    https://http2.github.io/faq/#what-are-the-key-differences-to-http1x
    Node.js и JavaScript вместо ветхого веба
  • –1
    Аргумент, че…
    Node.js и JavaScript вместо ветхого веба
  • –3
    Впервые новый протокол не вводит ни одного нового синтаксиса или нового формата данных, а использует уже стандартизированный EcmaScript.
    Node.js и JavaScript вместо ветхого веба
  • 0
    Представьте, что мы откажемся от HTTP, HTML, CSS, DOM, URL....
    Конечно своя среда запуска.
    Node.js и JavaScript вместо ветхого веба
  • –1
    Для справедливости нужно сказать, что JavaScriptCore для iOS не поддерживает позиционного итерирования для числовых ключей.
    Node.js и JavaScript вместо ветхого веба
  • –2
    Потому, что это JavaScript, для отличения скалярных типов от объектов, встроенные типы данных пишутся с маленькой, а встроенные типы объектов в большой.

    Второй вопрос: последовательность итерации ключей. Вы невнимательно читали статью, если вообще читали. Хром тут ни при чем, это не для браузеров все. Приложения на базе JSTP не будут работать в браузерах гипертекста, они запускаются в своем рантайме, который имеет встроенный парсер, работающий с порядком ключей так, как нужно нашему стеку. А пока все движки реализуют позиционное итерирование.
    Node.js и JavaScript вместо ветхого веба
  • –1
    Скобочки в Date это опечатка, спасибо, поправил. Пример концептуального кода по этому вопросу тут: https://github.com/metarhia/JSQL/blob/master/Examples/filterArray.js
    Node.js и JavaScript вместо ветхого веба
  • –4
    Не добавить ID запросов это откровенная лажа, инженер лучше добавит лишний ID, чем не будет иметь возможности однозначной идентификации.
    Node.js и JavaScript вместо ветхого веба
  • –1
    Вычисляемых полей это не добавит и на каждый класс по два таких метода?
    Node.js и JavaScript вместо ветхого веба
  • –5
    Да не их вина конечно, вот позорно, что программисты взяли эти наработки, не поправив их проблемы в самом начале, когда это было еще очень просто.
    Node.js и JavaScript вместо ветхого веба