Обновить
512K+

Python *

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

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

Не только ORM (NoORM)

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели14K

Привет, Хабр! Хочу поделиться самодельной питонской библиотекой, существенно упрощающей взаимодествие с базами данных.

«Написать свой собственный ORM» – неплохая задачка для тех, кто решил поглубже изучить некоторые языковые особенности Питона, но в данном случае задача была другая – написать не ORM, а не-ORM. Механизм, упорядочивающий и облегчающий доступ к базам данных, но который сам по себе ни в коей мере не является ORM-ом.

Читать далее

Создание масштабируемых RL систем с Ape-X

Время на прочтение6 мин
Охват и читатели1.3K

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

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

Читать далее

Нейросеть для генерации текста

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели13K

Как я и ChatGPT писали текстовый генератор. Есть несколько изюминок

Модель нейросети больше, чем предложил чат-бот и она обучается нестандартным способом.

Читать далее

Все числа равны, но некоторые равнее. Как в Python сравниваются Int и Float

Время на прочтение17 мин
Охват и читатели29K

Ещё одна причуда Python, исследование её подноготной и попытка понять, почему так случается.

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

Читать далее

Тутор: как нажать на кнопку. Продвинутые техники работы с веб-элементами для Selenium

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели12K

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

Читать далее

Как создать волшебника в Django: многошаговые формы

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели12K

Сегодня мы поговорим о магии, но не той, что преподают в Хогвартсе. Речь пойдет о создании волшебника, точнее многошагового мастера форм в Django, который позволяет пользователю шаг за шагом продвигаться к желаемому результату. Эта статья расскажет, как использовать django-formtools для реализации волшебства на вашем сайте.

А причем тут магия? Узнаете чуть позже.

Читать далее

Подготовка к техническому собеседованию Senior/Team Lead backend

Уровень сложностиСредний
Время на прочтение3 мин
Охват и читатели40K

Недавно появились мысли походить на собеседования чем я успешно занялся. Если конкретно - смотрел лидовскую/сеньерскую позиции на Python и Golang(но статья может пригодиться backend разработчикам в целом). Не ставлю целью статьи объять все не объятное и дать какие-то гарантии. Я лишь зафиксирую данные для себя на будущее.

Вообще ходить на собеседования неплохой навык - в моем случае удается неплохо прокачать технические скилы и узнать запросы рынка на текущий момент(ведь может случиться так, что твои навыки перестанут быть актуальными).

Сразу сделаю пометку, что некоторые навыки/ресурсы специфичны(по типу нарешивания Leetcode), но отталкиваемся от текущих реалий рынка.

Читать далее

Reformer на TRAX?

Уровень сложностиПростой
Время на прочтение11 мин
Охват и читатели2.9K

Что такое Reformer и почему он круче Transformer’a (GPT-4...)?

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

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

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

Читать далее

Разработка и анализ нейронной сети для обработки данных кинематики роботов

Уровень сложностиСредний
Время на прочтение22 мин
Охват и читатели5.5K

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

Читать далее

С Python на Go и обратно: мой опыт

Время на прочтение9 мин
Охват и читатели27K

Привет! Меня зовут Денис, я ведущий Golang-разработчик в МТС Диджитал. Еще год назад я работал экспертом по запуску новых сервисов и услуг в Корпоративном центре МТС и параллельно заканчивал курс «Продвинутый Go‑разработчик» от Практикума.

В этой статье я расскажу, как начал программировать на Python и зачем мне понадобился Go, как и чему я учился и почему теперь посматриваю на Rust.  

Go читать!

Обзор новых Open Source LLM. Или как локально запустить аналог ChatGPT

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели122K

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

Читать далее

Основы DNS: понятие, иерархия, записи

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели135K

DNS (Domain Name System) – это система, которая переводит понятные человеку доменные имена в IP-адреса, которые используют компьютеры для связи друг с другом. Представьте, что DNS – это как телефонная книга интернета. В обычной телефонной книге, если вам нужно найти номер телефона человека, вы ищете его по имени, и книга предоставляет вам номер. Точно так же DNS помогает находить IP-адреса, когда вы вводите доменное имя.

