![Сурен Хоренян](/img/default-banner.jpg)
- 337
- 893 048
Сурен Хоренян
Registrace 24. 02. 2012
Привет! Меня зовут Сурен Хоренян. Я Senior Python Developer, а также преподаватель по Python разработке. В сфере онлайн-образования я с 2018 года, и рад поделиться с вами своими знаниями!
Single Number | Решение на Python | LeetCode 136
Решение LeetCode задачи "136. Single Number"
Задача на LeetCode: leetcode.com/problems/single-number/
Код с решением тут: github.com/mahenzon/leetcode-solutions/blob/master/python/0136-Single-Number.py
Битовые операции визуализированы тут bitwisecmd.com/
Ссылки:
* Все ссылки: taplink.cc/mahenzon
- Основной ютуб канал www.youtube.com/@SurenKhorenyan
- Второй ютуб канал www.youtube.com/@SurenLife
- Канал в Telegram: t.me/Khorenyan
- Паблик в ВК: SurenKhorenyan
- RUTUBE: rutube.ru/u/Suren/
Метки:
00:00 Начало
1:11 Наглядно про биты
6:33 Код
7:08 Случайные числа и итог
Задача на LeetCode: leetcode.com/problems/single-number/
Код с решением тут: github.com/mahenzon/leetcode-solutions/blob/master/python/0136-Single-Number.py
Битовые операции визуализированы тут bitwisecmd.com/
Ссылки:
* Все ссылки: taplink.cc/mahenzon
- Основной ютуб канал www.youtube.com/@SurenKhorenyan
- Второй ютуб канал www.youtube.com/@SurenLife
- Канал в Telegram: t.me/Khorenyan
- Паблик в ВК: SurenKhorenyan
- RUTUBE: rutube.ru/u/Suren/
Метки:
00:00 Начало
1:11 Наглядно про биты
6:33 Код
7:08 Случайные числа и итог
zhlédnutí: 209
Video
FastAPI вернуть доступ к Swagger | Кастомная статика для документации (swagger, redoc)
zhlédnutí 1,6KPřed 22 hodinami
Недавно Swagger документация в FastAPI приложении перестала открываться. Дело в том, что jsDelivr стал плохо грузиться, а именно с их CDN загружалась статика для работы интерактивной документации. В видео показываю, как в FastAPI переопределить пути загрузки статики, чтобы документация снова открывалась моментально. Текстовая инструкция тут: fastapi.tiangolo.com/how-to/custom-docs-ui-assets/ Ве...
Insert Interval | Решение на Python | LeetCode 57
zhlédnutí 385Před dnem
Решение LeetCode задачи "57. Insert Interval" Задача на LeetCode: leetcode.com/problems/insert-interval/ Код с решением тут: github.com/mahenzon/leetcode-solutions/blob/master/python/0057-Insert-Interval.py Ссылки: * Все ссылки: taplink.cc/mahenzon - Основной ютуб канал www.youtube.com/@SurenKhorenyan - Второй ютуб канал www.youtube.com/@SurenLife - Канал в Telegram: t.me/Khorenyan - Паблик в В...
Весь HTMX с нуля! Jinja шаблоны + Flask backend на Python
zhlédnutí 3,9KPřed dnem
HTMX с нуля. Шаблоны на Jinja, потому что шаблонизатора лучше просто не существует. Бекенд на Flask, потому что зачем платить больше. Нам нужны просто шаблоны. Все мои ссылки: taplink.cc/mahenzon Поддержать выход роликов (зарплата монтажеру) - на Boosty boosty.to/mahenzon С вопросами по программированию приходите в чат при Телеграм канале: - t.me/Khorenyan Весь код со всеми ветками доступен тут...
Koko Eating Bananas | Решение на Python | LeetCode 875
zhlédnutí 274Před 14 dny
Решение LeetCode задачи "875. Koko Eating Bananas" Задача на LeetCode: leetcode.com/problems/koko-eating-bananas/ Код с решением тут: github.com/mahenzon/leetcode-solutions/blob/master/python/0875-Koko-Eating-Bananas.py Ссылки: * Все ссылки: taplink.cc/mahenzon - Основной ютуб канал www.youtube.com/@SurenKhorenyan - Второй ютуб канал www.youtube.com/@SurenLife - Канал в Telegram: t.me/Khorenyan...
Обсудим AI приколюхи и обновления некоторых Python проектов
zhlédnutí 1,2KPřed 14 dny
Обсудим события из мира айти и технологий. Видео №2 из серии роликов "Обсудим" Ссылки на источники в первом комментарии к посту в Телеграм t.me/Khorenyan/881 Поддержать выход роликов (зарплата монтажеру) - на Boosty boosty.to/mahenzon - на Sponsr sponsr.ru/suren/ - через Tinkoff (любые карты) tinkoff.ru/cf/6kbKWtKhapM - через CloudTips pay.cloudtips.ru/p/9a8fa641 Ссылки на соцсети: - Канал в ТГ...
First Missing Positive | Решение на Python | LeetCode 41
zhlédnutí 408Před 21 dnem
Решение LeetCode задачи "41. First Missing Positive" Задача на LeetCode: leetcode.com/problems/first-missing-positive/ Код с решением тут: github.com/mahenzon/leetcode-solutions/blob/master/python/0041-First-Missing-Positive.py Ссылки: - Основной ютуб канал www.youtube.com/@SurenKhorenyan - Второй ютуб канал www.youtube.com/@SurenLife - Канал в Telegram: t.me/Khorenyan - Паблик в ВК: Sur...
ТИПИЗИРОВАННЫЙ PYTHON | Рекомендации к аннотированию Python кода | КодКниги
zhlédnutí 2,8KPřed 21 dnem
Книга Типизированный Python, Алексей Голобурдин "Диджитализируй!": t.me/t0digital/151 Поддержать выход роликов (зарплата монтажеру) - на Boosty boosty.to/mahenzon - на Sponsr sponsr.ru/suren/ - через Tinkoff (любые карты) tinkoff.ru/cf/6kbKWtKhapM - через CloudTips pay.cloudtips.ru/p/9a8fa641 Ссылки - Основной ютуб канал www.youtube.com/@SurenKhorenyan - Второй ютуб канал www.youtube.com/@Suren...
Missing Number | Решение на Python | LeetCode 268
zhlédnutí 372Před 28 dny
Решение LeetCode задачи "268. Missing Number" Задача на LeetCode: leetcode.com/problems/missing-number/ Код с решением тут: github.com/mahenzon/leetcode-solutions/blob/master/python/0268-Missing-Number.py Ссылки: - Основной ютуб канал www.youtube.com/@SurenKhorenyan - Второй ютуб канал www.youtube.com/@SurenLife - Канал в Telegram: t.me/Khorenyan - Паблик в ВК: SurenKhorenyan - RUTUBE: r...
Базовое приложение на FastAPI | Каркас проекта FastAPI + SQLAlchemy (ascynio) + alembic
zhlédnutí 8KPřed měsícem
Рассказываю и показываю как начать работать с FastAPI, как выстроить проект, настроить работу с базой данных, миграции. Вам это всё делать не обязательно, потому что код доступен: github.com/mahenzon/FastAPI-base-app Поддержать выход роликов (зарплата монтажеру) - на Boosty boosty.to/mahenzon - на Sponsr sponsr.ru/suren/ - через Tinkoff (любые карты) tinkoff.ru/cf/6kbKWtKhapM - через CloudTips ...
Serialize and Deserialize Binary Tree | Решение на Python | LeetCode 297
zhlédnutí 311Před měsícem
Serialize and Deserialize Binary Tree | Решение на Python | LeetCode 297
ОТКАЖИСЬ от этого в Python | 3 запретных инструмента
zhlédnutí 3,1KPřed měsícem
ОТКАЖИСЬ от этого в Python | 3 запретных инструмента
Reveal Cards In Increasing Order | Решение на Python | LeetCode 950
zhlédnutí 267Před měsícem
Reveal Cards In Increasing Order | Решение на Python | LeetCode 950
Ветвление в Машине Состояний aiogram | Магические фильтры | FSM Часть 2
zhlédnutí 1,2KPřed měsícem
Ветвление в Машине Состояний aiogram | Магические фильтры | FSM Часть 2
4Sum | Решение на Python | LeetCode 18
zhlédnutí 458Před měsícem
4Sum | Решение на Python | LeetCode 18
Никогда ТАК не делай в Python | 5 запретных техник
zhlédnutí 3,3KPřed měsícem
Никогда ТАК не делай в Python | 5 запретных техник
Word Ladder | Решение на Python | LeetCode 127
zhlédnutí 375Před měsícem
Word Ladder | Решение на Python | LeetCode 127
Django CBV. Знакомство с представлениями, Class-Based Views. Видео №3
zhlédnutí 819Před měsícem
Django CBV. Знакомство с представлениями, Class-Based Views. Видео №3
Kth Largest Element in a Stream | Решение на Python | LeetCode 703
zhlédnutí 315Před 2 měsíci
Kth Largest Element in a Stream | Решение на Python | LeetCode 703
Furthest Building You Can Reach | Решение на Python | LeetCode 1642
zhlédnutí 183Před 2 měsíci
Furthest Building You Can Reach | Решение на Python | LeetCode 1642
Refresh JWT FastAPI | Обновление access токена при помощи refresh токена
zhlédnutí 3,2KPřed 2 měsíci
Refresh JWT FastAPI | Обновление access токена при помощи refresh токена
Seat Reservation Manager | Решение на Python | LeetCode 1845
zhlédnutí 259Před 2 měsíci
Seat Reservation Manager | Решение на Python | LeetCode 1845
Машина Состояний | FSM | Конечный автомат | бот на aiogram | Часть 1
zhlédnutí 2,5KPřed 2 měsíci
Машина Состояний | FSM | Конечный автомат | бот на aiogram | Часть 1
Construct Binary Search Tree from Preorder Traversal | Решение на Python | LeetCode 1008
zhlédnutí 188Před 2 měsíci
Construct Binary Search Tree from Preorder Traversal | Решение на Python | LeetCode 1008
Django админка. Приложения, модели, миграции, superuser. Кастомизация. Видео №2
zhlédnutí 950Před 2 měsíci
Django админка. Приложения, модели, миграции, superuser. Кастомизация. Видео №2
Binary Tree Preorder Traversal | Решение на Python | LeetCode 144
zhlédnutí 257Před 3 měsíci
Binary Tree Preorder Traversal | Решение на Python | LeetCode 144
Удаленное управление роботом манипулятором. Графический интерфейс на Python
zhlédnutí 2,5KPřed 3 měsíci
Удаленное управление роботом манипулятором. Графический интерфейс на Python
Design a Food Rating System | Решение на Python | LeetCode 2353
zhlédnutí 230Před 3 měsíci
Design a Food Rating System | Решение на Python | LeetCode 2353
Фух) Посмотрел от корки до корки. Это того стоило!!! Спасибо, Сурен, огромное!!!
Крутяк! Пожалуйста!! Рад, что вам понравилось ☺️
Rest может использовать любой транспортный протокол, необязательно http
Спасибо!
Здравствуйте! А есть полное видео по asyncio в python?
Здравствуйте! В работе, будет на бусти ближе к осени. С самых основ разберемся что к чему
Ну помогите, уже всё облазил, нигде нет спасения. Пытаюсь развлечься созданием сайта, и вот проблема. Даже в вашем уроке, условно существует главная страница(рендер html), на котором я хочу проверить куки пользователя, но если он вдруг не авторизован использование user_session_data: dict = Depends(get_session_data), выдает ошибку 422 Unprocessable Entity. сам FastAPI ругается на неё так {"detail":[{"type":"missing","loc":["cookie","web-app-session-id"],"msg":"Field required","input":null}]} Я уж что только не перепробовал, но не пойму как банально проверить на наличие куки в сесии... Да, пройдя один раз регистрацию, пользователь спокойно может жить на сайте, но без неё он даже на главную сраницу попасть не может, что делать, как быть?
Исправьте get_session_data, в параметре укажите str | None = None. С такими вопросами лучше сразу в тг чат, там быстро подскажут 🙂
@@SurenKhorenyanв тг чат обязательно зайду. Когда указываю так, ничего не меняется. Если указать Cookie(default=None), он вообще не считывает session_id. Он всегда останется None
@@zendeldel6383 так сделайте как я показал, будет другая ситуация. И приходите с кодом в чат, тут неудобно показывать код
добрый день а подскажите что за плагины стоят для терминала pycharm
Здравствуйте! Очень подробно "от и до" показывал в ролике czcams.com/video/9tnwovsybWg/video.html
@SurenKhorenyan Спасибо, очень нравятся твои видео! Всегда доходчиво и понятно🙂
Пожалуйста! Кайф, очень рад 😊
Ты очень умный. Спасибо за грамотность в обьяснении
Пожалуйста! Спасибо большое, рад трудиться ☺️
легенда
Спасибо! 🥰
почему нельзя было ресолвинг путей сделать через дерево?😢
Может быть и можно, а зачем?
@@SurenKhorenyan вроде в лайтстаре сделано так. поэтому там неважно в каком порядке писать роутеры
@@artyomklg915 любопытно 🙂
Пересматривал последние 15 минут видео пару раз, но никак не могу понять в чем разница между HTTPBearer и OAuth2PasswordBearer🥲
разница в получаемом объекте в коде. со стороны клиента разницы нет. просто если указать OAuth2PasswordBearer, то ещё в доке будет возможность залогиниться через юзернейм + пароль
Еще просят какой-то BDD
Даже не слышал 🤣 Погуглил. Ни разу не сталкивался
@@SurenKhorenyan Приветствуется: Опыт работы по git-flow; Умение тестировать приложение. Знание фреймворков тестирования (unit-тестирование, интеграционное тестирование); Работа по методологии TDD и BDD
@@SurenKhorenyan вроде это Behavior driven development
@@MioGesa-md2ul ага, я нагуглил. Не видел ни разу чтобы где-то требовалось
Сурен, а где посмотреть пример с редьюсом?
Привет! В одну строчку с редьюсом будет так: return functools.reduce(operator.xor, nums, 0)
спасибо за твою работу !
Пожалуйста!
Вот это супер годно. Спасибо!
Пожалуйста! 🥰
Ну а костыль в виде __all__?)
Это не костыль, а прекрасный инструмент. Описывайте его, если есть на это силы. Использовать импорт звёздочкой всё равно не надо.
Обидно другое, зачем вообще было делать внешнюю зависимость? Развернул внутри периметра, обращается с ПК без инета и всё, нет документации.
Это сделано для упрощения. Перетащить статику на локальный сервер тоже несложно
Не надо запрещать - нужно просто знать, когда это следует применять (например, явные сплиты больших кусков кода в сабфайлы с явным __all__), а когда нет.
Спасибо за видео! Немного не понятно в чем разница между async_scoped_session и async_sessionmaker? Что лучше использовать и что чаще используется?
Пожалуйста! Можете совсем не использовать scoped, в новых версиях не рекомендуется. В свежем ролике про базовое приложение на FastAPI показал как делать как сейчас актуально
Я вам запрещаю махать руками, как аутист😂
😁😁😁
Кто нибудь объяснит: Одна и та же функция(с request) Как на видео делаю таймер код одинаковый: Python v11 = 8.7 сек Python 8.10 = 2.6 сек В чем прикол?
🤯 приходите в телеграм чат и показывайте там примеры. обязательно разберемся ☺️
Как лучше хранить бот токен? В видео показан пример через конфиг файл, но во многих дургих видео приводят пример через файл .env Есть ли разница? И да, ожидаю новых видео по aiogram :)
Либо через файл, либо через переменную окружения. Других вариантов и не остаётся
Однозначно лайк за это видео! Одна из самых лучших подач материала на ютубе, приятная дикция и фокусировка на нюансах. Мне кажется автору стоит сосредоточиться на менторстве, это прям его)
Кайф, спасибо большое! Очень приятно 🥰
подача пушка спасибо большое
Крутяк, пожалуйста! Приятно 😊
top!
Thanks!
Сурен, ты говоришь, что FastAPI JWT Auth устарела и не обновляется. А как насчет FastAPI Users. Почему ее нельзя использовать?
Привет! Да, можно. Только это более сложная либа, более комплексная. Ролик когда-то будет. Я снимал его в прошлом месяце, материал застрял в монтаже. Когда-нибудь выйдет, может быть даже в этом месяце.
спасибо за видео! смотрю твой контент)
Пожалуйста! Кайф, спасибо, очень приятно ☺️
А мне просто остановка загрузки страницы и её дальнейшая загрузка помогают
Круто! Правда, лишние действия..
Столкнулся сегодня с этой проблемой при развертывании на удаленном хосте! Думал, что это фастапи шалит, но видимо дело было все-таки в статике. Спасибо, Сурен, как всегда, всё по полочкам разложил!
Пожалуйста!
Тупа лучший!
Спасибо 😅
Спасибо, Сурен. Все четко: есть проблема и есть такое решение. Мы похожую проблему решили добавлением в контейнер приложения локальной статики js+css
Всё правильно сделали! Так в идеале и нужно, все эти сидиэн это временное решение
у нас была такая проблема где-то полгода назад. мы скачали статику, положили в папку с проектом, все запаковали в контейнер и с тех пор только так и пользуемся
Всё правильно сделали! В целом, это изначально и нужно было делать
Подмечу что проблема впринципе со swagger, это и в django-ninja и в litestar такая же проблема была)
Ага, всё так. В drf-spectacular можно sidecar использовать
Сурен, доброго времени суток, надеюсь это не последнее видео про FastAPI)
Здравствуйте! Точно не последнее
спасибо❤
Пожалуйста! 😊
Читал, документацию по fastapi, перечитывая каждую страницу по 2 раза, всё очень интересно, но... с трудом ясно. Посмотрев видео - прозрел ))). Спасибо огромное за труд! Советую всем кто начинает учить fasapi, здесь разъясняется очень много нюансов и подводных камней и самое главное доступно.
Крутяк! Рад, что вам было понятно 🥰
весьма странно, что на англо и русс ресурсах нет никого кто бы так детально объяснил как это все переплетается и работает, находил и платные курсы, они уже неактуальны, спасибо за огромный труд! успехов
Пожалуйста! Рад, что нашли, и вам понравилось 🥰 Спасибо 😊
Вы так быстро рассказываете, просто супер! Большинство роликов/курсов по теме, которые я видела, приходится смотреть на ускорении 1,5. При том, что сами ролики обычно по 15-30 минут, с ускорением они заканчиваются ещё быстрее, и в итоге остается очеь мало материала. а у вас почти 1,5 часа в быстром темпе - я ещё не досмотрела, но уже в предвкушении. Вы очень хорошо объясняете. Мне по работе поставили задачу переписать проект с джанго на фастапи + алхимия, я посмотрела пару курсов по фаст апи, пару курсов по алхимии, но поняла далеко не всё. Начала смотреть ваш курс - и мне уже очень нравится, весь сумбур в голове раскладывается по полочкам! Спасибо!
Крутяк! Пожалуйста! Рад, что вам нравится! Осторожнее с переписыванием, это может затянуться сильно 😅
@@SurenKhorenyan ну, выбора у меня особо нет)))
Тогда рассматривайте как возможность пересмотреть некоторые сомнительные решения и что-то улучшить
Может поможеш у меня проблема, что я хочу прикрепить силку к кнопке, но чтоб посля нажатие у меня исполнялась другаю функция callback_data= ... и хз как ето сделать
Приходите в чат в телеграм, вам обязательно помогут 😊
че ты за код написал, ни хера он не работает и выдает ошибку if __ name __ == '__main__': ^ SyntaxError: invalid syntax , настройщик херов
Абсолютно верно!
Там в телеграм добрые люди рекомендуют перейти на Python 3.12 и не ставить пробелы вокруг name, тогда заработает t.me/Khorenyan/900?comment=34779
Наконец-то еще один светлый голубоглазый армянин🙏 Видосы лучшие, очень помогают, желаю тебе роста аудитории!!
Кайф, спасибо! Если "ещё один", то про кого речь? 🙂
Даёшь полноценный курс по gRPC и protobuff на python ))
Думаю об этом, может быть правда сделаю когда-то
По крайней мере на ютубе такого очень мало И мне всегда тяжело работать с протобафф объектами не хватает удобного материала на русском
Коммент в поддержку, видео как всегда очень полезное
Кайф, спасибо большое! Очень приятно 🥰
Не плохое образовательное пособие получилось, спасибо👍!
Крутяк! Пожалуйста! 🥰
видео топчик, пошел смотреть следующее. Коммент в поддержку
Кайф, спасибо большое! Очень приятно 🥰