Собрали в одном месте самые важные ссылки
и сделали Тренажер IT-инцидентов для DevOps/SRE
Недавно мне поручили собрать результаты запросов в один файл. Единственное условие: эти запросы абсолютно разные. Они все агрегирующие, но с разным количеством столбцов и типами данных. Классический сценарий исполнения этих запросов выглядит так: я исполняю их через любой менеджер БД и записываю результат в один файл. Это слишком скучно и муторно, поэтому я решил написать программу, которая делала всю скучную работу за меня.
Как динамическое программирование может упростить нашу жизнь? Как можно оптимизировать решение задач?Сегодня мы разберем динамическое программирование на пальцах с примерами на Python!
Всегда существовало множество альтернативных реализаций Python, и хотя cpython развивается, развиваются и альтернативы. В этом докладе мы пройдемся по самым популярным и современным из них, посмотрим, что они предлагают, какие проблемы решают и, наконец, для каждого из них найдем ответ на вопрос: "Стоит ли мне перейти с cpython на X прямо сейчас?"
Расскажу о своем опыте технических собеседований с обеих сторон — и как претендент, и как интервьюер. Поделюсь своим видением на что смотреть при найме с одной стороны и на то, как проходить техничку самому с другой. Также обсудим боли и радости собеседований.
Расскажу о том как эволюционировало представление о кодовом стиле у меня и у нашего внутрибанковского комьюнити и к чему мы пришли. Покажу свод правил, конфигурацию и опции настройки для того, чтобы относительно расслабленно систематически достигать очень хорошего качества исходного кода. Здесь не будет срыва покровов, взрывных правил, неожиданных утилит, крутых разработок, скорее собранное вместе руководство. Пригодится тем, кто не заморачивался на кодстайл; тем, кого не устраивает их кодстайл; тем, кого по какой-то причине не устроили существующие гайды.
Рассказываю о том, как писал интерпретатор языка Brainfuck на Python (с показом исходного кода и его объяснения).
Автор статьи обращает внимание на проблему, которая заключается в использовании метода __init__ для сложной логики создания объектов, что приводит к разрастанию и усложнению кода. Статья предлагает использовать вспомогательные методы, чтобы разделить логику создания объектов на более мелкие и понятные части. Это упростит код и облегчит понимание того, как объекты создаются и инициализируются.
Профилирование приложений — это процесс анализа программы для определения её характеристик: времени выполнения различных частей кода и использования ресурсов.Для асинхронного python-кода существует конечное количество специфических "узких мест", которые лучше перечислить заранее.
Прежде чем начать писать сам автотест, очень важно изучить документацию по вашему проекту и сделать сценарии, по которым вы будете создавать автотесты. В большинстве случаев автотестировщики пишут автотесты по уже готовым сценариям, поэтому на данном пункте мы долго останавливаться не будем, а вот изучение документации перед написанием автотестов является неотъемлемой частью процесса разработки. Только с таким знанием мы сможем написать качественные и полнофункциональные автотесты, которые будут эффективно проверять работу нашего программного продукта.
Я, честно говоря, был удивлён, когда узнал о существовании 4-битного формата для представления чисел с плавающей запятой. Да как такое вообще возможно? Лучший способ узнать об этом — самостоятельно поработать с такими числами. Сейчас мы исследуем самые популярные форматы чисел с плавающей запятой, создадим с использованием некоторых из них простую нейронную сеть и понаблюдаем за тем, как она работает.
Всегда ли вы берете с собой смартфон? Наверное да, ведь это удобно, когда под руками есть все каналы связи.Но что, если вы собираете автономно работающее устройство с микрокомпьютером, такое как как радиоуправляемый вездеход, робот присутствия, устройство управления шлагбаумом, систему IoT, турникет или что-то подобное? Было бы неплохо оснастить это устройство чем-то, похожим по функциональности на смартфон.
А теперь о том, что происходило в последнее время на других ресурсах.
В подборке — видео докладов с последнего AQA-митапа: о плагинах Pytest, архитектуре автотестов для продукта на open source-движке, а также о критериях понятных тестов (и как их соблюдать на практике). Материалы будут полезны как начинающим, так и опытным AQA-инженерам.
Однажды, когда я искал эффективное решение для преобразования речи в текст (транскрибации), чтобы применить его в своем проекте умной колонки, обнаружил интересное решение под названием Whisper от широко известной компании Open AI.
Двумерное преобразование Фурье — один из важнейших алгоритмов компьютерной науки этого столетия. Он нашел широкое применение в нашей повседневной жизни — от фильтров Instagram до обработки MP3-файлов.
Создание фреймворка автоматизации тестирования — это масштабная задача, и ваш проект теперь обладает эффективной инфраструктурой тестирования. Регулярный запуск тестов, анализ отчетов Allure, а также поддержание стиля и качества кода с использованием форматтеров и линтеров обеспечивают надежность и стабильность вашего проекта.
Как прочитать файл Excel, если он напоминает монстра Франкенштейна? Как склеить множество таких файлов в единый датасет и обработать их, не потеряв ни одной ячейки? Это и многое другое, включая подробности разработки нового инструмента — найдёте в посте.
Это третья статья из серии. В ней мы разберём два типа клавиатур, обсудим фильтрацию сообщений в телеграм ботах.Эта статья направлена именно на новичков, в ней я постараюсь объяснить тему ботов на примере сбора обратной связи.
Рассказываю о том, как я решил написать эмулятор дедушки современных микропроцессоров - Intel 4004 с очень ограниченным функционалом на языке Python.
Очередной выпуск англоязычного подкаста Python Bytes