Select a country

Пишем 3D-игру для ретро-устройств весом в 600Кб…

...которая работает на первых Android-смартфонах в мире, компьютерах из 90-х и даже Mac'ах! Часть 2. Иногда у меня лежит душа просто взять и напис
Наука - Хабрахабр

Пишем 3D-игру для ретро-устройств весом в 600Кб…

...которая работает на первых Android-смартфонах в мире, компьютерах из 90-х и даже Mac'ах! Часть 2. Иногда у меня лежит душа просто взять и написать какую-нибудь небольшую игрушку с нуля, без использования готовых движков. В процессе разработки я ставлю перед собой интересные задачки: игра должна весить как можно меньше, работать на как можно большем числе платформ и использовать нетипичный для меня архитектурный паттерн. Недавно я начал писать ремейк классических «танчиков» и в рамках серии статей готов рассказать о всех деталях разработки трёхмерной игры с нуля в 2025 году. Если вам интересно узнать, как работают небольшие 3D-демки «под капотом» от написания фреймворка до разработки геймплея и тестов на экзотических устройствах — жду вас под катом! Читать далее

От магии до понятной структуры: разбираемся, как работает Change Detection в Angular

В Angular любое изменение в компоненте, которое отображается на экране, является результатом работы механизма отслеживания изменений (Change Detection
Наука - Хабрахабр

От магии до понятной структуры: разбираемся, как работает Change Detection в Angular

В Angular любое изменение в компоненте, которое отображается на экране, является результатом работы механизма отслеживания изменений (Change Detection, CD). За этим процессом стоит Zone.js, который можно представить в роли дирижера, сообщающего компонентам о необходимости обновить DOM.Zone.js не запускает CD сам. Он лишь создает контекст, в котором Angular потом может его запустить. Его задача только уведомлять Angular о завершении асинхронных операций, после чего Angular решает, нужно ли проверять изменения.Чтобы понять важность такого подхода, нужно учитывать особенности JavaScript. В JavaScript асинхронные операции, такие как setTimeout или fetch, разрывают стек вызовов. Это значит, что callback-функция, выполняемая после завершения асинхронной операции, не имеет информации о контексте, в котором она была вызвана. Для фреймворка, который отслеживает изменения, это создает определенные трудности: как узнать, что асинхронная операция завершилась и, возможно, изменила данные? Заглянуть под капот

Оживляем данные Strava: от парсинга GPX до интерактивной карты на Python и JS

Привет, Хабр! Меня зовут Александр, я разработчик и, как многие в IT, стараюсь уравновешивать сидячую работу спортом — в моем случае, это велоси
Наука - Хабрахабр

Оживляем данные Strava: от парсинга GPX до интерактивной карты на Python и JS

Привет, Хабр! Меня зовут Александр, я разработчик и, как многие в IT, стараюсь уравновешивать сидячую работу спортом — в моем случае, это велосипед и бег. И, как многие спортсмены-любители, я пользуюсь Strava.В этой статье я хочу провести вас «под капот» моего проекта и показать на реальных фрагментах кода, как с помощью Python, щепотки NumPy и капли JavaScript можно построить собственный мощный инструмент для анализа спортивных данных. Это история не только про код, но и про философию открытых данных и желание сделать профессиональные инструменты доступными для всех. Читать далее

Time&Materials вместо работы в минус: наш путь, шаблоны, цифры — и как сделать также у себя

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

Time&Materials вместо работы в минус: наш путь, шаблоны, цифры — и как сделать также у себя

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

Как ИИ помогает мне в разработке?

Привет, это снова oldzoomer, и сейчас я расскажу, как ИИ помогает мне освободить себя от рутинных задач, и заниматься исключительно любимым делом.
Наука - Хабрахабр

Как ИИ помогает мне в разработке?

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

Отревьюируй себя сам! (памятка начинающим)

«Работает - не трогай» - самый опасный принцип, который передается между разработчиками быстрее, чем баги через копипасту. Да, код может запус
Наука - Хабрахабр

Отревьюируй себя сам! (памятка начинающим)

«Работает - не трогай» - самый опасный принцип, который передается между разработчиками быстрее, чем баги через копипасту. Да, код может запускаться. Да, он даже может делать то, что нужно. Но вопрос в другом - можно ли с ним работать? Понять, поправить, развить, не впадая в экзистенциальный кризис.Эта памятка не про чистоту ради чистоты. Она про то, чтобы через неделю ты сам себе не писал комменты со словами «кто это вообще придумал». «Отревьюируй» себя пока это не сделал кто-то другой. Читать далее

Опыт создания онлайн-настолки: от идеи до реализации

Пару лет назад единственной настольной игрой, в которую я играл онлайн с друзьями, была «Монополия». Со временем она начала надоедать
Наука - Хабрахабр

Опыт создания онлайн-настолки: от идеи до реализации

Пару лет назад единственной настольной игрой, в которую я играл онлайн с друзьями, была «Монополия». Со временем она начала надоедать, и мне захотелось чего‑то нового. Моим открытием стала Machi Koro — экономическая карточная игра, где победа зависит не столько от случайности, сколько от выбранной стратегии, что выгодно отличает её от «Монополии».На тот момент я не нашёл достойных онлайн‑аналогов Machi Koro, что и подтолкнуло меня к созданию собственной реализации. В этой статье я подробно расскажу о технической стороне проекта: от составления требований до выбора стека технологий. Читать далее

Как я почти продал ник за $9500 в Telegram

Друзья, сегодня хочу поделиться историей, которая заставила меня на полчаса поверить в чудеса. А заодно разобрать новую схему мошенничества,
Наука - Хабрахабр

Как я почти продал ник за $9500 в Telegram

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

Датчик утечки воды и не только, просто и почти даром

Традиционный подход к разработке устройств автоматизации содержит этапы проектирования и изготовления печатных плат и корпусов, а также, в
Наука - Хабрахабр

Датчик утечки воды и не только, просто и почти даром

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

Скриншот-тестирование фронтенда: руководство по применению в 2025 году

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

Скриншот-тестирование фронтенда: руководство по применению в 2025 году

В мире тестирования фронтенд-приложений существует одна забавная особенность. Визуальное представление нашей программы почти всегда остается вне зоны покрытия тестами,  даже несмотря на то, что фронтенд-разработка это в первую очередь про визуал. Если посмотреть на то как пишут тесты на типичном проекте, то в основном это будут юнит-тесты проверяющие внутреннюю специфику компонентов или отдельных функций плюс какие-нибудь е2е-тесты проверяющие отдельные сценарии. Чаще всего все эти тесты полностью игнорируют визуальную составляющую, и в случаях если у вас слетели шрифты, отступы, или просто html-элемент скрыт стилями, то тесты все-равно будут зелеными.Часто приходилось видеть тесты опосредовано проверяющие визуальное отображение html-элемента, что-то в стиле expect(elem.classList.contains(«visible»)).toBe(true). Говорить о надежности таких тестов конечно-же не приходится, так как изменив содержимое css-селектора стилизующий данный класс, данный тест все еще будет зелёным, несмотря на то что по факту элемент будет скрыт.Результат от подобных тестов вполне ожидаемый. Обновили версию UI-библиотеки и на всем проекте поехала верстка? Тесты зелёные. Случайно переопределили CSS-переменную и теперь вместо приятной тщательно подобранной дизайнером гаммы цветов вы видите лишь кислотно-вырвиглазную солянку? “Бывает, надо было ручками протестировать” - скажет менеджер.Решить данную проблему нам поможет добавление скриншот-тестирования на проект.Используя данный вид тестирования вкупе с классическими юнит- и е2е-тестами мы практически полностью избавляемся от необходимости ручного тестирования наших фронтенд-приложений. Читать далее

Как сделать любую поверхность сенсорной

Моя цель была создать из стола планшет с детскими играми, а я сделал горку, стол и стену интерактивными. Я превратил все поверхности в сенсорн
Наука - Хабрахабр

Как сделать любую поверхность сенсорной

Моя цель была создать из стола планшет с детскими играми, а я сделал горку, стол и стену интерактивными. Я превратил все поверхности в сенсорные. Читать далее

Усовершенствование интерфейса дисплея Guition на ESPHome (LVGL)

Продолжаем развивать интерфейс дисплея Guition на ESPHome с использованием LVGL. Изначально планировалось просто добавить пару виджетов, но в процес
Наука - Хабрахабр

Усовершенствование интерфейса дисплея Guition на ESPHome (LVGL)

Продолжаем развивать интерфейс дисплея Guition на ESPHome с использованием LVGL. Изначально планировалось просто добавить пару виджетов, но в процессе работы появилась идея кардинально изменить структуру проекта: сделать виджеты подключаемыми, вынести сущности в переменные для шаблонизации и максимально упростить использование прошивки для конечного пользователя. Читать далее

Лучшие нейросети для создания игр

Мир разработки игр стремительно меняется под влиянием искусственного интеллекта: задачи, которые еще недавно занимали недели работы отдель
Наука - Хабрахабр

Лучшие нейросети для создания игр

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

Deepin 25: китайский дистрибутив Linux с ИИ и обновленным DDE

26 июня 2025 года вышел релиз дистрибутива Deepin 25, который продолжает развивать собственную графическую среду Deepin Desktop Environment (DDE) и предлагает око
Наука - Хабрахабр

Deepin 25: китайский дистрибутив Linux с ИИ и обновленным DDE

26 июня 2025 года вышел релиз дистрибутива Deepin 25, который продолжает развивать собственную графическую среду Deepin Desktop Environment (DDE) и предлагает около 40 пользовательских приложений. В новом выпуске появились продвинутый ИИ-ассистент с голосовыми командами, атомарные обновления с резервными снапшотами, поддержка управления жестами и интеграция со смартфонами. Рассказываем, чем примечателен Deepin 25 и почему он заслуживает внимания. Читать дальше →

[Перевод] О мягких и жёстких ссылках в Linux

Ссылки в Linux — это мощный инструмент, позволяющий указывать путь к файлам и каталогам. Существует два основных типа ссылок: жёсткие ссылки и м
Наука - Хабрахабр

[Перевод] О мягких и жёстких ссылках в Linux

Ссылки в Linux — это мощный инструмент, позволяющий указывать путь к файлам и каталогам. Существует два основных типа ссылок: жёсткие ссылки и мягкие ссылки (вторые также известны как символические ссылки или симлинки). Понимание различий между этими двумя типами поможет вам эффективно управлять файловой системой. Читать далее

Как подружить точку доступа Eltex с VipNet?

Привет, Хабр! Решил поделиться своей проблемой и путем ее решения.Самое популярное коммутационное оборудование — это, конечно, Cisco. Помимо
Наука - Хабрахабр

Как подружить точку доступа Eltex с VipNet?

Привет, Хабр! Решил поделиться своей проблемой и путем ее решения.Самое популярное коммутационное оборудование — это, конечно, Cisco. Помимо коммутаторов и маршрутизаторов, у этого вендора есть и беспроводные устройства: точки доступа (AP Wi‑Fi) и контроллеры (WLC). Наша компания решила закупить всё у одного производителя, что казалось логичным и удобным решением. Однако со временем беспроводное оборудование устарело и начало выходить из строя: отказывали порты, возникали проблемы с построением CAPWAP‑туннелей и сертификатами подлинности — syslog был заполнен ошибками. В итоге было предложено заменить оборудование на новое, и выбор пал на Eltex. Читать далее

История развития школы по обучению детей IT в небольшом северном городке России

Как предпринимательница из небольшого городка в Ямало-Ненецком автономном округе шесть лет назад открыла школу программирования для детей,
Наука - Хабрахабр

История развития школы по обучению детей IT в небольшом северном городке России

Как предпринимательница из небольшого городка в Ямало-Ненецком автономном округе шесть лет назад открыла школу программирования для детей, а сегодня вывела её на международный уровень и вошла в ТОП-3 выдающихся людей Ямала. Читать далее

Продаешь крипту через P2P? Налоговая может потребовать 6% со всего оборота

Сколько надо заплатить налогов в российский бюджет, если ты сначала купил, а потом продал USDT? Здравый смысл подсказывает что-то вроде «ну, при
Наука - Хабрахабр

Продаешь крипту через P2P? Налоговая может потребовать 6% со всего оборота

Сколько надо заплатить налогов в российский бюджет, если ты сначала купил, а потом продал USDT? Здравый смысл подсказывает что-то вроде «ну, примерно 13–15% НДФЛ от посчитанной прибыли в рублях, если она вообще есть». Но если у вас завалялся ИП в РФ, то налоговой может больше понравиться вариант «6% от всей суммы проданных стейблкоинов, без учета расходов». В этой статье мы разберем как раз такой кейс, который произошел с криптаном из Ростова. Читать далее

Система позиционирования и фиксации дрона на посадочном столе

Одним из ключевых элементов автономной станции обслуживания дронов является механизм точного позиционирования и фиксации беспилотника пос
Наука - Хабрахабр

Система позиционирования и фиксации дрона на посадочном столе

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

Продолжение повести о трёх мушкетёрах: какие подвиги совершили Bash, Ansible и Astrawizard

В землях, где каждый байт имеет значение и где волшебство скриптов и команд оживляет машины, продолжаются славные деяния наших героев — Bash, Ans
Наука - Хабрахабр

Продолжение повести о трёх мушкетёрах: какие подвиги совершили Bash, Ansible и Astrawizard

В землях, где каждый байт имеет значение и где волшебство скриптов и команд оживляет машины, продолжаются славные деяния наших героев — Bash, Ansible и Astrawizard. После первых побед они не сложили свои «мечи», а продолжили путь, полный новых вызовов и открытий.Сегодня мы расскажем о том, какие ещё подвиги совершили наши мушкетёры в мире Linux. Их умения и опыт помогут нам разобраться в самых сложных задачах и сделать управление системами ещё более эффективным. Будь как дома путник, Я ни в чём не откажу

Покажи свой стартап/пет-проект (июль)

Делимся в комментах ссылками на свои проекты, получаем обратную связь, знакомимся и исследуем чужие продукты! Читать далее
Наука - Хабрахабр

Покажи свой стартап/пет-проект (июль)

Делимся в комментах ссылками на свои проекты, получаем обратную связь, знакомимся и исследуем чужие продукты! Читать далее

[Перевод] Как Вселенная отличается от своего зеркального отражения

После приключений в Стране чудес вымышленная Алиса в романе Льюиса Кэрролла «Алиса в зазеркалье» (1871) прошла через зеркало над камином, чтоб
Наука - Хабрахабр

[Перевод] Как Вселенная отличается от своего зеркального отражения

После приключений в Стране чудес вымышленная Алиса в романе Льюиса Кэрролла «Алиса в зазеркалье» (1871) прошла через зеркало над камином, чтобы узнать, чем отражённый мир отличается от её собственного. Она обнаружила, что все книги были написаны задом наперёд, а люди «жили задом наперёд», перемещаясь по миру, где следствия предшествовали причинам.Когда предметы отличаются от своего зеркального отражения, учёные называют их хиральными. Например, руки являются хиральными. Представьте, что Алиса пытается пожать руку своему отражению. Правая рука в зеркальном мире превращается в левую, и нет никакой возможности идеально совместить их для рукопожатия, потому что пальцы сгибаются не в ту сторону. (На самом деле само слово «хиральность» происходит от греческого слова, означающего «рука»). Читать далее

Скрэмбл для тех, кто ненавидит SQL в Go коде

Обращения к базе — одно из самых популярных действий бэкенд приложений, и чаще всего оно происходит с помощью SQL запросов. И есть несколько сп
Наука - Хабрахабр

Скрэмбл для тех, кто ненавидит SQL в Go коде

Обращения к базе — одно из самых популярных действий бэкенд приложений, и чаще всего оно происходит с помощью SQL запросов. И есть несколько способов хранить запросы в коде: строка или константа непосредственно в качестве аргумента функции, билдер запросов или отдельно лежащий файл с SQL запросом, который эмбедится в Go код в момент сборки. Этот последний способ чаще всего можно найти по запросу типа «Golang embed SQL» и он действительно довольно хорош. Читать далее

Spinlock vs. Mutex vs. Semaphore: Разбираемся в синхронизации с Zephyr OS

Всем привет! Сегодня хочу углубиться в одну из самых важных тем в мире Zephyr OS — синхронизацию потоков и задач. Если вы хоть раз работали с k_thread_c
Наука - Хабрахабр

Spinlock vs. Mutex vs. Semaphore: Разбираемся в синхронизации с Zephyr OS

Всем привет! Сегодня хочу углубиться в одну из самых важных тем в мире Zephyr OS — синхронизацию потоков и задач. Если вы хоть раз работали с k_thread_create, гоняли потоки туда-сюда и ловили bus fault, вы меня понимаете.Когда задача одна — всё просто. Но как только вырастает многопоточность, задачи начинают драться за общий ресурс — и тут без надёжной синхронизации не обойтись. У Zephyr OS есть три главных инструмента для этого: spinlock, mutex и semaphore. Каждый со своим характером и подводными камнями. Читать далее

Оптимизация индексов базы данных: проблемы, решения, практические рекомендации

Приложение тормозит. Пользователи в ярости. Продакшн-сервер гудит кулерами, а дашборды показывают красные пики. Первый инстинкт — звонить ад
Наука - Хабрахабр

Оптимизация индексов базы данных: проблемы, решения, практические рекомендации

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

[Перевод] Четвёртый (и предпоследний) шаг к повышению производительности Firebird

Данная статья является четвёртой частью перевода руководства по повышению производительности Firebird за авторством А.Ковязина и Э.Гре
Наука - Хабрахабр

[Перевод] Четвёртый (и предпоследний) шаг к повышению производительности Firebird

Данная статья является четвёртой частью перевода руководства по повышению производительности Firebird за авторством А.Ковязина и Э.Грегорио от 23.05.2024 (и потому продолжается сквозная нумерация пунктов), а так же текстовой расшифровкой соответствующего видео. Читать далее

Когда 42 — это цифра: шумеро-вавилонская система счисления с глиняных табличек

На древних глиняных табличках из Месопотамии встречаются математические тексты с достаточно сложными вычислениями. Кроме прочего, для запи
Наука - Хабрахабр

Когда 42 — это цифра: шумеро-вавилонская система счисления с глиняных табличек

На древних глиняных табличках из Месопотамии встречаются математические тексты с достаточно сложными вычислениями. Кроме прочего, для записи чисел использовалась шестидесятеричная система, которая имеет существенное «компьютерное» преимущество перед современной десятичной. Посмотрим, как можно считать в клинописных «галках» и «палках», как записывать дроби, и что это даёт в сравненнии не только с десятичной, но и с шестнадцатеричной системой. Читать далее

29% взрослых не умеют надёжно уничтожать данные на ПК, ноутбуках и смартфонах

В 2024 году Управление комиссара по информации Великобритании (ICO) привело такие данные: 29% взрослых не знают, как надёжно удалить персональные
Наука - Хабрахабр

29% взрослых не умеют надёжно уничтожать данные на ПК, ноутбуках и смартфонах

В 2024 году Управление комиссара по информации Великобритании (ICO) привело такие данные: 29% взрослых не знают, как надёжно удалить персональные данные со старых устройств. Согласно опросу, 84% взрослых граждан обязательно удалят личные данные с устройства, прежде чем избавиться от него. Молодёжь меньше беспокоится об этом: 14% людей в возрасте 18−34 лет признались, что не станут стирать информацию с устройства, в то время как среди людей старше 55 лет таких всего 4%. Молодёжь зачастую не заботится об удалении личных данных (21%) и не волнуется о том, как эти данные могут использоваться (23%). Читать дальше →

Трехканальный вольтамперметр на базе ESP32-S3 с записью данных в лог и передачей данных по WI-FI (YCHEV003)

Привет друзья, сегодня с Вами мы соберём трёхканальный вольтамперметр на базе ESP32-S3. Многие из Вас, уже долгое время ждали этот проект, поэтом
Наука - Хабрахабр

Трехканальный вольтамперметр на базе ESP32-S3 с записью данных в лог и передачей данных по WI-FI (YCHEV003)

Привет друзья, сегодня с Вами мы соберём трёхканальный вольтамперметр на базе ESP32-S3. Многие из Вас, уже долгое время ждали этот проект, поэтому при его сборке я учёл все Ваши замечания в комментариях под видео к вольтамперметру на Arduino, вольтамперметру на ESP8266 и сделал проект максимально простым, я избавился от большого количества пайки, новый вольтамперметр буквально можно спаять навесным монтажом, так как он состоит всего из 5 модулей. Так же избавился от ненужных компонентов, навроде датчика температуры, блока управления вентиляторами, так как модули, на основе которых мы будем с Вами собирать лабораторный блок питания уже имеют и датчики температуры, и могут управлять скоростями вентилятора, поэтому данные компоненты в новом вольтамперметре я упразднил. Читать далее

[Перевод] Как CAPTCHA используются для установки стиллеров и троянов

Волна поддельных страниц CAPTCHA, которые обманывают пользователей, заставляя их вставлять вредоносные команды в диалоговое окно «Выполнить» (W
Наука - Хабрахабр

[Перевод] Как CAPTCHA используются для установки стиллеров и троянов

Волна поддельных страниц CAPTCHA, которые обманывают пользователей, заставляя их вставлять вредоносные команды в диалоговое окно «Выполнить» (Windows Run). Используются файлы (например, MP3, PDF) с внедрённым запутанным JavaScript, распространяемым через фишинговые письма, вредоносную рекламу (malvertising) или SEO-отравление. Загрузки исполняются в памяти с использованием mshta.exe или PowerShell, что позволяет часто обходить традиционную файловую детекцию. Эти атаки обеспечивают эксфильтрацию данных, кражу учётных данных, удалённый доступ, развертывание загрузчиков через такие вредоносные программы, как Lumma Stealer, Rhadamanthys, AsyncRAT, Emmenthal и XWorm. Читать далее

Настраиваем CI/CD Android-проекта, часть 3. Автоматизация публикации версий в Play Store

Всем привет, меня зовут Кирилл и я Android-разработчик в Scanny. В прошлых статьях мы разобрали, как будет выглядеть наш CI/CD, научились запускать стат
Наука - Хабрахабр

Настраиваем CI/CD Android-проекта, часть 3. Автоматизация публикации версий в Play Store

Всем привет, меня зовут Кирилл и я Android-разработчик в Scanny. В прошлых статьях мы разобрали, как будет выглядеть наш CI/CD, научились запускать статический анализатор кода, выполнять Android (Marathon Labs и Firebase Test Lab) и Unit-тестирование, собирать различные Build Flavors и отправлять их в нашу Telegram-группу.В этой статье мы настроим публикацию свежих версий в Play Market на примере Gradle Play Publisher и Fastlane, а так же поработаем с Gitlab Tag'ами.Так же улучшим наш CI/CD, собрав свой Docker-образ со всем необходимым окружением. Читать далее

Figma подает на IPO: что стоит за «обычным» графическим редактором?

То, что Adobe хотела купить за $20 миллиардов, рынок теперь готов оценить ещё выше. Figma выходит на IPO — и за этой сделкой стоит больше, чем просто по
Наука - Хабрахабр

Figma подает на IPO: что стоит за «обычным» графическим редактором?

То, что Adobe хотела купить за $20 миллиардов, рынок теперь готов оценить ещё выше. Figma выходит на IPO — и за этой сделкой стоит больше, чем просто подписки. Читать далее

Как провалить собеседование по System Design: ошибки, которые допускают даже опытные разработчики

Собеседование по System Design — это не просто проверка технических знаний, а настоящее испытание вашего инженерного мышления. В отличие от алгори
Наука - Хабрахабр

Как провалить собеседование по System Design: ошибки, которые допускают даже опытные разработчики

Собеседование по System Design — это не просто проверка технических знаний, а настоящее испытание вашего инженерного мышления. В отличие от алгоритмических задач, где есть чёткие правильные и неправильные ответы, здесь всё строится на умении анализировать, взвешивать компромиссы и предвидеть проблемы до их появления. Ирония в том, что даже опытные разработчики часто проваливают эти собеседования, потому что сосредотачиваются не на том. Они могут идеально знать, как работает Kafka или Cassandra, но если не умеют структурировать свои мысли и задавать правильные вопросы, их шансы резко падают. Читать далее

Еще раз об SVG-виджетах в tcl/tk

После выхода первой статьи про svg-виджеты для tcl/tk прошло более года. За это время вышел не только tcl/tk вервии 9.0, но и сам пэт-проект возмужал и п
Наука - Хабрахабр

Еще раз об SVG-виджетах в tcl/tk

После выхода первой статьи про svg-виджеты для tcl/tk прошло более года. За это время вышел не только tcl/tk вервии 9.0, но и сам пэт-проект возмужал и продолжает взрослеть. Напомним, что проект svgwidgets, примеры и интерпретаторы tcl/tk с необходимыми пакетами для работы с svg-виджетами можно найти на github-е. В проекте svgwidgets на github-е можно найти версию интерпретатора tclexecomp как для linux64 (папка tclexexcomp902), собранного из исходников tcl/tk-9.0.2, так и версию интерпретатора на базе tcl/tk-8.6 для платформ Linux64 и Win64 (папка tclexecomp200).К ранее созданному на github-е подкаталогу examples/CryptoArmPKCS_Test, в котором выложен исходный код криптографической утилиты для работы с электронной подписью cryptoarmpkcs, который предназначен для запуска на платформе Linux64 в среде tcl/tk-9, добавлены аналогичные папки для запуска утилиты cryptoarmpkcs в среде tcl/tk-8.6 на платформах Linux64 (папка examples/CryptoArmPKCS_Test_Tk86) и Win64 (папка examples/CryptoArmPKCS_Test_Tk86_Win64). Для запуска этой утилиты ничего дополнительного устанавливать на свой компьютер не требуется. Достаточно выбрать соответствующий интерпретатор из папки tclexecomp200 или tclexexcomp902 и выполнить файл mainguipkcs_svg.tcl из соответствующей папки ~/examples/CryptoArmPKCS_Test, например:C:>C:Temptclexecomp64_v200_svg_Win64.exe c:TempCryptoArmPKCS7_Test_Tk86_Win64mainguipkcs_svg.tcl Читать далее

Из жизни аффинных треугольников

Из обсуждений недавней статьи «Пара слов об алгебре интервалов» видно, что основное затруднение вызывает понимание основных объектов,
Наука - Хабрахабр

Из жизни аффинных треугольников

Из обсуждений недавней статьи «Пара слов об алгебре интервалов» видно, что основное затруднение вызывает понимание основных объектов, лежащих в основе аксиоматики - точка, интервал, граница, вектор. Здесь мы поднимем размерность и рассмотрим двумерные интервалы. Обычно более общая задача помогает лучше понять частный случай, которым по отношению к двумерным интервалам являются рассмотренные ранее одномерные. В этот раз поменяем акценты - будет мало формул и много картинок.Итак, как мы выяснили, мерность интервала зависит от количества задающих его границ (а не от количества базисных точек). В одномерном случае достаточно двух границ, соответственно в двумерном, видимо, должно быть достаточно трех. Встречайте!