Обновить
592.28

Python *

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

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

[Python Intermediate] Урок 1. Конфигурация приложения

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

Задуманная мною серия статей-уроков будет полезна прежде всего тем, кто уже знает основы Python, но находится в начале пути и не может структурировать обрывки знаний. Если ты уже отучился на одном из бесчисленных курсов или близок к его завершению, то это для тебя!

Читать далее

Метод Flask flash() — Как передавать флэш-сообщения в Flask?

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

В этом уроке мы узнаем как передавать флэш-сообщения с помощью метода Flask flash().

Что означает передать флэш-сообщение?

Для GUI-приложений всегда полезно давать обратную связь пользователю на его действия.
То есть, например, в форме Flask, если пользователь оставляет поле пустым, то вполне уместно выдать ему сообщение об ошибке/информацию о том, что поле является обязательным для заполнения.

В графическом интерфейсе Python Tkinter для отображения сообщения используется месседж или диалоговое окно, а в Client-Side Scripting Language JavaScript (Клиентский язык сценариев JavaScript) это делается с помощью функции alert.
Также, во Flask у нас есть метод flash, позволяющий сделать именно это.

Читать далее

Создаем Telegram бот с регистрацией пользователей из таблицы в Airtable + Python

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

Создавайте чат-бот просто копируя базу данных в Airtable. Обработчики команд чат-бота пишутся на Python прямо в таблице в Airtable. Хранение данных пользователей так же возможно в базу Airtable.

Читать далее

Ошибки выбора MongoDB в качестве основной БД в стартапе

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

В этой статье я хочу рассказать о своих ошибках, которые я допустил, когда писал сервис, у которого MongoDB была основной БД для хранения пользовательских данных (да и не только, но об этом ниже).

Я ни в коем случае не считаю, что MongoDB это плохая БД и ее не нужно использовать. Более того, я считаю, что только мои кривые руки завели меня в ситуацию, из которой пришлось выходить переписыванием сервиса под другую БД (ушел на Postgres и кайфую).

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

На мой взгляд, маркетологи MongoDB приукрасили области применениях БД на своем сайте. MongoDB не универсальная. Далеко не универсальная и даже не пытайтесь на нее смотреть как на решение всех ваших проблем.

Встать на грабли вместе

Перезапуск Вебиума

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

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

Вебиум — онлайн-школа для подготовки к ЕГЭ. 30 тысяч школьников, тысяча наставников, 20 тысяч вопросов и 2 тысячи домашних заданий на сотни тем.

В 2021 году у Вебиума уже была рабочая система на Ruby, которую разрабатывали подрядчики-аутcорсеры. К нам они обратились с привычной проблемой — подрядчики медленно пилят фичи. Посмотрев код и оценив возможности команды, мы поняли, что рефакторить существующий код — долго и дорого, и решили перезапустить систему своими руками на привычном стеке — Django и Nuxt.js. Справились за год: с сентября 2022 все ученики покупают и проходят курсы в новой системе.

Перед нами стояли 3 задачи:

Читать далее

Свой агрегатор новостей на python. Телеграм + RSS + новостные сайты (telethon, feedparser, scrapy)

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


freepik


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


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


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

Читать дальше →

Архитектура универсального проекта Django

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

В ходе последних лет моей разработки проектов Django я понял, что почти все они имеют одно строение:
API, Apps, Config, Library, Utils, Workers...

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

Читать далее

О чём расскажут на PiterPy 2022

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

Тем, кто использует в работе Python, может быть уже знакомо название конференции PiterPy. А мы в JUG Ru Group ранее проводили другие конференции вроде Joker. Но теперь эти два мира встретились, и организацией PiterPy занимаемся тоже мы.

Сама конференция уже на следующей неделе, а её программа теперь полностью составлена, и представляем её Хабру: вот о чём будут доклады.

PiterPy 2022 пройдёт в два этапа: 18 и 19 октября онлайн, а на 28 октября запланирована офлайновая часть в Санкт-Петербурге. Те, кто не готов добраться лично, смогут и доклады 28 октября смотреть в онлайн-формате.

Читать далее

Как работать с библиотекой sktime: разбираемся на примере прогнозирования продаж

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

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

Читать далее

Рассуждения об asyncio.Semaphore

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

В Кремниевой долине есть очень особенный ресторан фаст-фуда, который всегда открыт. Там имеется один столик, за ним может разместиться лишь один посетитель, которому дадут совершенно фантастический гамбургер. Когда туда приходишь — ждёшь до тех пор, пока не настанет твоя очередь. Потом хозяин ресторана подведёт тебя к столику, и, это же Америка, тебе зададут, кажется, бесконечное количество вопросов о том, как приготовить и как подать твой гамбургер.

Сегодня, правда, мы не собираемся говорить о кулинарных изысках. Мы говорим о системе очередей, которую используют рестораны. Если вам повезло и вы прибыли в ресторан тогда, когда столик пуст, и когда никого в очереди нет, вы можете прямо сразу за него сеть. В противном случае хозяин даст вам специальный пейджер (из бескрайней кучи таких пейджеров!) и вы можете бродить вокруг ресторана до тех пор, пока этот пейджер не подаст сигнал. Дело хозяина ресторана — обеспечить, чтобы посетители попадали бы за столик в порядке их прибытия. Когда настанет ваша очередь, хозяин отправит сигнал на ваш пейджер, а вы вернётесь в ресторан, где сможете усесться за столик.

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

