Как стать автором
Обновить
2
0

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

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

Матрица Вандермонда

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров8.2K

Александр Теофил Вандермонд (28 февраля 1735 - 1 января 1796) - французский музыкант и математик, известный благодаря своей работе в области высшей алгебры.

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

В честь Александра Теофила был назван специальный класс матриц - матрицы Вандермонда, о котором пойдет речь в данной статье. [1]

Читать далее
Всего голосов 11: ↑6 и ↓5+4
Комментарии7

Прекратите делать таблицы в Markdown

Уровень сложностиПростой
Время на прочтение13 мин
Количество просмотров30K

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

Так начался холивар...

И что же не так с таблицами?
Всего голосов 66: ↑55 и ↓11+63
Комментарии78

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

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров19K

Привет, Хабр! Меня зовут Роман Ленц, я руковожу анализом данных и машинным обучением в ПГК. Мы с коллегами подобрали курсы, литературу и сообщества, которые пригодятся тем, кто желает погрузиться в тему машинного обучения и анализа данных, но не знает, с чего начать.

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

Как я разработал собственную рекомендательную систему вакансий c hh.ru, и почему вам это тоже может пригодиться

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров10K

Недавно, просматривая рекомендации на популярном сайте поиска работы по моему резюме «Senior Python Backend», я заметил, что система предлагает вакансии, весьма «далекие» от моей специализации. Это натолкнуло меня на размышления о том, как можно улучшить процесс подбора вакансий для IT‑специалистов. В результате я решил за два вечера, создать свою собственную рекомендательную систему, которая бы более точно учитывала специфику работы в сфере разработки программного обеспечения.

Читать далее
Всего голосов 9: ↑8 и ↓1+9
Комментарии3

Как сменить технологию и не закопаться в рефакторинге: опыт внедрения DDD в проект на FastAPI — Часть 1

Уровень сложностиСредний
Время на прочтение14 мин
Количество просмотров5K

Привет, хабравчане!

В серии статей расскажу, что такое DDD (domain-driven design) и какие у него преимущества и недостатки. Разберемся, когда применять подход и как сочетать его с FastAPI, популярным ASGI фреймворком на Python.

В этой части рассмотрим паттерны проектирования Repository и Unit of Work. С их помощью мы работаем через интерфейсы. Паттерны помогают в разделении кода на слои: основная логика приложения представляется внутренними слоями, а используемые технологии - внешними.

Читать далее
Всего голосов 17: ↑16 и ↓1+17
Комментарии15

Cтатистические критерии для начинающих

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров9.2K

Привет, Хабр! Меня зовут Евгений Узянов, я продуктовый аналитик в команде геймификации Купера (ex СберМаркет). Когда я только начинал изучать методы количественного тестирования, я искал информацию в большом количестве источников: университетские лекции, онлайн-курсы, литература разной степени глубины и, конечно же, ютуб. В значительном количестве случаев при знакомстве с очередной статистикой информация преподносилась в следующем формате:

- Держи страшную формулу

- Вот какие-то графики с хвостами

- Ну а дальше все понятно

- Иди работай

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

Читать далее
Всего голосов 23: ↑22 и ↓1+24
Комментарии11

Различные вычисления, многопоточность, асинхронность и мультипроцессность в Python

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров10K

Всем привет! Меня зовут Дмитрий Первушин, я лидер Python-компетенций трайба ИСУ в Сбере. 

Эта статья рассчитана на людей, которые уже знакомы с Python, хотя бы на уровне junior+. Я объясню, какие есть отличия и особенности в многопоточности, асинхронности и мультипроцессорности в Python, где и когда они используются. Как говорится в пословице: «Всё познаётся в сравнении», именно в таком стиле я подготовил примеры. Кроме этого, буду специально делать ошибки и рассматривать неправильные подходы, чтобы можно было сразу разобраться, убедиться и запомнить, почему так делать нельзя и какой другой подход в этом случае нужно использовать.

Читать далее
Всего голосов 31: ↑28 и ↓3+38
Комментарии17

Как стать разработчиком ML и нейронок

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров13K

