Обновить
-4
@andmerk93read⁠-⁠only

Пользователь

Отправить сообщение

Микросервисы в представлении среднего разработчика, и как всё на самом деле

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров72K

Периодически общаюсь с разработчиками о микросервисах, монолитах и прочих мифических существах. Удивляет, какая эзотерика живёт в головах у людей, иногда слышишь такое, что ёжики в тумане нервно курят в сторонке.

Когда спрашиваю у людей на собесах, или когда в команде решаем, как клепать очередной проект, такое порой слышу, что становится страшновато. Мне кажется, лет через 5 все компании будут обитать в мультивселенной безумия из “микросервисов”, которую они себе радостно построили, уходя от этих ваших страшных “монолитов”.

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

погрузиться в микросервисы

Деконструкция монолита: Максимально производительный подход к проектированию программ

Время на прочтение10 мин
Количество просмотров7.4K

Как и почему компания Shopify перешла от монолитной архитектуры к модульно-монолитной.


image

У компании Shopify одна из крупнейших баз кода на Ruby on Rails. Над ней трудились более десяти лет свыше тысячи разработчиков. Она включает множество разнообразных функций, например, выставление счетов продавцам, управление сторонними приложениями, обновление информации о товарах, обработка доставки и так далее.

Изначально система была построена как монолит, то есть все эти разные функциональные возможности были встроены в одну кодовую базу без каких-либо разграничений между ними. В течение многих лет эта архитектура работала нормально, но в конце концов мы достигли точки, когда недостатки монолита перевесили преимущества. Нам предстояло сделать выбор, как действовать дальше.
Читать дальше →

USB over IP в домашних условиях

Время на прочтение4 мин
Количество просмотров58K
Иногда возникает желание работать с устройством, подключенным по USB, не держа его на столе рядом с ноутбуком. У меня таким устройством является китайский гравёр с лазером на 500 мВт, штука довольно неприятная при близком контакте. Помимо непосредственной опасности для глаз, в процессе работы лазера выделяются токсичные продукты горения, поэтому устройство должно находится в хорошо проветриваемом помещении, и желательно изолированно от людей. А как же таким устройством управлять? Ответ на данный вопрос я случайно нашел, просматривая репозиторий OpenWRT в надежде найти достойное применение старенькому роутеру D-Link DIR-320 A2. Для подключения решил использовать описываемый на Хабре ранее USB over IP tunnel, однако все инструкции по его установке успели потерять актуальность, поэтому пишу свою.
Читать дальше →

И снова о Redmi AX6S + OpenWRT

Уровень сложностиСредний
Время на прочтение15 мин
Количество просмотров49K

Было решено написать еще одну статью на уже известную тему, потому что при перепрошивке Redmi AX6S на OpenWRT я встретился с отклонениями реального процесса прошивки этого роутера на OpenWRT от найденных мной инструкций и материалов. Я посчитал, что данная информация будет полезна людям, у которых похожие задачи и опыт в сетевых технологиях (чуть выше среднего).

Хочу прошить!

Какой роутер для OpenWrt купить в 2025 году?

Уровень сложностиПростой
Время на прочтение21 мин
Количество просмотров382K

Я много пишу про OpenWrt и часто получаю вопросы о том, какой взять роутер под эту ОС. В прошлом году я уже делал обзор роутеров, лучше всего подходящих под OpenWrt. Тогда выбор был не очень большой, но сейчас всё изменилось в лучшую сторону. Поэтому я сделал новый актуальный разбор для тех, кто не знает, какой роутер выбрать.

Роутер, как и любой другой девайс, нужно покупать под запрос. Например, линуксоиды привыкли покупать ноутбуки именно под Linux, а не первый попавшийся. Также и тут: если нужен OpenWrt, то роутер тоже надо выбирать с умом, а не надеяться на то, что кастомная прошивка сделает конфетку из роутера за 700 р.