Читать далее

Смогут ли нейросети заменить художников, копирайтеров и журналистов?

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

Всем привет! При создании Telegram-бота TurboText_bot и нейросетей для сервиса TurboText в тех-поддержку неоднократно приходили упрёки, что мы пытаемся отнять хлеб у людей. С публикацией недавней статьи на Хабре таких сообщений стало больше. Поэтому, как один из разработчиков "нейросетей-убийц" этих профессий, решил высказать своё мнение.

Почему вообще люди боятся, что их заменят?

Этот страх возник ещё в 1950-х, когда началось сильное индустриальное развитие. С появлением интернета и доступности алгоритмов машинного обучения этот страх начал только расти. Нейросети стали решать, кому давать кредит в банке, скидку в магазине, что должно быть в ленте новостей и рекомендациях к просмотру фильмов. Они по фотографии ваших лёгких могут предсказать наличие опухоли и Covid-19. На сегодняшний день каждый житель городов-миллионников сталкивается с более чем 1000 нейросетями за месяц, но люди по-прежнему боятся технологий. Почему?

Читать далее

Метакласс в моделях — Django

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

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

Метамодель (Meta Model) - это, по сути, внутренний класс вашего класса модели. Метамодель в основном используется для изменения поведения полей вашей модели, таких как изменение опций заказа, verbose_name, и многих других параметров. Добавление класса Meta к вашей модели совершенно необязательно. Для того чтобы использовать метамодель, вы должны добавить класс Meta в вашу модель, как показано ниже: 

Читать далее

Как оставаться программистом, если у тебя память как у дрозофилы

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

Мой мадригал тем инструментам разработки, которые изменили мою жизнь

Программирование стало гораздо более многогранным ремеслом с тех пор, как в середине 1990-х я впервые попробовал AmigaBASIC. В те времена еще можно было купить один большой том о компьютере, на котором вы программируете – и там бы нашлось 99% всей нужной информации. Эта книга, где на множестве страниц уголки загнуты в качестве закладок, обклеенная стикерами, лежала бы у вас под рукой, пока вы вбивали бы команды в монохромный текстовый редактор.

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

Сегодня никто бы больше и не подумал покупать документацию по разработке – и Microsoft, и Apple свободно выкладывают свою документацию в Интернете для всех желающих. А что говорить о проектах с открытым исходным кодом!

Во времена npmPyPI и GitHub сложно объяснить, насколько неоднозначным решением (которое требовалось всесторонне обдумывать) раньше считалось потребовать хоть какие-нибудь возможности, которые выходили бы за рамки функционала операционной системы. Часто вместе с продуктом приходилось сдавать и все его зависимости.

Читать далее

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

Как работать из PyCharm community c CSS

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

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

P.S. Могу путаться в терминах в силу своей неопытности, прошу строго не судить. Всегда рад конструктивной обратной связи, спасибо за понимание! Да, я знаю о существовании Django, просто начинать как мне кажется лучше с голого кода и дальше с базовыми знаниями переходить к изучению этого прекрасного фреймворка.

Читать далее

Сократить объем кода при помощи библиотеки PyTorch-Ignite

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

PyTorch — среда глубокого обучения, которая была принята такими технологическими гигантами, как Tesla, OpenAI и Microsoft для ключевых исследовательских и производственных рабочих нагрузок.

PyTorch-Ignite — это библиотека высокого уровня, помогающая гибко и прозрачно обучать и оценивать нейронные сети в PyTorch. Основная проблема с реализацией глубокого обучения заключается в том, что коды могут быстро расти, становиться повторяющимися и слишком длинными. Рассматривать данную библиотеку буду, решая задачу оценки вероятности отнесения изображения к определенному классу на примере датасета CIFAR10. Чуть позже расскажу о нем подробнее. А сейчас начнем подготовку с установки и импорта необходимых библиотек.

Читать далее

Решение одной задачи с помощью 16 языков программирования

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

Видеоблогер Конор Хекстра использовал разные языки программирования, чтобы решить одну и ту же задачу. Попутно выяснилось, что у Фортрана полно поклонников.

Читать далее

Дообучение EasyOCR

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

Всем привет!

Представляю краткий tutorial по дообучению EasyOCR. возможно обучение на Google colab.

Читать далее

Руководство по программированию сокетов на Python. Клиент, сервер и несколько соединений

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


К концу руководства вы освоите основные функции и методы модуля Python socket, научитесь применять пользовательский класс для отправки сообщений и данных между конечными точками и работать со всем этим в собственных клиент-серверных приложениях. Материалом делимся к старту курса по Fullstack-разработке на Python. Для удобства чтения первая часть — за спойлером.
Посмотреть

Визуализация биомолекул с помощью nglview

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

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

Одним из популярных и полезных инструментов для визуализации и анализа молекулярного моделирования является библиотека nglview, написанная на Python. Она представляет собой интерактивный виджет IPython/Jupyter, который позволяет визуализировать молекулярную структуру и траектории движения атомов.

Читать далее

Обучение YOLOv4 в Google Colab

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

Этот учебник поможет вам легко создать yolov4 в облаке с включенным графическим процессором, чтобы вы могли выполнять обнаружение объектов за миллисекунды!

Читать далее

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