Как стать автором
Поиск
Написать публикацию
Обновить
5
0

Пользователь

Отправить сообщение

Тестирование интеграции с внешним API при помощи мок-объектов на Python

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

В этом руководстве продемонстрирован способ тестирования интеграции с внешним API при помощи мок-объектов на Python.

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

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

Читать далее

Почему лучше НЕ использовать CSV с Apache Spark

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

Недавно я в очередной раз услышал:

“CSV — это популярный формат хранения данных, имеющий встроенную поддержку в Apache Spark…”

Ну, на счет “популярный” — согласен, “имеющий встроенную поддержку” — согласен, но на счет “хранения данных” — категорически не согласен. Подобные фразы могут не только сбить с толку окружающих, но и привести к значительным непродуктивным затратам времени (и памяти данных). Давайте разберемся.

Читать далее

Что такое Kubeflow? Основы машинного обучения с Kubeflow

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

У фотографов есть Photoshop, у архитекторов — AutoCAD, а у инженеров машинного обучения — Kubeflow. Каждый получает свои преимущества от использования специализированного программного обеспечения, инженеры ML — не исключение.


В этой статье разберем чем полезен и как работает Kubeflow.

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

Геоаналитика с помощью Python и открытых данных: пошаговое руководство

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

Геоаналитика с помощью Python: GeoPandas, folium, Uber H3, OSM + примеры как можно определять лучшие локации для поиска помещений под открытие кофейни (и не только).

Читать далее

Топ-20 самых упоминаемых книг на HackerNews

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

На HackerNews пользователь tracyhenry проанализировал 40 000 комментариев и составил рейтинг самых упоминаемых в комментариях книг.

Автор рейтинга преисполнен благодарности тем книгам, про которые он узнал благодаря HackerNews и решил отдать долг и написать приложение, которое бы проанализировало все рекомендации на Hackerews. Такие попытки были неоднократно (раз, два, три), но в предыдущих попытках были ограничения по размеру выборки, либо были недостаточно четкие правила поиска и поэтому картина была не полна. Еще сложность представляли случаи, когда названия книги пересекалось с названием фильма («Первому игроку приготовиться») или название — это общеупотребительное слово/словосочетание: «Стив Джобс» или «Медитация».

Автор рейтинга использовал NLP-модель BERT для повышения точности распознавания (и 4000 вручную размеченных комментариев). Новая версия извлекает в 9-50 раз больше упоминаний, чем предыдущие решения.

Ограничения текущей модели: 1) не различает две разные книги с одинаковым названием («Гарри Поттер» и «Гарри Поттер и методы рационального мышления»). 2) не понимает, что это гневный комментарий.

Книги из топ-20 очень известные, и нет смысла давать их краткое описание, это уже делали много раз. Привожу здесь список из топ-20 (более полный см тут), чтобы вы могли свериться, насколько вы «соответствуете повестке мировой ИТ элиты» и отзывы/конспекты/упоминания про эти книги на Хабре.

Что вы уже давно прочитали, а что упустили из вида и почему?
Читать дальше →

Что почитать аналитику данных: 5 книг для саморазвития

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

Аналитик данных — профессия перспективная, и спрос на специалистов растет стремительно. Но тому, кто ее выбрал, важно успевать за быстрым темпом развития IT-отрасли: нужно постоянно учиться и совершенствовать свои компетенции. В помощь — профессиональная литература. 

Чтобы вы быстрее освоились в профессии, если только начинаете карьеру аналитика, эксперты курса «Аналитик данных» от онлайн-университета Skypro советуют книги для новичков.

Читать далее

Python микросервисы с Kafka без боли

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

В этой статье я бы хотел поделиться способом написания асинхронных микросервисов на Python, в основе которых библиотека Faust. А в качестве брокера сообщений Kafka. Ну и немного мониторинга с Prometheus и Grafana.

Читать далее

Apache Spark: оптимизация производительности на реальных примерах

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

Apache Spark – фреймворк для обработки больших данных, который давно уже стал одним из самых популярных и часто встречаемых во всевозможных проектах, связанных с Big Data. Он удачно сочетает в себе скорость работы и простоту выражения своих мыслей разработчиком.

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

Читать далее

MySkazka: как мы начали делать персональные сказки для детей

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

Привет! Сегодня я хочу рассказать вам про историю создания приложения Myskazka — образовательного сервиса для детей дошкольного возраста.