В 2023 и 2024 появились интересные роутеры, которые уже поддерживаются проектом OpenWrt. Эти роутеры сделаны на базе ARM-процессоров. Такие роутеры появились у нескольких компаний, и дальше их количество будет только увеличиваться.

Читать далее

Введение в fetch

Время на прочтение5 мин
Количество просмотров313K

Прощай, XMLHttpRequest!


fetch() позволяет вам делать запросы, схожие с XMLHttpRequest (XHR). Основное отличие заключается в том, что Fetch API использует Promises (Обещания), которые позволяют использовать более простое и чистое API, избегать катастрофического количества callback'ов и необходимости помнить API для XMLHttpRequest.
Читать дальше →

Очерки истории CSS

Время на прочтение9 мин
Количество просмотров14K
Размышляя об HTML и CSS, вы, наверное, представляете себе их как технологии, которые всегда были вместе. Однако, через годы после того, как в 1989-м Тим Бернерс-Ли создал World Wide Web, CSS ещё и в помине не было. Первоначальные концепции, на которых построен веб, совершенно не предусматривали способов стилизации сайтов.



Вот небезызвестный пост из архивов старых рассылок. Его написал Марк Андриссен в 1994-м. Он приложил руку к созданию браузеров Mosaic и Netscape. В этом материале Андрессен отмечает, что так как не существует способа стилизации веб-сайтов с использованием HTML, единственное, что он может сказать веб-разработчикам, которые задают ему вопросы о графическом дизайне, было: «извиняюсь, но вы попали».

Десятилетие спустя CSS полным ходом шёл к тому, чтобы стать общепризнанным инструментом веб-дизайна. Что произошло за эти годы?
Читать дальше →

Как я перестроил почти с нуля отдел техподдержки хостинга за 4 года

Время на прочтение11 мин
Количество просмотров12K
Стратегическое решение было таким: поддержка не должна оставлять ощущение, что вы поговорили с безразличными тупыми уродами. Это как минимум. А в идеале должна быть помогающей и доброй, то есть — конкурентным преимуществом. 10 лет назад основатели отвечали на вопросы пользователей. Я этот период не застал.



Мы довольно быстро выросли от маленького хостинга до одного из лидеров рынка (сейчас с нашего хостинга открывается 12,7% сайтов Рунета). В середине этого процесса стало понятно, что надо либо забить на количество пропущенных звонков, либо что-то принципиально менять в организации работы. Были все шансы стать стереотипной поддержкой с типичной отбивкой «попробуйте перезагрузить» в ответ на подробное описание проблемы, то есть бездушными бюрократами, которым важно выполнить скрипт, а не решить проблему.

Но сначала надо было решить другую задачу: в 2017 году мы не отвечали на примерно каждый десятый звонок. То есть человек звонил-звонил, ждал 10-12 гудков, потом клал трубку. И если он не перезванивал, надеялись, что человек справился сам.

Хотелось, чтобы звонки не терялись. И ответы были нормальные человеческие.
Читать дальше →

Гиперпараметрическая оптимизация прокатных характеристик фильма и подбор состава творческой группы

Уровень сложностиПростой
Время на прочтение10 мин
Количество просмотров914

Можно ли подобрать прокатные характеристики фильма (жанр, время, деятельность, возрастной рейтинг и т.п.), а также режиссера, сценариста, актеров, оператора (всю творческую группу) так, чтобы существенно повысить его результаты в прокате? Желательно заранее, до начала съемок.

Читать далее

Большое интервью Саймона Данлопа — основателя Dream Industries: как вывести российские ИТ-продукты на мировой рынок

Время на прочтение13 мин
Количество просмотров10K


Саймона Данлопа (Simon Dunlop) можно смело назвать российским предпринимателем английского происхождения. Этот человек, к настоящему моменту, достаточно серьезно повлиял на ИТ-индустрию нашей страны. Он уже подтвердил и продолжает это доказывать, что российские ИТ-продукты могут успешно конкурировать с западными не только у себя дома, но и в гостях — за границей.

