С детства я люблю компьютерные игры: хоть сейчас у меня и другие приоритеты, но иногда люблю зайти в старую добрую классику (недавно добил 100% прохождение GTA San Andreas, прошел классическую серию Serious Sam). Мой папа же — не особо любил подобные игры, ему больше нравился минимализм: шашки, тетрис и прочие 2d игры-головоломки. (До Зумы кстати не добрался, надо бы дать ему попробовать! ремарка)Одна из таких игр — была незамысловатая игра жанра маджонг в сеттинге Покемонов: в ней нужно находи…
Рассмотрю на примере nx.dev и webpack module federation.nx.dev был выбран для того, чтобы не пришлось самостоятельно придумывать решения, а взять готовые, которые могут пригодиться при работе с микрофронтами. Можно также yarn workspaces использовать, но тогда бы пришлось все необходимые скрипты писать самому.По самом nx.dev, писал когда-то статью, можно почитать тут. Некоторые моменты могли устареть, но сама концепция осталсь та же. Так например package-based проектов уже нет.Однако в мире микр…
Я часто слышу от своих коллег, что TypeScript для них — как заноза в заднице. В каждом проекте они вынуждены писать полотна типов, TypeScript постоянно бьёт по рукам и не компилирует сборку, пока очередной метод не будет типизирован с головы до пят.Когда я начинал работать с TypeScript, мне это очень нравилось: было весело описывать типы, а хорошо типизированные структуры становились отличной документацией. Однако со временем меня это утомило. Я начал злиться каждый раз, когда не мог ступить и …
Почитав эту статью: https://habr.com/ru/articles/684858 (особенно заинтересовали Waypoints) и обзаведясь коптером DJI, пришел к выводу - да, классно, здорово, но не удобно. Если стоит задача облететь и снять видео поля площадью пару десятков гектаров, то ставить ручками точки маршрута не очень удобно. Занимает много времени.А таких точек может быть десятки. Согласитесь не очень продуктивно?! А хочется просто отрисовать прямоугольник и чтобы в нем сгенерировался маршрут. Пытаясь найти бо…
«Плачущий мальчик», Джованни Браголин.1. Первый рабочий день — обман ожиданийТы приходишь в новую компанию, всё кажется крутым: светлый офис (или уютный хоум-офис), дружелюбная команда, проекты мечты. И тут начинается:Настройка окруженияТы клонируешь репозиторий, уверенный, что всё пойдёт гладко. Но через полчаса ты уже гуглишь ошибки с NPM и Node.js, сталкиваешься с конфигами Webpack, которые больше похожи на книгу по черной магии, и думаешь: "Как оно вообще работает?". Ты пишешь в чат…
Когда автор Адди Османи написал первую версию книги Learning JavaScript Design Patterns в 2012 году, JavaScript еще начинал завоевывать популярность как язык для создания сложных веб-приложений. С тех пор JavaScript претерпел значительные изменения и превратился в один из самых популярных языков программирования, используемый для разработки от простых скриптов до сложных веб-приложений. Если вы совершенствуетесь в JavaScript — не пропустите второе издание этой книги в переводе от издательства Б…
Очень часто по работе сталкиваюсь с различными сервисами для упрощения работы в различных сферах. Речь сейчас не про сервисы, типа Кей Коллектор или Ахрефс, а про Zennoposter или BAS — я не являюсь профессором в области автоматизации, объясню просто, как я понимаю — указанные сервисы это своего рода сложная многоуровневая оболочка, на базе которой можно создавать любые боты и скрипты, которые могут решать практически любые задачи без человеческого вмешательства. То есть нейросеть на минималках.…
Привет, друзья! Предположим, что у нас есть приложение Next.js, данные которого хранятся в Postgres, и мы хотим запустить его в продакшн, но не хотим использовать готовую инфраструктуру Vercel. Что делать? Создать собственную инфраструктуру. К счастью, сделать это не так уж и сложно. Основные элементы нашей системы: приложение, демонстрирующее несколько мощных возможностей Next.js 15 база данных Postgres для хранения списка задач, создаваемых/удаляемых в приложении задача Cron для удаления и…
Исходный код, разобранный в этой статье, опубликован в этом репозитории Микросервисная архитектура, понятная ООП-разработчикамКрупные приложения пишутся в Domain Driven Design. Частный случай этой архитектуры — Model View Controller в монолите. Этому учат в университетах, и найти специалистов просто. Однако для обработки высоких нагрузок нужны микросервисы. Найти хороших специалистов, которые могут поддерживать ООП-код в микросервисах, а не процедурный код, сложно.Для решения проблемы процедур…