Evo Dev Club
642 subscribers
5 photos
1 video
324 links
Посилання, анонси, корисні відео для розробників від dev-команди EVO

Про Evo https://jobs.dou.ua/companies/evo/
Автор @brabadu
Download Telegram
💥В Python 3.10 может появиться паттерн-матчинг

https://www.python.org/dev/peps/pep-0622/

Мотивация: чаще всего builtin isinstance в Python используют в контексте if isinstance(a, A): ... elif isinstance(a, B): .... Решили эту конструкцию упростить и сделать более читабельной. Предлагается синтаксис для матчинга с литералами, константами и деструктуризацией объектов:

 match node:
case Node(children=[LParen(), RParen()]):
return True
case Node(children=[Leaf(value="("), Node(), Leaf(value=")")]):
return True
case _:
return False

Если этот PEP примут, это будет первая фича, которая будет использовать возможности нового парсера python. Среди авторов Гвидо и Иван Левкивский.

#python
🐚 О, новость про Перл, анонсировали 7ю версию.

Perl 7 is going to be Perl 5.32, mostly

И ради чего столько лет мучений?

https://www.perl.com/article/announcing-perl-7/

#perl #perl #perl
🏝 Автор Redis Сальваторе Санфилиппо уходит с поста главного мейнтейнера и контрибутора и передает проект своим коллегам, которые больше всего помогали ему.

http://antirez.com/news/133

Поскольку раньше процесса принятия решений о проекте, кроме мнения самого Сальваторе, не было, перед новыми мейнтейнерами и сообществом Редиса стоит задача придумать модель, как дальше все это развивать. Они об этом пишут тут

Сам Сальваторе планирует больше времени тратить на хобби, например записывать обучающие видосы на ютуб ¯\_(ツ)_/¯

#redis
📦 Вышел отчет-сравнение разных фронтендных сборщиков
https://bundlers.tooling.report/ от авторов web.dev

В обзор попали webpack, rollup, parcel и browserify. Параметров сравнения много: умение в код-сплиттинг, принимаемые форматы модулей, какие форматы модулей умеет продюсить, хеширование, как работает с не js-ресурсами.

В общем зачете побеждает rollup, но отрыв небольшой. Все инструменты делают все примерно одинаково. Вряд ли вы из этого отчета будете принимать решение о переходе на другой сборщик. Но посмотреть на подход к анализу все равно любопытно.

#javascript
🔷 WalmartLabs (тех.отдел крупнейшего американского ритейлера) начинают серию статей о своем пути в микросервисы.

Уже есть первая статья про построение DDD-микросервисов. Еще обещают написать про построение команд, их подходам к гибким сервисам, высоконагруженным сервисам, CI/CD и тестированию.

#microservices
📚Огромный список литературы по ML от DeepMind

https://storage.googleapis.com/deepmind-media/research/New_AtHomeWithAI%20resources.pdf

На любой вкус: курсы, видео-лекции, whitepapers; для новичков и продвинутых; ML, Reinforcement Learning, этика AI, безопасность, робототехника.

#ml
🌉 Кажется, такие статьи пишут специально, чтобы их потом по полтора часа обсуждали в техно-подкастах. Очень флеймообразующий наброс: софт должен быть построен на века, поэтому не используйте библиотеки. Вот строители мостов не используют же библиотеки!

Автор даже аргументировать пытается и часть даже логична. Но вот это вот "там мосты, а у нас костыли"? В медицине, транспорте, других критичных местах действительно сильно меньше внешних зависимостей. Хорошо, что большинство разработчиков заняты вопросами попроще. Зачем себя мучать?

https://adlrocha.substack.com/p/adlrocha-software-should-be-designed

#programming
🦄 Хотите небольшой привкус golang или даже deno в Python? Держите githubimport.

Добавляет хук к импорту, который позволяет прямо из интерпретатора импортировать код с гитхаба

>>> import githubimport
>>> from MineRobber9000.test_modules import blah
>>> blah.foo()
"bar"

https://gist.github.com/MineRobber9000/998fe8c5a183fa2649f937c9d2e0b8b0

Упоминают еще модуль httpimport, который умеет это же, но без каноничного синтаксиса импортов, зато с поддержкой Gitlab/BitBucket

#python
🎪 Куча забавных, а иногда и опасных, нюансов SQLite. Тут и приведение типа по-тихому, да и сами типы могут называться как угодно, и баг, который очевидно баг, но на него уже столько завязано, что исправлять уже поздно.

Не зря автор называет SQLIte джаваскриптом от баз данных