Иногда кажется, что он понимает русский бизнес-менталитет лучше, чем мы сами. Это, возможно, главная причина успеха его проектов в России. Узнав, что Саймон не против пообщаться, мы договорились о встрече в его офисе и записали этот разговор.

Первый вопрос мой звучит следующим образом: как англичанина, который работал в табачной промышленности, занесло в ИТ, еще и в Россию?

Я работал в табачном бизнесе [компания Philip Morris] почти 7 лет. За это время у меня появилось желание заниматься чем-то своим. За это время я видел, как наши клиенты развивали свои бизнесы – от нуля до нескольких сотен миллионов долларов оборотом. Мне хотелось то же самое сделать.
Читать дальше →

Ирина — опенсорс русский голосовой помощник. Offline-ready

Время на прочтение9 мин
Количество просмотров67K

- Ирина, таймер...
- Ставлю таймер на пять минут.

Вполне себе обыденная история из моего быта. Я таки сделал собственного автономного голосового помощника.

TL;DR> Ирина вполне неплохо работает дома 24x7.

Потребуется установить Python 3.5+ и зависимости через pip (немного знаний Python).

Скиллы "из коробки": таймер, погода, контроль медиа (громче/тише/дальше), контроль плеера MPC-HC, запуск медиа из папки, расписание ближайших электричек, "подбрось кубик/монетку".

Плагинами добавляются: другие скиллы, Text-to-Speech и Speech-to-Text движки.

Интересно? Поехали >

Процессы и потоки in-depth. Обзор различных потоковых моделей

Время на прочтение10 мин
Количество просмотров131K
Здравствуйте дорогие читатели. В данной статье мы рассмотрим различные потоковые модели, которые реализованы в современных ОС (preemptive, cooperative threads). Также кратко рассмотрим как потоки и средства синхронизации реализованы в Win32 API и Posix Threads. Хотя на Хабре больше популярны скриптовые языки, однако основы — должны знать все ;)
Далее

Excel — самый опасный софт на планете

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров103K


В 80-е годы компании покупали компьютеры, чтобы запустить электронные таблицы. Автоматический расчёт налогов и зарплат казался чудом. Тысячи бухгалтеров оказались на улице, остальным пришлось осваивать работу ПК, а конкретно — Excel.

И до сих пор Excel играет важнейшую роль в бизнесе многих компаний. Без электронных таблиц у них просто всё развалится. Сложно найти на компьютере другую программу настолько древнюю и настолько важную, от которой столько всего зависит. И в такой ситуации факапы неизбежны.
Читать дальше →

Разработчики встраиваемых систем не умеют программировать

Время на прочтение9 мин
Количество просмотров62K

Заслуженно распространена точка зрения, что типичный разработчик высокоуровневого прикладного ПО настолько свыкся с доступностью системных ресурсов и мягкостью требований реального времени, что ожидать от него оптимизации кода в угоду снижения ресурсоёмкости приложения можно лишь в крайних случаях, когда этого прямо требуют интересы бизнеса. Это и логично, ведь в задачах прикладной автоматизации самым дорогим ресурсом остаётся ресурс человеческий. Более того, снижение когнитивных затрат на возню с байтами оставляет внимание разработчика свободным для задач первоочередной важности, таких как обеспечение функциональной корректности программы.

Редко когда речь заходит об обратной проблеме, имеющей место в куда более узких кругах разработчиков встраиваемых систем, включая системы повышенной отказоустойчивости. Есть основания полагать, что ранний опыт использования MCS51/AVR/PIC оказывается настолько психически травмирующим, что многие страдальцы затем продолжают считать байты на протяжении всей карьеры, даже когда объективных причин для этого не осталось. Это, конечно, не относится к случаям, где жёсткие ценовые ограничения задают потолок ресурсов вычислительной платформы (микроконтроллера). Но это справедливо в случаях, где цена вычислительной платформы в серии незначительна по сравнению со стоимостью изделия в целом и стоимостью разработки и верификации его нетривиального ПО, как это бывает на транспорте и сложной промышленной автоматизации. Именно о последней категории систем этот пост.

