Как стать автором
Обновить
130.39
Рейтинг

Python *

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

Сначала показывать
  • Новые
  • Лучшие
Порог рейтинга
  • Все
  • ≥0
  • ≥10
  • ≥25
  • ≥50
  • ≥100

Задача, которую предлагали разработчикам на собеседованиях в Reddit: разбор и решение от сотрудника компании

Блог компании Productivity InsidePython*Программирование*Алгоритмы*Карьера в IT-индустрии
Перевод
Впервые я столкнулся с техническими собеседованиями еще в 2012 году, когда искал свою первую работу в IT. Я выслушал условия задачи, нацарапал решение на доске, ответил на несколько вопросов и ушел, весь перепачканный черный маркером. В то время я совершенно не представлял, как выглядит весь этот процесс с другой стороны; всё, что мне оставалось – в тревоге ждать результатов и надеяться, что я вписался в неизвестные мне критерии тех, кто проводил собеседование.

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

Для этой цели я разберу реальную задачу, которую мы раньше предлагали желающим присоединиться к Reddit, пока не решили, что ей пора на покой. Объяснив решение, я расскажу о том, что учитывалось при оценке и почему это задание кажется мне подходящим для собеседований. Надеюсь, к концу статьи вы подойдете с чувством, что узнали больше о механизмах отбора и стали лучше подготовлены к процессу найма.
Читать дальше →
Всего голосов 17: ↑16 и ↓1+15
Просмотры9.1K
Комментарии 31

Новости

Показать еще

Принимаем на работу брокера для Celery: подбор, аджаст и выкатка

Блог компании Конференции Олега Бунина (Онтико)Python*Анализ и проектирование систем*Администрирование баз данных*Облачные сервисы

У Яндекса много самописных сервисов для внутренних задач: Яндекс.Формы, Яндекс.Диск, трекер, календарь. Со временем их решили использовать не только внутри компании, но и за ее пределами. Так появилась платформа Яндекс.Коннект.

Большинство сервисов Коннекта построено на Python V3. В качестве web-фреймворка используется Django, реже Flask и Tornado, а новые чаще пишутся на FastAPI. Сервисы, как и базы PostgreSQL, MySQL и MongoDB, живут в облаке. В качестве очереди сообщений почти везде используется Celery с MongoDB в качестве брокера. Он и стал проблемой.

На Russian Python Week 2020 Владимир Колясинский, разработчик бэкенда сервисов платформы Яндекс.Коннект, рассказал, почему они пользовались связкой Celery MongoDB и почему пришлось отказаться от этого брокера. Он сравнил претендентов: Redis, RabbitMQ и YMQ, с их плюсами и минусами. Подробно разобрал процесс переезда на нового брокера, анализ его состояния и возможные проблемы. И у него получилась пошаговая инструкция, которая пригодится при подборе и настройке брокера. А для любителей разбираться самостоятельно под катом есть расшифровка доклада с конференции.

Читать далее
Всего голосов 4: ↑3 и ↓1+2
Просмотры594
Комментарии 1

Как автоматизировать сбор статистики из Яндекс.Дзен при помощи кода

Python*API*
Из песочницы

У Яндекс.Дзен нет готового API, чтобы агрегировать статистику привычным для аналитиков и маркетологов образом. Чтобы собрать данные, нужно пройти 8 шагов: зайти на zen.yandex.ru, перейти в кабинет, затем в раздел «Статистика», потом на вкладку «Кампании», выбрать период и нажать на «Отчеты». Затем в сформировавшихся отчете Excel перейти на вкладку «Статистика кампаний по дням», выбрать нужную кампанию и создать сводную таблицу. 

Стал 1 шаг: заходим по ссылке — несколько строк кода уже зашли в Дзен и выгрузили всю нужную статистику. 

Рассказываем на своём примере, как можно оптимизировать процесс.

Читать далее
Всего голосов 11: ↑7 и ↓4+3
Просмотры545
Комментарии 2

Особенности валидации моделей на Xgboost

Python*Программирование*Машинное обучение*

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

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

Читать далее
Всего голосов 1: ↑0 и ↓1-1
Просмотры839
Комментарии 0

ETL в анализе данных без перерывов на кофе и курилку

Python*Data Mining*R*Data Engineering*


Кадр из фильма «Индиана Джонс: В поисках утраченного ковчега» (1981)


Наблюдаемая все чаще и чаще картина в задаче анализа данных вызывает удручающее впечатление. Intel, AMD и другие производители непрерывно наращивают вычислительную мощность. Гениальные математики-программисты пишут суперэффективные библиотеки и алгоритмы. И вся эта мощь гасится и распыляется рядовыми аналитиками и разработчиками. Причем начинается это все с нулевого этапа — этап подготовки и загрузки данных для анализа. Многочисленные вопросы и диалоги показывают, что в нынешних программах обучения зияют огромные дыры. Людям просто незнакомы многие концепции и инструменты, уже давно придуманные для этих задач. Для тех, кто хочет увеличить свою продуктивность, далее тезисно будут рассмотрены ряд таких подходов и инструментов в частичной привязке к реальным задачам.


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


