Как стать автором
Обновить
1
0
Kirill Plotnikov @pltnk

Senior Software Engineer / Team Lead

Отправить сообщение

Создаем thumbnails для видео с python и opencv

Время на прочтение2 мин
Количество просмотров5K


Порой, разбирая завалы больших и малых видеофайлов в папке(папках) нет времени заглядывать в содержимое каждого файла. Тут на ум приходят так называемые thumbnails, которые позволяют в виде нарезки фрагментов из видео, создать представление о содержимом.

Создадим небольшую программу, которая создаст thumbnails для каждого из файлов в текущей папке windows, и добавит timeline к вырезанным файлам.
Читать дальше →
Всего голосов 10: ↑10 и ↓0+10
Комментарии8

Крошечный генератор мелодий на JS — как он устроен

Время на прочтение3 мин
Количество просмотров5.7K
Рассказываем об инструменте ZzFXM, который пригодится разработчикам инди-игр или веб-приложений, вынужденных оперировать сильно ограниченным объемом памяти.

Также поговорим об аналогах — rFXGen, wafxr.

Читать дальше →
Всего голосов 14: ↑14 и ↓0+14
Комментарии4

Книга «Программирование квантовых компьютеров. Базовые алгоритмы и примеры кода»

Время на прочтение14 мин
Количество просмотров7.2K
image Привет, Хаброжители! Квантовые компьютеры спровоцировали новую компьютерную революцию, и у вас есть прекрасный шанс присоединиться к технологическому прорыву прямо сейчас. Разработчики, специалисты по компьютерной графике и начинающие айтишники найдут в этой книге практическую информацию по квантовым вычислениям, нужную программистам. Вместо штудирования теории и формул вы сразу займетесь конкретными задачами, демонстрирующими уникальные возможности квантовой технологии.

Эрик Джонстон, Ник Хэрриган и Мерседес Химено-Сеговиа помогают развить необходимые навыки и интуицию, а также освоить инструментарий, необходимый для создания квантовых приложений. Вы поймете, на что способны квантовые компьютеры и как это применить в реальной жизни. Книга состоит из трех частей: — Программирование QPU: основные концепции программирования квантовых процессоров, выполнение операций с кубитами и квантовая телепортация. — Примитивы QPU: алгоритмические примитивы и методы, усиление амплитуды, квантовое преобразование Фурье и оценка фазы. — Практика QPU: решение конкретных задач с помощью примитивов QPU, методы квантового поиска и алгоритм разложения Шора.
Читать дальше →
Всего голосов 10: ↑9 и ↓1+10
Комментарии3

Лучшие практики bash-скриптов: краткое руководство по надежным и производительным скриптам bash

Время на прочтение6 мин
Количество просмотров37K

Shell wallpaper by manapi

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

Команда Mail.ru Cloud Solutions перевела статью с рекомендациям, благодаря которым вы сможете лучше писать, отлаживать и поддерживать свои сценарии. Хотите верьте, хотите нет, но ничто не может сравниться с удовлетворением от написания чистого, готового к использованию bash-кода, который работает каждый раз.

В статье автор делится тем, что узнал за последние несколько лет, а также некоторыми распространенными ошибками, которые заставали его врасплох. Это важно, потому что каждый разработчик программного обеспечения в определенный момент своей карьеры работает со сценариями для автоматизации рутинных рабочих задач.
Читать дальше →
Всего голосов 40: ↑38 и ↓2+54
Комментарии70

«Остановите Total Commander!» или главная проблема свободного ПО

Время на прочтение10 мин
Количество просмотров156K

Сегодня мы попробуем разобраться, почему Open Source приложениями никто не хочет пользоваться. Статья получилась довольно длинной, но не пугайтесь, будет интересно.


Поехали!

Читать дальше →
Всего голосов 148: ↑97 и ↓51+83
Комментарии719

Большая история аргументов функций в Python

Время на прочтение11 мин
Количество просмотров65K
Ну, на самом деле, история аргументов в Python не такая уж и большая.

Я всегда удивлялся тому, что для работы с аргументами Python-функций достаточно лишь разобраться с *args и **kwargs. И удивлялся я не зря. Как оказалось, аргументы — это далеко не так просто. В этом материале я хочу дать общий обзор всего того, что связано с аргументами функций в Python. Надеюсь, что в итоге у меня, и правда, получится показать общую картину работы с аргументами, и что эта статья не станет очередной публикацией, в которой читателю не удастся найти ничего нового. А теперь — к делу.



Большинству читателей этой статьи, полагаю, понятна сущность аргументов функций. Для начинающих поясню, что это — объекты, отправляемые функции инициатором её вызова. При передаче аргументов функции выполняется множество действий, зависящих от того, объекты какого типа отправляют функции (изменяемые или неизменяемые объекты). Инициатор вызова функции — это сущность, которая вызывает функцию и передаёт ей аргументы. Говоря о вызове функций, стоит поразмыслить над некоторыми вещами, которые мы сейчас обсудим.
Читать дальше →
Всего голосов 31: ↑24 и ↓7+27
Комментарии20

