Казалось бы, довольно простой вопрос: «Чем сжать видео?». На ум сразу приходят Handbrake, Movavi Converter или ещё что-нибудь пострашнее. Однако когда речь заходит о более гиковском подходе с упором на максимальное качество и экономию места, такие программы сложно назвать инструментами. Равно как и для обратной ситуации, когда картинку нужно сильно сжать и сохранить в целостности большую часть полезной информации. Все эти программы только лишь предоставляют набор наиболее общих конфигов для об…
Недавно возникшая тема с блокировкой (замедлением) Youtube коснулась практически каждого жителя РФ. При этом до сих пор нет ни одного прямого официального заявления о причастности к этой блокировке. Ни одно государственное ведомство не созналось в блокировке, открестился Google, открестились провайдеры интернета. На этом фоне мне показалось важным не только выявить и указать всех причастных, прямых и косвенных, но и установить, кто и в каком отношении является выгодоприобретателем от этой блоки…
Продолжаем истории быдлокодера, который никак не может стать миллионером. Сейчас будет трогательная история, как мы начали импортозамещать MATLAB в авиации, когда нас об этом никто не просил, и до того, как это стало модно, и молодежно!Как я уже рассказывал, американская коррупция превратила физика-ядерщика в былдокодера, но далеко от ядерных реакторов у меня оторваться сразу не получилось, несмотря на всю мою оторванность. Поэтому первые коммерчески успешные проекты у нашей копании были связан…
Привет, Хабр! Я Кирилл Кузин — старший разработчик в компании Ви.Tech,являющейся IT-дочкой маркетплейса ВсеИнструменты.ру. Интернет-магазин стремительно растет и развивается. И сейчас мы имеем 4 кластера Kubernetes, в каждом из которых живут от 200 до 215 нод, а 1 млн пайплайнов в месяц выполняют свою работу. Ежедневно на наш сайт приходит почти 2 млн уникальных пользователей.Я и мои коллеги создаем высоконагруженную среду для развития бизнеса маркетплейса. Наши сервисы выдерживают десятки тыся…
За свои 15+ лет в разработке я прошёл наверное 100+ собеседований — и почти четверть из них в этом году, в течение последнего месяца:) Что‑то необычное происходит — подумал я — и решил поделиться наблюдениями — может вы тоже что‑то заметили? А может это просто кому‑то чуть поможет в поиске работы или наоборот в рекрутинге.БэкграундЧто‑то около 10 лет в Java, последние 3 переключился на Go (сейчас бэкенд уверенно переползает в эту сторону т.к. в условиях популярности кубернетеса и микросервисов …
GORM Фантастическая ORM для Golang.PostGIS расширяет возможности реляционной базы данных PostgreSQL , добавляя поддержку хранения, индексирования и запросов геопространственных данных.В этой статье поделимся своим опытом интеграции GORM и PostGIS, сложностями при попытке использования gorm для работы с геометрическими данными и конечно предлагаем готовое решение.Изначально эта статья была опубликована здесь.ЗадачаРеализация микросервиса, отвечающего за работу с геоданными:Хранение полигонов зон…
В статье разбираю конкретный пример - как при помощи Google Apps Script на основании шаблона, созданного в Гугл Документах массово создавать договора дарения из строк Гугл Таблицы.Массово создавать типовые договора можно когда есть документ-шаблон с готовым форматированием и в нём промаркированы ключевые поля, которые идут под замену для каждой новой строчки таблицы. После автозамены копия заполненного шаблона сохраняется с установленным именем в виде Гугл Документа и может сразу автоматически …
Привет, друзья! Сегодня я подготовил для вас увлекательную практическую статью о создании мини-чата на FastApi. Мы погрузимся в мир вебсокетов, узнаем, зачем они нужны и как применяются в реальных приложениях. Также я продемонстрирую работу с асинхронной SQLAlchemy на примере взаимодействия с базой данных SQLite.Для создания современного интерфейса мы обратимся к интересному и бесплатному сервису Websim.ai, который за пару минут сгенерирует нам интерфейс, включая страничку для входа/регистрации…
ПредисловиеНаписать заметку меня побудила статья Как устроена система типов typescript и собственный опыт.Я обратил внимание, что не всегда понимал семантику "extends" в разных контекстах и влияние настроек языка.В результате, то что меня смущало, оказалось рабочим поведением языка, но при этом непредсказуемым и небезопасным.ВведениеДля демонстрации я выбрал простое объединение string | number, которое буду помещать в различные контексты.Пример 1:type TA = number | string type TB = stri…