С чего всё начиналось?

Прародителем сказок стал один из наших стартапов pastila.io, который был создан для автоматизации работы в 2019 году. Он представляет собой интернет-сервис для создания презентаций и работает на зарубежном рынке.

Читать далее

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

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

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

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

Как мы использовали расширенную статистику Postgres и ускорились в 2850 раз

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

В этом переводе к старту курса по Fullstack-разработке на Python напоминаем о том, насколько важно знать технологии в деталях, грамотно применять их и планировать работу в целом. Цифра 2850 в заголовке — не преувеличение: ранее занимавший две минуты запрос в базе данных компании Affinity сегодня выполняется за 42 миллисекунды. Подробности, как всегда, под катом. А если вам нужен план развития навыков с большим количеством практики, вы можете обратить внимание на наши курсы.

Читать далее

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

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

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

Кэширование

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

Читать далее

PostgreSQL Antipatterns: «слишком много золота»

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

Иногда мы пишем SQL-запросы, мало задумываясь над тем фактом, что сначала они должны быть по сети как-то доставлены до сервера, а затем их результат - обратно в клиентское приложение. Если при этом на пути до сервера присутствует еще и пулер соединений типа pgbouncer, дополнительно "перекладывающий" байты между входящими и исходящими коннектами, ситуация становится еще тяжелее...

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

Читать далее

Как оформить серию коммитов Git, чтобы её приняли в любой проект

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

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

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

Читать далее

Нечего надеть? Computer Vision в помощь

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

Привет, Хабр! Меня зовут Роман Тезиков, я Data Scientist, специализируюсь на Computer Vision в Lamoda.


В R&D Lamoda мы постоянно имеем дело с различного рода рекомендациями. Когда покупатели не знают, какая вещь им нужна, они формируют ее абстрактный образ и пытаются найти что-то похожее с помощью привычных инструментов поиска. На сегодняшний день нейронные сети отлично справляются с задачей распознавания образов. Мы поставили перед собой цель — переосмыслить процесс выбора одежды с учетом Computer Vision. И сегодня я расскажу:


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

В процессе мы научились решать задачу из знаменитого фильма «Бриллиантовая рука», где главный герой просит найти такое же платье, но с перламутровыми пуговицами.


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

Yappa: запускаем python web-приложения. Просто. Бессерверно. В Яндекс Облаке

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

$ yappa deploy

Все. 

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

Читать далее

Мой уход из Яндекса, как не потерять мотивацию за полгода подготовки в FAANG и реджект в Google

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

Мой уход из Яндекса, как не потерять мотивацию за полгода подготовки в FAANG и реджект в Google.

Читать далее

Алгоритмы сортировки NumPy (и танцы, и мемы)

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

Вместо предисловия:

Да, наверное, нет более избитой темы, чем алгоритмы сортировки. Однако, меня в свое время так увлек процесс разбора того, какие алгоритмы задействованы в NumPy, что захотелось всем об этом рассказать. Возможно, слишком мелкая вещь, возможно, занудство какое-то, но тешу себя надеждой, что материал может быть полезным для тех, кто тему только начал! Особенно для таких же людей, как я, перешедших из смежных сфер (из телекома, например), где алгоритмы и структуры данных могут попросту не изучаться (бывает и такое). Если где-то что-то напутал (или наоборот материал оказался для вас полезным), буду рад обратной связи!

Читать далее

ComputerVision и стиль

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

Несколько месяцев назад я писал статью про тихую революцию в ComputerVision - про трансформеры. А сейчас я хочу поговорить про другую революцию в CV. Уже не такую тихую (статьи тут куда более известные). Рассказ будет про GAN'ы. Как ими сегодня умеют управлять, и что достигли. В первую очередь это StyleGan и его производные.
В последний год-полтора появилось много различных способов управлять GAN-сетями и улучшилось их качество. Ещё чуть чуть и… Что? Можно будет генерить фильмы по описанию? Игры? Нужно ли будет рисовать крутые текстуры, или их можно будет создать?Попробую показать куда дошла современная технология, и чего ожидать от GAN’ов.

Читать далее

8 недооцененных команд Git, которые должен знать каждый программист (помимо привычных pull, push, add, commit)

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

Если вы сделали опечатку, когда вводили имя ветки, вам поможет вот такая команда.

Читать далее

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность