Habr.com

Syndicate content Хабр
Все публикации подряд на Хабре
Updated: 1 hour 20 min ago

[recovery mode] Сложная архитектура простых приложений

Wed, 03/27/2024 - 17:11

По мотивам Adidas Running (ex. Runtastic)

Как я бы проектировал это интересное, но малоизвестное у нас приложение в роли архитектора.

Предыстория

Рынка систем электронных соревнований (в 2012 г) нет, но есть огромный интерес к спортивному образу жизни и к соревнованиям. В США не менее 50 миллионов (!) человек (это примерно 15% всего населения) хотя бы раз в неделю выходят на пробежку.

Адидас имеет объем продаж 20–30 млрд долл. в год.

Основной рынок – США, остальные страны – второстепенные рынки.

Посмотреть архитектуру

Привычки для повышения производительности и качества жизни

Wed, 03/27/2024 - 16:47

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

Читать далее

CV Tools — система зрения для конечных пользователей

Wed, 03/27/2024 - 16:43

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

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

Читать далее

Как сделать интерактивные пиксельные изображения с D3.js?

Wed, 03/27/2024 - 16:24

Hola, Amigos! На связи Артем Салеев, технический директор  и Арсений Захаров, frontend-разработчик агентства продуктовой разработки Amiga. Сегодня расскажем, как мы реализовали задачу для крупного заказчика: разместить на сайте «размытые» картинки, которые бы разблюривались по пользовательскому взаимодействию.

Читать далее

Профессия: технический писатель

Wed, 03/27/2024 - 16:20

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

«Неисповедимы пути архитекторов»: FAQ по профессии архитектор решений (Solution Architect)

Wed, 03/27/2024 - 16:16

Кажется, что сейчас нет ни одного крупного бизнеса, где бы не работали архитекторы. Однако с ролью архитектора решений (Solution Architect) история очень интересная, так как этим специалистам часто приходится сталкиваться с непониманием данной роли в проекте. Наиболее частый стереотип, что архитектор решений – это такой прокачанный разработчик или PM с бэкграундом разработки.  

Конечно, если посмотреть чуть-чуть назад, то раньше на проектах эту роль выполняли опытные разработчики. Но время идет, рынок меняется и сейчас если у вас большой проект, а вы хотите, чтобы он «полетел», то без архитектора решений вам никуда.

Как и в любом крупном банке в Росбанке есть такие специалисты. Мы решили разобрать роль Solution Architect с Александром Егоркиным, директором по технологиям департамента информационных платформ.

Читать далее

Работа с UI-автотестами под Android: от запрета мерджа к особенностям запуска

Wed, 03/27/2024 - 16:12

UI-автотесты под Android — отличный инструмент, который позволяет кратно сократить время на проверку разрабатываемых фич и свести к минимуму участие в ручном регрессионном тестировании инженеров по обеспечению качества. Но работать с UI-тестами надо правильно — иначе все может прийти к ситуации, при которой автотесты становятся нестабильными, а их результаты не вызывают доверие.

Меня зовут Эмилия Куцарева. Я — руководитель команды автоматизации тестирования в Одноклассниках (VK). В этой статье я расскажу о нашем подходе к работе с Android UI-автотестами: как устроен запрет мерджа, как смогли стабилизировать тесты, как настроили параметризацию запуска.

Читать далее

Управление цветами в Seaborn: как визуализировать данные красиво

Wed, 03/27/2024 - 16:02

Привет, Хабр. В этой статье я расскажу про своё видение работы с цветом при визуализации графиков. Буду показывать все на примерах — уверен, они вам понравятся.

Я покажу не только картинки было-стало, но и приведу примеры кода, а также объясню логику принятия решений: как использовать ту или иную палитру в конкретной задаче. И что самое главное, дам пошаговые советы, как сделать график логичнее и понятнее для заказчиков.

Меня зовут Саша, сейчас я работаю в Lamoda Tech старшим бизнес/дата-аналитиком. До этого я несколько лет был специалистом по данным в другой компании и регулярно представлял совету директоров анализ и прогноз физических и бизнес-показателей. Умение донести результаты исследования до заказчика, особенно если он не погружен в работу с данными — это важный аспект моей профессии. Надеюсь, моя статья с этим немного поможет.

Читать далее

6 лет из жизни инди-разработчика

Wed, 03/27/2024 - 16:01

