Что такое Legacy код

Возможно, это спорный вывод, но я твердо уверен, нет места для legacy-кода в современных системах. Скажу несколько слов, прежде чем вы начнете точить свои вилы и зажжете факелы. Я имею ввиду, что не должно быть ни малейшего повода поддерживать старый функционал, вы добавляете обновления задним числом к старой версии только потому, что некоторые люди все еще используют ее. Даже если этих людей большинство — не делайте так.

Для уточнения: исправление ошибок предыдущих версий до тех пор, пока их контракт на долгосрочную поддержку не закончится, да. Добавление нового функционала, который можно выпустить в версии X, в версии X-1, только для того, чтобы не обижать пользователей X-1 — абсолютно и 100% нет. Аналогично, добавление X-1 кода в версию X только потому, что он может «пригодиться», должно быть признано недопустимым. Если вы по-прежнему берете с людей плату за X-1 и строите свои апгрейды поверх этого, то у вас очень плохой бизнес-план. (more…)

Continue Reading Что такое Legacy код

Микросервисная архитектура в разрезе

Использовать микросервисную архитектуру или нет? Статью с плюсами и минусами, внутренней коммуникацией, принципами и заблуждениями относительно микросервисной архитектуры опубликовал сайт proglib.io.

Виды архитектуры

Простейший и популярный вариант архитектуры – монолитная. Каждый начинал с неё, и здесь нет никакой изоляции и распределённости: один монолит обрабатывает все запросы.

Отчего возникают следующие проблемы:

  • отказоустойчивость;
  • горизонтальное масштабирование;
  • применение одной технологии или языка и невыгодность переписывать огромный монолит;
  • сложность рефакторинга из-за хранения кода в одном месте и куча legacy;
  • трудности работы в команде разработчиков;
  • чтобы использовать повторно, придётся дробить.

Второй по популярности вид архитектуры – пара монолитов, микс из монолита и сервисов или даже микросервисов. То есть вы сохраняете монолит, а доработки выполняете с использованием современных технологий. (more…)

Continue Reading Микросервисная архитектура в разрезе

Микросервисная архитектура

Микросервисы – это путь разбиения большого приложения на слабо связанные модули, которые коммуницируют друг с другом посредством просто API.

Микросервисная архитектура: плюсы и минусы - 1

Последнее время о микросервисах не говорит разве что немой. Это становится все популярнее. Модульный архитектурный стиль кажется особенно хорошо подходит для облачных сред(cloud-based environment) и его популярность растет. Предже чем углубиться в детали, давайте посмотрим на все “с высоты птичьего помета полета”. Поэтому: Микросервисы – это способ разбиения большого проекта на небольшие, независимые и слабо связные модули. Независимые модули отвечают за четко отпределенные и дискретные задачи и общаются друг с другом посредством простого и доступного API. Другими словами – микросервисы это просто другой архитектурный стиль для проектирования сложных, в основном, веб-приложений. Но что такого плохого существующих архитектрных решениях, таких как SOA( Service oriented architecture — сервисно огриентированная архитектура)? Большинство современных ентерпрайз-решений написаны с использованием SOA, похоже работают довольно хорошо. Пожалуй, это отличное время для того, чтоб поговорить о некоторых вызовах в индустрии, с которыми сталкиваются в наше время… Давайте начнем с простого примера. Допустим, мне нужно запустить классическое приложение написанное на Java. Первым я разработаю User Interface, потом слой с бизнес логикой, причем несколько компонентов, которые будут взаимодействовать с UI и, наконец, слой для базы данных, который будет доступен к устойчивой базе данных. Теперь в соотвествии с тем, что я хочу запустить приложение, я создам WAR/EAR/JAR и смонтирую его на сервер(таких как JBoss, Tomcat или WebLogic). Так как сделано это все в одном, я получаю монолитное приложение, что означает, что все компоненты в одной месте… (more…)

Continue Reading Микросервисная архитектура

Continuous integration vs. continuous delivery vs. continuous deployment

Continuous deployment - функции программного обеспечения предоставляются через очень частое автоматическое развертывание/ выпуск продукта по несколько раз в день Continuous delivery  -  это подход к разработке программного обеспечения, при котором…

Continue Reading Continuous integration vs. continuous delivery vs. continuous deployment

Как скачать  видео, доступное для просмотра в microsoftstream.com

Ради научного интереса и движения прогресса Просто оставлю это здесь "Как скачать  видео, доступное для просмотра в microsoftstream" чтобы не запрашивать права у автора Ставим node (и git, если гита…

Continue Reading Как скачать  видео, доступное для просмотра в microsoftstream.com

mod_rewrite .htaccess заменить в URL символ “?” на “@”

# RewriteEngine on RewriteBase / RewriteEngine On RewriteCond %{QUERY_STRING} ^(.+)$ RewriteRule (.*) [email protected]%1? [R=permanent] пару часов промучался пока н нашел по запросу mod_rewrite: remove query string from URL?  https://stackoverflow.com/questions/3457022/mod-rewrite-remove-query-string-from-url понадобилось…

Continue Reading mod_rewrite .htaccess заменить в URL символ “?” на “@”

Как подключиться с внешнего мира к локальному серверу без IP

Условия задачи Стоит домашний сервер для бэкапов Внешнего IP нет - даже динамического. Интернет провайдер выдал мне локальный IP за файрволом Внимание вопрос - как с внешнего мира подсоединиться к…

Continue Reading Как подключиться с внешнего мира к локальному серверу без IP

PWA Progressive Web Apps своими руками. Продолжаем ускорять сайт

PWA - это своего рода приложение, устанавливаемое из браузера, которое может предоставить дополнительные функции, основанные на возможностях используемого устройства: сайт может работать автономно оффлайн, делать push-уведомления и выглядеть и работать…

Continue Reading PWA Progressive Web Apps своими руками. Продолжаем ускорять сайт

SEO оптимизация картинок ресайз автоматом по User-agent посетителя

Данный скрипт повышает на несколько процентов оценку скорости для мобильной версии сайта по https://developers.google.com/speed/pagespeed/insights/  От CMS не зависит, т.к. сам выбирает из всех запросов на сервер только картинки PHP ресайзит…

Continue Reading SEO оптимизация картинок ресайз автоматом по User-agent посетителя

Что можно сделать через разъем OBD в автомобиле

https://habr.com/ru/post/448658/ Ни для кого не секрет, что в современных автомобилях все системы под завязку забиты различной электроникой, даже простой стеклоподъемник имеет собственный микроконтроллер и адрес в общей сети. Мне, как…

Continue Reading Что можно сделать через разъем OBD в автомобиле