Когда вы вводите адрес веб-сайта, например, www.example.com, в строку браузера, DNS помогает найти нужный IP-адрес, чтобы ваш браузер мог подключиться к нужному серверу. IP-адрес – это уникальный числовой идентификатор, который используется для идентификации устройства в сети. Всякий раз, когда вы отправляете запрос на веб-сайт, ваш браузер отправляет этот запрос через интернет на сервер, который затем отвечает данными, которые вы видите на экране.

Читать далее

Автоматическое создание интерактивных карт

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели11K

В данной статье будет рассмотрен подход к автоматизированному созданию карт с использованием следующего технологического стека: QGIS, PostgreSQL, Django, Leaflet. Идея родилась ввиду необходимости быстрого создания интерактивных карт из уже созданных проектов в QGIS. Хочу сразу оговорится что проекты создаются без использования локальных слоев, а исключительно с использование БД для их хранения.

Читать далее

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

Масштабирование глубокого обучения с помощью Horovod и Kubernetes

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели3.2K

Horovod — это фреймворк для распределенного глубокого обучения, изначально разработанный в Uber. Он позволяет масштабировать обучение моделей на сотни и тысячи GPU, сокращая время тренировки с недель до часов. Horovod поддерживает такие фреймворки, как TensorFlow, Keras, PyTorch и Apache MXNet, и легко интегрируется с существующими кодовыми базами, требуя минимум изменений.

В статье как раз и пойдет речь о том, как масштабировать модельки с помощью Horovod и Kubernetes.

Читать далее

Эволюция подсчета в Python

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели20K

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

Большинство из нас присоединилось к программированию на Python с его третьей версии. Однако мы начнем с Python 1.4. Пристегните ремни, отправляемся в далекое прошлое — в 1997 год!

Читать далее

Python — Эволюция создания объектов (вторая часть)

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели5K

Как упростить себе жизнь или почему ты должен уметь создавать объекты правильно?

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

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

Читать далее

Как стать Python-разработчиком с нуля? Бесплатная программа обучения

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели68K

Если вбить фразу «python разработка» в поисковую строку, можно найти огромное количество курсов по данному направлению. Дело в том, что все курсы являются платными и, как правило, имеют ценник в несколько десятков тысяч рублей. 

Чтобы разбавить обилие платных курсов, мы подготовили для вас программу обучения «Python-разработчик с нуля», которая состоит только из бесплатных курсов.

Читать далее

О программировании спустя 2 года опыта

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели52K

Меня зовут Никита, я — Python бэкенд-разработчик из Surf. Месяц назад я закончил первый проект в аутсорс-компании. Признаться, он стал для меня открытием — раньше я работал только в инхаус-продуктах. Это два совершенно разных опыта с разным отношением к продукту, коду, работе, которые повлияли на моё общее отношение к программированию. И сегодня я хочу поделиться этими изменениями за 2 года коммерческого опыта. Многие из этих вещей могут показаться очевидными, но я их осознал только со временем (да, два года для молодых – это уже срок).

Читать далее

Прогнозируем результаты российского кинопроката с помощью ML

Уровень сложностиСредний
Время на прочтение13 мин
Охват и читатели3.4K

Результаты российского кинотеатрального проката предсказуемы. До начала съемок самого фильма. С помощью ансамблевых моделей машинного обучения и исторических данных по прокату и характеристикам творческой группы.

Смотреть кино!

Бот-автоответчик с ChatGPT для Бизнес-аккаунта в Telegram на Aiogram 3

Уровень сложностиПростой
Время на прочтение13 мин
Охват и читатели24K

Не так давно в Telegram вышло большое обновление - "Telegram для бизнеса". В данный момент оно доступно для Premium-пользователей, а в будущем, вероятно, станет отдельным режимом.

"Telegram для бизнеса" предоставляет собой новый способ взаимодействия с клиентами через Telegram, вводя для этого новые функции:

Читать далее