А привет, Хабр. У меня для тебя есть история длиной в шесть лет. История о том, как я учился делать свои собственные игры без навыков программирования и что из этого вышло. Почему так долго и почему так делать не стоит. Настоящий ориджинал контент, от А до Я. Где такое найдешь сейчас, а? Тут, правильно.

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

Читать далее

Фабрика должна расти: настраиваем игровой кластер Factorio

Wed, 03/27/2024 - 15:47

Игроки Factorio делятся на две группы. Одни отвергают игру в первые часы, а другие «залипают» на несколько суток и строят масштабные производственные линии. Несмотря на отличную оптимизацию игры, некоторые базы настолько велики, что даже самый мощный компьютер перестает справляться. Это, конечно, не устраивает тех, кто намерен продолжать играть.

Привет, Хабр! В этой статье покажу, как поднять выделенный игровой сервер Factorio. А также также поведаю о проекте, который соединяет отдельные серверы в один большой мир. Подробности под катом! Читать дальше →

Шаблонный сервис C#

Wed, 03/27/2024 - 15:29

Всем привет, я разработчик из компании Bimeister и я хочу рассказать о шаблонном C# сервисе, который мы создали, чтобы унифицировать наши приложения и сократить время работы разработчиков над базовой настройкой приложения.

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

Для решения этой задачи Microsoft создала возможность делать свои шаблоны приложений для .net. Он представляет из себя обычный проект на C#, который можно упаковать в nuget пакет.

Перво-наперво необходимо определиться с архитектурой приложения, какой подход, какие паттерны будем использовать. Для вдохновения мы смотрели на пример от Microsoft https://github.com/dotnet/eShop.

Читать далее

Игровое будущее и искусственный интеллект по версии Nvidia: через 10 лет ИИ захватит игрострой?

Wed, 03/27/2024 - 15:16

Корпорация Nvidia постепенно помогает развивать индустрию машинного обучения, разрабатывая и поставляя партнёрам во всём мире всё более мощные чипы. Открываются новые возможности, невиданные ранее, и одна из них — генерация игр посредством искусственного интеллекта. По мнению Дженсена Хуанга, главы Nvidia, полностью сгенерированные ИИ игры появятся уже через 5-10 лет. Подробности — под катом.

Читать далее

Развитие баз данных

Wed, 03/27/2024 - 15:15

В 60-х годах прошлого века возникла потребность в надежной модели хранения и обработки данных, особенно важной для банков и финансовых организаций. В то время отсутствовали единые стандарты работы с данными и моделями, и вся работа сводилась к ручной упорядоченной организации информации. Банкам удавалось записывать информацию о транзакциях в виде файлов в заранее подготовленную структуру, причем у каждой организации было собственное представление о том, как это должно выглядеть и функционировать. Также отсутствовали понятия консистентности (согласованности данных) и целостности данных. В таких файлах часто встречались дубликаты клиентов и их транзакций, которые приходилось уточнять и приводить в порядок вручную.

Данная статья захватывает ключевые моменты в развитии систем управления базами данных, от первых иерархических моделей до современных реляционных, NoSQL и NewSQL систем.

Читать далее

Будьте в курсе развития RISC-V: обсуждаем обновления в разработке и изучаем бенчмарки серверов на открытой архитектуре

Wed, 03/27/2024 - 14:52

Если вы интересуетесь развитием открытой архитектуры или занимаетесь разработкой систем под нее, не пропустите бесплатный митап российского Альянса RISC-V. Он объединяет независимых разработчиков вычислительной техники и программного обеспечения на основе свободной архитектуры. 

15 апреля в 19:00 представители альянса соберутся, чтобы обсудить последние разработки и опыт работы с RISC-V-системами. Регистрируйтесь на митап, чтобы подключиться онлайн и быть в курсе развития экосистемы RISC-V в России. Узнаете о поддержке RISC-V в Linux и результатах анализа производительности доступных на рынке RISC-V-серверов. Подробнее о программе — под катом.

Читать далее

На мушке у APT-группировок: kill chain из восьми шагов и котики

Wed, 03/27/2024 - 14:24

