IT-новости про Python, которые стоит знать

Собрали в одном месте самые важные ссылки
читайте авторский блог

     15.12.2020       Выпуск 365 (14.12.2020 - 20.12.2020)       Статьи

PAGERANK: алгоритм ранжирования WEB-страниц

Итак, рассмотрим ориентированный взвешенный граф. Пусть у графа n вершин. Каждой паре вершин соответствует некоторый вес (вероятность перехода). Стоит отметить, что типичные web-графы – это однородная дискретная марковская цепь, для которой выполняется условие неразложимости и условие апериодичности. Запишем уравнение Колмогорова-Чэпмена: где P – переходная матрица.

     14.12.2020       Выпуск 365 (14.12.2020 - 20.12.2020)       Статьи

Немного про трекинг и сервис переходов Admitad

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

     14.12.2020       Выпуск 365 (14.12.2020 - 20.12.2020)       Статьи

Влияние вида импорта на скорость исполнения кода

Вспомним, на что и как, кроме читаемости, влияет вид импорта.

     12.12.2020       Выпуск 364 (07.12.2020 - 13.12.2020)       Статьи

Conways Game of life на Python

Это мой первый пост, где я хочу рассказать про самый известный клеточный автомат "Игра жизнь", а также напишем её на Python с использованием графики Pygame.

 

     11.12.2020       Выпуск 364 (07.12.2020 - 13.12.2020)       Статьи

Семь бед — один ответ: как мы решали проблему постоянных исправлений

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

     11.12.2020       Выпуск 364 (07.12.2020 - 13.12.2020)       Статьи

Brython: заменяем JavaScript на Python на фронтенде

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

     10.12.2020       Выпуск 364 (07.12.2020 - 13.12.2020)       Статьи

Ультимативный гайд по поиску утечек памяти в Python

Практика показывает, что в современном мире Docker-контейнеров и оркестраторов (Kubernetes, Nomad, etc) проблема с утечкой памяти может быть обнаружена не при локальной разработке, а в ходе нагрузочного тестирования, или даже в production-среде.

     09.12.2020       Выпуск 364 (07.12.2020 - 13.12.2020)       Статьи

Конфигурируем сервис с помощью Vault и Pydantic

В данной статье я расскажу о конфигурации для вашей сервисов с помощью связки Vault (KV и пока только первой версии, т.е. без версионирования секретов) и Pydantic (Settings) под патронажем Sitri.

 

Итак, допустим, что у нас есть приложение superapp с заведёнными конфигами в Vault и аутентификацией с помощью approle, примерно так настроим (настройку policies для доступа к секрет-энжайнам и к самим секретам я оставлю за кадром, так как это достаточно просто и статья не об этом):

     08.12.2020       Выпуск 364 (07.12.2020 - 13.12.2020)       Статьи

Клиент-серверный IPC при помощи Python multiprocessing

Статья отражает личный опыт разработки CLI приложения для Linux.

В ней рассмотрен способ выполнения привилегированных системных вызовов процессом суперпользователя по запросам управляющей программы через строго описанный API.

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

     08.12.2020       Выпуск 364 (07.12.2020 - 13.12.2020)       Статьи

Можно всё: решение NLP задач при помощи spacy

Обработка естественного языка сейчас используется повсеместно: стремительно развиваются голосовые интерфейсы и чат-боты, разрабатываются модели для обработки больших текстовых данных, продолжает развиваться машинный перевод.

     08.12.2020       Выпуск 364 (07.12.2020 - 13.12.2020)       Статьи

Типовые ошибки на собеседовании

Всем привет, сегодня я хотел бы поговорить о некоторых сложностях и заблуждениях, которые встречаются у многих соискателей. Наша компания активно растет, и я часто провожу или участвую в проведении собеседований. В итоге я выделил несколько вопросов, которые многих кандидатов ставят в сложное положение. Давайте вместе рассмотрим их. Я опишу специфические вопросы для Python, но в целом статья подойдет для любого собеседования. Для опытных разработчиков никаких истин тут открыто не будет, но тем, кто только начинает свой путь, будет легче определиться с темами на ближайшие несколько дней.

     07.12.2020       Выпуск 364 (07.12.2020 - 13.12.2020)       Статьи

