К старту курса по Fullstack-разработке на Python показываем, как работают регулярные выражения, на примере их движка с визуализацией, которую вы видите на КДПВ. Под катом подробности и код.
Новости
Установка MongoDB в условиях санкций через прокси
В нынешней ситуации многие сервисы блокируют доступ из РФ, я покажу как можно обойти этот запрет с помощью ProxyChains и Tor на примере MongoDB.
Эволюция игрового фреймворка. Клиент 3. Слои логики
Прежде мы рассмотрели отделение логики отображения от графики, а также разные вспомогательные классы и менеджеры. Все вместе они образуют каркас наших приложений и были вынесены в отдельную библиотеку — Core Framework. Осталось еще разработать методику по написанию остальной логики. В нее входит бизнес-логики и правила игры, данные и их обработка, а также взаимодействие с сервером.
Вся логика будет разбита на слои. Основной смысл слоев тот, что классы одного слоя максимально независимы от классов с соседних слоев и абсолютно независимы от остальных. Все это уже относится не к основному фреймворку (Core Framework), а к фреймворкам для разных групп жанров (Base Game Frameworks) и для каждого отдельного жанра (Game Frameworks).
Serverless хостинг в AWS для рубиста
В первой части мы разворачивали приложение в Oracle cloud. Теперь попробуем сделать то же самое в AWS и зададимся вопросом так ли уж нужны Rails. Итак у нас: SPA приложение, REST api, Terraform как средство деплоя и управления ресурсами в облаке.
Не так страшен Rust, как его излагают
Последние годы часто хвалят язык программирования Rust. Однако, без изучения синтаксиса и особенностей языка в нём сложно разобраться. Честно говоря, при первом просмотре дальше простых примеров я продвинуться не смог. Вроде догадываешься, что тут указываем тип переменных, амперсанд – это вроде “я только посмотреть”, но всё равно код складывался в некую мешанину иероглифов с кучей скобок и, на первый взгляд, случайно проставленных точек с запятыми. То ли дело Python, минимализм синтаксиса которого так привлекателен для неокрепших душ. Однако, так ли сложен Rust на самом деле или это миф?
Я предположил, что те базовые знания по программированию, которые предлагают распространенные курсы можно дать и с помощью Rust.
Мягкое удаление чаще всего не нужно
Те, кто знаком хотя бы с парой разных окружений баз данных продакшена, скорее всего, знают паттерн «мягкого удаления» (soft deletion) — вместо удаления данных напрямую конструкцией
DELETE
таблицы получают дополнительную временную метку deleted_at
и удаление выполняется конструкцией обновления:UPDATE foo SET deleted_at = now() WHERE id = $1;
Мягкое удаление необходимо для того, чтобы удаление выполнялось безопаснее и было обратимым. После того, как запись удалили «жёстким»
DELETE
, теоретически её всё равно можно восстановить, углубившись в слой хранения, но нужно сказать, что вернуть её очень сложно. В теории, при мягком удалении достаточно снова присвоить deleted_at
значение NULL
, и на этом всё:-- и волшебным образом всё вернулось на место!!
UPDATE foo SET deleted_at = NULL WHERE id = $1;
Как написать игру на Monogame, не привлекая внимания санитаров. Часть 2, натягиваем спрайты на глобус
В прошлый раз мы остановились на том, что сделали белый квадратик, перемещающийся по голубому фону. В этой части мы сделаем приемлемые спрайты машинок и, самое главное, создадим камеру, которая будет следовать за игроком.
Известные баги ядра Linux и борьба с ними
Поскольку с каждым днём в современном цифровом пространстве появляются все новые кибер-угрозы, важность безопасности IT-систем переоценить сложно. При этом уязвимыми являются не только онлайн-сети, но и операционные системы. И хотя Linux отличается более высоким уровнем безопасности в сравнении с другими ОС, на 100% от угроз не защищена и она.
В действительности наблюдается повышение количества атак на операционные системы Linux. Наиболее ценные мишени зачастую работают именно на этой ОС, что ставит её безопасность во главу угла. Например, организации, которые стремятся сохранять свои коммуникации совместимыми с HIPAA, должны убедиться, что каждый элемент используемого ими ПО, включая операционные системы (англ.) и даже программы для цифрового рабочего пространства (англ.), максимально защищён.
Self-hosted EXPLAIN: наглядно и безопасно
С момента первой же хабрапубликации о возможностях нашего сервиса визуализации планов запросов PostgreSQL explain.tensor.ru (а было это уже больше 2 лет назад) пользователи задавали резонный вопрос: "Все у вас круто, но у нас в запросах и планах есть коммерческая инфа, которую отправлять куда-то наружу низзя... Можно как-то ваш сервис развернуть на своей площадке?"
Ну, а почему бы и нет, подумали мы - тем более, некоторые пользователи уже интересовались возможностью интеграции нашего сервиса в свои системы.
Интерпретация моделей или как заглянуть в черный ящик
В своей статье про обучение на синтетике я затронул такой инструмент как Grad-cam. Grad-CAM один из подходов, позволяющих интерпретировать модель и визуализировать её результаты. Давайте немного поговорим зачем вообще тратить время и ресурсы на визуализацию предсказаний и как это может помочь в будущем!
Как мы начали дарить заказчикам $40’000 за право оценить качество их продукта
А еще, похоже, смогли решить нерешаемую проблему и пересечь два множества “не хватает нормальных кадров на рынке” и “без опыта меня никуда не берут”.
Наняли админов? Разобрались с DevOps? Время подумать об SRE
ИТ-индустрии нашего региона потребовалось некоторое время, чтобы осознать принципиальную разницу между DevOps и системным администратором, хотя путаница в вакансиях и описаниях продолжалась вплоть до конца десятых годов, а в отдельных случаях, мы уверены, девопсов принимают за сисадминов и по сей день. Однако развитие IT-сектора как в России, так и в целом по миру привело к следующему витку специализации сотрудников. И если DevOps возникли из-за необходимости увязать между собой разработку серверную часть и наладить пути доставки обновлений и коммуникацию между командами, то SRE — уже следующая ступень эволюции, с новыми требованиями по глубине скиллов и их комплекту.
Process Mining по шагам: как настроить и запустить процессную аналитику в компании
Неэффективный бизнес-процесс – это недополученная прибыль. Из-за сложных процедур компания теряет время и клиентов, а большие объемы рутинных операций, выполняемых вручную, выматывают сотрудников и приводят к ошибкам. Обнаружить проблемные участки в бизнес-процессах и найти гипотезы по их улучшению помогают системы Process Mining. В этой статье разберемся, как внедрить процессную аналитику и на что обратить внимание при реализации проекта.
В Китае внедрили судебный ИИ. Или нет?
С такими заголовками вышли десятки публикаций в российском интернете. Может показаться, что в КНР создали искусственный интеллект, который рассматривает дела и выносит приговоры. Прямо как с новостями о китайском социальном рейтинге, которого нет. Так что же с ИИ в китайском суде?
Call For Papers: KazHackStan возвращается. Самая большая конференция по кибербезопасности в Центральной Азии
Мы анонсируем четверый KazHackStan, который снова соберет всех специалистов ИБ и IT-сферы, инфлюенсеров, журналистов, бизнесменов, блогеров, студентов и государственных служащих Центральной Азии в одном месте.
«KazHackStan» - это главная ежегодная практическая конференция, посвященная вопросам информационной безопасности, является одной из самых масштабных конференций в Центральной Азии, которая проводится с 2017 года. В этом году мы ожидаем не менее 3 000 посетителей.
Data Quality: новые правила
В нашем мире проблемы с данными делятся на два типа: предсказуемые (известные неизвестные) и непредсказуемые (неизвестные неизвестные). Вот какой комплексный подход применяют лучшие специалисты по работе с данными для решения этих проблем в крупномасштабных системах. Команда VK Cloud Solutions перевела статью о новых способах повышения качества данных с помощью тестирования и наблюдаемости (observability).
Так почему джуны все-таки не нужны?
Для джуна поиск работы похож на полосу препятствий. Тот, кто успешно преодолел ров с крокодилами, катящиеся шары, лаву и дротики с ядом, получает приз — классную работу.
Всем привет, это Макс Кравец. В 2021 году я написал серию статей о том, почему джуны никому не нужны и куда катится рынок зарплат разработчиков в IT. В них я посмотрел на вопросы со стороны нанимателя. Рассказал, почему джуны — это рисковая инвестиция. Дал общие советы, как новичку не застрять на начальном уровне, прокачать самостоятельно soft- и hard-скиллы и достигнуть желаемого роста в зарплате. Спустя полгода я решил дополнить эти материалы.
Linux, Unix, безопасность: open source-проект FreeIPA как Enterprise-решение
Привет, Хабр! Меня зовут Александр Копылов. Я руководитель направления, участник профсообщества Сбера DWH/BigData.
Сегодня предлагаю обсудить интересное решение из сферы инфобеза для высоконагруженных проектов. Огромное их количество, помимо технических возможностей и разнообразных фич, требует правильного подхода к безопасности. Одно из оптимальных решений ― FreeIPA, о нём и поговорим под катом.
Vue здорового pragmatica. Как правильно делать выбор между React и Angular
Хочешь устроить очередной… кхм… спор о том, какой фреймворк лучше и прослыть хайпожором — напиши статью «фреймворк ХХХ кулл, остальных на кол». Но когда твой выбор влияет на стек всей компании, объясняться все равно приходится — с коллегами, заказчиками, подрядчиками. Чтобы не повторять сто раз одно и то же, запишу аргументы в этой статье. Так что приглашаю к обсуждению самих «пострадавших» и поехали!
Обхода блокировок много не бывает на роутерах Keenetic
С помощью действий, описанных в этой статье, Вы сможете подключить все устройства домашней сети (телефоны, смарт-тв, компьютеры и ноутбуки и другие "домашние" устройства) к данному обходу блокировок, а также подключаться к Вашему роутеру не из дома и пользоваться его обходом блокировок для доступа к любимым сайтам и приложениям. Кроме того, из обеих этих сетей (домашней и через подключение к роутеру), из любого браузера можно будет пользоваться onion-сайтами.
В данной статье будет описана работа телеграм-бота, написанного на python. С его помощью будет возможна установка данного обхода с небольшими предварительными настройками, а также работа со списками блокировок.