Всем привет. Сегодняшняя статья будет интересна тем, кто хочет стать ML‑разработчиком. Последние три года я собирал материалы на эту тему (естественно, проверяя все на себе). Это не просто сухая выжимка из книг, курсов и статей, а личный опыт, основанный на задачах, которые я решаю ежедневно.

Меня зовут Агеев Александр, сейчас я ML‑разработчик в команде SOICA. Из других интересных проектов в прошлом — робототехника (детекция и сегментация продуктов питания), исследования мозговой активности ЭЭГ, автоматизации сети хлебозаводов Москвы, разработка алгоритмов в приложении для подсчета ударов мяча и распознавания скелета человека, исследование и применение больших LLM‑моделей, расшифровка аудио и транскрибация текста, а также EyeTracking (подсчет числа открытия и закрытия глаз).

Читать далее
Всего голосов 16: ↑14 и ↓2+14
Комментарии9

Создание собственного API на Python (FastAPI): структура проекта, SQLAlchemy PostgreSQL, миграции и первые модели таблиц

Уровень сложностиСредний
Время на прочтение21 мин
Количество просмотров14K

Приветствую всех, друзья! Наша последняя статья по созданию собственного API на FastAPI вызвала огромный интерес, и за это я искренне благодарен.

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

Уже на данном этапе код становится громоздким и сложным для понимания. К тому же, хранение данных в JSON‑файлах — это далеко не самый профессиональный подход. «Нормальные ребята» используют SQLAlchemy, причем асинхронно.

Сегодня мы займемся интеграцией асинхронной SQLAlchemy в наше FastAPI‑приложение. Для упрощения навигации и понимания кода я предложу структуру проекта, которую сам использую в каждом FastAPI‑приложении.

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

Читать далее
Всего голосов 10: ↑9 и ↓1+11
Комментарии2

Способы возведения в степень в Python

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров17K

В Дзене Python есть принцип, согласно которому "должен существовать один и, желательно, только один очевидный способ сделать это". Однако в Python есть как миниум три способа возведения числа в степень: оператор **, встроенная функция pow(), функция pow() модуля math.

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

Читать далее
Всего голосов 30: ↑28 и ↓2+31
Комментарии60

Гайд по работе сверточных нейронных сетей

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров7.6K

Для распознавания изображений и видео используют особый тип нейросетей — сверточные. Например, они помогают анализировать результаты МРТ и рентгеновские снимки, чтобы поставить правильный диагноз.

Вместе с Марией Жаровой, Data Scientist в Альфа-Банк, подготовили подробный гайд о том, как устроены сверточные нейросети и что нужно знать для начала работы с ними. 

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

FastStream — новый убийца Celery?

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров10K

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

В Python сложилось устойчивое убеждение, что если мы работаем с MQ - то нам нужен Celery, но он слегка устарел. Именно поэтому люди пытаются выкинуть "деда" и затащить вместо него любой новый многообещающий MQ-инструмент. Кроме того, культ Celery настолько силен в умах, что практически все новые библиотеки для работы с MQ пытаются стать его "убийцей" и заменой.

Однако, это не совсем верно. Существует огромный пласт проектов, которым нужен не фреймворк для менеджмента задач, а просто "голый" функционал Kafka/RabbitMQ/NATS/whatever для межсервисного взаимодействия. И все эти проекты вынуждены довольствоваться "сырыми" python-клиентами к своим брокерам, а всю обвязку вокруг этих клиентов писать самостоятельно. FastStream целится как раз в эту нишу.

В рамках статьи я хочу убедить вас, что не Celery мы едины, и для альтернативных инструментов найдется место под солнцем. А также рассмотрим фичи FastStream, которые он привносит в застоявшийся мир MQ-инструментов.

Читать далее
Всего голосов 27: ↑26 и ↓1+28
Комментарии23

Открытые инструменты визуализации данных

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров9.7K
image

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

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

Сегодня расскажем о некоторых открытых (и бесплатных) инструментах визуализации данных. Мы отобрали их по количеству звезд на GitHub. Хотя они не так известны, как Tableau Public или PowerBI, эти приложения позволяют легко создавать диаграммы и дашборды, фокусируясь не на инструментах, а на данных и их бизнес-ценности.

А еще напомним, что данные практически любого объема и формата вы можете хранить в облаке. Сейчас на объектное хранилище MWS действует скидка 50%.

