В среду 02 ноября, в 19:00 мск пройдет Python meetup online
1. Куда двигается python в 2022 году? Денис Аникин — Райффайзенбанк
Расскажу о том куда двигается python: в первую очередь, о том как, когда и зачем он ускоряется, о nogil, cinder и прочих нововведениях.
2. Тестирование АПИ при помощи Django - Алексей Шарыпов VK
История написания сервиса для тестирования черного ящика без тестов и документации, написанном на малоизвестном языке
3. Распознаем интересные моменты в матчах Dota 2 - Савостьянов Дмитрий — Nordcurrent
В рамках доклада я расскажу как искать хайлайты в матчах Dota 2. Продемонстрирую, как парсить реплеи матчей и записи стримов на YouTube. Кратко обсудим архитектуры нейросетей BERT и TrOCR
Регистрация - https://meetups.evrone.ru/python-meetup-online-1?utm_source=tg&utm_medium=tricky_python&utm_campaign=online_python_meetup
1. Куда двигается python в 2022 году? Денис Аникин — Райффайзенбанк
Расскажу о том куда двигается python: в первую очередь, о том как, когда и зачем он ускоряется, о nogil, cinder и прочих нововведениях.
2. Тестирование АПИ при помощи Django - Алексей Шарыпов VK
История написания сервиса для тестирования черного ящика без тестов и документации, написанном на малоизвестном языке
3. Распознаем интересные моменты в матчах Dota 2 - Савостьянов Дмитрий — Nordcurrent
В рамках доклада я расскажу как искать хайлайты в матчах Dota 2. Продемонстрирую, как парсить реплеи матчей и записи стримов на YouTube. Кратко обсудим архитектуры нейросетей BERT и TrOCR
Регистрация - https://meetups.evrone.ru/python-meetup-online-1?utm_source=tg&utm_medium=tricky_python&utm_campaign=online_python_meetup
👍6
Привет, в эту пятницу в 14:00 МСК буду вести прямой эфир Moscow Python Podcast. Обсуждаем итоги года в python-разработке, приходите, задавайте ввопросы и вообще участвуйте 🙂
Ссылка - https://www.youtube.com/watch?v=Mq3Tkgrczi0
P.S. Конечно, подкаст будет как всегда доступен в записи через некоторое время после эфира
Ссылка - https://www.youtube.com/watch?v=Mq3Tkgrczi0
P.S. Конечно, подкаст будет как всегда доступен в записи через некоторое время после эфира
YouTube
Подводим итоги Python-года с Григорием Петровым, Златой Обуховской и Михаилом Корнеевым
00:00 - Григорий и Михаил про планы на 2023 и новые форматы прямых эфиров и новостных выпусков
1:35 - говорим про планы на ускорение Python (у Златы проблемы со звуком)
5:15 - про эксперимент с выпиливанием gil
11:21 - (небольшие проблемы со звуком)
…
1:35 - говорим про планы на ускорение Python (у Златы проблемы со звуком)
5:15 - про эксперимент с выпиливанием gil
11:21 - (небольшие проблемы со звуком)
…
👍20🔥6
Наткнулся на интересный gist Python People - список людей из глобального python-сообщества со ссылками на их twitter, github и mastodon. Если вы ищите "кого-бы почитать интересного про python" то посмотрите на людей из этого списка https://gist.github.com/samuelcolvin/1743d8919acb465c1fbbcea2c3cdaf3e
Gist
An incomplete list of people in the Python community to follow on Twitter and Mastodon.
An incomplete list of people in the Python community to follow on Twitter and Mastodon. - python-people.md
👍13🔥6
Закинули резюме того, что обсуждали на предновогоднем подкасте на Хабре https://habr.com/ru/post/708204/
Те, кто предпочитает читать выжимку прослушиванию подкаста - велкам
Те, кто предпочитает читать выжимку прослушиванию подкаста - велкам
🔥14👍4
С наступающим! Пусть новый год будет к нам всем добрее, чем старый. И больше питончика вам в новом году :) 🐍
👍36🔥8
На мой взгляд, одной из больших проблем как у тех, кто приходит в разработку так и у тех, кто довольно давно в ней работает. Это умение не просто хорошо писать код, а умение структурировать проект. Понимать, чем хорошая архитектура отличается от плохой. В книгах часто описываются высокоуровневые абстрактные концепции и дальше возникает вопрос — все это хорошо, но вот у меня есть проект на условной Джанге, как все это применить?
На выходных я разбирал закладки и наткнулся на несколько неплохих практических "около архитектурных" гайдов, про которые хочу рассказать:
1. Django Styleguide - гайд который ребята из HackSoftware развивают уже несколько лет. Если вы не читали - очень рекомендую, много хорошего можно утащить для своего проекта. Там хорошо описано как структурировать проект так, чтобы код было легче развивать, поддерживать и тестировать. Гайд постоянно развивается и обновляется https://github.com/HackSoftware/Django-Styleguide
2. Django API Domains - пример применения некоторых принципов Domain-Driven Design в Django. Тут как и в предыдущем гайде использован довольно прагматичный подход - вместо того, чтобы тащить все что есть в DDD, автор предлагает достаточно простую, легко реализуемую и поддерживаемую структуру проекта. Это не "чистый DDD", но лично мне такой подход больше нравится своей простотой. Гайд небольшой и не очень активно развивается, но я все равно рекомендую потратить время и ознакомиться с ним https://phalt.github.io/django-api-domains/
Ну и подводя итог хочу повторить то, что написано в двух первых гайдах. Это не инструкции, которым надо в точности следовать. Это скорее набор подсказок и принципов, из которых имеет смысл выбрать то, что вам покажется разумным и полезным в своих проектах.
P.S. Я попробовал включить комментарии в канале, надеюсь сработает 🙂 Если у вас есть другие хорошие гайды по архитектуре python-веб-приложений - кидайте в комменты, я по итогам сделаю еще один пост.
На выходных я разбирал закладки и наткнулся на несколько неплохих практических "около архитектурных" гайдов, про которые хочу рассказать:
1. Django Styleguide - гайд который ребята из HackSoftware развивают уже несколько лет. Если вы не читали - очень рекомендую, много хорошего можно утащить для своего проекта. Там хорошо описано как структурировать проект так, чтобы код было легче развивать, поддерживать и тестировать. Гайд постоянно развивается и обновляется https://github.com/HackSoftware/Django-Styleguide
2. Django API Domains - пример применения некоторых принципов Domain-Driven Design в Django. Тут как и в предыдущем гайде использован довольно прагматичный подход - вместо того, чтобы тащить все что есть в DDD, автор предлагает достаточно простую, легко реализуемую и поддерживаемую структуру проекта. Это не "чистый DDD", но лично мне такой подход больше нравится своей простотой. Гайд небольшой и не очень активно развивается, но я все равно рекомендую потратить время и ознакомиться с ним https://phalt.github.io/django-api-domains/
Ну и подводя итог хочу повторить то, что написано в двух первых гайдах. Это не инструкции, которым надо в точности следовать. Это скорее набор подсказок и принципов, из которых имеет смысл выбрать то, что вам покажется разумным и полезным в своих проектах.
P.S. Я попробовал включить комментарии в канале, надеюсь сработает 🙂 Если у вас есть другие хорошие гайды по архитектуре python-веб-приложений - кидайте в комменты, я по итогам сделаю еще один пост.
GitHub
GitHub - HackSoftware/Django-Styleguide: Django styleguide used in HackSoft projects
Django styleguide used in HackSoft projects. Contribute to HackSoftware/Django-Styleguide development by creating an account on GitHub.
👍29🔥12👎1
Tryo Labs опубликовали ежегодный обзор "Top Python Libraries 2022". Обзор несколько субъективный и смещен в сторону анализа данных/машинного обучения, но все равно но его интересно посомтреть с точки зрения " какие из этих библиотек я знаю/пробовал?". Мне было интересно пробежаться по предыдущим выпуска - самый ранний вышел в 2015 году. https://tryolabs.com/blog/2022/12/26/top-python-libraries-2022
Tryolabs
Top Python libraries of 2022
There are so many amazing Python libraries and tools out every year that it's hard to keep track of them all. That's why we share with you our hand-picked selection of our best picks.
👍12🔥6
Послезавтра, 19 января в 14:00 МСК будем в прямом эфире записывать очередной Moscow Python Podcast.
В гости к нам придет Георгий Могелашвили, Engineering Manager в Shopify и основатель GetMentor.dev. Обсудим опыт жизни за рубежом и адаптацию в зарубежной компании, развитие, поиск наставника и всем ли нужно становиться тимлидами.
В ходе трансляции будем отвечать на вопросы и комментарии в прямом эфире. Ссылка https://www.youtube.com/watch?v=1mpHfaxy104
В гости к нам придет Георгий Могелашвили, Engineering Manager в Shopify и основатель GetMentor.dev. Обсудим опыт жизни за рубежом и адаптацию в зарубежной компании, развитие, поиск наставника и всем ли нужно становиться тимлидами.
В ходе трансляции будем отвечать на вопросы и комментарии в прямом эфире. Ссылка https://www.youtube.com/watch?v=1mpHfaxy104
YouTube
Куда расти разработчику: взгляд из-за рубежа
В гостях у Moscow Python Podcast Георгий Могелашвили, Engineering Manager в Shopify и основатель GetMentor.dev. Обсудили опыт жизни за рубежом и адаптацию в зарубежной компании, развитие, поиск наставника и всем ли нужно становиться тимлидами.
00:00 - разница…
00:00 - разница…
🔥13👍5
В качестве пятничного чтения рекомендую большую статью про состояние и перспективы менеджмента пакетов в Питоне. На мой взгляд это одно из самых проблемных мест в экосистеме языка. Есть много инструментов, у каждого из которых свой подход. Нет единого лидера - судя по опросам, top3 самых популярных менеджера, одинаково популярны. Проблемы со стандартизацией - тот же PEP 582 уже несколько лет как завис в непонятном состоянии.
В статье довольно много личного авторского отношения и статья довольно длинная. Но если вы интересуетесь тем, что происходит в экосистеме это прямо must read https://chriswarrick.com/blog/2023/01/15/how-to-improve-python-packaging/
В статье довольно много личного авторского отношения и статья довольно длинная. Но если вы интересуетесь тем, что происходит в экосистеме это прямо must read https://chriswarrick.com/blog/2023/01/15/how-to-improve-python-packaging/
Chris Warrick
How to improve Python packaging, or why fourteen tools are at least tw
A journey to the world of Python packaging, a visit to the competition, a hopeful look at the future, and highlights from a disappointing discussion.
👍15🔥2
Я довольно мало работаю с данными, но, когда возникает задача, привычно беру pandas. Про polars, конечно, слышал но никогда его не использовал. Сегодня наткнулся на подробное сравнение синтаксиса этих библиотек, и мне прямо очень понравился синтаксис выборок в полярсе. В следующий раз, когда надо будет покрутить набор данных, я попробую взять для этого polars - https://kevinheavey.github.io/modern-polars/
Modern Polars
A side-by-side comparison of the Polars and Pandas libraries.
👍16🔥1
Если вы еще не смотрели проект
А теперь перейдем к новости - автор анонсировал поддержку yaml/toml. Правда, для парсинга для этих форматов будет использоваться существующие библиотеки и прибавки производительности можно не ждать. Тем не менее, возможность декларативно описывать, читать/писать и валидировать самые распространенные разные форматы выглядит очень вкусно - https://www.reddit.com/r/Python/comments/10gzbgo/parsing_and_validating_pyprojecttoml_files_with/
msgspec
(https://jcristharif.com/msgspec/index.html) - очень рекомендую взглянуть. Это сериализатор для json/msgpack
, у него удобный синтаксис, похожий на pydantic
и по тестам скорости сериализации/десериализации он обгоняет orjson
. В общем, быстрая и удобная штука.А теперь перейдем к новости - автор анонсировал поддержку yaml/toml. Правда, для парсинга для этих форматов будет использоваться существующие библиотеки и прибавки производительности можно не ждать. Тем не менее, возможность декларативно описывать, читать/писать и валидировать самые распространенные разные форматы выглядит очень вкусно - https://www.reddit.com/r/Python/comments/10gzbgo/parsing_and_validating_pyprojecttoml_files_with/
Reddit
From the Python community on Reddit
Explore this post and more from the Python community
👍19
Послезавтра, 27 января в 13:15 по Москве проведем прямую трансляцию очередного Moscow Python Podcast. В гости придет Иван Самсонов, продакт-менеджер в прикладных исследованиях ИИ во ВКонтакте.
Обсудим:
• философию работы в команде;
• можно ли научить бизнес ставить ML задачи;
• тренды прикладного ИИ;
• исследования и продуктовую разработку в ML;
• этичность применения технологий;
• настала ли эра ИИ.
В ходе трансляции будем отвечать на вопросы и комментарии с Ютуба в прямом эфире. Присоединяйтесь https://youtu.be/K8gDQykx25Q
Обсудим:
• философию работы в команде;
• можно ли научить бизнес ставить ML задачи;
• тренды прикладного ИИ;
• исследования и продуктовую разработку в ML;
• этичность применения технологий;
• настала ли эра ИИ.
В ходе трансляции будем отвечать на вопросы и комментарии с Ютуба в прямом эфире. Присоединяйтесь https://youtu.be/K8gDQykx25Q
🔥5👍4
Вышел релиз SQLAlchemy 2.0, получается довольно интересно:
- Полная поддержка типов: ORM-модели теперь можно делать полностью типизированные, результаты запросов тоже типизированы
- Теперь ORM-модели можно объявлять как MappedAsDataclass и в этом случае на выходе получатся полноценные датаклассы
- Для массовых добавлений/изменений вместо bulk_* методов теперь можно использовать insert-ы и update-ы, которые стали достаточно умными, чтобы делать это одним запросом и поддерживать .returning()
- C-расширения переписали на Cython и обещают повышение их производительности
- Поддержка нового psycopg3 (aka "просто psycopg")
Резюмируя - очень здорово, что в довольно "олдскульный" SQLAlchemy затащили поддержку всяких современных фич языка. Будет интересно попробовать это все.
Статья про изменения в 2.0 https://docs.sqlalchemy.org/en/20/changelog/whatsnew_20.html
QuickStart, в котором показан новый подход к объявлению моделей https://docs.sqlalchemy.org/en/20/orm/quickstart.html
- Полная поддержка типов: ORM-модели теперь можно делать полностью типизированные, результаты запросов тоже типизированы
- Теперь ORM-модели можно объявлять как MappedAsDataclass и в этом случае на выходе получатся полноценные датаклассы
- Для массовых добавлений/изменений вместо bulk_* методов теперь можно использовать insert-ы и update-ы, которые стали достаточно умными, чтобы делать это одним запросом и поддерживать .returning()
- C-расширения переписали на Cython и обещают повышение их производительности
- Поддержка нового psycopg3 (aka "просто psycopg")
Резюмируя - очень здорово, что в довольно "олдскульный" SQLAlchemy затащили поддержку всяких современных фич языка. Будет интересно попробовать это все.
Статья про изменения в 2.0 https://docs.sqlalchemy.org/en/20/changelog/whatsnew_20.html
QuickStart, в котором показан новый подход к объявлению моделей https://docs.sqlalchemy.org/en/20/orm/quickstart.html
🔥26👍14
YAML
в последние годы набрал огромную популярность, но наверное самая большая проблема с ним в том, что он выглядит просто, но на самом деле формат очень замороченный. Спецификация состоит из 10-и глав https://yaml.org/spec/1.2.2/. Честно признаюсь - я не осилил прочитать ее полностью, думаю, как и большинство людей, активно использующих yaml
.И вот тут мы подходим к теме сегодняшней статьи. Из-за того, что формат сложный, но с ним пытаются работать как с простым, есть много неочевидных способов поломать
yaml-документ. Например, ключи словаря в `yaml
` могут быть любого типа, не только строками. Если это совместить с тем, что yaml
считает, что on
— это True
, а off
— это False
, то вот этот пример из Quickstart-а Github Actions:
on: [push]
будет прочитан как:
True: ['push']
Интересно, в Github Actions свой, пропатченый парсер или они
on
и True
в ключах считают одним и тем же?В общем вот хорошая статья, в которой разбирается этот и многие другие неочевидные ловушки формата. Очень рекомендую всем, кто сталкивается с необходимостью писать/править YAML https://ruudvanasseldonk.com/2023/01/11/the-yaml-document-from-hell
Ruudvanasseldonk
The yaml document from hell
As a data format, yaml is extremely complicated and it has many footguns. In this post I explain some of those pitfalls by means of an example, and I suggest a few simpler and safer yaml alternatives.
👍22
Кстати, в эту пятницу в 14:00 МСК будет новый стрим python-подкаста. В этот раз мы пробуем новый формат, вместе с Ильей Лебедевым обсудим, что интересного произошло в python-экосистеме за месяц. В темах:
- что интересного происходит в разработке веб-фреймворков
- обсудим выход SQLAlchemy 2.0
- свежие PEP и особенно возможность собирать python без GIL (и другие новые pep-ы)
и другие новости, связанные с python. Приходите на стрим на ютуб и задавайте вопросы в комментариях! https://www.youtube.com/live/wZ8PMWtRCe4?feature=share
- что интересного происходит в разработке веб-фреймворков
- обсудим выход SQLAlchemy 2.0
- свежие PEP и особенно возможность собирать python без GIL (и другие новые pep-ы)
и другие новости, связанные с python. Приходите на стрим на ютуб и задавайте вопросы в комментариях! https://www.youtube.com/live/wZ8PMWtRCe4?feature=share
YouTube
Выход SQLAlchemy 2.0 / сборка Python без GIL / топ Python библиотек 2022 и другие новости Python
0:00 - интро
1:03 - фреймворк Robin c Rust-рантаймом и его связь с искусством
6:31 - PEP 703 или Python без GIL
10:43 - запуск SQLAlchemy 2.0 или алхимия для дедов
13:48 - ответ на вопрос, перспективно ли учить FastAPI или углубляться в Django
14:00 - ответ…
1:03 - фреймворк Robin c Rust-рантаймом и его связь с искусством
6:31 - PEP 703 или Python без GIL
10:43 - запуск SQLAlchemy 2.0 или алхимия для дедов
13:48 - ответ на вопрос, перспективно ли учить FastAPI или углубляться в Django
14:00 - ответ…
🔥16👍4
Еще одна интересная статья из серии "как все устроено под капотом". В общем случае отдавать файлы с помощью питоновских фреймоврков идея не очень хорошая - это будет не очень производительно, гораздо лучше файлы раздавать с какого-нибудь S3-хранилища, использовать CDN или хотя-бы Nginx (или аналог). Тем не менее, иногда это нужно и оправданно.
И дальше идет интересное, оказывается
А вот aiohttp поступает умнее - он использует
В общем, если вы генерируете и отдаете в браузер файлы питоном и делаете это часто - посмотрите, как это реализовано в используемом вами фреймворке, возможно вы сможете сэкономить ресурсы. Оригинальная статья https://medium.com/@alsadi/secret-sauce-is-zero-copy-single-context-switching-b749bd614dca
И дальше идет интересное, оказывается
FastAPI
(а точнее Starlette
на которой он основан) читает файл чанками(кусочками) и отдает браузеру. И чтение файла по кусочку в цикле - очевидно не самая эффективная операция.А вот aiohttp поступает умнее - он использует
loop.sendfile
, который в свою очередь использует os.sendfile()
который использует доступную на Linux и MacOS функцию ядра sendfile()
, которая позволяет отправить файл в сокет максимально эффективно. И судя по тестам вариант с sendfile
в 7 раз быстрее.В общем, если вы генерируете и отдаете в браузер файлы питоном и делаете это часто - посмотрите, как это реализовано в используемом вами фреймворке, возможно вы сможете сэкономить ресурсы. Оригинальная статья https://medium.com/@alsadi/secret-sauce-is-zero-copy-single-context-switching-b749bd614dca
GitHub
starlette/starlette/responses.py at ea70fd57b286824350da88c6d484c32bdf31627a · encode/starlette
The little ASGI framework that shines. 🌟. Contribute to encode/starlette development by creating an account on GitHub.
🔥28👍11
Вышел MyPy 1.0.0, из интересных изменений:
- На 40% быстрее, я очень рад, потому что на более-менее большой кодовой базе он раньше тормозил как не в себя
- Добавили сообщения о undefined variables, использовании переменной до ее объявления. Кажется, тот же flake8 нормально это отлавливает, но все равно выглядит небесполезно
- Добавили поддержку типа Self (есть в 3.11, для более ранних версий надо использовать typing_extensions)
- Реализовали поддержку ParamSpec, но я если честно еще ни разу ParamSpec не использовал в реальном коде, но если интересно, это PEP 612
И еще из интересного, они на конец перешли на semver и теперь будет проще по номерам версий понимать, будут ли подводные камни при обновлении 🙂
Подробнее вот тут https://mypy-lang.blogspot.com/2023/02/mypy-10-released.html
- На 40% быстрее, я очень рад, потому что на более-менее большой кодовой базе он раньше тормозил как не в себя
- Добавили сообщения о undefined variables, использовании переменной до ее объявления. Кажется, тот же flake8 нормально это отлавливает, но все равно выглядит небесполезно
- Добавили поддержку типа Self (есть в 3.11, для более ранних версий надо использовать typing_extensions)
- Реализовали поддержку ParamSpec, но я если честно еще ни разу ParamSpec не использовал в реальном коде, но если интересно, это PEP 612
И еще из интересного, они на конец перешли на semver и теперь будет проще по номерам версий понимать, будут ли подводные камни при обновлении 🙂
Подробнее вот тут https://mypy-lang.blogspot.com/2023/02/mypy-10-released.html
Python Enhancement Proposals (PEPs)
PEP 612 – Parameter Specification Variables | peps.python.org
There currently are two ways to specify the type of a callable, the Callable[[int, str], bool] syntax defined in PEP 484, and callback protocols from PEP 544. Neither of these support forwarding the parameter types of one callable over to another calla...
👍18🔥5
10 февраля в 14:00 МСК на очередном эфире будем обсуждать: Что нового в Python 3.12 с Никитой Соболевым, CTO wemake.services.
Обсудим:
• обновленную реализацию виртуальной машины;
• новые typing PEPs;
• Unstable C-API tier;
• начало большой чистки stdlib;
• C-API Watchers.
В ходе трансляции будем отвечать на вопросы и комментарии в прямом эфире. Присоединяйтесь к нам по ссылке и ставьте колокольчик, чтобы не забыть.
Обсудим:
• обновленную реализацию виртуальной машины;
• новые typing PEPs;
• Unstable C-API tier;
• начало большой чистки stdlib;
• C-API Watchers.
В ходе трансляции будем отвечать на вопросы и комментарии в прямом эфире. Присоединяйтесь к нам по ссылке и ставьте колокольчик, чтобы не забыть.
YouTube
Новинки в Python 3.12 / Опять переписали виртуальную машину / Большая чистка stdlib
В гостях у Moscow Python Podcast Никита Соболев, CTO wemake.services. Обсудили обновления в Python 3.12.
00:00 - интро
1:18 - «в Python уже все есть, но все время хочется что-то сделать»
3:35 - переписали виртуальную машину на DSL
10:20 - Гриша делится…
00:00 - интро
1:18 - «в Python уже все есть, но все время хочется что-то сделать»
3:35 - переписали виртуальную машину на DSL
10:20 - Гриша делится…
🔥16👍10
32 года назад, 20 февраля 1991 года Гвидо запостил в мейллист alt.sources исходники питона 0.9.1 - это считается первым релизом языка:
Если интересно, можно посмотреть ветку сообщений с исходниками тут (да, исходники просто текстом в 21 письме) - https://www.tuhs.org/Usenet/alt.sources/1991-February/001749.html
This is Python, an extensible interpreted programming language that combines remarkable power with very clear syntax.
Если интересно, можно посмотреть ветку сообщений с исходниками тут (да, исходники просто текстом в 21 письме) - https://www.tuhs.org/Usenet/alt.sources/1991-February/001749.html
🔥30👍6
Завтра, 23 февраля в 14:00 будет очередной прямой эфир Moscow Python Podcast. Будем обсуждать Copilot - какая от него польза и вред, лайфхаки по использованию и какие есть аналоги.
В ходе трансляции будем отвечать на вопросы и комментарии в прямом эфире. Присоединяйтесь к нам по ссылке и ставьте колокольчик, чтобы не забыть https://www.youtube.com/live/lKnMBGqguRo?feature=share
В ходе трансляции будем отвечать на вопросы и комментарии в прямом эфире. Присоединяйтесь к нам по ссылке и ставьте колокольчик, чтобы не забыть https://www.youtube.com/live/lKnMBGqguRo?feature=share
YouTube
Copilot для Python-разработчика. Почему AI не изменил разработку?
В гостях у Moscow Python Podcast Арсений Сапелкин, тимлид, KasperskyOS и Никита Соболев, CTO wemake.services. Обсудим лайфхаки по использованию Copilot, почему вся разработка еще не автоматизирована, пользу инструмента для разработчиков и опасности Copilot…
👍10🔥2