Является продолжением серии предыдущих публикаций.

Читать дальше →
Всего голосов 8: ↑7 и ↓1+6
Просмотры2.6K
Комментарии 4

predict_proba в Python не прогнозирует вероятности (и как с этим бороться)

Блог компании OTUSPython*Машинное обучение*
Перевод

Специалисты по анализу данных часто оценивают свои прогностические модели с точки зрения точности и погрешности, но редко спрашивают себя:

«Способна ли моя модель спрогнозировать реальные вероятности?»

Однако точная оценка вероятности чрезвычайно ценна с точки зрения бизнеса (иногда она даже ценнее погрешности). Хотите пример?

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

Читать далее
Всего голосов 14: ↑13 и ↓1+12
Просмотры2.9K
Комментарии 1

Как запустить Jupyter Notebook в браузере без бэкенда

Блог компании SkillFactoryРазработка веб-сайтов*Python*Программирование*WebAssembly*
Перевод

К старту нашего флагманского курса по Data Science представляем перевод обзора JupyterLite прямо из блога его разработчиков. JupyterLite — это перезагрузка множества попыток создать полный статический выполняемый в браузере дистрибутив Jupyter, чтобы не было необходимости запускать сервер Jupyter.

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

Читать далее
Всего голосов 14: ↑12 и ↓2+10
Просмотры4.2K
Комментарии 2

Ваши боли будут утолены, или Три слона, на которых стоит Python-конференция 2021 года

Блог компании Конференции Олега Бунина (Онтико)Python*Программирование*Django*Конференции

Григория Петрова, Python-некроманта, совмещающего деятельность директора по техническому маркетингу (по-простому — деврела)  компании Evrone и члена программного комитета Moscow Python Conf знают уже не только питонисты.

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

Мы встретились с Григорием и узнали много интересного. Про трех китов предстоящей конференции Moscow Python Conf++ 2021. Про нейрофизиологию, которая всегда поможет. Про что будет хайп и зачем организаторам нужна фасилитация. Разумеется, мы поговорили про Python (спойлер: асинхронное программирование и Django тоже будут). Узнали, какие нас ждут доклады и какие боли питонистов будут утолены —  обо всем этом читайте под катом.

Читать далее
Всего голосов 23: ↑22 и ↓1+21
Просмотры3.6K
Комментарии 0

FineReader, Tesseract и EasyOCR или нужно ли срочно менять инструмент для OCR

Python*Программирование*Машинное обучение*

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

Одна из популярных задач в аудиторской практике – распознавание текста с документов. Казалось бы, инструменты для решения этой задачи давно известны, всё работает и ничего больше особо и не хочется: бесплатно и руками – Tesseract, платно и легко в использовании – FineReader.

Однако, недавняя статья удивила меня качеством работы и удобством использования инструмента EasyOCR. Разберёмся, насколько всё хорошо в сравнении с самыми популярными инструментами на примере нескольких задач и сравним удобство использования каждого инструмента.

Читать далее
Всего голосов 7: ↑6 и ↓1+5
Просмотры3.2K
Комментарии 18

Структура + предположения > ML? Моделирование продаж байесовскими методами

Блог компании EPAMPython*Big Data*Машинное обучение*Управление продажами*

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

Также подробно расскажу об основах Байесовского моделирования. Ну и бонусом, тем кто дочитает до конца и захочет углубиться в эту тему – «куча» ссылок. ​

Читать далее
Всего голосов 3: ↑3 и ↓0+3
Просмотры1.4K
Комментарии 1

Люди python-сообщества: кто приедет на PyCon Russia

Блог компании IT-PeoplePython*Конференции

Представьте, что вы заранее знаете, о чем с человеком можно пообщаться. Есть ли у вас общие темы, интересы? Наступал ли он на те же грабли, что и вы, только на год-два раньше? 

Тогда можно подойти, и сказать, к примеру: “Читал, что ты можешь развернуть микросервисы локально несколькими способами…” 

В общем, облегчаем задачу интровертам (не путайте их с социофобами!) и повышаем КПД общения. Расскажем вам о той части сообщества питонистов, которая приедет на PyCon 5-6 сентября — о спикерах. Как оказалось, они готовы общаться на темы, которые выходят далеко за рамки их докладов. 

Читать далее
Всего голосов 2: ↑1 и ↓10
Просмотры1.6K
Комментарии 0

Трюки Pandas от RealPython

Блог компании SkillFactoryPython*Программирование*Data Engineering*
Перевод
Tutorial

К старту флагманского курса по Data Science делимся сокращённым переводом из блога RealPython о трюках с Pandas, материал начинается с конфигурирования запуска библиотеки и заканчиваются примерами работы с операторами и их приоритетом. Затрагивается тема экономии памяти, сжатие фреймов, интроспекция GroupBy через итерацию и другие темы. Подробности, как всегда, под катом.

