Habr.com

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

Под капотом у Fortnite. Как работает клиент-серверная архитектура Fortnite: Battle Royale

1 hour 27 min ago

С момента релиза Fortnite прошло уже без малого семь лет. Игра практически сразу добилась коммерческого успеха, но появление соревновательного режима Battle Royale вдохнуло в нее новую жизнь, превратив Fortnite в настоящий культурный феномен. Уже осенью 2018 года количество игроков в Fortnite: Battle Royale приблизилось к 80 миллионам, а через два года число зарегистрированных пользователей достигло 350 миллионов. Одновременно в «королевской битве» сражаются миллионы игроков с разных уголков мира. Как серверы Fortnite выдерживают подобную нагрузку?
Читать дальше →

Не всё так просто с луддитами, как кажется

2 hours 34 min ago

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

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

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

Читать далее

Библиотечка электровакуумщика-кустаря

2 hours 44 min ago

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

Dino Crisis, Silent Hill, The Matrix: Path of Neo и другие игры, достойные ремастеринга

3 hours 27 min ago

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

Однако технические требования таких игр давно не подходят под нынешние компьютеры. Графика становится пиксельной, а пройти сюжет без ретро-геймпада практически невозможно. Чтобы решить эти проблемы, разработчики выпускают ремастеринг игр. Под катом — восемь культовых проектов, которые нуждаются в обновлении.
Читать дальше →

[Перевод] Как Figma удалось открыть себе путь к почти бесконечному масштабированию баз данных

3 hours 29 min ago

О нашем девятимесячном пути к горизонтальному шардингу Postgres-стека Figma и о возможности обеспечения (почти) бесконечной масштабируемости.

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

С 2020 года стек баз данных Figma вырос почти в сотню раз. Это хорошая проблема, ведь она означает, что наш бизнес расширяется. Но в то же время она стала причиной технических сложностей. В течение последних четырёх лет мы усиленно старались не отставать от прогресса и избегать потенциальных проблем, связанных с ростом. В 2020 году у нас работала единственная база данных Postgres, которая хостилась на самом большом физическом инстансе AWS, но к концу 2022 года мы уже создали распределённую архитектуру с кэшированием, репликами для чтения и десятком вертикально разделённых баз данных. Мы разбили группы связанных таблиц (например, «Figma files» или «Organizations») на отдельные вертикальные разделы, что позволило нам обеспечить удобство инкрементального масштабирования и оставить достаточно пространства для дальнейшего роста.

Читать далее

[Перевод] Как «убедить» Apple, что ваш iPhone — европейский

3 hours 36 min ago

Энтузиаст смог сделать свой iPhone европейским. Для этого ему пришлось отключить сервисы определения местоположения, вставить итальянскую SIM‑карту, настроить Wi‑Fi роутер pfSense с указанием страны регистрации (Италии) и отправиться в подвал, где связь не ловит. Всё для того, чтобы обойти ограничения на установку приложений не из App Store.

Читать далее

Как айтишник Liebherr в Голландии чинил

3 hours 43 min ago


В каждой стране есть свои особенности национального бытия, которые у иммигрантов могут вызывать непонимание. В Голландии такой особенностью для нас оказалась местная архитектура. Нет, не та что про фронтоны и антаблементы, в этом плане тут всё ок, а практическая её часть — размеры и планировки жилья, особенно съёмного. В паре слов эти инженерные решения можно описать как «узко, неудобно и жить негде». Довольно типичным явлением для арендной квартиры, счастливыми съёмщиками коей мы оказались, является миниатюрный подстольный холодильник без морозильного отделения. Местные, как правило, заполняют его пивом в жестянках (хотя как правильно назвать жестянку из алюминия?) и отлично проводят свободное время перед большим экраном с футболом. А нам, ишь ты, подавай хозяйство-домоводство… дичь какая-то, да и только. Учитывая дефицит пространства и трудности потенциального перевоза на другое место жительства (привет-привет Нидерландским лестницам), мы долго не решались купить себе нормальный холодильник. Но вот явился нам на барахолке Он — старенький и местами ржавенький Liebherr GP1466, низкая морозильная камера. При цене `всего лишь` 160 евро по неизвестным причинам это показалось мне супер-предложением. Наверное просто показалось, понял я потом. В своё оправдание могу сказать только две вещи. Во-первых, его габариты были одновременно минимально разумными с точки зрения практической полезности и максимальными в смысле возможности поднять по той самой лестнице. Во-вторых, на родине у нас Liebherr 30 лет работал, и ещё будет работать. Читать дальше →

