Pull to refresh
0
0
vearutop @vearutop

User

Send message
Виталий, какие перспективы карьерного роста у разработчика, который не хочет перекладывать бумажки в jira?

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

Городить микросервисы имеет смысл в условиях неразберихи и переизбытка разработчиков. Таким образом можно явно распределить ответственность между командами и улучшить диагностируемость системы (мониторинг компонентов, хелсчеки).
Крайне важным при этом становится соблюдение контрактов и поддержка обратной совместимости (с версированием интерфейсов).
Процесс миграции и разделения монолита может занять годы.
Что касается масштабирования, хороший монолит не слишком уступает тут сервис-ориентированной архитектуре. Как правило все упирается в централизованные хранилища и диспетчеры.
Действительно полезное свойство — параллельные композиционные релизы, когда из-за ошибки в одной задаче, не приходится перестраивать весь реализ.
Не стоит рассматривать СОА как способ оптимизации производительности, межкомпонентные задержки и блокировки скорее всего ухудшат общую скорость.

По опыту живого проекта, общий код выделяется в библиотеки которые потом доставляются менеджером зависимостей (например composer для php, или glide для golang). Зависимости актуализируются согласно семантическому версированию.


Что касается контрактов, для REST есть спецификация описания интерфейсов swagger, из неё можно сгенерировать клиентскую библиотеку (методы и структуры) и внедрить её как зависимость.


В общем случае (rabbitmq, protobuf) протокол взаимодействия (методы и структуры) должен быть описан в клиентской библиотеке.

Интересно было бы сравнить с BPG
Вывод через USB DisplayLink обладает спецификой из-за ограниченной пропускной способности, на кино или видео игры ее конечно не хватает. Но окно IDE или консоль с логами работают вполне.
В моем опыте набор кода значительно менее затратен чем придумывание. Кроме того IDE позволяет авто-дополнениями сильно сократить количество печати.
Есть проблема с одноименными населенными пунктами, так например адрес 77.106.95.186 принадлежит российскому Северску в Томской области, но определяется как украинский из Донецкой области.

В чем преимущества и фундаментальные отличия от phpDaemon (http://daemon.io/)?
Четвертое решение уже сейчас не будет работать в таком виде на Maria DB (https://mariadb.com/kb/en/derived-table-merge-optimization/), чтобы работало достаточно добавить LIMIT с заведомо большим числом в derived выборку
SELECT article, dealer, price FROM ( SELECT article, dealer, price FROM shop ORDER BY price desc LIMIT 1000000000000 ) as t GROUP BY article ORDER BY NULL;
возможно имеется ввиду нуль-терминированная строка 0Ah,00h
В качестве окна можно использовать лог веб-сервера, это значительно уменьшит расходы на подсчет т.к. позволяет вообще не обращаться к бд при кэшировании страницы. Что касается таблицы в памяти, можно использовать буфферизированную запись лога (такая возможность есть например в nginx).
возможно имеется ввиду ускорение тока
Для многих пользователей, которые не перезагружают компьютеры без крайней необходимости, а хранят их в сонном состоянии вместе с запущенными программами, SSD не особо актуален, гораздо полезнее иметь достаточный объем кэширующей оперативной памяти.

Так например в официальных рекомендациях по улучшению производительности Adobe Photoshop применение SSD отнесено к последним мерам.
на stackoverflow.com запустили чат с «экспертом»
интересно, в этом реестре есть хоть один блок по существу (против педофилов и прочих самоубийц)?
Как описать x() в phpdoc (для автокомплита правильных геттеров)?
больше пользы было бы от этой программы на серверной стороне, а не клиентской
Лучшая практика — это та, которая лучше подходит к задаче. И мой комментарий был на обвинение в пропаганде «спагетти-кода».
Нет никакого «должно», есть только «может».

Безусловно изоляция слоев приложения помогает избежать многих ошибок, но эта же изоляция может затруднять решение задачи.

Например, у нас есть замечательная библиотека для работы с БД, она умеет автоматически собирать синтаксически правильные запросы, но при этом потребялет в качестве оплаты за свои услуги дополнительные ресурсы. Внезапно перед нами встает задача, которая загоняет библиотеку в мемори лимит. Что делать?

Если решение требует нетривиального использования БД, с конструированием сложных вложенных запросов основанных на критериях определяемых в разных местах кода, что делать?

Ручная сборка запросов — это как ассемблерные вставки в коде драйвера устройства, неудобно, опасно, но иначе не взлетит :(

Information

Rating
Does not participate
Location
Томская обл., Россия
Date of birth
Registered
Activity