Новости
Безымянные прожекторы из Леруа Мерлен
Ошибки геймдизайна или как мы сделали игровой режим, который был никому не нужен
Большинство геймеров не понаслышке знакомы с кланами — сообществами игроков с общей целью надрать задницы другим таким же сообществам, или просто пообщаться с единомышленниками. А если вы геймдизайнер, тяготеющий к разработке комплексных фич, то наверняка мечтали бы поработать над клановой системой.
Мечтали о своих кланах и мы. Не просто мечтали, а сделали. Трижды.
Под катом я расскажу о каждых граблях, на которые мы наступили в процессе разработки: механики, которые работают не по плану, проблемы экономики, смурфинг, и даже «договорняки» через Discord.
Стратегия платформы, часть 1а: Архитектуры возможностей — сложности, связанные с бэкендом
Эта статья — первая в серии из трех частей о том, как можно формировать стратегию своей платформы. Но для начала несколько слов благодарности и дисклеймеров.
Я рассказываю об этом, потому что это тема, о которой меня спрашивают довольно часто. И вот я наконец решил поделиться своими мыслями и опытом для более широкой аудитории.
Семантическая сегментация изображений в CVAT
Товарищи, я начинаю цикл статей-туториалов по разметке данных с помощью разного ПО. Начать решил с самого знаменитого из всех бесплатных инструментов - Computer Vision Annotation Tool. Им может воспользоваться буквально любой желающий, достаточно только зарегистрироваться.
Предупреждаю: это вводная статья для новичков, призванная решить самые главные вопросы "как это работает и куда тыкать". Экспертов прошу поправить или дополнить написанное.
На русском языке не встречал настолько подробных гайдов. Думаю он будет очень полезен.
Управляем навигацией в iOS-приложениях. Паттерн координатор от СберМаркета
Стандартный способ настроить навигацию в iOS-приложении — использовать класс UIViewController. Он работает, пока не понадобится добавить новые экраны или поменять их местами. Сложную логику переходов лучше строить с помощью координаторов.
Под катом рассказываем, как и зачем мы в команде написали свою реализацию паттерна Coordinator.
Как игры разделили мир на до и после
Многие из нас застали то время, когда компьютерные игры смогли разделить наш мир на до и после, а многие даже играли в игры, которые являлись новейшими в индустрии гейминга. Вот уже как 51 год назад на свет появилась первая видеоигра и с того момента изменилось многое: от добавления в игры сюжета, до замечательной картинки на мониторе.
Как собрать лучшую команду
Иногда создается впечатление, что команду разработчиков набирают HR-специалисты. Но они ищут специалистов, а вот команду, как сложный пазл, собирает лидер этой команды. Встречаются тимлиды, которые видят собеседования, как что-то второстепенное, не сильно влияющее на команду. Они утверждают, что собрать команду с необходимыми требованиями, которые им необходимы — полностью задача HR-ов. Но это совершенно не верно. Так как, если специалист и прошел собеседование, то это не означает, что он должен выбрать именно вашу команду.
Это абсолютно не значит, что роль HR-ров следует убрать из процесса найма специалистов. Просто надо усвоить, что у них свои условия для найма, а у лидов свои. Вот именно на этом я бы и хотел заострить ваше внимание. И это относится не только к сфере ИТ, а вообще везде, где есть необходимость в крутых специалистах.
Аварийное восстановление и резервное копирование в облаке
Решения Disaster Recovery восстанавливают работоспособность ИТ-инфраструктуры после сбоя или атаки. Объясняем, как использовать вместе с резервным копированием. Материал будет полезен специалистам, которые начинают работу с облаком и только знакомятся с его возможностями.
Flutter for Desktop — новый подход к разработке приложений
Язык программирования Dart был изначально разработан как перспективная замена JavaScript в веб-приложениях (с поддержкой асинхронности, потоков, классической поддержки ООП и возможностью использования строгой типизации), но, к сожалению, в этом качестве он так и не достиг значительных успехов. Однако в дальнейшем компилятор Dart был доработан для других целевых платформ и наибольшего успеха достиг в сочетании с фреймворком Flutter как инструмент разработки высокопроизводительных мобильных приложений, создаваемых на основе реактивной модели. Но нужно отметить, что наряду с возможностями компиляции в целевые платформы Android и iOS (а также, разумеется, Web), Dart также может использоваться для создания приложений для операционных систем Windows, Linux и MacOS, что в сочетании с возможностями фреймворка Flutter и оптимизированных платформенных реализаций Flutter Engine и Embedder, представило новый путь к созданию нативных приложений с графическим интерфейсом. В этой статье мы рассмотрим возможности и особенности реализации desktop-приложений на Flutter и разберемся с механизмами интеграции внешних библиотек.
8 важных метрик для оценки клиентского опыта
Как вы измеряете степень успешности клиентского опыта? В статье рассмотрим восемь наиболее важных клиентских метрик для SaaS-компаний и узнаем, как их рассчитать.
Менеджеры и разработка: типовые проблемы и как их решить
На Хабре достаточно часто публикуются статьи о проблемах, возникающих при работе над проектами между менеджерами и разработчиками. Иногда специалисты работают в связке, хорошо понимают проблематику, техническую специфику и бизнес-задачи — проект успешно доводят до конца.
Но бывает и по-другому, когда менеджмент и разработчики не находят общего языка. Эту проблему можно назвать типовой для IT. Но кроме нее есть и другие, связанные уже с процессами в технологической компании.
Популярные расширения для VS Code 2022
В виду того, что мне срезали подписку на Medium решил поддерживать отечественные IT ресурсы. Попробую кидать интересные статьи с переводом на русском, а правообладатели пусть сами разбираются, я честно платил за подписку.
На текущий момент VS Code остается средой разработки, которая доступна в период санкций, когда JetBrains отказался продавать лицензии, про Visual Studio даже не узнавал. Сам использую VS Code много лет в разных стеках. VS Code предоставляет возможности разработки практически во всех направлениях: веб-разработка, мобильные приложения, часто встречаются приложения для встраиваемых систем. Ниже перечислены наиболее популярные расширения, которые облегчают разработку приложений.
При всем изобилии тем в VS Code тема Atome One Dark наиболее популярная, потому-что имеет наиболее удачный контраст и прекрасно выглядит.
Атака Ферма на RSA
В 1643 году Пьер де Ферма предложил метод факторизации. Этот метод позволяет эффективно раскладывать целые числа на простые множители.
Алгоритм шифрования и подписи RSA основывается на том, что факторизация — это задача с высокой сложностью. Открытый ключ RSA содержит составное число (обычно называемое N), которое является произведение двух простых чисел (обычно p и q).
Если ключи RSA генерируются из «близко стоящих» простых чисел, то RSA можно взломать с помощью метода факторизации Ферма. И хотя это довольно известный факт, но, насколько я знаю, уязвимые ключи RSA не обнаруживались в «дикой природе» — до сегодняшнего дня.
Я применил метод факторизации Ферма к большим наборам открытых ключей RSA. И я смог обнаружить небольшое количество уязвимых ключей, которые принадлежали принтерам Canon и Fujifilm (первоначально выпускавшихся под маркой Fuji Xerox). В этих устройствах используется криптографический модуль от компании Rambus.
Ansible FAQ
Давайте разберем самые Часто Задаваемые Вопросы, или сокращенно FAQ. Они помогут вам глубже понять тонкости и принцип работы с Ansible. На ранних этапах можете использовать эту статью как некую шпаргалку.
Наиболее распространенные уязвимости в мобильных приложениях
Всем привет, меня зовут Юрий Шабалин, я один из основателей компании "Стингрей Технолоджиз" (входит в группу компаний Swordfish Security), мы разрабатываем платформу анализа защищенности мобильных приложений iOS и Android. Этой статьей я бы хотел открыть серию материалов, посвященных мобильной безопасности. И сегодня поговорить о тех уязвимостях, что мы встречаем чаще всего при автоматическом анализе.
Межкластерная репликация Apache Kafka между тремя дата-центрами
Я Роман Ананьев, NoSQL/Kafka-инженер в Авито. В этом материале расскажу, как мы попробовали использовать брокер сообщений Apache Kafka в трёх дата-центрах и что из этого получилось.
Сначала пробегусь по архитектуре Kafka, потому что она играет роль в репликации между кластерами. Затем коснусь самих способов репликации и расскажу о двух инструментах для неё: MirrorMaker и uReplicator. Основная часть статьи — про нашу реализацию Kafka cluster federation и то, как Kafka размазана на несколько дата-центров.
Что там у PVS-Studio c покрытием Toyota ITC Benchmark?
Toyota ITC Benchmark – это набор синтетических тестов для C и C++, состоящий приблизительно из 650 примеров и предназначенный для тестирования анализаторов кода. Данная статья ответит на вопрос: "Насколько хорошо статический анализатор PVS-Studio покрывает Toyota ITC Benchmark?".
Разработчик в стране Serverless: Как подружиться с БД (Часть 3)
В предыдущих частях я создал и развернул в облаке лямбда функцию и БД, настроил VPC, в которой работают мои ресурсы.
В этой части я напишу код лямбда функции, который будет взаимодействовать с БД. Этот код по-прежнему будет запускаться локально в режиме отладки. Вместе с первой настоящей логикой появятся первые юнит тесты. Для удобства при развертывании кода в этой части я буду использовать отдельный стек serverless-bugtracker-ch3.
VPN на минималках
- "Дима, сделай Алевтине Генриховне виртуальную машину, чтобы она могла изучать систему, и свяжись с ней для настройки подключения" - именно с такой задачи начинается процесс обучения нового сотрудника в нашей компании.
- "Ну сейчас начнется" - думаю я.
- “VPN настраивать не умею”, “У меня все зависло”, “По инструкции настроить не получилось” - подобные реплики от “бизнес-аналитика Алевтины Генриховны” слышно с завидной регулярностью.
Приходится связываться, подключаться одним из доступных способов, и настраивать всё самому. Хорошо если все работает с первого раза. Плохо, если в системе по какой-то причине не работают службы, драйверы минипортов, и т.д. Однако, подключаться и помогать всё равно приходится чаще, чем хотелось бы. С очередной Алевтиной Генриховной этот процесс мне изрядно надоел, и я стал думать над поиском решений, способных облегчить жизнь.