Все потоки
Поиск
Написать публикацию
Обновить
438.31

Python *

Высокоуровневый язык программирования

Сначала показывать
Порог рейтинга
Уровень сложности

Proof Of Concept на Python или как портировать С/С++

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

Язык программирования Python существует уже 31 год. Это полностью объектно-ориентированный язык. За все время существования на нем стало возможно применять разные парадигмы. Сейчас этот язык может поддерживать:

- объектно ориентированную парадигму
- структурное программрование
- обобщенное программирование
- функциональное программирование
- метапрограммирование
- контрактное и логическое программирование

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

Помимо всех этих возможностей из-за простого синтаксиса язык стал самым распространенным для прототипирования различных функций больших и маленьких проектов. Некоторые области Computer Science вообще изначально используют этот язык, потому что он максимально прост и не обязательно долго листать документацию, чтобы понять, как создать простейшее приложение. На Python написано большое количество библиотек, которые могут решать различные задачи: от 3D моделирования до сетевого взаимодействия. Причем использовать язык можно не только на уровне абстракций, которые применяют языки высокого уровня, но также можно выполнять и более низкоуровневые задачи.

Статья будет содержать 3 части, в ходе которых мы будем иссследовать возможность портирования C/C++ кода для различных ОС. В этой статье посмотрим, насколько эффективно можно реализовать возможность работы с оперативной памятью и получением данных от системы.

Читать далее

Логирование в объектах Python. Путь перфекциониста

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

Логировать лучше, чем не логировать. Чем больше разбираешься в чужом и своём коде, тем больше убеждаешься в справедливости этих слов. В Python есть прекрасный модуль logging: настолько удобный и гибкий, насколько вряд ли когда-нибудь понадобится. Мы не будем обсуждать, как его настроить, благо инструкций для этого хватает. Считаем, что всё уже настроено и надо просто добавить логгер в наши классы, чтобы использовать его внутри объектов.

Читать далее

5 советов по использованию декораторов в Python

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

Advanced советы по использованию декораторов в python. Будет полезно, как для новчиков, так и для самых продвинутых пользователей.

Читать далее

Python и Samila. Делаем красиво

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

Как при помощи языка программирования Пайтон и библиотеки Samila создавать красивые изображения, даже с минимальными усилиями.

Читать далее

Градиентный бустинг с CATBOOST (часть 3/3)

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

В предыдущих частях мы рассматривали задачу бинарной классификации. Если классов более чем два, то используется MultiClassification, параметру loss_function будет присвоено значение MultiClass. Мы можем запустить обучение на нашем наборе данных, но мы получим те же самые результаты, а обучение будет идти несколько дольше:

Читать далее

Прогнозируем реальные вероятности

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

Может ли ваша модель прогнозировать реальные вероятности? На самом деле абсолютно точно это не может делать ни одна. Мы можем максимально приблизиться к реальным показателям, но для этого модель должна быть откалибрована. То есть скорректирована так, чтобы полученные показатели распределения вероятностей были как можно ближе к реальным.

Читать далее

Хватит терять клиентов! Или как разработчику тестировать сайт, на примере PVS-Studio. Часть 1

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

Сайт с багами – горе для бизнеса. Всего одна 404-я или 500-я ошибка может лишить вашу компанию солидной суммы денег и хорошей репутации. Но есть способ избежать этого: тестировать сайт. О том, как это сделать, расскажет данная статья. Прочитав её, вы узнаете, как тестировать код на Django, создать своего пользователя-тестировщика и много чего еще. Добро пожаловать под кат.

Читать далее

Ещё один пример генеративных изображений

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

Все любят генеративное искусство и всё что с ним связано (вот оно слева направо, в конце есть прикольные ссылочки).

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

Читать далее

Программа для автоматического изменения размера изображения с сохранением пропорции сторон на Python

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

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

Читать далее

Делаем многоуровневого бота для ВК с Long Poll VK API, Python, MySQL и решаем вопрос многопоточности c помощью threading

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

Создание ботов - довольно заезжанная тема, но все уроки, статьи и различного рода документация дают информацию только о том, как построить одноуровневого бота без возможности создания древа из различных всплывающих меню (клавиатур).
А это нужно для создания:

— Сложных ботов с несколькими уровнями "глубины" (различные меню/клавиатуры)
— Ботов, созданных одновременно для групповых чатов и для лички сообщества
— Ботов, с повторяющимися ключевыми командами в различных меню, которые необходимо разделять

В этой статье будет рассказано как реализовать многоуровневого бота с использованием Python 3, MySQL, VK Bots Long Poll API и библиотеки threading, чтобы каждый пользователь бота сохранял своё положение в меню и мог, вернувшись обратно, стартовать с той же позиции в любое время.

Читать далее

Парсинг Pubmed на противораковые натуральные вещества

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

В этой статье будет расчет натуральных веществ распарсенных с базы биомедицинских публикаций Pubmed.

Для этого будет подключены библиотеки BioPython.

Читать далее

Как с помощью трансферного обучения обнаружить вулканы на Гавайях

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

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

Читать далее

Лидерство Python в рейтинге Tiobe: долгий путь к первому месту и зарплатные ожидания разработчиков

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

В январе 2022 года Python уже во второй раз стал лидером ежемесячного рейтинга языков программирования Tiobe. Рост популярности Python за год составил 1,86%. Под катом вместе с Алексеем Некрасовым, лидером направления Python в МТС, программным директором направления Python в Skillbox, оцениваем историю путешествия языка на первое место, разбираем размеры заработной платы разработчиков и даем небольшой прогноз будущего. 

Читать далее

Ближайшие события

Перемещение подов к primary ноде patroni или как использовать taints, labels в k8s

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

Данная статья представляет собой решение проблемы с network latency между прикладом и бд. Поэтому скорее всего она будет интересна людям имеющие схожие симптомы. В материале описаны основные моменты kubernetes и пляски с бубном на python. Примеры кода приведены из реального приложения.

Читать далее

Шрифты в играх: как из 191 Мб сделать 12 Мб

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

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

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

Читать далее

API и ФССП: как это работает?

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

Я начал поиск информации о возможностях автоматизации получения данных с сайта...

Что из этого получилось...

Внедрение зависимостей проще простого – на Python

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

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

Читать далее

Мой друг Netmiko. Часть 2: Три улучшения Python-скрипта

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

Продолжаю ковырять автоматизацию рутины на сети из Huawei коммутаторов. На этот раз изыскания, которые позволили сократить код в 3 раза, а именно: хосты и команды перенесены в отдельные файлы, пароль и имя пользователя больше не хранятся в открытом тексте. Есть демонстрация запуска скрипта. Детальное описание за кнопкой «Читать далее».

Читать далее

За два года стать разработчиком и устроиться в Tesla. Рассказываем историю Сергея

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

Тут должна быть крутая история успеха с неизменной рекламой каких-нибудь обучающих курсов. Что-то вроде «За два года Сергей выучился на питониста и уехал работать в Tesla в солнечной Калифорнии. Присоединяйся к нашей программе, и сможешь добиться того же!»

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

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

Читать далее

Анатомия асинхронных фреймворков в С++ и других языках

Время на прочтение20 мин
Количество просмотров47K
Привет! В этой статье я расскажу об устройстве асинхронных движков с корутинами и без них. Для начала сосредоточимся не на конкретном движке, а на том, почему во всех популярных языках программирования появились корутины и чем они так хороши. Это может быть интересно не только C++-разработчикам, но и всем, кто занимается разработкой сетевых приложений или интересуется архитектурой современных фреймворков.

Пройдёмся по разным архитектурам построения серверов — от самой простой синхронной к более интересным, посмотрим на типичную архитектуру корутинового движка, а после окунёмся в дебри C++ и взглянем на самое страшное на примере нашего фреймворка userver.

Пишем синхронный сервер


Представьте, что у вашего сервиса очень маленькая нагрузка — 100 rps, и вам дали задачу написать простой сервер, понятный каждому второму школьнику. У вас получится что-то наподобие следующего:

void naive_accept() {
  for (;;) {
    auto new_socket = accept(listener);

    std::thread thrd([socket = std::move(new_socket)] {
      auto data = socket.receive();
      process(data);
      socket.send(data);
    });

    thrd.detach();
  }
}
Читать дальше →

Вклад авторов