Генератор диаграмм таблиц ClickHouse для PlantUML

Когда появляется необходимость документировать схемы баз данных, разные DBMS предоставляют свои инструменты для подобных задач. И большинство из них поддерживает DESC table_name, в том числе и ClickHouse. Однако, результат этой команды не столь выразителен, как хотелось бы.

     07.12.2020       Выпуск 364 (07.12.2020 - 13.12.2020)       Статьи

Редактирование JSON полей через Django админку

При использование Django админки часто может возникнуть необходимость подключить внешнюю библиотеку. Например если одно или несколько полей в вашей модели

     06.12.2020       Выпуск 363 (30.11.2020 - 06.12.2020)       Статьи

Пушим метрики Prometheus с помощью pushgateway

Данная заметка в целом о пуше метрик в pushgateway, однако, предупрежу и признаюсь сразу, что в тексте будет пример — анти-паттерна пуша метрик, так как использование pushgateway рекомендуется в случае, когда сервис работает не постоянно (или у сервиса/запускаемого задания вообще нет никакого интерфейса), а значит и prometheus'у лучше в закрытые двери постоянно не стучать и не заниматься лишней работой.

     05.12.2020       Выпуск 363 (30.11.2020 - 06.12.2020)       Статьи

Машинное обучение: ансамбль смешивания на Python

Смешивание — это ансамблевый алгоритм машинного обучения. Это разговорное название для стекового обобщения (stacked generalization) [далее будем использовать термин «пакетирование» вместо принятого в научных работах термина «стекинг»] или ансамбля пакетирования, где вместо того чтобы обучать метамодель на прогнозах вне групп, сделанных базовой моделью, модель обучается на прогнозах, сделанных на независимом наборе данных.

     04.12.2020       Выпуск 363 (30.11.2020 - 06.12.2020)       Статьи

Пишем программу 3D-моделирования в 500 строках кода


Люди от природы креативны. Мы постоянно проектируем и создаём новые, полезные и интересные вещи. Сегодня мы пишем ПО, помогающее процессу проектирования и творчества. Программы САПР (Computer-aided design, CAD) позволяют творцам проектировать здания, мосты, графику видеоигр, чудовищ для фильмов, объектов для 3D-печати и множество других вещей перед созданием физической версии проекта.

     03.12.2020       Выпуск 363 (30.11.2020 - 06.12.2020)       Статьи

Небольшой рассказ, как мы модернизировали и расширяли сеть Wi-Fi до 14 000 точек доступа

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

     03.12.2020       Выпуск 363 (30.11.2020 - 06.12.2020)       Статьи

Как пять лет просидеть в саппорте и за две недели стать Python-тестировщиком

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

     03.12.2020       Выпуск 363 (30.11.2020 - 06.12.2020)       Статьи

Мелкая питонячая радость #14: ботнеты, распознавание текстов и генератор статических сайтов

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

     03.12.2020       Выпуск 363 (30.11.2020 - 06.12.2020)       Статьи

Как работает память в Python

Ни одна компьютерная программа не может работать без данных. А данные, чтобы программа имела к ним доступ, должны располагаться в оперативной памяти вашего компьютера. Но что такое оперативная память на самом деле? Когда произносишь это словосочетание, многие сразу представляют «железную» плашку, вставленную в материнскую плату, на которой написано что-то типа 16Gb DDR4 2666MHz. И они, разумеется, правы — это действительно физический блок оперативной памяти, в котором, в итоге, все данные и оказываются. Но прежде, чем стать доступной внутри вашей программы, на память (как и на всё остальное аппаратное обеспечение) накладывается куча абстракций.