Как стать автором
Обновить
4
0.1
Юрий Северинов @YuriySeverinov

Data Scientict

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

Llama 3-70b в своем Телеграм боте — бесплатно, безлимитно и всего 20 строк кода

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

Да, всего 20 строк кода и бот:

1) по качеству ответов будет соизмерим с ChatGPT-4;
2) будет отвечать очень быстро т.к. подключим мы его через Groq который в среднем в 10 раз быстрее других аналогичных сервисов;
3) будет поддерживать диалог и запоминать последние сообщения.

Читать далее
Всего голосов 44: ↑34 и ↓10+32
Комментарии72

Рекомендательные системы: проблемы и методы решения. Часть 2

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

Привет! Меня зовут Екатерина Ванская, и я занимаюсь data science в компании Prequel. В этой статье я продолжу обзор рекомендательных алгоритмов, которым мы начали в предыдущем моем материале

(вот ссылка на первую часть).

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

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

Рекомендательные системы: проблемы и методы решения. Часть 1

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

Привет! Я хочу рассказать вам о рекомендательных алгоритмах. Мы в Prequel создаем фильтры и эффекты для редактирования фото и видео. Создаем давно, и постепенно этих эффектов стало очень много. А с ними и пользовательского контента. Мы захотели помочь с выбором из этого многообразия, для чего нам и понадобилась система рекомендаций. Если масштабы вашей системы такие, что пользователям сложно в ней ориентироваться, возможно, что рекомендации могут помочь и вам.

Задуманный систем оказался слишком объемным для одной статьи, поэтому мы разбили его на две части. Перед вами первая, она посвящена постановке задачи и базовым методам решения. В этой части мы разберем коллаборативные модели от матричного разложения (на примере ALS) до neural collaborative filtering. Кроме того, будет небольшой обзор метрик и техник борьбы с проблемой холодного старта.

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

Домашняя лаба. Как собрать домашнюю инфраструктуру мечты

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

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

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

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

Как мы делаем опенсорс курсы для программистов от программистов

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров34K
Мы разочаровались в курсах по программированию и поэтому сделали свои собственные. Не для вайтишников, а для типичных разрабов. В процессе нас хакнул инфлюенсер и забанил сервер телеграма.

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


Читать дальше →
Всего голосов 121: ↑120 и ↓1+137
Комментарии76

Знай сложности алгоритмов

Время на прочтение2 мин
Количество просмотров992K
Эта статья рассказывает о времени выполнения и о расходе памяти большинства алгоритмов используемых в информатике. В прошлом, когда я готовился к прохождению собеседования я потратил много времени исследуя интернет для поиска информации о лучшем, среднем и худшем случае работы алгоритмов поиска и сортировки, чтобы заданный вопрос на собеседовании не поставил меня в тупик. За последние несколько лет я проходил интервью в нескольких стартапах из Силиконовой долины, а также в некоторых крупных компаниях таких как Yahoo, eBay, LinkedIn и Google и каждый раз, когда я готовился к интервью, я подумал: «Почему никто не создал хорошую шпаргалку по асимптотической сложности алгоритмов? ». Чтобы сохранить ваше время я создал такую шпаргалку. Наслаждайтесь!
Читать дальше →
Всего голосов 312: ↑296 и ↓16+280
Комментарии99

Типичные распределения вероятности: шпаргалка data scientist-а

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

У data scientist-ов сотни распределений вероятности на любой вкус. С чего начать?


Data science, чем бы она там не была – та ещё штука. От какого-нибудь гуру на ваших сходках или хакатонах можно услышать:«Data scientist разбирается в статистике лучше, чем любой программист». Прикладные математики так мстят за то, что статистика уже не так на слуху, как в золотые 20е. У них даже по этому поводу есть своя несмешная диаграмма Венна. И вот, значит, внезапно вы, программист, оказываетесь совершенно не у дел в беседе о доверительных интервалах, вместо того, чтобы привычно ворчать на аналитиков, которые никогда не слышали о проекте Apache Bikeshed, чтобы распределённо форматировать комментарии. Для такой ситуации, чтобы быть в струе и снова стать душой компании – вам нужен экспресс-курс по статистике. Может, не достаточно глубокий, чтобы вы всё понимали, но вполне достаточный, чтобы так могло показаться на первый взгляд.
Читать дальше →
Всего голосов 86: ↑85 и ↓1+84
Комментарии28

Rust — это не «memory safe C»

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

TL;DR:
— в Rust намного больше достоинств, чем просто скорость и безопасность
— в Rust по умолчанию CDD (compiler-driven development, разработка через компилирование). Это как TDD, только CDD
— Rust — не сложный язык, особенно если не гнаться за максимальной производительностью

В этой статье я бы хотел рассказать:
— почему взгляд на Rust как на "memory safe C" очень сильно сужает область его возможного применения
— почему я смотрю на Rust как на очень удобный в разработке язык высокого уровня, которому просто случайно повезло оказаться невероятно быстрым
— почему разработка на Rust быстрее, чем многие думают
— почему Rust — это один из лучших языков общего назначения

Читать далее
Всего голосов 155: ↑149 и ↓6+168
Комментарии555

Лучшие бесплатные курсы и ресурсы для изучения машинного обучения

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

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

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

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

Читать
Всего голосов 22: ↑16 и ↓6+13
Комментарии7

Где бесплатно изучать Rust в 2024

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

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

1. Безопасность: Rust разработан с упором на безопасность, предотвращая многие типичные ошибки программирования, такие как доступ к памяти после ее освобождения или гонки данных. Это особенно важно для разработки критически важных систем, таких как операционные системы или встраиваемые приложения.

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

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

