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

Python *

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

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

Работа с госзакупками Казахстана и Узбекистана: туториал со скрепером

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

Недавно пришлось познакомиться тесно с порталами государственных закупок Казахстана и Узбекистана в рамках Школы Данных . Мы (авторка поста, разработчик скрепера и журналисты) исследовали тему "доступной среды" (удобная инфраструктура для людей с инвалидностью) и столкнулись с необходимиостью написать скрепер, которые бы скачивал данные по ключевым словам.

Читать далее

Новогодняя ёлочка на рабочий стол

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

Всех с наступающими праздниками! Надеюсь, каждый отдохнёт и восполнит силы за праздничные дни, а не будет зависать за очередными багами/фичами/обновлениями!

Помню, лет так 12 назад, когда я был ещё школьником, у всех моих знакомых стояла windows XP. И в моменты нового года у нас была традиция, скачать на каком-нибудь сайте новогоднюю ёлочку, которая запускается отдельной программой и просто на рабочем столе (либо на любом другом окне, если её открыть поверх окон) играет гифка с этой ёлочкой. Мелочь, но к новогоднему настроению она давала в те года +100 очков.

Если раньше такую штуку приходилось искать, где скачать, то теперь пришло время сделать всё самому.

Приступим к написанию своей версии "ёлочки"

Ознакомиться

Разбираемся с сессиями в SQLAlchemy

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

В этой небольшой статье я хочу дать ответ на вопрос, который возник у меня, когда я познакомился с сессиями в SQLAlchemy. Если сформулировать его кратко, то звучит он примерно так: “А зачем оно надо вообще”? Меня, как человека пришедшего из мира джанги, сессии приводили в уныние и я считал их откровенной фигней, которая усложняет жизнь. Но я ошибался. Как оказалось, сессии в алхимии - штука очень даже полезная.

Читать далее

Как я technicalseo.expert проходил (уровень 2)

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

Продолжение исследования головоломки technicalseo.expert которая будет сломана самым нетривиальным образом.

Предыдущий уровень и чуть подробнее о самой головоломке в первом посте: ссылка

technicalseo.expert - это головоломка для SEO, хотя я сел не имея никакого бэкграунда в SEO, а сейчас работаю скромным датасаентистом. Разработала головоломку Алексис Сандерс, работающая в международном агентстве маркетинга Merkle Inc. Алексис объясняет "Идея игры заключалась в том, чтобы позволить SEO-специалистам изучить технические аспекты своей профессии. Но второй уровень требует глубочайших познаний в HTML, CSS, PHP и Java. Третий уровень был спроектирован так, чтобы никто никогда его не прошёл"

Скорее на уровень 2

Как я technicalseo.expert проходил (уровень 1)

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

technicalseo.expert - это головоломка для SEO, хотя я сел не имея никакого бэкграунда в SEO, а сейчас работаю скромным датасаентистом. Разработала головоломку Алексис Сандерс, работающая в международном агентстве маркетинга Merkle Inc. Алексис объясняет "Идея игры заключалась в том, чтобы позволить SEO-специалистам изучить технические аспекты своей профессии. Но второй уровень требует глубочайших познаний в HTML, CSS, PHP и Java. Третий уровень был спроектирован так, чтобы никто никогда его не прошёл"

Сыграем?

Распознавание номерных знаков. Как все ускорить

Время на прочтение8 мин
Количество просмотров23K
Nomeroff Net. Как ускорить распознавние номерных знаков.

После запуска моделей на прод рано или поздно приходит понимание того, что Ваши сервисы популярны и что KPI растут. Вместе с популярностью приходят тормоза и нестабильность. В этой статье речь пойдет о прикладном аспекте оптимизации быстродействия алгоритмов/моделей на примере движка распознавания автомобильных номеров “Nomeroff Net”. Буду делиться опытом, полученным на протяжении 2-х летней разработки. Если коротко: нам удалось ускорить время распознавания 1 фото более чем в 10 раз.

“Чел догадался в свой сервер вставить RTX 3090” подумаете Вы… Приблизительно так и было, только если взять замеры до установки GPU то все ускорили в 100+ раз :).
Не будет детального описания архитектуры моделей (они давно известны в узких кругах), хочу поделиться важными моментами, на которые стоит обратить внимание при оптимизации ваших ML-сервисов.
Читать дальше →

Кэш в асинхронных python приложениях

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

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

Читать далее

Управление и мониторинг сервера через Telegram-бота

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

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

Читать далее

Удаленный доступ к IP камерам, теперь на Python

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

Удивительно, что в 2021-м все еще можно обсуждать такую избитую тему. Однако, мне пришлось пройти довольно длинный путь от покупки охранных камер до готового решения, покрывающего мои, довольно нехитрые, задачи. Под катом вы найдете скрипт, который показался мне достаточно удачным, чтобы опубликовать его на Хабре, и некоторые пояснения к нему. Надеюсь, кому-то поможет.

Читать далее

Предсказание количества лайков у комментария в YouTube

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

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

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

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

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

Читать далее

Переиграй школьников в YOUNG CODERS PARTY

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