Читать дальше →
Всего голосов 17: ↑16 и ↓1+17
Комментарии5

Временные ряды и ARIMA: Как предсказывать будущее без хрустального шара

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров7K

Что такое временной ряд, модель ARIMA и как к ней подбирать параметры.

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

Читать далее
Всего голосов 9: ↑8 и ↓1+9
Комментарии25

Рисуем фракталы на Rust и CUDA

Уровень сложностиСредний
Время на прочтение14 мин
Количество просмотров8.9K

Фракталы — это бесконечные самоподобные фигуры. Они определяются простыми математическими формулами, которые создают удивительную красоту!

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

Читать далее
Всего голосов 31: ↑31 и ↓0+36
Комментарии71

Вечный покой .env: как эффективнее удалять закомиченный файл .env из Git-репозитория

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров22K

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

Я работаю на VS Code, и я, to be honest, так и не понял, с какой стати .gitignore "не игнорирует" .env. Причем спокойно "игнорирует" другие файлы, директории.

Всё же, нужно действовать, исходя из конкретного кейса, но если вы не хотите, чтобы какой-нибудь John Doe воспользовался данными из вашего .env, то вы перешли по верной ссылке. Вы же не отдаете ключи грабителю с фразой "Грабьте мой дом", верно?

Читать далее
Всего голосов 56: ↑38 и ↓18+26
Комментарии64

Как я постепенно избавляюсь от контроля Google

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров60K

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

Мне кажется, прежде, чем приступать, нужно дать важное предисловие. Во-первых, эти заметки сделаны по личному опыту, это не подробный обзор альтернатив сервисам Google, сравнения альтернативных решений можете поискать где-нибудь ещё. Во-вторых, для использования некоторых из упомянутых в статье альтернатив требуется настройка своего сервера, что для многих людей станет ограничивающим требованием.
Читать дальше →
Всего голосов 68: ↑58 и ↓10+69
Комментарии201

Чем PostgreSQL лучше других SQL баз данных с открытым исходным кодом. Часть 2

Время на прочтение10 мин
Количество просмотров65K
Друзья, представляем вашему вниманию вторую часть перевода «Чем PostgreSQL лучше?». Надеемся, она вызовет такое же горячее обсуждение в комментариях, как и первая часть. А также с радостью продолжим с вами дискуссию лично на PG Day'16 Russia, до которой осталось совсем немного!

В слогане PostgreSQL заявляется, что это «Самая продвинутая база данных с открытым исходным кодом в мире». В первой части этой серии мы рассмотрели хранение данных — модель, структуры, типы и ограничения по размеру, — чтобы дать вам несколько причин, почему Постгрес подтверждает свои слова делом. Во второй части мы поговорим о манипуляциях с данными и поиске, включая индексирование, виртуальных таблицах и возможностях запросов. В этой серии мы выясняем, что выгодно отличает PostgreSQL от других баз данных с открытым исходным кодом, а именно — от MySQL, MariaDB и Firebird.


Читать дальше →
Всего голосов 49: ↑47 и ↓2+45
Комментарии32

Майним крипто-коины с помощью Python и компьютерного зрения

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров24K

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

Читать далее
Всего голосов 11: ↑6 и ↓5+1
Комментарии27

Подготовка к техническому собеседованию Senior/Team Lead backend

Уровень сложностиСредний
Время на прочтение3 мин
Количество просмотров20K

Недавно появились мысли походить на собеседования чем я успешно занялся. Если конкретно - смотрел лидовскую/сеньерскую позиции на Python и Golang(но статья может пригодиться backend разработчикам в целом). Не ставлю целью статьи объять все не объятное и дать какие-то гарантии. Я лишь зафиксирую данные для себя на будущее.

Вообще ходить на собеседования неплохой навык - в моем случае удается неплохо прокачать технические скилы и узнать запросы рынка на текущий момент(ведь может случиться так, что твои навыки перестанут быть актуальными).

Сразу сделаю пометку, что некоторые навыки/ресурсы специфичны(по типу нарешивания Leetcode), но отталкиваемся от текущих реалий рынка.

Читать далее
Всего голосов 22: ↑21 и ↓1+22
Комментарии13
1
23 ...

Информация

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