Читать далее
Всего голосов 7: ↑7 и ↓0+7
Просмотры4.1K
Комментарии 0

Functools – сила функций высшего порядка в Python

Блог компании OTUSPython*Программирование*
Перевод

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

Кэширование

Давайте начнем с самых простых, но довольно мощных функций модуля functools. Начнем с функций кэширования (а также декораторов) - lru_cache, cache и cached_property. Первая из них - lru_cache предоставляет кэш последних результатов выполнения функций, или другими словами, запоминает результат их работы:

Читать далее
Всего голосов 11: ↑9 и ↓2+7
Просмотры6.5K
Комментарии 0

Как устроен Domain-Driven Design

Блог компании Конференции Олега Бунина (Онтико)Python*Программирование*Django*Конференции

Многие проекты на Django начинаются просто: есть база данных и к приложению, которое крутится на сервере, идут обращения. Например, так начиналась Dodo IS (информационная система компании Додо Пицца, где работал автор сегодняшней статьи). Но если использовать Django из коробки, можно натворить много бед и встретить пачку антипаттернов. Возможно, вы встречали такое на старых legacy-проектах.

Евгений Пешков развивает сообщество DDD-практиков, рассказывая, какие проблемы решает Domain-Driven Design (предметно-ориентированное проектирование) в современном мире. На конференции Russian Python Week 2020 он выступил с рассказом об этом. Кстати, 19 августа пройдет встреча DDDevotion-сообщества, присоединяйтесь, будем о чем поговорить.

В сегодняшней статье будет его рассказ про то, как устроен Domain-Driven Design и какие инструменты использует, чтобы наиболее точно описать требования бизнеса и сам бизнес.

Читать далее
Всего голосов 35: ↑35 и ↓0+35
Просмотры9.4K
Комментарии 26

В шоке от цен на авиабилеты по России: как летать дешевле

Python*Визуализация данныхDIY или Сделай сам

Вы продаете билетов на самолеты? - Нет, только показываю. - Красивое…

Люди делятся на два типа: одни летают за тысячу рублей из Питера во Владивосток, другие сутками скрупулезно высчитывают маршруты через Казахстан, отказываются от багажа, соглашаются на микро кресла и в итоге все равно получают космический ценник. 

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

Читать далее
Всего голосов 42: ↑35 и ↓7+28
Просмотры29K
Комментарии 83

Как я боролся с анти-читом

Ненормальное программирование*Python*Программирование*Обработка изображений*
Из песочницы

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

По окончанию тестирования пользователю показывается результат написанный на картинке. И мне она показалась не совсем корректной.

Читать далее
Всего голосов 18: ↑16 и ↓2+14
Просмотры6.9K
Комментарии 5

Поиск адресов в «испорченных» данных

Python*Программирование*Машинное обучение*

Введение

Для проведения проверки мне необходимо было установить адреса нескольких сотен объектов недвижимости. Проблема в том, что адреса были написаны в разных частях документов, документы имели различные форматы, и сам адрес также мог быть написан разнообразными способами.  

Да, существует возможность использовать для данной задачи различные библиотеки и сервисы, но источники данных с информацией об этих объектах должны быть упорядочены и однородны. Можно ли используя минимум ресурсов решать подобные задачи? Можно! Рассмотрим решение на основе Python 3, Pandas и нескольких библиотек для конвертации файлов в датафреймы.

Читать далее
Всего голосов 5: ↑4 и ↓1+3
Просмотры1.4K
Комментарии 4

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

Python*Математика*Машинное обучение*Научно-популярное

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

Читать далее
Всего голосов 12: ↑12 и ↓0+12
Просмотры6.7K
Комментарии 21

Как превратить книгу о Гарри Поттере в граф знаний

Блог компании SkillFactoryPython*Программирование*Визуализация данныхNatural Language Processing*
Перевод
Tutorial

Обработка естественного языка — это не только нейронные сети, а данные — это не только строки, числа и перечисления. Область работы с данными простирается намного дальше. К старту флагманского курса по Data Science представляем вашему вниманию перевод из блога разработчиков графовой базы данных neo4j о том, как при помощи SpaCy и Selenium извлечь из книги граф взаимоотношений героев. Подробности и код, как всегда, под катом.

Читать далее
Всего голосов 21: ↑16 и ↓5+11
Просмотры7.1K
Комментарии 0

Заглянем в будущее Python

Блог компании Конференции Олега Бунина (Онтико)Python*КонференцииБудущее здесьИнтервью

На конференции Russian Python Week 2020 мы пообщались с двумя людьми, от которых непосредственно зависит будущее Python. 

На наши вопросы ответили Core-developer community on Google Cloud Дастин Инграм и Director at Python Software Foundation Кэрол Виллинг. Их ответы о том, чего не хватает языку и как он будет развиваться дальше, вы узнаете, заглянув под кат. 

Читать далее
Всего голосов 42: ↑41 и ↓1+40
Просмотры17K
Комментарии 9

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