![Сурен Хоренян](/img/default-banner.jpg)
- Видео 340
- Просмотров 905 672
Сурен Хоренян
Добавлен 24 фев 2012
Привет! Меня зовут Сурен Хоренян. Я Senior Python Developer, а также преподаватель по Python разработке. В сфере онлайн-образования я с 2018 года, и рад поделиться с вами своими знаниями!
Median of Two Sorted Arrays | Решение на Python | LeetCode 4
Решение LeetCode задачи "4. Median of Two Sorted Arrays"
Задача на LeetCode: leetcode.com/problems/median-of-two-sorted-arrays/
Код с решением тут: github.com/mahenzon/leetcode-solutions/blob/master/python/0004-Median-of-Two-Sorted-Arrays.py
Ссылки:
* Все ссылки: taplink.cc/mahenzon
- Основной ютуб канал www.youtube.com/@SurenKhorenyan
- Второй ютуб канал www.youtube.com/@SurenLife
- Канал в Telegram: t.me/Khorenyan
- Паблик в ВК: SurenKhorenyan
- RUTUBE: rutube.ru/u/Suren/
Метки:
00:00 Начало
00:58 Рисование
20:00 Код
28:26 Случайные числа и итог
Задача на LeetCode: leetcode.com/problems/median-of-two-sorted-arrays/
Код с решением тут: github.com/mahenzon/leetcode-solutions/blob/master/python/0004-Median-of-Two-Sorted-Arrays.py
Ссылки:
* Все ссылки: taplink.cc/mahenzon
- Основной ютуб канал www.youtube.com/@SurenKhorenyan
- Второй ютуб канал www.youtube.com/@SurenLife
- Канал в Telegram: t.me/Khorenyan
- Паблик в ВК: SurenKhorenyan
- RUTUBE: rutube.ru/u/Suren/
Метки:
00:00 Начало
00:58 Рисование
20:00 Код
28:26 Случайные числа и итог
Просмотров: 9
Видео
Что учить чтобы стать программистом
Просмотров 1,7 тыс.День назад
Рассказываю и наглядно показываю, на какие направления обратить внимание и что изучать, чтобы пойти работать программистом. Я не даю точную пошаговую инструкцию "день 1: делай это, день 2: делай то", я даю рекомендацию по направлениям, что нужно изучить, чтобы влезть в программирование. Все ссылки: taplink.cc/mahenzon Поддержать выход роликов (зарплата монтажеру) - на Boosty boosty.to/mahenzon ...
Single Number | Решение на Python | LeetCode 136
Просмотров 301День назад
Решение 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...
FastAPI вернуть доступ к Swagger | Кастомная статика для документации (swagger, redoc)
Просмотров 1,8 тыс.День назад
Недавно Swagger документация в FastAPI приложении перестала открываться. Дело в том, что jsDelivr стал плохо грузиться, а именно с их CDN загружалась статика для работы интерактивной документации. В видео показываю, как в FastAPI переопределить пути загрузки статики, чтобы документация снова открывалась моментально. Текстовая инструкция тут: fastapi.tiangolo.com/how-to/custom-docs-ui-assets/ Ве...
Insert Interval | Решение на Python | LeetCode 57
Просмотров 39714 дней назад
Решение 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
Просмотров 4,1 тыс.14 дней назад
HTMX с нуля. Шаблоны на Jinja, потому что шаблонизатора лучше просто не существует. Бекенд на Flask, потому что зачем платить больше. Нам нужны просто шаблоны. Все мои ссылки: taplink.cc/mahenzon Поддержать выход роликов (зарплата монтажеру) - единоразово без комиссии tinkoff.ru/cf/6kbKWtKhapM - на Boosty boosty.to/mahenzon С вопросами по программированию приходите в чат при Телеграм канале: - ...
Koko Eating Bananas | Решение на Python | LeetCode 875
Просмотров 28721 день назад
Решение 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 проектов
Просмотров 1,2 тыс.21 день назад
Обсудим события из мира айти и технологий. Видео №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
Просмотров 41428 дней назад
Решение 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 кода | КодКниги
Просмотров 2,9 тыс.Месяц назад
Книга Типизированный 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
Просмотров 374Месяц назад
Missing Number | Решение на Python | LeetCode 268
Базовое приложение на FastAPI | Каркас проекта FastAPI + SQLAlchemy (ascynio) + alembic
Просмотров 8 тыс.Месяц назад
Базовое приложение на FastAPI | Каркас проекта FastAPI SQLAlchemy (ascynio) alembic
Serialize and Deserialize Binary Tree | Решение на Python | LeetCode 297
Просмотров 312Месяц назад
Serialize and Deserialize Binary Tree | Решение на Python | LeetCode 297
ОТКАЖИСЬ от этого в Python | 3 запретных инструмента
Просмотров 3,1 тыс.Месяц назад
ОТКАЖИСЬ от этого в Python | 3 запретных инструмента
Reveal Cards In Increasing Order | Решение на Python | LeetCode 950
Просмотров 268Месяц назад
Reveal Cards In Increasing Order | Решение на Python | LeetCode 950
Ветвление в Машине Состояний aiogram | Магические фильтры | FSM Часть 2
Просмотров 1,3 тыс.Месяц назад
Ветвление в Машине Состояний aiogram | Магические фильтры | FSM Часть 2
4Sum | Решение на Python | LeetCode 18
Просмотров 471Месяц назад
4Sum | Решение на Python | LeetCode 18
Никогда ТАК не делай в Python | 5 запретных техник
Просмотров 3,3 тыс.Месяц назад
Никогда ТАК не делай в Python | 5 запретных техник
Word Ladder | Решение на Python | LeetCode 127
Просмотров 3752 месяца назад
Word Ladder | Решение на Python | LeetCode 127
Django CBV. Знакомство с представлениями, Class-Based Views. Видео №3
Просмотров 8342 месяца назад
Django CBV. Знакомство с представлениями, Class-Based Views. Видео №3
Kth Largest Element in a Stream | Решение на Python | LeetCode 703
Просмотров 3172 месяца назад
Kth Largest Element in a Stream | Решение на Python | LeetCode 703
Furthest Building You Can Reach | Решение на Python | LeetCode 1642
Просмотров 1832 месяца назад
Furthest Building You Can Reach | Решение на Python | LeetCode 1642
Refresh JWT FastAPI | Обновление access токена при помощи refresh токена
Просмотров 3,3 тыс.2 месяца назад
Refresh JWT FastAPI | Обновление access токена при помощи refresh токена
Seat Reservation Manager | Решение на Python | LeetCode 1845
Просмотров 2632 месяца назад
Seat Reservation Manager | Решение на Python | LeetCode 1845
Машина Состояний | FSM | Конечный автомат | бот на aiogram | Часть 1
Просмотров 2,6 тыс.2 месяца назад
Машина Состояний | FSM | Конечный автомат | бот на aiogram | Часть 1
Construct Binary Search Tree from Preorder Traversal | Решение на Python | LeetCode 1008
Просмотров 1882 месяца назад
Construct Binary Search Tree from Preorder Traversal | Решение на Python | LeetCode 1008
Django админка. Приложения, модели, миграции, superuser. Кастомизация. Видео №2
Просмотров 9643 месяца назад
Django админка. Приложения, модели, миграции, superuser. Кастомизация. Видео №2
Binary Tree Preorder Traversal | Решение на Python | LeetCode 144
Просмотров 2583 месяца назад
Binary Tree Preorder Traversal | Решение на Python | LeetCode 144
видео супер. Расскажите про версионирование апи. как его лучше организовать
Класс, спасибо! Рад, что вам понравилось 🥰 А как вы себе представляете версионирование? Новые поля добавляем, старые не меняем и не удаляем. Если меняется структура, то делаем папку по аналогии с api_v1, только называем api_v2, и внутри всё по новой. У вас какие-то сложности есть?
@@SurenKhorenyan я с php+фреймворк переезжаю. там эта задача состоит из 2 моментов: 1. Как лучше разложить по папкам контроллеры (в терминах mvc) 2. Как настроить роутер что б было меньше писанины. Обычно я завожу папку modules. В ней подпапки с версиями (v1,v2,v2_1), которые через конфиг фреймворка подтягиваются в роутер. Как версионирую: В папке v1/controllers/UserController.php лежит первая версия контроллера. В папке v2/controllers/UserController.php лежит отнаследованный от v1/controllers/UserController.php контроллер, с перегрузками экшенов которые надо поменять в данной версии. А тут как лучше это организовать?
@@Dikodance В питоне тоже можно делать наследование. Но, вероятно, опыт из другого языка и фреймворка лучше 1в1 не тащить в другой. Посмотрите как это делается в новом. И нужно ли вам тащить все эти версии сразу?
@@Dikodance кстати, если придёте в чат в телеграм, может быть вам подскажут лучше меня. Там люди с опытом пхп тоже есть
@@SurenKhorenyan я это понимаю. поэтому и спрашиваю. Тут вообще помоему не получится такая логика. Если скажем есть файл v1/users с функцией: @app.get("v1/items") async def read_items(request: Request) ... @app.get("v1/admins") async def read_items(request: Request) ... и в v2/users мне надо перегрузить только /admins то префикс у роута @app.get("v1/items") то не поменяется в новом классе автоматом.
привет, Сурен, неплохо было бы сделать видео на тему «как запоминать синтаксис» может поделишься какой либо техникой, может и шортс запишешь, в общем сам придумаешь). бывает такое что концепции понятны, но как только заходишь писать его снова, будто все забываешь, у меня такое бывает время от времени
как в школе учат стихи
Здравствуйте! Это только практикой и лишь практикой. Уверен, если вы пройдёте по всем моим видео, где я пишу код, и просто повторите за мной, то не останется забытого синтаксиса. Касается любого языка - только практика
ну, там прям заучивание, тут скорее нужно именно больше практики
Часто использую namedtuple, когда нужен именно именованный иммутабельный кортеж, который можно читабельно создавать и удобно распаковывать - обычно это представление какой-либо записи в таблице/файле/бд. Само собой с использованием в словарях и множествах. Преимуществ датакласса тут не вижу никаких, даже семантика немного не та.
Как раз из-за другой семантики датакласс лучше именованного кортежа. Чтобы датакласс был неизменяемым достаточно указать эти параметры при декорировании. Представление записи из таблицы.. как раз для этого хорошо бы работать с полноценным классом (например датаклассом). Распаковку можно сделать при желании через конвертацию объекта в тюпл / словарь (помощники astuple / asdict)
У меня вопрос, реально ли сделать на htmx + fastapi связку приложения где есть роли пользователей, разные уровни доступа в зависимости от роли, авторизация, аутентификация, разные layouts для разных ролей и уровни доступа, обвновление токена, или проще fastapi+vue?
Здравствуйте! Конечно реально, ведь это всё проверяется на бекенде. Использовать ли Vue это уже отдельный вопрос. Очень реактивный сайт не так легко сделать на HTMX. С другой стороны Vue это отдельный мир, и может быть вам будет проще если всё будет подготавливаться на беке.
NamedTuple - это кортеж, по которому можно итерироваться и который можно распаковать, в отличие от объекта dataclass. Если это свойство нужно, NamedTuple OK.
Если вам так сильно нужно итерироваться, то в dataclasses есть astuple, а также asdict, что более удобно и более явно, чем просто тюпл. Так что всё ещё ноль причин использовать namedtuple. Да и назовите реальный кейс, когда нужно именно проитерироваться по **named** tuple? вот у юзера есть id, age, email, username. Что вы при итерировании сможете с этими данными сделать?
@@SurenKhorenyan astuple - это дополнительный вызов, который не требуется с namedtuple. Итерироваться может быть нужно при распаковке, это тоже итерация. Иногда удобно в одной функции распаковать кортеж, а в другой - обратиться к отдельному атрибуту.
@@saitaro вы пытаетесь сэкономить один вызов и из-за этого жертвуете ясностью и удобством? А поделитесь пожалуйста, что такого вы делаете, где эта экономия уместна
@@SurenKhorenyan Мне просто часто достаточно ясности и удобства namedtuple, я не вижу особых жертв :)
Спасибо за видео, как раз пригодится для сегодняшнего собеса 😊
Пожалуйста! Крутяк, рад. Пишите как пройдёт ☺️
Спасибо Сурен!
Пожалуйста!
когда уже выйдет фулстэк пример с html/css
Как только так сразу! Ускорить выход роликов на интересующую вас тему можно через бусти 😊
Будет ли нагрузка больше, если в нескольких модулях импортировать одну и ту же библиотеку, а после эти модлули соеденить в файле main?
Нет, так как модуль инициализируется однажды и дальше импортируется в другие модули уже из памяти
@@SurenKhorenyan Спасибо большое!
@@nightyum пожалуйста!
а как вообще это все запомнить ? в коментариях сеньор разработчики ? я уже первые 3-4 видео в 4-5 раз смотрю и после 2 видео перестаю понимать о чем ты говоришь и со стрессом бросаю, я хз как это запомнить и применить в целом, решил повторить за тобой, все та же суета, подглядываю в гитхаб а там код измененный
Привет! Для старта можете начать со свежего видео по FastAPI: начало работы. Попробуйте написать весь код как я показываю в видео. Возможно, многое станет гораздо более понятным
Сурен, что ты думаешь про скиллбокс? На сколько хорошо оценишь уровень преподавания материала в данной школе?
Привет! Всё зависит от преподавателя. Считаю, что если вы сомневаетесь, то не нужно брать никакие курсы совсем. Посмотрите что-то из бесплатных, прикиньте, насколько оно подходит вам в целом. Основное преимущество платных курсов это общение с экспертом. Если вас не смогут консультировать, то за что вы вообще деньги платите
Очень интересный ролик, спасибо.
Кайф, пожалуйста! Очень приятно 😊🥰
Когда знаешь бек то фронт вообще не проблема!
В целом да, но очень зависит от сложности фронта
Есть ли у вас видео по настройке Pycharm как у вас в видео?
Здравствуйте! Да, есть ruclips.net/video/uM2jXe_QXUM/видео.html
бро ты лучший, как я могу стать senior python разработчиком можешь ли ты меня сделать senior разработчиком, дельное время я изучаю Fastapi я изучил все основы и хочу расти и расти
Не может, ищи реальную работу
Круто! Я сам точно не смогу сделать, но вы можете работать над собой, идти по показанному роадмапу, и у вас обязательно получится! Главное стабильность и усердие 🙂
Хааа. Ну если отбросить токсичность, то рекомендация искать работу очень хорошая. На работе огромное количество практики, так за это ещё и деньги платят 😊
Спасибо большое за совет
@@wendypython пожалуйста!
По настоящему уникальный контент, такое не часто встретишь
Ахахаха 😅
Для работы программистом надо знать молитву, потому что без нее на работу не устроишься😂
Хааа. А о какой молитве речь? Делитесь 🙂
Скоро нас уже будет 10 тысяч. Кажется я подписался когда еще не было и тысячи подписчиков. Вспомню об этом когда будет 100к.
Крутяк! Да, очень жду десятку! Сотню пока даже представить не могу, но очень хочется 🤩 Буду ждать! Огромное спасибо за подписку, лайки, комментарии! Это очень мотивирует, а также продвигает ролики!
Конечно же интересен Python RoadMap от тебя, Сурен! Спасибо за ролик!
Супер! Наберём много тех, кому интересно, будет ролик. Пожалуйста! Рад трудиться 😊
Спасибо! Полезное видео
Пожалуйста! Рад 🥰
В голос про HTTP vs HTML
Хах. Вот, получается, вы уже знаете разницу 😊
А можно ли ссылку на роадмап?) Буду премного благодарен
Да, конечно! Вот тот простой: roadmap.sh/backend?r=backend-beginner Вот тот, что я начал делать и не доделал: roadmap.sh/r/backend-roadmap-fork-w4osx
Родной, вещи делаешь Очень классно наблюдать что канал движется в хорошем направлении Еще, я хз почему, мне твое мнение ближе всего
Вопрос еще такой. Так получилось, что мне пришлось учить PHP и сейчас работаю с ним. Можешь более развернутый ответ по нему дать? Надо прям в срочном порядке свичиться или еще пока терпимо?
ps: хотел бы увидеть твою мапу
Кайф, спасибо! Очень приятно ☺
@@proph3tum А какой ответ по PHP вам нужен? Если он вас устраивает, вам норм на нём писать, то всё ок. Если хотите на какой-нибудь Python / C# / JS перейти - начинайте учить, и потом сможете переключиться. "В срочном порядке" точно не надо менять, PHP никуда не денется. Только если вам самим не нравится, тогда да
А не может так быть, что result будет отрицательным на какой либо итерации?
Хмм, а почему так может произойти? Мы же используем функцию max и оттуда вычитаем. Как тут отрицательный результат получится?
@@SurenKhorenyanсогласен. Если бы мы поменяли порядок строк, то надо было бы проверять на отрицательное значение, а так все будет в порядке, потому что мы сначала обновляем максимум, а потом уже вычисляем result.
@@SurenKhorenyanто есть мы сравниваем всегда не с предыдущем максимом, а с текущим! С учётом текущей позиции, в видео немного не так сделан акцент.
@@dimkin33 буду внимательнее в будущем, спасибо 🙂
Отличный разбор. После этого подумал, а чем строки отличаются от чисел, если их можно представить в виде последовательности байт? Получается и непарное слово можно этим же методом найти. Теперь думаю, а что если стоит противоположная задача - в коллекции найти дублирующееся число с испльзованием битовых операций. Попробую пока без подсказок разобраться.
Да, если представить буквы в виде их кодов (чисел), то можно так найти непарную букву среди парных, вы правы. Как найдёте решение, пишите!
Привет, какая программа используется для скриншота экрана?
Привет! Скриншоты на маке делаются встроенным скриншотером, это CMD + Shift + 4
@@SurenKhorenyan Так это мак, хпхпхпх, спасибо большое
@@nightyum пожалуйста! На Виндоус Win + S или Win + Shift + S, что-то такое
Красавчик бро
Спасибо!
Привет. А можно спросить за твой курс по aiogram, стоит ли ждать продолжение? Или ты уже завершил его?
Привет! Продолжение есть, снято пару месяцев назад, но так как на ютубе просмотров мало, продолжение уже вышло на бусти (писал вчера об этом в тг канале)
Привет. А уроки дальше будут? Или это уже конец
Точно не конец. И уже есть снятый ролик, он вышел на бусти, так как на ютубе тема собирает очень мало просмотров. В тг канале вчера писал, что ролик опубликован на бусти.
Не совсем понятно зачем нужна эта обертка db_helper, почему это лучше чем старый добрый engine, session?
привет! в новом ролике по базовому приложению FastAPI рассказывал про всё это, может быть там понятнее будет. Нам нужен инструмент для создания зависимости. Под капотом мы всё равно используем engine и session
Тут подробнее рассказал, чем в скиллбокс)
Хах. Потому что там есть регламент, а канал я веду как раз потому что хочу рассказывать больше, чем дают образовательные платформы 🙂
Вот ты мне брат сначала не понравился, потом я понял что ты самый адекватный в FastAPI, спасибо брат за ролики.
Пожалуйста! Рад, что в итоге прониклись 🙂
Фух) Посмотрел от корки до корки. Это того стоило!!! Спасибо, Сурен, огромное!!!
Крутяк! Пожалуйста!! Рад, что вам понравилось ☺️
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
Здравствуйте! Очень подробно "от и до" показывал в ролике ruclips.net/video/9tnwovsybWg/видео.html
@@SurenKhorenyan спасибо
Пожалуйста!
@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)