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

Python *

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

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

Я запрограммировал кошачью кормушку, чтобы она выдавала мне конфеты за код

Время на прочтение5 мин
Количество просмотров10K
Я смеюсь над этой историей все выходные, так что не могу не поделиться. Засидевшись до поздней ночи на Amazon, я купил автокормушку для животных PetKit FreshElement Solo. У меня имелось две проблемы, с решением которых она могла мне помочь: во-первых, мне сложно было себя замотивировать на работу над побочным проектом, во-вторых, я всерьез подсел на миндаль в темном шоколаде с морской солью из Target. Раз уж я кодер-мартышка, так почему бы не подкормить внутреннюю мартышку, когда выдаю код?



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

Вот тизер. Код лежит здесь. Чтобы запустить самим, вам придется выбрать имя пользователя и пароль по этой ссылке.
Читать дальше →

Как компьютерное зрение и распознавание жестов может пригодиться бизнесу

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

Введение

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

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

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

Читать далее

JupyterHub или как перестать бояться pip install

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

Всем привет! Сегодня я расскажу о том, как мы переехали на наш велосипед в виде JupyterHub, и он оказался удобным. У нас в компании работают ~20 дата саентистов и в своей работе они используют множество Open Source-инструментов: Airflow, Hadoop, Hive, Spark и т.д. Но в данной статье речь пойдет исключительно о JupyterHub, точнее говоря о боли, которая преследовала администраторов, и как мы успешно ее побороли.

Читать далее

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

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

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

Читать далее

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

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

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

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

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

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

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

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

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

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

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

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

Читать далее

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

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


freepik


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


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


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

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

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

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

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

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

Читать далее

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

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

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

Читать далее

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

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

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

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

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

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

Читать далее

Дообучение EasyOCR

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

Всем привет!

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

Читать далее

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