Пламенный хабропривет от Александра Бадаева из отдела исследования киберугроз PT Expert Security Center и Яны Авезовой, аналитика исследовательской группы. Оба мы работаем в Positive Technologies, и, как вы могли подумать, пути наши в компании не так уж часто пересекаются. Ну сами посудите: с одной стороны — хакерские группировки, распутывание цепочек атак, а с другой — анализ киберугроз, статистика, сухие цифры и красивые графики. Так, да не так. И вот когда один из нас собрал информацию о 16 хакерских группировках, атакующих Ближний Восток, другой (а точнее — другая) проанализировал их тактики и техники, результатом этого тандема стало большое исследование. Ну а в этой статье мы расскажем о том, как действуют APT‑группировки, с чего начинают атаку и как развивают ее, двигаясь к намеченной цели.

Больше котиков

Пишу Minecraft сервера с нуля. Часть 1. Пинг

Wed, 03/27/2024 - 14:12

Этот цикл статей о разработке серверного ПО совместимого с протоколом Minecraft: Java Edition.

В этой части я акцентирую внимание на основных вещах: типы данных, структура пакетов и как клиент получает информацию о сервере.

Читать далее

[Перевод] Ranking Functions: ROW_NUMBER

Wed, 03/27/2024 - 14:02

Четыре функции ранжирования: ROW_NUMBER, RANK, DENSE_RANK и NTILE появились в SQL Server 2005 и отличаются от обычных скалярных функций тем, что результат, который они выдают для строки, зависит от других строк выборки. От агрегатных функций они отличаются тем, что возвращают только одну строку для каждой строки на входе, т. е. они не объединяют набор строк в одну. В этой статье мы рассмотрим ROW_NUMBER — самую простую из всех функций ранжирования.

Читать далее

Тесты: 100% покрытия и юниты не нужны

Wed, 03/27/2024 - 14:00

Мы покрываем код тестами, когда хотим быть уверенными, что в негативных сценариях он сработает надёжно. Хочется, чтобы тесты были не бланковой заглушкой, а полезной нагрузкой, которая позволит считать, что наше поведение достаточно валидное. Так мы можем обеспечить корректное взаимодействие системы с пользователем.

Меня зовут Максим Вишневский, я Senior Frontend-разработчик в Циан. В этой статье поделюсь историей, как наша команда реформировала подходы к тестированию: как мы отказались от 100% покрытия и unit-тестов, чем их заменили и какой получили результат. Поговорим о проблемах с Enzyme, пользе Playwright, мокинге данных для бэка и взаимодействии с QA.

Читать далее

Может ли во Вселенной не быть тёмной материи? 5 фактов, которые нельзя отрицать

Wed, 03/27/2024 - 14:00
По имеющимся данным гравитационного линзирования можно реконструировать массу скопления галактик. Большая часть массы находится не внутри отдельных галактик, показанных здесь в виде пиков, а в межгалактической среде внутри скопления, где, по-видимому, находится тёмная материя

В прошлом году физик-теоретик Раджендра Гупта из Оттавского университета (Канада) опубликовал довольно необычное предположение о том, что возраст Вселенной, который в настоящее время принято оценивать в 13,8 млрд лет, определён ошибочно из-за игры света, скрывающей её истинную древность. Кроме того, его предположение избавляет нас от необходимости объяснять наличие скрытых сил и материи.

Более новый анализ, проведённый Гуптой, показывает, что колебания с самых ранних моментов времени, сохранившиеся в крупномасштабных космических структурах, подтверждают его утверждения.

«Результаты исследования подтверждают, что наша предыдущая работа о возрасте Вселенной в 26,7 миллиарда лет позволила нам обнаружить, что для существования Вселенной не требуется тёмная материя», — говорит Гупта.

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

SPANCheck – проверка безопасности сетевого трафика на уровне ядра (или почему NGFW недостаточно?)

Wed, 03/27/2024 - 13:57

Когда речь заходит о безопасности сетевого трафика, большинство сразу вспоминает про решения класса NGFW (Check Point, UserGate, Fortinet, Континент и т. д.). Это логично: защита периметра сети — это одна из ключевых задач «безопасника». Однако стоит понимать, что NGFW на периметре проверяет именно интернет‑трафик, или, как еще принято его называть, «Север‑Юг».

Но типовая сеть компании состоит не только из периметра. Практически всегда есть ядро сети или большой сегмент внутренних серверов, где объемы трафика значительно выше. Этот тип трафика принято называть «Запад‑Восток» и весьма часто он вообще никак НЕ контролируется и НЕ проверяется.

Читать далее

Who's online

There are currently 0 users and 2 guests online.