В чём разница между дизайнерами в агентстве и продукте. Мышление, процессы и перевоплощение

3 hours 58 min ago

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

Я сама 10 лет работала в разных агентствах, а в прошлом году перешла в продукт. И мне есть, что рассказать).

Читать далее

Развиваем продукт «без проблем»

4 hours 44 min ago

В своей прошлой статье я рассказывал о том, как использовать метрики при разработке продуктов. Статья получилась довольно насыщенная, но теоретическая.

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

Как с помощью Jobs To be Done принимать продуктовые решения, и почему сейчас мы используем этот подход для работы над нашими продуктами.

Читать далее

Как и почему мы построили Единую историю операций на Citus DB

5 hours 44 min ago

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

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

Читать далее

Нет, мы так не работаем

Thu, 04/25/2024 - 23:50

В предыдущем примере я затронул самый рискованный и простой способ отказаться от чего-либо – сказать: «мы так не работаем». Хотят вашу команду засунуть в лютый стафог – мы так не работаем; хотят внедрить непонятные решения – мы так не работаем. Сказали, отказались, всё по красоте за исключением одной маленькой детали – контракт и деньги вы скорее всего потеряете. Но в моём опыте был успешный случай, когда мы сказали, что так не работаем, но контракт с нами не расторгли. И так продолжение предыдущего case-study.

Читать далее

Низковакуумная манометрическая система на 8 позиционном откачном посту

Thu, 04/25/2024 - 21:16

Выглядит эта система в сборе вот так:

Последний год мы постепенно модернизируем своё откачное оборудование. Решили вот снабдить его индикатором форвакуума.

Читать далее

Распознавание, хранение и поиск лиц в базе данных

Thu, 04/25/2024 - 21:04

В этой статье я максимально коротко и просто объясню принцип распознавания, хранения и поиска лиц в базе данных. В качестве примера будет использована библиотека Insightface и база данных PostgreSQL.

Читать далее

Деплой .NET приложений для самых маленьких. Часть 0

Thu, 04/25/2024 - 20:21

Давным-давно, когда Linux был ещё на ядре 2.6, а PHP5 был глотком свежего воздуха, я впервые заинтересовался миром веб-технологий. Читал учебники, статьи, зависал на форумах, но все равно мало мог понять как код, который я вижу на экране, превращается в волшебные сайты с кнопками, формами и анимациями. Узнал про LAMP и его аналоги для Windows, узнал, что, оказывается, есть хостинги, где такие сайты размещаются. Как только появился внешний интернет без трафика, я поспешил перенести свои локальные поделия во внешний мир, попутно узнав про замечательный протокол FTP. Просто мир волшебных открытий был для меня, особенно когда узнал, что не нужно писать свой форум с нуля, а можно использовать что-то из phpBB, vBulletin и других уже готовых движков.

И когда я много лет спустя переключился в мир .NET, перечисленные ранее умения сыграли со мной злую шутку – я долго не мог понять, как мне найти хостинг для .NET приложений. Почему все известные мне хостинги с лёгкостью предоставляли возможность развернуть PHP приложения, причём даже предлагая какие-то предустановленные версии CMS, но днём с огнём не сыщешь хостинг под .NET. Мое непонимание принципа развертывания приложений усугубляли статьи, которые предлагали их размещать в подходящих сервисах типа Heroku, Digital Ocean или Azure – ведь это так просто и дешево…

