![Павлин Шарит - ИТ вместе с Николаем Павлиным](/img/default-banner.jpg)
- 76
- 148 832
Павлин Шарит - ИТ вместе с Николаем Павлиным
Russia
Registrace 15. 12. 2019
Меня зовут Павлин Николай, я CTO в стартапе Nova, мы разрабатываем hardware и software решения в области здоровья и охраны труда.
Так же я преподавал в университете, но времени на очные занятия стало не хватать и я решил делиться своим опытом здесь.
eff4cd23-dab1-428e-a741-4deebb94c3b3
Так же я преподавал в университете, но времени на очные занятия стало не хватать и я решил делиться своим опытом здесь.
eff4cd23-dab1-428e-a741-4deebb94c3b3
Делай коммиты как ПРО [Upper Junior]
👉 Telegram: t.me/pavlin_share/
В этом видео поговорим с вами о git. Как правильно делать коммиты и почему именно так.
Я уверен, что вы сталкивались с ситуацией, когда вы возвращались к своему проекту, но понять, что там было сделано было очень сложно, потому что сообщения, которые вы оставляли в commit message были непонятные. В видео мы рассмотрим подходы, которые позволяют этого избежать.
0:00 Проблема
1:30 Теория
7:25 Пример
10:00 Ошибки
14:34 БОНУС
В этом видео поговорим с вами о git. Как правильно делать коммиты и почему именно так.
Я уверен, что вы сталкивались с ситуацией, когда вы возвращались к своему проекту, но понять, что там было сделано было очень сложно, потому что сообщения, которые вы оставляли в commit message были непонятные. В видео мы рассмотрим подходы, которые позволяют этого избежать.
0:00 Проблема
1:30 Теория
7:25 Пример
10:00 Ошибки
14:34 БОНУС
zhlédnutí: 378
Video
Postgres в твоем браузере [Any]
zhlédnutí 587Před 14 dny
👉 Telegram: t.me/pavlin_share/ Почитать про WASM - developer.mozilla.org/ru/docs/WebAssembly В этом видео мы познакомимся с развертыванием postgres на клинетской части приложения - непосредственно в браузере. Мы посмотрим на сервис postgres.new и pglite. 0:00 введение 1:20 postgres.new 3:45 pglite 5:40 пример 1 7:30 пример 2
Прощай GIL [Middle]
zhlédnutí 2,4KPřed měsícem
👉 Telegram: t.me/pavlin_share/ Рассмотрим самое ожидаемое изменение в python 3.13 - возможность отключить GIL. В этом видео мы с вами рассмотрим что такое GIL, как можно обойтись без него сейчас и какой производительности получится добиться в новой версии питона.
РАСКРЫВАЮ РЕАЛЬНЫЕ ЗАДАЧИ PYTHON-РАЗРАБОТЧИКОВ | ЭКСПОРТНЫЕ ФОРМЫ
zhlédnutí 608Před měsícem
👉 Telegram: t.me/pavlin_share/ В этом видео мы с вами посмотрим на реальную задачу python-django разработчиков, которые они решают каждый день. Мы посмотрим на постановку задачи, и способ ее решения с помощью openpyxl библиотеки.
Замени свой терминал на Warp [Any]
zhlédnutí 1,6KPřed měsícem
👉 Telegram: t.me/pavlin_share/99 Warp - app.warp.dev/referral/24YGMR Warp - app.warp.dev/ В этом видео мы расскажем о том, почему стоит заменить ваш текущий терминал на Warp. Вы узнаете о ключевых функциях, таких как рендер Markdown, работа с текстом как в IDE, использование AI, разделение на блоки и окна, а также о возможности создания команд через Workflows. Погрузитесь в мир современных возм...
FastStream - убийца Celery? [Any]
zhlédnutí 1,2KPřed měsícem
👉 Telegram: t.me/pavlin_share 🎥 Чтобы не пропустить ничего важного и всегда быть в курсе, подписывайтесь на мой канал и активируйте уведомления! 🔔 Статьяна хабре от автора библиотеки - habr.com/ru/articles/822505/ github - github.com/Afaneor/simple-faststream-example В этом видео разбираем библиотеку faststream, ее сильные и слабые стороны, в каких проектах она может пригодиться, а где лучше из...
Serverless Telegram bot на Python в Яндекс Облаке [Any]
zhlédnutí 712Před měsícem
👉 Telegram: t.me/pavlin_share 🎥 Чтобы не пропустить ничего важного и всегда быть в курсе, подписывайтесь на мой канал и активируйте уведомления! 🔔 В этом видео мы с вами разработаем и задеплоим serverless телеграм-бота на яндекс облако
BACKEND для Hamster Kombat | Django [ANY]
zhlédnutí 792Před 2 měsíci
👉 Telegram: t.me/pavlin_share Предыдущая часть - czcams.com/video/oNiq05uPZbA/video.html 👉 Hamster Kombat реф - t.me/hamster_kombaT_bot/start?startapp=kentId85034376 👉 Hamster Kombat - t.me/hamster_kombaT_bot/ 👉 Blum (только реф) - t.me/BlumCryptoBot/app?startapp=ref_AaNQW6bdbs 🎥 Чтобы не пропустить ничего важного и всегда быть в курсе, подписывайтесь на мой канал и активируйте уведомления! 🔔 В...
Создаем свой Hamster Kombat | Проектирование [ANY]
zhlédnutí 1,5KPřed 2 měsíci
👉 Telegram: t.me/pavlin_share 👉 Hamster Kombat реф - t.me/hamster_kombaT_bot/start?startapp=kentId85034376 👉 Hamster Kombat - t.me/hamster_kombaT_bot/ 👉 Blum - t.me/BlumCryptoBot/app?startapp=ref_AaNQW6bdbs 👉 Blum - t.me/BlumCryptoBot/ 🎥 Чтобы не пропустить ничего важного и всегда быть в курсе, подписывайтесь на мой канал и активируйте уведомления! 🔔 В этом видео мы спроектируем игру-кликер на ...
Фишки f-строк о которых ты не знал [Junior]
zhlédnutí 570Před 3 měsíci
👉 Telegram: t.me/pavlin_share 🎥 Чтобы не пропустить ничего важного и всегда быть в курсе, подписывайтесь на мой канал и активируйте уведомления! 🔔 Сегодня разберем особенности форматирования с помощью f-строк в Python.
Зачем нужны select_related и prefetch_related [Upper Junior]
zhlédnutí 429Před 3 měsíci
👉 Telegram: t.me/pavlin_share 🎥 Чтобы не пропустить ничего важного и всегда быть в курсе, подписывайтесь на мой канал и активируйте уведомления! 🔔 В этом видео я подробно расскажу и покажу на примерах, как эффективно использовать методы select_related и prefetch_related в Django для оптимизации запросов к базе данных. Мы разберем, в чем разница между этими методами, когда и как их применять, чт...
Как восстановить docker после блокировки | Зеркала [Any]
zhlédnutí 3,5KPřed 3 měsíci
👉 Telegram: t.me/pavlin_share 🎥 Чтобы не пропустить ничего важного и всегда быть в курсе, подписывайтесь на мой канал и активируйте уведомления! 🔔 В этом видео разбираем актуальные зеракала для docker-а и как восстановить его работу после блокировки.
Кэширование в Python | Redis [Upper Junior]
zhlédnutí 654Před 3 měsíci
👉 Telegram: t.me/pavlin_share 🎥 Чтобы не пропустить ничего важного и всегда быть в курсе, подписывайтесь на мой канал и активируйте уведомления! 🔔 В этом видео я подробно разбираю тему кэширования в веб-приложениях. Вы узнаете, зачем нужно кэширование, в каких случаях его стоит использовать и как правильно подключить кэш в вашем Django приложении. Мы рассмотрим основные виды кэшей, их преимущес...
Добавляем логин через telegram в web-приложение [Upper Junior]
zhlédnutí 1,1KPřed 3 měsíci
👉 Telegram: t.me/pavlin_share 🎥 Чтобы не пропустить ничего важного и всегда быть в курсе, подписывайтесь на мой канал и активируйте уведомления! 🔔 ngrok - ngrok.com/ Репозиторий с примером - github.com/Afaneor/django-telegram-auth Telegram login widget - core.telegram.org/widgets/login В этом видео я покажу, как я добавил Telegram Аутентификацию в Django-приложение. Мы рассмотрим пошаговый проц...
CELERY переодически задачи пользователей | Реальные рабочие задачи на Python [Any]
zhlédnutí 948Před 4 měsíci
CELERY переодически задачи пользователей | Реальные рабочие задачи на Python [Any]
РЕАЛЬНЫЕ рабочие задачи на django | Создание модели и API
zhlédnutí 1,7KPřed 4 měsíci
РЕАЛЬНЫЕ рабочие задачи на django | Создание модели и API
Используй эти структуры данных из модуля collections [Upper Junior]
zhlédnutí 625Před 4 měsíci
Используй эти структуры данных из модуля collections [Upper Junior]
Как работают словари в Python | Хэш-таблицы [Any]
zhlédnutí 1,3KPřed 4 měsíci
Как работают словари в Python | Хэш-таблицы [Any]
Разрабатываем ИТ продукт с нуля | Бизнес модель и требования [Any]
zhlédnutí 594Před 4 měsíci
Разрабатываем ИТ продукт с нуля | Бизнес модель и требования [Any]
1 billion row challenge на Python [Any]
zhlédnutí 1KPřed 4 měsíci
1 billion row challenge на Python [Any]
Выучи Python Классы На Примере Автобатлера [Junior]
zhlédnutí 1,1KPřed 5 měsíci
Выучи Python Классы На Примере Автобатлера [Junior]
Минимальный уровень Django для первой работы [Junior]
zhlédnutí 1,1KPřed 5 měsíci
Минимальный уровень Django для первой работы [Junior]
Разберись с SOLID на Python примерах [Upper Junior]
zhlédnutí 2,6KPřed 5 měsíci
Разберись с SOLID на Python примерах [Upper Junior]
Не устраивайся в стартап пока не посмотришь | ПЛЮСЫ и МИНУСЫ [Any]
zhlédnutí 205Před 5 měsíci
Не устраивайся в стартап пока не посмотришь | ПЛЮСЫ и МИНУСЫ [Any]
Docker полный курс от А до Я | От новичка до мидла с примерами на Python [Junior]
zhlédnutí 21KPřed 6 měsíci
Docker полный курс от А до Я | От новичка до мидла с примерами на Python [Junior]
Frontend на python с FastUI | Интеграция с FastAPI [Middle]
zhlédnutí 2,7KPřed 6 měsíci
Frontend на python с FastUI | Интеграция с FastAPI [Middle]
Как запустить LLM локально | llama и mistral [Junior]
zhlédnutí 1,4KPřed 6 měsíci
Как запустить LLM локально | llama и mistral [Junior]
JWT-аутентификация на FastAPI [Junior]
zhlédnutí 862Před 7 měsíci
JWT-аутентификация на FastAPI [Junior]
Безлимитный парсинг на python | Бесплатная альтернатива прокси [Upper Junior]
zhlédnutí 8KPřed 7 měsíci
Безлимитный парсинг на python | Бесплатная альтернатива прокси [Upper Junior]
Как работает Django ORM | Кэширование и Lazy [Upper Junior]
zhlédnutí 615Před 7 měsíci
Как работает Django ORM | Кэширование и Lazy [Upper Junior]
Если используется file_search, то оказывается нельзя описать схему json в function. Но я на офф форуме нашел, что можно схему написать прямо в ассистента. И да, это прекрасно работает. В конец ассистента написал "Ответ выдавай в json формате: { "filename": {"type": "string"}, "part1": {"type": "string"}, "part2": { "type": "array", "items": { "type": "object", "properties": { "name" : {"type": "string" }, "compare": {"type": "integer"} }, "additionalProperties": false, "required": ["name", "compare"] } }, "tags": { "type": "array", "items": {"type": "string"} }, "tags_active": { "type": "array", "items": {"type": "string"} } }"
Спасибо огромное
Полезный материал, было интересно послушать про эту фитчу. Спасибо!
Отличный видос! Есть вопрос: OpenAI не будет ругаться на то, что запросы идут с российского сервера? Нет необходимости в прокси?
Придется использовать прокси
А как правильно делать описание коммита? Ещё не помешало бы рассказать про реквесты: что и как правильно их оформлять
у меня наушник работал только на правую сторону, а теперь вообще тишина, кек
Спасибо за обзор.
Звук только в левом ухе 😢
Мой косяк, факт, буду разбираться
@@nikolaypavlin на свои наушники грешил, чуть новые не заказал_))
Спасибо за столь информативные видео! Павлин реально шарит :)
Хорошее видео. Пересматриваю видео такого рода и в этот раз добавилось понимание некоторых принципов, спасибо. Было бы интересно посмотреть как классы, реализующие эти принципы, использовать в рабочем коде так что бы опять не получилась лапша из кода.
можете пожалуйста написать как сделать такой же запрос в бд как у вас на видео в get_user_available_balance, где вы высчитываете total_income просто в чистом SQL или sqlalchemy. Я просто пишу такой же проект на фастапи и использую orm sqlalchemy и не шарю особо за джангу
Проект есть на гитхабе - github.com/Afaneor/telegram-clicker-example/blob/main/server/apps/user/services/user.py Там чат гпт тебе поможет концептуально там что-то такое select sum((now() - uui.last_claim) * power(uui.base_income, uui.level)) from users inner join user_income_items uui on .... where user_id = 1
Спасибо за урок, очень хорошо объяснили. А есть ли возможность обработать создание пользователя на стороне бекенда при такой аутентификации? Ну например при создании нового юзера я хочу ещё выполнить N действий и например автоматически создать для него корзину с OneToOne связью, можно это реализовать, или не предусмотрено?
Можно, у тебя два варианта: 1) переопределить View которая вызывается 2) создать сигнал на создание пользователя
@@nikolaypavlin извиняюсь, я искал вью, которую можно было бы переопределить, но не нашел, не понимаю как мне это реализовать, возможно я задаю глупый вопрос, извините, я пока что новичок. Вы не знаете какую вью нужно переопределить?
идеально ... просто идеально...
Спасибо! Очень полезно)))
А когда будет продолжение? Ждемс очень.
Пока без даты, но в работу взял
Крутая штука, для теста и обучения. А так же визуализировать БД
О, давно не видел твоих комментариев, не знаю подписан ли ты в телеге, запустил VPN для подписчиков в бета-режиме, если есть желание попробовать, то ты в приоритете
Спасибо! Было очень полезно!
искал медь а нашел золото! спасибо каналу и автору, такого контента не много. Если есть возможность то добавьте исходники чтобы повозиться с кодом 👍👍👍
Не знаю как кому,но как по мне изображение страдает и Я думаю по этому мало кто будет смотреть эти ролики, портить себе зрение! Да нафиг оно надо, что мало кто выпускает ролики!
Здесь дело добровольное, можно не смотреть Но качество этих роликов действительно сильно уступает текущим, все «детские» болячки в виде шрифта, уведомлений и тд., вылечены
Как вы через 4 пальца снимаете электро импулЬсы? На ЭКГ датчики по всему телу!
Через 2 пальца (на левый и правый электроды) - это классический способ измерения ЭКГ I отведение Когда электроды надевают на ноги, руки, то снимают больше отведений (видно более широкую картину по сердцу)
@@nikolaypavlin а без интернета работает? Там где бабушка, интернета нет..
@@васяпупкин-б9с Замер снимается на телефон, снятся может без интернета, но сам расчет производится на сервере, так что для получения результатов надо иметь доступ в интернет
@@nikolaypavlin ну это плохо. У нас в стране мобильная связь не везде а с учётом того, что щас творится, тем более.
очень похож голос на Zproger, просто на колонках сижу вхвхв. А так видос классный, ставлю лайк
Так главная задача GIL чтобы структуры данных в питоне в многопоточном режиме не развалились, сейчас если его выключить то просто бардак и боль начнётся не?
Придется аккуратнее писать код и учитывать все необходимые блокировки для корректной работы точно
Спасибо за видео! В 3.13 обещают подвезти субинтерпретаторы с Python API (в 3.12 только C API). Anthony Shaw, разработчик этого модуля, написал блог "Running Python Parallel Applications with Sub Interpreters", где оценивает производительность субинтерпретаторов в простых вычислительных задачах. В его результатах при параллельности в сто потоков, процессов и субинтерпретаторов последние запускаются в 11 раз быстрее, чем процессы и вычисляют 2000 знаков числа пи почти в 4 раза быстрее, чем потоки, и в полтора раза быстрее, чем процессы. При меньшей нагрузке и параллельности разница сокращается. Так или иначе субинтерпретаторы дают надежды. Данными будут обмениваться через каналы (channels), как в горутины Go, насколько я понимаю.
Там вначале с 3.12 разобраться бы. сейчас он оказался медленнее 3.11.
оо вот такого по больше хотелось б, шоб джуны видели реальные задачи, а не задачки с литкод
Плейлист потихоньку обогащается
Фон пульсирует, но я ничего не принимал сегодня.
Да, фокус немного «прыгал»
огонь
Спасибо! Было очень интересно и полезно!
так, а почему процессы в итоге все равно эффективнее оказались? гораздо
Тоже задавал себе этот вопрос, но конструктивно ответить на него не смог Более того, когда гонял до записи видео, расхождение было меньше Думаю, что для ответа на него надо копать глубже в исходники
По идее ведь у потоков, даже без GIL, вычислительных мощностей всё равно меньше, чем у процессов, работающих на разных ядрах.
Жаль, что не сравнения с с async, но сама новость очень порадовала, спасибо
В данном случае код выполнится эквивалентно синглтреду, потому что задача cpu bound (процессор работает, а не ждет)
@@nikolaypavlin Получается в новой версии лучше использовать потоки, вместо async?
@@qweqweqweqweqweqweqweqw async - io bound операции threads - cpu bound операции
Андрей чуть выше уже корректно подсказал, а целом рекомендую пересмотреть видео с 6:00 и самостоятельно почитать про cpu bound и io bound задачи
@@nikolaypavlin По итогу в теории же лучше использовать будет треды? Чтобы запросы, чтение/запись + вычисления работали быстрее ?
на деле в вебе мало cpu bound задач. за 2 года разработки столкнулся лишь с задачами запаковать/распаковать архив. может быть в дс будет полезно
Обработать фотки для превью, произвести вычисления какие-то над данными (мат расчеты), отчеты сгенерировать объемные Думаю, что точно сталкивался часто, просто нет такой прямой ассоциации. Но в основном, конечно, это походы в базы/очереди/другие сервисы
ну допустим шарпах несколько потоков выполняют асинхронные задачи - так что производительности для одного пайтон инстанса это может добавить
Что вообще делает оллама кроме веб сервера, как там под капотом идет обращение к лламе?
Еще она позволяет скачивать модели, работать с ними из командной строки, про веб сервер уже писал, репозиторий у них открытый, можешь посмотреть - github.com/ollama/ollama
Или можешь сам из питона вызывать: # Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="meta-llama/Meta-Llama-3-8B") huggingface.co/meta-llama/Meta-Llama-3-8B
Почему для лламы что-то нужно, какой-то сторонний софт? Можно ли обойтись без дополнительного ПО для работы с ллама через апи?
Можно, надо самому написать загрузчик модели и веб-сервер для этого
В соседнем комменте тебе ответил
Когда будет ласт версия? очень жду
Если кто-то ждёт, то будем доделывать, а то активность на след версии упала, думал уже подзабросить
@@nikolaypavlinне надо бросать
На протяжении всего видео удивлялся тому, что Брендан Фрейзер шарит за терминал)
😂
Можно гайд как для селениум настроить)
очень жду ,все еще пытаюсь самостоятельно разобраться
Этот терминал всё ещё не вышел под Windows и наверное уже не выйдет, потому что я этот проект тоже около 2 лет как знаю.
Уже вайтлист есть на винду, первые шаги, так скажем Год был только на мак, потом линукс, думаю конец этого года/след год уже выйдет и на винду
Эдвард Билл уже не тот...
Да ну брось, если сравнивать, то тогда Брендан Фрейзер
На первый взгляд, очень круто выглядит(не учитывая, что он коммерческий). В эмулятор уже заложена возможность создания нескольких терминальных сессий? Или без tmux никуда
Не, сессии отдельные получаются (в каждом окне делать отдельный ssh), интеграции бесшовной пока тоже нет, тред на гитхабе пока незакрытый (github.com/warpdotdev/Warp/discussions/501), но думаю добьют
Снимать обучающие ролики, не утруждая себя написанием сценария, плохая практика. Понимаю, что лень, понимаю, что благотворительность, но все таки...
Факт, набираю обороты, стал делать лучше в след роликах
самый главный минус - это не опенсурс, привыкнешь к этому терминалу, а потом разрабы будут делать фичи которые будут за денежку, подписку и т.п. Потыкал его на волне хайпа, не увидел кардинальных преимуществ без чего я не мог жить, iTerm2 - one love ❤
Согласен, тоже это подчеркиваю, потому что пока бизнес модель выглядит направленной на b2b, но измениться может в любой момент
Чел сбежал из GTA Vice City и начал делать ролики о программировании 💀
От души бро, делаешь великое дело, снимаю шляпу! Хотел спросить, не планируешь ли ты какие-то ММ мероприятия для разрабов с небольшим коммерческим опытом?
ММ - это маркетинговые мероприятия? Понимаю по контексту вопроса, что скорее нет, но идей по аббревиатуре больше нет
@@nikolaypavlin нет, М - Мастер - Майнд, когда собираются умные дяди) и делятся опытом
Похоже, что я не в когорте достаточно умных дядь, если расшифровать не смог
Есть taskiq для тасок и там же есть периодичные таски. Фастстрим это про брокеры и микросервисы (воркеры). И у фастрима есть интеграция с taskiq. Celery место в джанге, не более. В асинк проектах селери сломает все к чертям.
Да, про taskiq говорил, когда упоминал про периодические задачи, просто название забыл в моменте и назвал абстрактно
@@nikolaypavlin Ну вообще фастстрим крайне удобный инструмент и у него в телеге хороший канал, там спецы собраны. Правда там небольшой культ Nats собрался : ) В целом библа крайне удобна для воркеров/сервисов. Когда у нас только работа с брокером и все. К тому же он запускается в бесконечном цикле и пишит логи. Не нужно самому пилить бесконечный цикл, что бы после прочтения очереди процесс не закрывался. : )
Прекрасное видео! Такая просьба - сделай, пожалуйста, урок по функциям. Только не эту муть, о которой есть миллион видосов - типа: def.., бла-бла.., имя должно описывать что функция делает.., аргументы икс, игрек и пр. Объясни доходчиво, как выстраивать взаимодействие нескольких функций, как они передают друг другу параметры, либо пользуются одними и теми же параметрами.., и как их исполнение должно запускаться в РЕАЛЬНОМ ПРИЛОЖЕНИИ! ))
Подумаю, пока можешь с этим плейлистом ознакомиться, думаю, что частично тема там затронута - Реальные задачи разработчиков czcams.com/play/PLQC1AzOdryAF8auaJB65iW_zRRxKwl3Oa.html
@@nikolaypavlin, здорово! Спасибо!
жду на гите
Лови - github.com/Afaneor/simple-faststream-example
Недавно вышла статья на хабре, в тестовый проект затащил ради пробы)
👍👍👍
Спасибо за урок! Подскажите в чем разница подходов default_factory=func и default=func(). Работает в любом случае ведь. Как я понимаю когда интерпретатор проходит по коду и аргументом является default, он вызывает функцию, а при default_factory функция вызывается непосредственно в момент создания объекта User?
Представь, что ты хочешь запоминать текущее время в объекте. Ты используешь default=datetime.now(), проверяешь и видишь, что время действительно текущее. Но здесь есть важный нюанс. Когда интерпретатор Python проходит по коду и видит default=datetime.now(), он сразу же выполняет функцию now() и сохраняет её результат. Это значит, что значение по умолчанию будет зафиксировано в момент выполнения этого кода. Если твой сервер работает, например, сутки, то в объект будет попадать одно и то же значение времени, зафиксированное при старте сервера, то есть вчерашнее. С другой стороны, если ты используешь default_factory=datetime.now, функция now будет вызываться каждый раз при создании нового объекта, и в каждом объекте будет актуальное текущее время. Таким образом, default_factory гарантирует, что функция выполняется непосредственно в момент создания объекта, а не заранее.
@@nikolaypavlin Спасибо за развернутый ответ! Значит всё-таки я правильно понял разницу)
Спасибо большое за урок! Важные темы рассматриваешь. Не останавливайся!