Кстати, по поводу Code With Me. Это абсолютно бесплатная (пока что, пока оно еще находится в разработке и, вероятно, содержит какие-то баги) функциональность, так что предлагаю не упускать возможности и попробовать. Ну вы только посмотрите, там даже есть аудио и видеозвонки!
* Страница сервиса: https://www.jetbrains.com/ru-ru/code-with-me/
* Пост с релизом: https://blog.jetbrains.com/blog/2020/10/23/code-with-me-jetbrains-ides-v2020-3/
P.S. Для вскодеров похожая функциональность доступна (тоже бесплатно) через плагин Live Share: https://code.visualstudio.com/blogs/2017/11/15/live-share
#jetbrains
* Страница сервиса: https://www.jetbrains.com/ru-ru/code-with-me/
* Пост с релизом: https://blog.jetbrains.com/blog/2020/10/23/code-with-me-jetbrains-ides-v2020-3/
P.S. Для вскодеров похожая функциональность доступна (тоже бесплатно) через плагин Live Share: https://code.visualstudio.com/blogs/2017/11/15/live-share
#jetbrains
JetBrains
Code With Me — сервис JetBrains для совместной разработки
Начните работать над кодом вместе прямо сейчас. Code With Me позволит вашей команде вместе работать над кодом в режиме реального времени — легко, эффективно и безопасно.
Ну и чтобы этот канал не превратился окончательно в паблик о JetBrains, предлагаю почитать отличный пост про первичную настройку разного тулинга, который поможет вам писать качественный код (или, по крайней мере, не даст писать совсем уж плохой код), перед началом нового проекта на Python в условиях 2021 года. Статья очень похожа по духу на то, о чём я люблю писать, так что рекомендую.
https://mitelman.engineering/blog/python-best-practice/automating-python-best-practices-for-a-new-project/
Автор — мой коллега и хороший друг, который внезапно тоже завёл блог. Привет, Саша!
https://mitelman.engineering/blog/python-best-practice/automating-python-best-practices-for-a-new-project/
Автор — мой коллега и хороший друг, который внезапно тоже завёл блог. Привет, Саша!
mitelman.engineering
Python Best Practices for a New Project in 2021
Intro The goal of this tutorial is to describe Python development ecosystem. It can be helpful for someone coming to Python from another programming language.
They say that you should stick to algorithms and data structures, that you can learn a new language…
They say that you should stick to algorithms and data structures, that you can learn a new language…
Сканер утёкших кредов GitHub интегрировался с PyPI (Python Package Index), и теперь если случайно выложить свой токен от PyPI в открытый репо на GitHub, он будет автоматически отозван в течении пары секунд, чтобы защитить вашу библиотечку от угона. Удобно!
https://github.blog/changelog/2021-03-22-the-python-package-index-is-now-a-github-secret-scanning-integrator/
https://github.blog/changelog/2021-03-22-the-python-package-index-is-now-a-github-secret-scanning-integrator/
The GitHub Blog
The Python Package Index is now a GitHub secret scanning integrator | GitHub Changelog
Кстати, в тему текстовых редакторов.
Хоть я и являюсь преданным пользователем IDE JetBrains, становится уже тяжеловато отрицать, что VS Code, собака, весьма хорош. Он постоянно добавляет фичи, захватывает новые экосистемы, притягивает всё больше разработчиков. Это уже давно не просто ещё один блокнот. Microsoft действительно очень постарались, чтобы сделать этот редактор таким классным. Недавно они запилили новый Language Server для Python под названием Pylance (оно уже доступно по умолчанию через плагин для Python), который, по словам очевидцев, на голову превосходит предыдущую штуку, обеспечивающую поддержку языка в редакторе.
Есть мнение, что мы вошли в "эру VS Code", и этот редактор отправит в забытье всех своих прямых конкурентов (Sublime, Atom, Brackets, Notepad++😳 и так далее), а также отожмёт серьёзную долю рынка у IDE.
Может таки снова попробовать полностью пересесть на VS Code?
https://blog.robenkleene.com/2020/09/21/the-era-of-visual-studio-code
Хоть я и являюсь преданным пользователем IDE JetBrains, становится уже тяжеловато отрицать, что VS Code, собака, весьма хорош. Он постоянно добавляет фичи, захватывает новые экосистемы, притягивает всё больше разработчиков. Это уже давно не просто ещё один блокнот. Microsoft действительно очень постарались, чтобы сделать этот редактор таким классным. Недавно они запилили новый Language Server для Python под названием Pylance (оно уже доступно по умолчанию через плагин для Python), который, по словам очевидцев, на голову превосходит предыдущую штуку, обеспечивающую поддержку языка в редакторе.
Есть мнение, что мы вошли в "эру VS Code", и этот редактор отправит в забытье всех своих прямых конкурентов (Sublime, Atom, Brackets, Notepad++😳 и так далее), а также отожмёт серьёзную долю рынка у IDE.
Может таки снова попробовать полностью пересесть на VS Code?
https://blog.robenkleene.com/2020/09/21/the-era-of-visual-studio-code
Roben Kleene
The Era of Visual Studio Code
Roben Kleene’s blog
До меня дошли новости, что недавно релизнулась ветка SQLAlchemy 1.4 с огромным количеством изменений. SQLAlchemy — это наиболее популярная ORM, не привязанная к какому-либо веб-фреймворку.
https://www.sqlalchemy.org/blog/2021/03/15/sqlalchemy-1.4.0-released/
Субъективно, из наиболее интересного хочется отметить поддержку асинхронного режима. Да, теперь можно await'ить запросы, написанные в как в Core-стиле (это когда запрос составляется по кусочкам из вызовов разных методов), так и в стиле ORM (это когда таблицы и отношения между ними описываются прям классами), и оно не будет блокировать цикл событий! Для работы асинхронщины нужно иметь специальный драйвер БД, например, для PostgreSQL вместо
Разговоры про асинхронные ORM ходили уже давно, но после того, как я почитал объяснения Майка Бэйера (автор SQLAlchemy), почему асинхронные ORM — это слишком сложно и игра не стоит свеч, я подумал, что алхимия никогда не станет асинхронной. Задача и правда выглядит нетривиально. А оно как вдруг возьми и стань ☺️
https://www.sqlalchemy.org/blog/2021/03/15/sqlalchemy-1.4.0-released/
Субъективно, из наиболее интересного хочется отметить поддержку асинхронного режима. Да, теперь можно await'ить запросы, написанные в как в Core-стиле (это когда запрос составляется по кусочкам из вызовов разных методов), так и в стиле ORM (это когда таблицы и отношения между ними описываются прям классами), и оно не будет блокировать цикл событий! Для работы асинхронщины нужно иметь специальный драйвер БД, например, для PostgreSQL вместо
psycopg2
придётся использовать asyncpg
.Разговоры про асинхронные ORM ходили уже давно, но после того, как я почитал объяснения Майка Бэйера (автор SQLAlchemy), почему асинхронные ORM — это слишком сложно и игра не стоит свеч, я подумал, что алхимия никогда не станет асинхронной. Задача и правда выглядит нетривиально. А оно как вдруг возьми и стань ☺️
Stack Overflow
How to make SQLAlchemy in Tornado to be async?
How to make SQLAlchemy in Tornado to be async ?
I found example for MongoDB on async mongo example but I couldn't find anything like motor for SQLAlchemy. Does anyone know how to make SQLAlchemy qu...
I found example for MongoDB on async mongo example but I couldn't find anything like motor for SQLAlchemy. Does anyone know how to make SQLAlchemy qu...
Еще одна интересная вещь из релиза SQLAlchemy 1.4 — теперь поддерживаются тайп-аннотации. Из-за специфики библиотеки (много чего появляется лишь в рантайме и статически это описать невозможно) ребятам пришлось запилить собственный плагин для
https://docs.sqlalchemy.org/en/14/orm/extensions/mypy.html
mypy
. Надеюсь, благодаря этому улучшится понимание кода редакторами/IDE, и они будут выдавать более адекватные подсказки, а ошибки будут ловиться проще. Прям всё как я люблю. Возрадуйтесь, алхимики!https://docs.sqlalchemy.org/en/14/orm/extensions/mypy.html
Надеюсь то, что такие гиганты, вроде Django и SQLAlchemy, движутся в сторону асинхронности, как-то улучшит ситуацию с поддержкой асинхронных библиотек. На данный момент всё довольно печально. Например,
Прям проблема курицы и яйца в чистом виде: люди не могут начать писать асинхронный код, потому что мало хороших библиотек, а библиотек нету, потому что мало людей пишут асинхронный код. Есть надежда, что когда-то лёд таки тронется.
aiomysql
и aiopg
уже пару лет почти не обновляются, а ведь это вроде бы самые популярные драйверы для двух наиболее популярных СУБД. Для постгреса есть еще asyncpg — он офигенен, но, к сожалению, он заимплеменчен совсем с нуля и поэтому не полностью совместим с libpq
(низкоуровневая библиотека для работы с постгресом, вокруг которой написано подавляющее большинство клиентов и драйверов для этой СУБД для разных ЯП), а значит вы можете не найти в нём какую-нибудь важную фичу, которую поддерживают все остальные клиенты для постгреса.Прям проблема курицы и яйца в чистом виде: люди не могут начать писать асинхронный код, потому что мало хороших библиотек, а библиотек нету, потому что мало людей пишут асинхронный код. Есть надежда, что когда-то лёд таки тронется.
GitHub
GitHub - MagicStack/asyncpg: A fast PostgreSQL Database Client Library for Python/asyncio.
A fast PostgreSQL Database Client Library for Python/asyncio. - MagicStack/asyncpg
Forwarded from Evil Martians
Рубрика «удивительное рядом». Параллельная реальность эмоджи-почты (эмо-мейл? 😅) и эмоджи-доменов за казахстанские тенге: http://amp.gs/c4Ps
tinyprojects.dev
Mailoji: I bought 300 emoji domain names from Kazakhstan and built an email service | Tiny Projects
I bought 300 emoji domain names from Kazakhstan and built an emoji email address service. In the process I went viral on Tik Tok, made $1000 in a week, hired a Japanese voice actor, and learnt about the weird world of emoji domains.
В Go 1.17 введут GIL (глобальный лок интерпретатора), а со временем и тайп-аннотации, чтобы хоть как-то залатать недостатки языка и сравняться с питоном. Давно пора, молодцы!
https://groups.google.com/d/topic/golang-nuts/NfwCP9NxM-8
С прошедшим первым апреля!
https://groups.google.com/d/topic/golang-nuts/NfwCP9NxM-8
С прошедшим первым апреля!
Google
Google Groups
Google Groups allows you to create and participate in online forums and email-based groups with a rich experience for community conversations.
Проклятие умных людей
Интересное мнение про самоуверенность, синдром самозванца и взгляд на мир изнутри большой корпорации.
https://apenwarr.ca/log/20140701
Интересное мнение про самоуверенность, синдром самозванца и взгляд на мир изнутри большой корпорации.
https://apenwarr.ca/log/20140701
apenwarr.ca
The Curse of Smart People
A bit over 3 years ago, after working for many years at a series of startups
(most of which I co-founded), I disappeared through a Certain V...
(most of which I co-founded), I disappeared through a Certain V...
Подписчики постоянно говорят мне (один человек сказал год назад), что надо поставить каналу аватарку. И вот, наконец, я не выдержал этого давления... Представляю вашему вниманию эмодзи с текстом по кругу!
Говорят, Python теперь работает и на Марсе, и стал одной из первых межпланетных опенсорс технологий: https://twitter.com/thepsf/status/1362516507918483458 🚀 🛸
В таком контексте первоапрельские шутки про изменения в модуль
В таком контексте первоапрельские шутки про изменения в модуль
datetime
для работы на других планетах звучат очень правдоподобно (я только в конце статьи понял, что это прекол): https://kosgd.medium.com/datetime-changes-in-python-4-0-474045337b99Twitter
Python Software Foundation
Congratulations to @NASAJPL on the successful landing of the Perserverance Mars Rover. We're excited to see that Python could play a part in the flight software for the first ever Mars drone. nasa.github.io/fprime/ Godspeed @NASAPersevere. twitter.com/NASAPersevere/…
Forwarded from Некстджен и Усиление+
На случай, если вам когда-нибудь понадобится определение слова "наглость", данное в чуть более современном контексте, чем предлагает оказавшийся под рукой словарь:
Вот свежеобнаруженный в дикой среде написанный на Python бэкдор для Windows, установщик которого сам скачивает интерпретатор Python.
https://isc.sans.edu/forums/diary/No+Python+Interpreter+This+Simple+RAT+Installs+Its+Own+Copy/27292/
Вот свежеобнаруженный в дикой среде написанный на Python бэкдор для Windows, установщик которого сам скачивает интерпретатор Python.
https://isc.sans.edu/forums/diary/No+Python+Interpreter+This+Simple+RAT+Installs+Its+Own+Copy/27292/
Много нынче стало в интернете онлайн-курсов на различные темы — хороших и интересных. Настолько много, что при желании можно освоить практически что угодно за просто так, но с другой стороны часто ощущаешь себя полностью дизориентированным в этом океане информации.
Чтобы усугубить вашу дизориентацию в этом океане информации, делюсь ссылкой на еще одну малоизвестную платформу онлайн-образования, на которой, тем не менее, есть несколько годных курсов: https://ulearn.me/
Лично я еще давно смотрел вот этот курс про компьютерную безопасность: https://ulearn.me/Course/Hackerdom
Он содержит хорошие объяснения многих базовых вещей, так что полезен будет не только тем, кто хочет погрузиться в компьютерную безопасность, но и просто тем, кто хочет расширить свой кругозор и укрепить понимание основ. Рекомендую!
Из интересного на платформе есть еще вот такое, но я сам пока не смотрел:
* Оценка сложности алгоритмов: https://ulearn.me/Course/complexity
* Введение в математику: https://ulearn.me/Course/math
* Компьютерные сети: https://ulearn.me/Course/Networks
* Тестирование ПО: https://ulearn.me/Course/Testing
Можете в отместку порекомендовать мне тоже какой-нибудь курс или образовательную платформу в комментариях 😊
Чтобы усугубить вашу дизориентацию в этом океане информации, делюсь ссылкой на еще одну малоизвестную платформу онлайн-образования, на которой, тем не менее, есть несколько годных курсов: https://ulearn.me/
Лично я еще давно смотрел вот этот курс про компьютерную безопасность: https://ulearn.me/Course/Hackerdom
Он содержит хорошие объяснения многих базовых вещей, так что полезен будет не только тем, кто хочет погрузиться в компьютерную безопасность, но и просто тем, кто хочет расширить свой кругозор и укрепить понимание основ. Рекомендую!
Из интересного на платформе есть еще вот такое, но я сам пока не смотрел:
* Оценка сложности алгоритмов: https://ulearn.me/Course/complexity
* Введение в математику: https://ulearn.me/Course/math
* Компьютерные сети: https://ulearn.me/Course/Networks
* Тестирование ПО: https://ulearn.me/Course/Testing
Можете в отместку порекомендовать мне тоже какой-нибудь курс или образовательную платформу в комментариях 😊
Вы же знали, что у Python в стандартной библиотеке есть черепашья графика? Это вот когда программируешь черепашку, а она затем рисует какой-нибудь узор. Удобно, что даже ничего дополнительно устанавливать не надо.
Странно, что находятся люди, которым это не нравится: https://glyph.twistedmatrix.com/2019/06/kernel-python.html
Шучу, конечно. На самом деле у Python и правда слишком жирная стандартная библиотека. Ладно, исполнитель «черепашка» я ещё могу понять зачем (чтобы влиять на неокрепшие умы детей, тем самым заманивая их в ряды программистов), но там есть куда более странные и дремучие вещи. И, к сожалению, множество модулей там пылятся без дела, потому что почти у всего есть внешняя более удобная и популярная альтернатива, которой все и пользуются. А код всё равно нужно поддерживать. Статью почитайте, там по делу всё написано.
Странно, что находятся люди, которым это не нравится: https://glyph.twistedmatrix.com/2019/06/kernel-python.html
Шучу, конечно. На самом деле у Python и правда слишком жирная стандартная библиотека. Ладно, исполнитель «черепашка» я ещё могу понять зачем (чтобы влиять на неокрепшие умы детей, тем самым заманивая их в ряды программистов), но там есть куда более странные и дремучие вещи. И, к сожалению, множество модулей там пылятся без дела, потому что почти у всего есть внешняя более удобная и популярная альтернатива, которой все и пользуются. А код всё равно нужно поддерживать. Статью почитайте, там по делу всё написано.
Twistedmatrix
Toward a “Kernel Python”
The life changing magic of a minimal standard library.
Как думаете, долетела ли на Марс вместе с Персеверанс черепашья графика?
Anonymous Poll
26%
Надеюсь, что нет
33%
Наверняка, да
41%
Конечно, он ведь на ней и работает
В конце года релизнется Python 3.10, а там «отложенные тайп-аннотации» (это когда все тайп-аннотации по сути становятся просто строками, так что можно использовать ещё не определенные типы в аннотациях) станут поведением по умолчанию, и от этого никак нельзя отказаться. Из-за этого грозятся сломаться такие приятные библиотеки как pydantic и FastAPI, и, вероятно, многие другие, использующие тайп-аннотации в рантайме каким-либо образом 😢
https://github.com/samuelcolvin/pydantic/issues/2678
#fastapi
https://github.com/samuelcolvin/pydantic/issues/2678
#fastapi
GitHub
PEP 563, PEP 649 and pydantic · Issue #2678 · pydantic/pydantic
Update 2: see #2678 (comment), for a summary of how PEP 563 could effect pydantic. Update: see below this has been resolved by a changes in python 3.10 from the python steering council. Thanks ever...
В тот тред из сообщения выше уже пришли Core Contributor’ы и представители Steering Council. Прям одно удовольствие читать этих умных и вежливых людей! Похоже, вопросик уже на контроле, так что сохраняем спокойствие и не паникуем 😌
Можно закинуть ребятам доллар, чтобы им лучше работалось на благо всех нас: https://www.python.org/psf/donations/
#fastapi
Можно закинуть ребятам доллар, чтобы им лучше работалось на благо всех нас: https://www.python.org/psf/donations/
#fastapi
Python.org
Support the PSF with a Donation or by becoming a Supporting Member!
The official home of the Python Programming Language