Поэтому предлагаю максимально подробно рассмотреть вопрос публикации .NET приложений в арендованном VPS.

Читать далее

Fuzzing-тестирование. Практическое применение

Thu, 04/25/2024 - 20:06

Привет, Хабр! Меня зовут Никита Догаев, я Backend Team Lead в команде Контента на портале поставщиков Wildberries. Мы отвечаем за карточки, которые каждый день испытывают на прочность сотни тысяч продавцов из разных стран.

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

Читать дальше →

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

Thu, 04/25/2024 - 20:05

В комментариях к моей предыдущей статье и в комментариях к ролику было много вопросов и некорректных замечаний по поводу парадокса близнецов. Как оказалось, мое объяснение оказалось не настолько понятным, как я надеялся, поэтому в этой статье я решил максимально наглядно, подробно и последовательно объяснить парадокс близнецов и ответить на некоторые другие вопросы.

Кратко напомню суть парадокса

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

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

Попросим бегущего кота четыре секунды (по его часам) бежать вправо со скоростью 75% скорости света, потом развернуться и прибежать с той же скоростью назад.
Вот визуализация на диаграмме.

Читать далее

Как решить типичные проблемы Django нестандартным подходом: Fake Injection

Thu, 04/25/2024 - 19:00

Давайте признаем, что развитие проектов в мире Django не всегда проходит гладко. Мы часто сталкиваемся с толстыми моделями и сериалайзерами, размытой бизнес-логикой и тестированием, которое больше напоминает головную боль, чем удовольствие. Меня зовут Павел Губарев, я backend-разработчик продукта 10D в компании Самолет. Последние пять лет я занимаюсь backend-ом и большую часть времени я использую именно Django. С ростом проекта увеличивается и его сложность, в случае с Django есть набор часто встречающихся проблем. В этой статье я расскажу о методах нашей команды, которые помогли нам справиться с этими проблемами и привести код к новому уровню надежности и эффективности.
Читать дальше →

Десятки новых функций для работы с документами в «МойОфис Образование»: изучаем состав релиза 2.8

Thu, 04/25/2024 - 18:08

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

В начале апреля мы выпустили большое продуктовое обновление 2.8. В том числе он затронул «МойОфис Образование»: продукт версии 2.8 был улучшен для ещё более удобного и эффективного выполнения академических задач. Какие возможности появились в обновлённом решении и как они могут быть полезны при работе с документами, читайте под катом.

Читать далее

Книга: «Podman в действии»

Thu, 04/25/2024 - 18:03
Привет, Хаброжители!

Пришло время обновить свой контейнерный движок! Менеджер контейнеров Podman обеспечивает гибкое управление слоями образов и полную совместимость с Kubernetes, а также дает возможность пользователям без прав администратора создавать, запускать непривилегированные контейнеры и управлять ими. OCI-совместимая поддержка Docker API позволяет перевести существующие контейнеры на Podman, не ломая свои скрипты и не меняя привычного порядка работы.

«Podman в действии» познакомит вас с менеджером контейнеров Podman. Простые объяснения и примеры позволят быстро разобраться с тем, что такое контейнеры, как они работают и как управлять ими. Вы получите глубокие знания об используемых Podman компонентах Linux и даже узнаете больше о Docker. Особенно ценны соображения автора Дэна Уолша по поводу безопасности контейнеров.

Для разработчиков и системных администраторов, имеющих опыт работы с Linux и Docker.
Читать дальше →

Простой способ создания самодельных витражей с помощью ЧПУ-станка

Thu, 04/25/2024 - 18:00
Картинка Vecstock, Freepik

Сегодня поговорим о такой интересной технике оформления стёкол, как витраж, а также попробуем прикинуть, как нам создать его минимальными усилиями! Читать дальше →

Who's online

There are currently 1 user and 1 guest online.