Читать далее

Установка программы модификации сетевых пакетов NFQWS на роутер Keenetiс

Уровень сложностиСредний
Время на прочтение13 мин
Количество просмотров523K

Привет, Хабр!

Сегодня рассмотрим вариант установки утилиты модификации сетевых пакетов Zapret на роутеры Keenetic. В отличии от простого использования на конкретных устройствах, при установке на роутер появляется возможность обрабатывать трафик идущий от всех устройств, подключенных к домашней локальной сети (ПК, смартфоны и смарт телевизоры).

Читать далее

Чиним замедление YouTube на уровне роутера

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров673K

Всех категорический приветствую. Буквально первого августа, прямо в ночь, стал у меня жутко лагать YouTube. Естественно, мне это сильно не понравилось. Ну, что же, давайте разбираться, почему и как это исправить в условиях моей личной сети.

Что случилось?

Хорошо описано произошедшее здесь, на Хабре. Если совсем кратко, своими словами - во время установки SSL соединения в открытом виде домен передается к которому мы подключаемся(так называемое SNI). И если это googlevideo.com то начинают твориться "интересные вещи". Можно проверить это локально коммандами из статьи.

$ curl https://speedtest.selectel.ru/100MB -o/dev/null

Читать далее

Замедление YouTube с технической стороны: ограничение и обход

Время на прочтение5 мин
Количество просмотров450K

Привет, Хабр!

В последнее время замечаю огромное количество информации по поводу замедления Великого, но очень мало где видел конкретику о том, как именно это работает. Одно лишь отчаяние "мы все умрём".

Сразу скажу, что буду говорить обо всём, что известно на данный момент. Понятно, что с этим разбирался далеко не один я: огромное спасибо обывателям ntc party форума за проделанный ресёрч.

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

UPD 10.08.2024 Многие жалуются на недоступность ютуба в целом: не грузит домашнюю страницу. Переживать не стоит, оно обрабатывается всё тем же ТСПУ по всё той же стратегии, обходы должны работать.

Читать далее

Коротко о Shadowsocks, или OpenVPN не нужен (в каждом доме)

Время на прочтение6 мин
Количество просмотров342K
В наши дни, когда всякие нехорошие элементы так и норовят влезть в ваш трафик и как-то там напакостить, стало модным шифрование трафика. Начинание это благое и полезное, вот только делают его зачастую избыточно. Если шифрование трафика до доверенного сервера, типа своего VPS, — ваша единственная цель, то OpenVPN для такой цели слишком наворочен. Его долго настраивать, легко обнаружить, а главное — есть подводные камни, не зная которых можно получить такую ситуацию, что VPN стоит, а трафик идёт в обход. Всё это потому, что OpenVPN задумывался больше как средство доступа к маленькой сети через Интернет, а не для доступа ко всему Интернету.
Читать дальше →

Shadowsocks-туннелирование корпоративного VPN

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров73K

Если у вашей компании имеются серверы, работающие за границей, и доступ для внутренних пользователей вы предоставляете посредством VPN-протоколов (достаточно типовая схема, особенно после Covid — 2019, когда удалённая работа стала особенно популярной), то настало время действовать на опережение. Конечно, применение административного ресурса, возможно, защитит ваши интересы от тотальных проблем в будущем, но лучше подстраховаться, чем в один прекрасный день получить 100500 сообщений от систем мониторинга о недоступности опекаемых клиентов. Статья демонстрирует, как скрыть от противодействия со стороны систем глубокого анализа трафика сервисы компании, доступ к бизнес-процессам которых обеспечивается посредством VPN, используя для этого туннели shadowsocks.
Читать дальше →

Разработка для заводов. Как это было

Уровень сложностиПростой
Время на прочтение11 мин
Количество просмотров14K

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

Читать далее

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность

Специализация

Инженер АСУТП
SQL
Python
Администрирование сетей
Системное администрирование
Администрирование серверов
PLC
Программирование ПЛК
Scada
АСУ ТП