В этом году SuperJob вместе с CODDY и Codenrock организовали хакатон YOUNG CODERS PARTY, для юных кодеров от 14 до 18 лет, в итоге самые сильные участники получили свои крутые призы.

Предлагаем вам немного размяться и почувствовать себя на месте юных программистов.

Под катом серия предложенных участникам YOUNG CODERS PARTY задач (лишь слегка доработанных — чтобы вам было тоже интересно!). Присылайте свои решения до 28 декабря включительно; мы постараемся подвести итоги конкурса до Нового Года. Победители получат от нас призы — теплые толстовки, маски с принтами и стикерпаки! 

Читать далее

Как мы распознаем фото документов пользователей. Часть I

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

Привет, Хабр! Я Илья, Junior Data Scientist в inDriver. В работе нам часто приходится распознавать документы водителей или пассажиров для их верификации в приложении. Наша команда выработала свой подход к идентификации текста и фото документов, которым мы хотели бы поделиться. Ждем вас под катом. Приятного чтения!

Читать далее

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

Наш опыт создания «Интенсива», или почему избежать ошибок не удастся

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

Всем привет! Меня зовут Дмитрий Чернышов, я руководитель группы разработки системы «БАРС.Бюджет-Бухгалтерия». Сегодня я поделюсь своим опытом создания обучающего курса для разработчиков.

Читать далее

Как работает цикл заказа такси в Яндекс Go. История вопроса

Время на прочтение9 мин
Количество просмотров36K
Меня зовут Илья, я отвечаю за инфраструктуру пользовательских продуктов в Яндекс Go. Мы строим цикл заказа такси — процессы, происходящие под капотом после того, как пользователь нажимает «Заказать». Поиск машины, назначение водителя, изменение адреса, оплата поездки — всё это части цикла. Ещё мы делаем инфраструктуру создания циклов, которая используется в Еде, Лавке, Доставке и других направлениях внутри Яндекса.

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

Как всё начиналось


В 2011 году мы запустили сервис заказа такси. В первой реализации в бэкенде был endpoint /create-order, внутри которого мы создавали заказ, искали ближайшую машину и отправляли заказ водителю (кстати, если вы не знали о том, как устроен поиск водителя, то обязательно почитайте).


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

Секреты генерирующего реферирования текстов

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


Эта статья посвящена основным современным моделям для генерирующего реферирования и генерации текста в целом: BertSumAbs, GPT, BART, T5 и PEGASUS, и их использованию для русского языка.


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


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


Серьёзные методы оценки качества реферирования будут в следующих частях цикла. Сейчас же для наглядности мы испытаем алгоритмы на одной конкретной новости про секвенирование РНК клеток коры головного мозга. Это свежая новость, то есть модели заведомо не могли её видеть. К тому же она довольно сложная: 5.7 баллов по шкале N+1.


Кстати говоря, заголовок к этой статье написан одной из описываемых моделей.

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

Война или мир: используем MATLAB и Python вместе

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

Если вы студент, работаете в академической сфере или на производстве, вы, вероятно, сталкивались с ситуациями, когда вам нужно было объединить работу с более чем одного языка программирования. Это обычное дело в инженерных и научных приложениях, особенно когда они связаны с несколькими командами и нуждаются в общем оборудовании. В этом материале хочу поделиться некоторыми полезными советами, которые помогут эффективно использовать MATLAB и Python вместе.

Читать далее

Тестируем быстродействие трех библиотек Python

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

Передо мной стояла задача выбрать библиотеку для расчета на Python, использующего операции над матрицами. Я выбрал и протестировал несколько вариантов, как использующих видеокарту (GPU), так и работающие только на процессоре.

Использовал три библиотеки: Numpy, Pytorch и Numba.

Читать далее

Распределенные сервисы с применением gRPC

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

Часто бывает так, что эффективная коммуникация – один из основных движущих факторов в современных программных системах, даже в мире, живущем по законам микросервисной архитектуры. Технология gRPC может справляться с этими требованиями. В этой статье будут рассмотрены некоторые основы gRPC, а еще мы реализуем первое клиент-серверное приложение с применением .NET. Кроме того, клиент на основе Python демонстрирует, насколько эффективной может быть коммуникация между различными сервисами.

Читать далее

Странный мир Python, используемого крупными инвестиционными банками

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

Мир больших финансов — это чужая страна; всё в ней происходит иначе

Сегодня мы сквозь замочную скважину взглянем на группу программных систем, о которой общество знает очень мало. Я называю её «банковским Python». Реализации банковского Python, по сути, являются проприетарными форками всей экосистемы Python, которые используются во многих (но не во всех) крупнейших инвестиционных банках. Банковский Python сильно отличается от обычной разновидности Python, которую любят (или ненавидят) большинство людей.

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

Я расскажу о вымышленной, объединившей в себе черты многих, воображаемой системе банковского Python под названием «Минерва». Названия подсистем будут изменены, и хотя я попытаюсь быть точным, некоторые подробности придётся стилизовать; кроме того, мне неизвестны все детали. Возможно, я даже допущу случайную ошибку. Но, надеюсь, общая картина будет правдивой.
Читать дальше →

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