Делаем Linux терминал красивым и удобным

Время на прочтение3 мин
Количество просмотров200K
Все дистрибутивы Linux поставляются с функциональным и кастомизируемым эмулятором терминала. В интернете, а порой даже в самом терминале, есть масса готовых тем, чтоб он красиво выглядел. Однако, чтоб сделать из стандартного терминала (в любом DE, любого дистрибутива) нечто красивое и одновременно удобное и простое в использовании я потратил много времени. Итак, как же сделать дефолтный терминал удобным и приятным в использовании?
Читать дальше →
Всего голосов 32: ↑18 и ↓14+13
Комментарии97

VK-api: Бот-викторина

Время на прочтение4 мин
Количество просмотров6.2K

Введение


Месяца три назад мы с друзьями по сети «ВКонтакте» в общем чате (беседе) играли в угадайку — игру по мультфильму «Смешарики», который мы все любим. Правила: ведущий пишет цитаты персонажей мультика, игроки угадывают из какой серии эта цитата. Я решил сделать игру более интересной, и назначить на роль ведущего бота.
Читать дальше →
Всего голосов 9: ↑6 и ↓3+6
Комментарии13

Схемотехника. Минимизация логических функций

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

Читать дальше →
Всего голосов 83: ↑64 и ↓19+45
Комментарии42

Асинхронный Python-код медленнее обычного кода

Время на прочтение8 мин
Количество просмотров22K
Большинство программистов понимают, что асинхронный Python-код имеет более высокий уровень конкурентности, чем обычный синхронный код. Это даёт некоторые основания полагать, что асинхронный код способен показывать более высокий уровень производительности при решении распространённых задач вроде выдачи динамических веб-страниц или поддержки веб-API.



Но, к сожалению, Python-интерпретатор не выполняет асинхронный код быстрее синхронного.

В реалистичных условиях асинхронные веб-фреймворки показывают немного худшую пропускную способность (выраженную в запросах в секунду), чем обычные, и отличаются гораздо более сильной изменчивостью задержек.
Читать дальше →
Всего голосов 39: ↑25 и ↓14+21
Комментарии51

Трюки с SQL от DBA. Небанальные советы для разработчиков БД

Время на прочтение22 мин
Количество просмотров32K

Когда я начинал свою карьеру разработчика, моей первой работой стала DBA (администратор базы данных, АБД). В те годы, ещё до AWS RDS, Azure, Google Cloud и других облачных сервисов, существовало два типа АБД:

  • АБД инфраструктуры отвечали за настройку базы данных, конфигурирование хранилища и заботу о резервных копиях и репликации. После настройки БД инфраструктурный администратор время от времени «настраивал экземпляры», например, уточнял размеры кэшей.
  • АБД приложения получал от АБД инфраструктуры чистую базу и отвечал за её архитектуру: создание таблиц, индексов, ограничений и настройку SQL. АБД приложения также реализовывал ETL-процессы и миграцию данных. Если команды использовали хранимые процедуры, то АБД приложения поддерживал и их.

АБД приложений обычно были частью команд разработки. Они обладали глубокими познаниями по конкретной теме, поэтому обычно работали только над одним-двумя проектами. Инфраструктурные администраторы баз данных обычно входили в ИТ-команду и могли одновременно работать над несколькими проектами.
Читать дальше →
Всего голосов 52: ↑48 и ↓4+68
Комментарии38

ООП в картинках

Время на прочтение20 мин
Количество просмотров849K
ООП (Объектно-Ориентированное Программирование) стало неотъемлемой частью разработки многих современных проектов, но, не смотря на популярность, эта парадигма является далеко не единственной. Если вы уже умеете работать с другими парадигмами и хотели бы ознакомиться с оккультизмом ООП, то впереди вас ждет немного лонгрид и два мегабайта картинок и анимаций. В качестве примеров будут выступать трансформеры.


Читать дальше →
Всего голосов 38: ↑34 и ↓4+30
Комментарии104

Глючный код на Python: 10 самых распространенных ошибок, которые допускают разработчики

Время на прочтение11 мин
Количество просмотров93K

О Python


Python — это интерпретируемый, объектно-ориентированный язык программирования высокого уровня с динамической семантикой. Встроенные структуры данных высокого уровня в сочетании с динамической типизацией и динамическим связыванием делают его очень привлекательным для БРПС (быстрой разработки прикладных средств), а также для использования в качестве скриптового и связующего языка для подключения существующих компонентов или сервисов. Python поддерживает модули и пакеты, тем самым поощряя модульность программы и повторное использование кода.

О данной статье


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

Имея это в виду, в этой статье представлен «топ-10» тонких, трудных для обнаружения ошибок, которые могут допустить даже продвинутые разработчики Python.
Читать дальше →
Всего голосов 44: ↑39 и ↓5+34
Комментарии78
12 ...
19

Информация

В рейтинге
Не участвует
Работает в
Зарегистрирован
Активность

Специализация

Backend Developer, ML Engineer
Senior