4. Кроссплатформенность: Rust поддерживает различные платформы, включая Windows, Linux, macOS и другие. Это позволяет разрабатывать приложения, которые могут работать на разных операционных системах без необходимости переписывать код.

5. Растущее сообщество: Rust имеет активное и одно из самых быстрорастущих сообщество разработчиков. Это означает, что всегда есть доступ к обновленным библиотекам, учебным материалам и помощи от опытных разработчиков.

6. Востребованность на рынке труда: Rust становится все более популярным среди работодателей, особенно в области разработки системного и встраиваемого программного обеспечения. Умение программировать на Rust может открыть двери к новым возможностям и повысить вашу конкурентоспособность на рынке труда.

Читать далее
Всего голосов 32: ↑21 и ↓11+11
Комментарии43

Как я готовился к собеседованию на позицию Senior ML Engineer

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

Привет, меня зовут Глеб Зарин, я ML-разработчик. Сегодня я расскажу, как я подготовился к собеседованиям на позицию Senior Machine Learning Engineer и получил работу мечты за рубежом.

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

Как я проходил собеседования на Machine Learning Engineer

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

Это статья с 21-ой ссылкой о подготовке к собеседованиям. Я собеседовался на позиции Machine Learning Engineer.

Разобрал основные этапы (алгоритмы, machine learning system design, поведенческий этап) и как к ним готовиться.

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

Самый лучший в мире курс по Машинному обучению — Алгоритмы Машинного обучения с нуля

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

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

Курс бесплатный: https://stepik.org/course/68260/promo

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

Сначала войдите через Телеграм

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

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

Читать далее
Всего голосов 56: ↑53 и ↓3+61
Комментарии51

Надежный обход блокировок в 2024: протоколы, клиенты и настройка сервера от простого к сложному

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

Поскольку блокировки интернета в РФ в последние недели и месяцы многократно активизировались, а маразм все крепчает и крепчает, стоит еще раз поднять тему обхода этих самых блокировок (и делаем ставки, через сколько дней на эту статью доброжелатели напишут донос в РКН чтобы ограничить к ней доступ на территории страны).

Вы, наверняка, помните отличный цикл статей на Хабре в прошлом году от пользователя MiraclePtr, который рассказывал о разных методах блокировок, о разных методах обхода блокировок, о разных клиентах и серверах для обходов блокировок, и о разных способах их настройки (раз, два, три, четыре, пять, шесть, семь, восемь, десять, десять, и вроде были еще другие), и можете спросить, а зачем еще одна? Есть две основные причины для этого.

Читать далее
Всего голосов 446: ↑438 и ↓8+490
Комментарии351

Практическое руководство по Rust. 3/4

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



Hello world!


Представляю вашему вниманию третью часть практического руководства по Rust.



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


Руководство основано на Comprehensive Rust — руководстве по Rust от команды Android в Google и рассчитано на людей, которые уверенно владеют любым современным языком программирования. Еще раз: это руководство не рассчитано на тех, кто только начинает кодить 😉

Читать дальше →
Всего голосов 21: ↑20 и ↓1+26
Комментарии0

Как написать свою маленькую ОС

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


Большое начинается с малого. Например, ядро Linux 0.0.1 состояло всего из 10 239 строк кода, из них 20% комментарии. Такой проект вполне может осилить студент в качестве курсовой или дипломной работы, программируя по вечерам на домашнем ПК (собственно, Линус и написал его во время учёбы в университете, когда вернулся из армии).

Если один студент смог это сделать тогда, то почему нельзя повторить? И действительно, в интернете есть даже специальные обучающие ресурсы для написания новых ОС и целые сообщества энтузиастов, которые помогают друг другу в этом непростом деле.
Читать дальше →
Всего голосов 83: ↑78 и ↓5+98
Комментарии25

Как вообще этот ваш CI CD настроить

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

Привет, Хабр!

Хочется рассказать о нашем опыте внедрения CI/CD в компанию. О том, как в целом работать с ним и как это работает у нас.

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

Приятного прочтения, всем peace!

Читать и так далее
Всего голосов 18: ↑12 и ↓6+11
Комментарии13

Как перестать переусложнять и начать жить

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

Мое наблюдение состоит в том, что мы — разработчики и продукты, сильно переусложняем, осознанно или нет, но всякие «„Архитектурные комитеты“, „Планирования“, „Апрувы у 50 отделов“ и деплои в 2-часовые окна, простыни текста сопровождающие простейшие фичи — это просто какой‑то бич современной разработки. Умные дяди с 20 летним опытом за плечами, с невозмутимыми лицами сутки напролет на созвонах обсасывают простейшие вещи вроде замены кнопки. Что это? Следствие усложнения программного обеспечения или засилие не тех людей не на тех местах? Или следствие входа в индустрию новичков, стремящихся простое сделать сложным?

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

Читать далее
Всего голосов 61: ↑54 и ↓7+58
Комментарии173

Типовой процесс разработки решений на базе ИИ и типовые ошибки при их внедрении

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

Когда мы говорим про решения на базе ИИ, кто-то может представлять себе просто обученные модели машинного обучения или нейросети, кто-то магический черный ящик, который умеет «делать магию» и желательно с «точностью 100%», а кто-то просто кусок кода, который надо заставить работать. И с определенной точки зрения каждый будет прав. Кто и в какой части прав, как все происходит чаще всего и какие типовые ошибки ждут на пути внедрения решений на базе ИИ – об этом решил рассказать в статье ниже.

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

Информация

В рейтинге
2 329-й
Откуда
Москва, Москва и Московская обл., Россия
Зарегистрирован
Активность

Специализация

Ученый по данным, ML разработчик
Средний
Git
Python
Машинное обучение
Deep Learning
PyTorch
NumPy
Нейронные сети
Обработка естественного языка
Компьютерное зрение