https://threadreaderapp.com/thread/1279522137754255360.html

#databases
🔠 Релиз GPT-3 от OpenAI вызвал бурю восторгов. В Твиттере постили скринкасты реакт-приложений, которые генерились с помощью GPT-3 по текстовому описанию вроде "покажи приложение с двумя кнопками: добавить 3 доллара, убрать 5 долларов и покажи мой счет". И оно работает!

Но, разумеется, не все так просто. Тут хороший вдумчивый анализ потенциальных возможностей и рисков использования GPT-3. Реакт-разработчики могут выдыхать, они пока еще нужны.

https://minimaxir.com/2020/07/gpt3-expectations/
🏝 JetBrains признали что текущая реализация автоматического управления памятью в Kotlin/Native не идеальна и взялись за разработку новой. Обещают решить проблему с object sharing между потоками и связанными с этим утечками. При этом мехенизм "заморозки" объектов останется “as a safety mechanism for race-free data sharing”

https://blog.jetbrains.com/kotlin/2020/07/kotlin-native-memory-management-roadmap/

#kotlin
Forwarded from Вебня (Sergey Rubanov)
В блоге WebKit появилась огроменная и наикрутейшая статья о спекулятивных оптимизациях вообще и о таковых в движке JavaScriptCore. Если Вам интересны компиляторы, внутреннее устройство JavaScript движков, то Вы обязаны осилить это прекраснейшее чтиво, но учтите, это будет непросто!

https://webkit.org/blog/10308/speculation-in-javascriptcore/
⚱️ За август Quay.io пару раз заметно полежала.

Разработчики написали постмортем, в котором описали как выявлять проблему, про приоритеты при падении сервиса и про (спойлер) "некритичный функционал, который мало кто использует".

https://www.openshift.com/blog/about-the-quay.io-outage-post-mortem (перевод)

#postmortem
🎰 Через 10 минут на нашем ютуб канале будет доклад про Kotlin Multiplatform в одном из наших мобильных приложений

https://youtu.be/qn-OgYbRJFk

#kotlin #video
👨‍💻 Что-то затянулась пауза на нашем канале. Давайте возвращаться в строй.

JetBrains выкатили роадмап развития котлина. Собраны главные направления, по которым работает команда создателей.

Из интересного:
- Поддержка свежих JVM записей (records) и sealed classes
- Бутстрап компилятора
- Развитие Kotlin Mulitplatform Mobile

https://kotlinlang.org/roadmap.html

#kotlin
💎 Неожиданно глубокая статься про жизнь с монолитом от Shopify. Огромное количество мыслей о развитии легаси кодовых баз, внедрении системных изменений, о подходах, тулзах.

А это, наверное, мой главный вывод в разработке за 10 лет:
In my experience, all large architecture changes end up in an incomplete state. Maybe that’s a pessimistic view, but my experience tells me that the temporary incomplete state will at least last longer than you expect. So choose an approach based on which intermediary state is most useful for your specific situation.

Другими словами у самурая нет цели, только путь

Крайне рекомендую почитать
https://engineering.shopify.com/blogs/engineering/shopify-monolith

#architechture
​​🐍 Пару дней назад вышел релиз Python 3.9. Уже даже инфографика с нововведениями есть

https://docs.python.org/release/3.9.0/whatsnew/3.9.html

UPD: Все, кто нашли ошибку на картинке получают ачивку "Орлиный глаз 🦅". Вариант без ошибки можно найти в наших комментариях. Спасибо дорогим читателям!

#python
Все наши сервисы мы разрабатываем с использованием фичер-флагов. Это сильно развязывает руки. Как минимум релиз нововведений в продукт меньше зависит от деплоя, а дальше и тестирование на части пользователей, возможность все по-быстрому свернуть и т.д.

Оказывается, есть целый сайт, посвященный теме фичер-флагов. Не слишком свежий, но от этого не менее полезный

https://featureflags.io/

#architecture
Короткий обзор нововведений в PHP8. Я очень далек от этой экосистемы, вообще пропустил, что там несется с типами. А несется, похоже, стремительно.

https://stitcher.io/blog/php-8-before-and-after

Новые event subscribers которые, очень похожие на питоньи декораторы, но с синтаксисом, который больше похож на ObjectiveC. Синтаксический сахар в дефинициях классов и энамов. Делают новый синтаксис для union нескольких типов, как в TypeScript. И nullsafe оператор, вроде того, что недавно в JS появился, а у рубистов с первых дней.

#php #изучаемпхппоченджлогам