Forwarded from Defront — про фронтенд-разработку и не только
Корри Хаус — известный спикер в React-сообществе — поделился своим пятилетним опытом работы с React — "Lessons learned from 5 years in React".
Документ содержит 63 пункта про работу с компонентами, JSX, про управление состоянием приложения, производительность, переиспользование компонентов и их тестирование. Есть пара пунктов, которые хочется выделить. Не используйте во всех компонентах без исключения
Есть в списке пара пунктов, которые у меня вызвали вопросы. Например, полный отказ от тестирования снепшотами. Вместо них Корри предлагает использовать Percy или Chromatic. Это очень жёсткая позиция. Проблема со снепшотами возникает только тогда, когда их очень много. Если для компонента создаётся один снепшот, то этого вполне достаточно для отлавливания непреднамеренного изменения кода.
Как бы то ни было, если вы работаете с React, очень рекомендую посмотреть документ.
#react #list #experience
https://www.dropbox.com/s/tsid5bnphznbvjv/
Документ содержит 63 пункта про работу с компонентами, JSX, про управление состоянием приложения, производительность, переиспользование компонентов и их тестирование. Есть пара пунктов, которые хочется выделить. Не используйте во всех компонентах без исключения
useMemo, shouldComponentUpdate, PureComponent. Используйте их только там, где они нужны. Если бы их использование не несло дополнительные накладные расходы, они были бы включены по умолчанию. Если есть в этом смысл, используйте в своих компонентах имена, которые используются в Web-платформе (`onBlur`, onChange и т.п.). Используйте as как пропс для модификации типа верхнеуровневого элемента.Есть в списке пара пунктов, которые у меня вызвали вопросы. Например, полный отказ от тестирования снепшотами. Вместо них Корри предлагает использовать Percy или Chromatic. Это очень жёсткая позиция. Проблема со снепшотами возникает только тогда, когда их очень много. Если для компонента создаётся один снепшот, то этого вполне достаточно для отлавливания непреднамеренного изменения кода.
Как бы то ни было, если вы работаете с React, очень рекомендую посмотреть документ.
#react #list #experience
https://www.dropbox.com/s/tsid5bnphznbvjv/
Dropbox
Lessons learned from 5 years in React.docx
Shared with Dropbox
🦾 Микросервисы уже не модно, теперь будут нанопроцесы. На самом деле это возможно ещё раз радикально поменяет подходы к разработке после докера, но в этот раз с улучшением security
https://bytecodealliance.org/articles/announcing-the-bytecode-alliance
#microservices #web
https://bytecodealliance.org/articles/announcing-the-bytecode-alliance
#microservices #web
Bytecode Alliance
Announcing the Bytecode Alliance: Building a secure by default, composable future for WebAssembly
Today we announce the formation of the Bytecode Alliance, a new industry partnership coming together to forge WebAssembly’s outside-the-browser future by collaborating on implementing standards and proposing new ones. Our founding member...
🚲 Shopify расказывает о новой версии своей внутреней CI-системы.
Все PR мерджатся в мастер не напрямую, а через Merge Queue. С ее помощью ограничивают количество мерджей, которые попадают в каждый деплой. Через нее же останавливают мердж новых веток при инцидентах, чтобы иметь возможность что-то быстро влить вне очереди.
Она умеет проверить апрув код-ревьюера и статус тестов в этой ветке, и несколько раз перезапустить их, чтобы исключить flaky-тесты. Если ветка все-таки не зеленая, она исключается из очереди в мердж в мастер.
Резюме: сложно жить в этих ваших монорепах
https://engineering.shopify.com/blogs/engineering/successfully-merging-work-1000-developers
#infrastructure
Все PR мерджатся в мастер не напрямую, а через Merge Queue. С ее помощью ограничивают количество мерджей, которые попадают в каждый деплой. Через нее же останавливают мердж новых веток при инцидентах, чтобы иметь возможность что-то быстро влить вне очереди.
Она умеет проверить апрув код-ревьюера и статус тестов в этой ветке, и несколько раз перезапустить их, чтобы исключить flaky-тесты. Если ветка все-таки не зеленая, она исключается из очереди в мердж в мастер.
Резюме: сложно жить в этих ваших монорепах
https://engineering.shopify.com/blogs/engineering/successfully-merging-work-1000-developers
#infrastructure
Shopify
Successfully Merging the Work of 1000+ Developers
Collaboration with a large team is challenging, and even more so if it’s on a single codebase, like the Shopify monolith. Shopify changes 40 times a day. We follow a trunk-based development workflow and merge around 400 commits to master daily. There are…
🐭 Проект Pika из инди-бандлера превратился в реестр/CDN/онлайн-редактор ESM-модулей на JavaScript.
Это означает, что там современный JS, с понятными экспортами-импортами. И это можно будет импортить прямо из CDN, без npm install и всех подобных страданий. Обещают, что это будет работать на всех платформах сразу - и под нодой, и в браузерах, и в deno (typescript-based среда выполнения джаваскрипта от первоначального автора ноды)
Чо такое ESM-модули можно почитать тут: https://medium.com/webpack/the-state-of-javascript-modules-4636d1774358
Тред с деталями о Pika: https://twitter.com/pikapkg/status/1196825435671158787?s=19
Выглядит очень интересно, хотя от webpack+babel, боюсь, нам еще долго не уйти.
#javascript
Это означает, что там современный JS, с понятными экспортами-импортами. И это можно будет импортить прямо из CDN, без npm install и всех подобных страданий. Обещают, что это будет работать на всех платформах сразу - и под нодой, и в браузерах, и в deno (typescript-based среда выполнения джаваскрипта от первоначального автора ноды)
Чо такое ESM-модули можно почитать тут: https://medium.com/webpack/the-state-of-javascript-modules-4636d1774358
Тред с деталями о Pika: https://twitter.com/pikapkg/status/1196825435671158787?s=19
Выглядит очень интересно, хотя от webpack+babel, боюсь, нам еще долго не уйти.
#javascript
Twitter
Pika 📦
Introducing the new https://t.co/C0Dk81MZfq. 📦 It's a new JavaScript registry for the modern web. 💽 It's a new code editor for package authors. 🚀 It's our first step towards an exciting future. Sign up for early access at https://t.co/JdyiqTzWnm
🎸 Паша Филатов, один из наших разработчиков Shafa, написал короткий обзор как будет выглядеть асинхронность в Django 3.0
https://medium.com/@chimamireme/asynchronous-django-35fb2772a0c4?source=friends_link&sk=43bb097f4a63e3270bf0782e195c19d7
#python
https://medium.com/@chimamireme/asynchronous-django-35fb2772a0c4?source=friends_link&sk=43bb097f4a63e3270bf0782e195c19d7
#python
Medium
Asynchronous Django
Yeah, I know, it’s a bit early. But you can already use django with async/await. Pretty cool, right? Want to try it yourself? Download…
Forwarded from I hate overtime
#soa
История в 3х частях о том как работает airbnb
+ часть 1. Про взаимодействие сервисов
+ часть 2. Про тулинг
+ часть 3. Про перфоманс, ресайленси и т.д.
Стоит почитать, т.к. достаточно много интересного и необычного: тут и success story миграции с RoR на Java, и Thrift вместо gRPC, и Dropwizard и еще много всего
История в 3х частях о том как работает airbnb
+ часть 1. Про взаимодействие сервисов
+ часть 2. Про тулинг
+ часть 3. Про перфоманс, ресайленси и т.д.
Стоит почитать, т.к. достаточно много интересного и необычного: тут и success story миграции с RoR на Java, и Thrift вместо gRPC, и Dropwizard и еще много всего
Medium
Building Services at Airbnb, Part 1
The first in a series on scaling service development, this article looks at the core structure, the Service IDL, underpinning the new…
🚶♂️ Наши лучшие специалисты по Go советуют с чего начинать изучать язык:
- https://tour.golang.org - go tour
- https://golang.org/pkg/ — документация по стандартной библиотеке.
- https://blog.golang.org — прям почти каждую статью нужно читать. От авторов go про разные паттерны как правильно использовать.
- https://gobyexample.com — гугл часто рекомендует на вопрос “как сделать что-то”
- Недавно сделали сайт http://go.dev, где собраны ресурсы по изучению, пока сложно оценить насколько полезный
-https://dave.cheney.net — чувак пишет в том числе про go, типа как в официальном блоге, но у него уже не каждую статью изучать надо.
- https://golang.org/ref/spec — спецификация языка, на первых этапах часто была полезна
#golang
- https://tour.golang.org - go tour
- https://golang.org/pkg/ — документация по стандартной библиотеке.
- https://blog.golang.org — прям почти каждую статью нужно читать. От авторов go про разные паттерны как правильно использовать.
- https://gobyexample.com — гугл часто рекомендует на вопрос “как сделать что-то”
- Недавно сделали сайт http://go.dev, где собраны ресурсы по изучению, пока сложно оценить насколько полезный
-https://dave.cheney.net — чувак пишет в том числе про go, типа как в официальном блоге, но у него уже не каждую статью изучать надо.
- https://golang.org/ref/spec — спецификация языка, на первых этапах часто была полезна
#golang
Forwarded from Технологический Болт Генона
В июле проходила конференция по распределённым системам - Hydra
Доступны записи
https://www.youtube.com/playlist?list=PLC5OGTO4dWxafx2FWhL7XWzeCaHRiVanR
Список докладов
https://hydraconf.com/schedule/
Доступны записи
https://www.youtube.com/playlist?list=PLC5OGTO4dWxafx2FWhL7XWzeCaHRiVanR
Список докладов
https://hydraconf.com/schedule/
YouTube
Hydra 2019: лучшее
Share your videos with friends, family, and the world
🐍 Послезавтра, 14 декабря, состоится онлайн конференция Python fwdays'19.
Про пайтон в вебе, апишечке, тестировании и дата-инжиниринге.
Среди спикеров наш лучший специалист Александр Тарасенко будет расказывать куда нужно срочно тащить GraphQL, а куда не стоит.
https://fwdays.com/event/python-fwdays-online-conference
#event
Про пайтон в вебе, апишечке, тестировании и дата-инжиниринге.
Среди спикеров наш лучший специалист Александр Тарасенко будет расказывать куда нужно срочно тащить GraphQL, а куда не стоит.
https://fwdays.com/event/python-fwdays-online-conference
#event
Fwdays
Python fwdays'19 онлайн-конференція
Найбільші IT конференції в Україні: Software Architecture, Highload, DevOps, Management (leads, C-level), JavaScript, Frontend, React, Data Science та AI, PHP, Python та ін.
Forwarded from DevOps&SRE Library
https://dbdb.io
Отличный сайт с кратким описание особенностей почти всех существующих баз данных.
Несколько примеров:
etcd: https://dbdb.io/db/etcd
postgresql: https://dbdb.io/db/postgresql
mysql: https://dbdb.io/db/mysql
redis: https://dbdb.io/db/redis
memcached: https://dbdb.io/db/memcached
mongodb: https://dbdb.io/db/mongodb
cassandra: https://dbdb.io/db/cassandra
Отличный сайт с кратким описание особенностей почти всех существующих баз данных.
Несколько примеров:
etcd: https://dbdb.io/db/etcd
postgresql: https://dbdb.io/db/postgresql
mysql: https://dbdb.io/db/mysql
redis: https://dbdb.io/db/redis
memcached: https://dbdb.io/db/memcached
mongodb: https://dbdb.io/db/mongodb
cassandra: https://dbdb.io/db/cassandra
🧙♀️Закончились праздники, возвращаемся к нормальному ритму!
Наш лучший специалист Александр Коваль уже достаточно давно делает python DSL для Elasticsearch
https://github.com/anti-social/elasticmagic
Документация https://elasticmagic.readthedocs.io/en/latest/
По-сути это query builder для эластика, с АПИшечкой вдохновленной SQLAlchemy. В ридми написано very alpha, но мы этим пользуемся уже несколько лет и дико довольны.
А недавно наш лучший специалист Макс Киндрицкий сделал порт этой библиотеки на TypeScript. Теперь и на ноде можно работать с эластиком без слез на глазах
https://github.com/kindritskyiMax/elasticmagic-js
#python #javascript #elasticsearch #project
Наш лучший специалист Александр Коваль уже достаточно давно делает python DSL для Elasticsearch
elasticmagic.https://github.com/anti-social/elasticmagic
Документация https://elasticmagic.readthedocs.io/en/latest/
По-сути это query builder для эластика, с АПИшечкой вдохновленной SQLAlchemy. В ридми написано very alpha, но мы этим пользуемся уже несколько лет и дико довольны.
А недавно наш лучший специалист Макс Киндрицкий сделал порт этой библиотеки на TypeScript. Теперь и на ноде можно работать с эластиком без слез на глазах
https://github.com/kindritskyiMax/elasticmagic-js
#python #javascript #elasticsearch #project
GitHub
GitHub - anti-social/elasticmagic: Python DSL for Elasticsearch
Python DSL for Elasticsearch. Contribute to anti-social/elasticmagic development by creating an account on GitHub.
🐍 Конец официальной поддержки Python 2 породил очередную волну статей о переезде на третью версию.
Core-разработчик Mercurial, Gregory Szorc описал их историю миграции в двух частях. В первой хронология портирования, во второй - личное мнение автора о процессе миграции и самом Python 3.
Из интересного, первое упоминание Py3 в репозитории самого меркуриала появилось аж в 2008, затем небольшие изменения в C-extensions в 2010 году. Более-менее систематичная работа над портированием началась аж в 2015 году. А закончилась только в конце 2019! Разработчикам пришлось реализовать свой аналог six, т.е. слой абстракции, который скрывает разницу между 2й и 3й версиями. А также хак с импортом модулей, который на лету подменял все неаннотированные явно строки на byte, вместо ставшим стандартным в 3м питоне unicode.
Из личного мнения уже не удивляет фраза про то, что если бы начинали проект сейчас, писали бы его на Rust. Интересная мысль о том, что чрезмерное, по мнению автора, форсирование юникода в языке и стандартной библиотеке сделало Python языком, который не так удобно использовать в системном\низкоуровневом софте. Да и трудно спорить с тем фактом, что для многих первая юзабельная версия 3й ветки были Python 3.4/3.5, а это 5-7 лет с дня первого релиза 3.0.
https://gregoryszorc.com/blog/2020/01/13/mercurial%27s-journey-to-and-reflections-on-python-3/
#python
Core-разработчик Mercurial, Gregory Szorc описал их историю миграции в двух частях. В первой хронология портирования, во второй - личное мнение автора о процессе миграции и самом Python 3.
Из интересного, первое упоминание Py3 в репозитории самого меркуриала появилось аж в 2008, затем небольшие изменения в C-extensions в 2010 году. Более-менее систематичная работа над портированием началась аж в 2015 году. А закончилась только в конце 2019! Разработчикам пришлось реализовать свой аналог six, т.е. слой абстракции, который скрывает разницу между 2й и 3й версиями. А также хак с импортом модулей, который на лету подменял все неаннотированные явно строки на byte, вместо ставшим стандартным в 3м питоне unicode.
Из личного мнения уже не удивляет фраза про то, что если бы начинали проект сейчас, писали бы его на Rust. Интересная мысль о том, что чрезмерное, по мнению автора, форсирование юникода в языке и стандартной библиотеке сделало Python языком, который не так удобно использовать в системном\низкоуровневом софте. Да и трудно спорить с тем фактом, что для многих первая юзабельная версия 3й ветки были Python 3.4/3.5, а это 5-7 лет с дня первого релиза 3.0.
https://gregoryszorc.com/blog/2020/01/13/mercurial%27s-journey-to-and-reflections-on-python-3/
#python
Forwarded from BEST Kyiv
#!Terminate_registration 2020-01-16 23:59:59.99999+00
Коротше, 1 ДЕНЬ ДО КІНЦЯ РЕЄСТРАЦІЇ НА ХАКАТОН Int20h
💻 Хакатон Int20h – одне з найбільших щорічних змагань у сфері ІТ, яке організовують студенти локальної групи BEST Kyiv. Обравши категорію, учасники протягом 20 годин працюють над вирішенням завдань наших партнерів у режимі нон-стоп.
Цього року – ще більше цікавих кейсів, викликів, фану та кодингу! А партнерами, що допомагають нам робити хакатон кращим з кожним роком є такі компанії, як Genesis, EVO, Epam, Valtech, Ubiquiti Networks, Nikelektronika, Pango.co, Techiia і не тільки 😉
Категорії:
🕸 Web
📱 Mobile
📊 Data Science
🔌 Embedded
Обов'язкова умова реєстрації – наявність команди з 2-4 учасників. Якщо не маєш команди - обирай потрібний варіант у формі реєстрації та знаходь однодумців.
🗓 Дати проведення: 22-23 лютого
🏢 Місце проведення: EVO
Мерщій обирай категорію, збирай команду, та реєструйся. Та поспіши, часу залишилось лише до 16.01 включно‼️
Коротше, 1 ДЕНЬ ДО КІНЦЯ РЕЄСТРАЦІЇ НА ХАКАТОН Int20h
💻 Хакатон Int20h – одне з найбільших щорічних змагань у сфері ІТ, яке організовують студенти локальної групи BEST Kyiv. Обравши категорію, учасники протягом 20 годин працюють над вирішенням завдань наших партнерів у режимі нон-стоп.
Цього року – ще більше цікавих кейсів, викликів, фану та кодингу! А партнерами, що допомагають нам робити хакатон кращим з кожним роком є такі компанії, як Genesis, EVO, Epam, Valtech, Ubiquiti Networks, Nikelektronika, Pango.co, Techiia і не тільки 😉
Категорії:
🕸 Web
📱 Mobile
📊 Data Science
🔌 Embedded
Обов'язкова умова реєстрації – наявність команди з 2-4 учасників. Якщо не маєш команди - обирай потрібний варіант у формі реєстрації та знаходь однодумців.
🗓 Дати проведення: 22-23 лютого
🏢 Місце проведення: EVO
Мерщій обирай категорію, збирай команду, та реєструйся. Та поспіши, часу залишилось лише до 16.01 включно‼️
У канала @defront день рождения! Мы не раз репостили у себя их обзоры, потому что они крутые - пишут шикарные саммари на интереснейшие статьи о фронтенде.
Желаем умных подписчиков, интересного контента и кайфа от процесса ;) Урааааа!
https://xn--r1a.website/defront/394
Желаем умных подписчиков, интересного контента и кайфа от процесса ;) Урааааа!
https://xn--r1a.website/defront/394
Telegram
Defront — про фронтенд-разработку и не только
Ровно год назад появился Defront. Канал начался с простой идеи — читать минимум одну статью каждый день и делать небольшой tldr, чтобы в будущем быстро находить нужные статьи. Но несколько недель спустя стало понятно, что канал несёт пользу не только мне…
🕊 На форуме языка Swift опубликовали планы на будущее.
Похоже, в самом языке разработчики уже сделали все, что планировали изначально. Теперь фокус на инфраструктуре и улучшении опыта разработки.
Из интересного:
- Language Server Protocol (API, которое позволяет удобно интегрироваться в редакторы и IDE),
- быстрые билды
- Swift Package Manager
- ABI stability - поддержка разных версий Свифта в одном рантайме
https://forums.swift.org/t/on-the-road-to-swift-6/32862
#swift
Похоже, в самом языке разработчики уже сделали все, что планировали изначально. Теперь фокус на инфраструктуре и улучшении опыта разработки.
Из интересного:
- Language Server Protocol (API, которое позволяет удобно интегрироваться в редакторы и IDE),
- быстрые билды
- Swift Package Manager
- ABI stability - поддержка разных версий Свифта в одном рантайме
https://forums.swift.org/t/on-the-road-to-swift-6/32862
#swift
Swift Forums
On the road to Swift 6
The Swift project has achieved a critical milestone of maturity of the core fundamentals, providing stability for users to invest in using Swift in earnest. On Apple's platforms such as macOS and iOS, the arrival of ABI and module stability has enabled the…
📱Раз уж начали про мобилочки
Shopify переходит на React Native. Начали присматриваться к нему еще с релиза в 2015 году. На тот момент были проблемы с производительностью и отсутствовала полная поддержка Андроида.
Современный RN выглядит гораздо более взрослой и стабильной платформой. Провели эксперимент, в котором переписали одно из своих iOS-only приложений и получили кросс-платформенность с 95% общего кода между iOS/Android. Теперь все новое - на React Native.
https://engineering.shopify.com/blogs/engineering/react-native-future-mobile-shopify
#react #reactnative #webpower
Shopify переходит на React Native. Начали присматриваться к нему еще с релиза в 2015 году. На тот момент были проблемы с производительностью и отсутствовала полная поддержка Андроида.
Современный RN выглядит гораздо более взрослой и стабильной платформой. Провели эксперимент, в котором переписали одно из своих iOS-only приложений и получили кросс-платформенность с 95% общего кода между iOS/Android. Теперь все новое - на React Native.
https://engineering.shopify.com/blogs/engineering/react-native-future-mobile-shopify
#react #reactnative #webpower
Shopify
React Native is the Future of Mobile at Shopify
After years of native mobile development, we’ve decided to build all of our new mobile apps using React Native. As I’ll explain, that decision doesn’t come lightly.
Внезапно, про PHP. Комьюнити выбирает как развивать язык, вводить ломающие совместимость изменения и не повторять ошибок Python 2/3, Perl 5/6 и других героев.
Forwarded from PHP Digest
Будущее развитие PHP
https://github.com/nikic/php-rfcs/blob/language-evolution/rfcs/0000-language-evolution.md
Никита опубликовал черновик RFC с предложением установить механизм введения в язык новых глобальных или ломающих обратную совместимость фич. И рассмотрел возможные пути решения:
1. Новый язык (P++)
При всех своих недостатках, одно из преимуществ тут в том, что можно делать совершенно радикальные изменения. Например, убрать
2. Editions (редакции/издания)
Идея позаимствована из Rust, в разработку которого Никита тоже вовлечён.
По сути, это набор обратно-несовместимых изменений, объединенных под одним именем. Такой вариант интересен как с технической так и с маркетинговой точки зрения.
3. Директивы declare на каждую фичу
То есть на каждое крупное изменение вводить отдельную директиву по типу
___
Поскольку против нового языка уже неофициально проголосовали и единогласно отмели идею, то дальше Никита рассматривает технические аспекты реализации единшов/директив.
Варианты тут такие:
• Текущая реализация с объявлениями в каждом файле
• Новый открывающий тег
Например, для едишнов:
Прототип этого варианта оформлен в виде пул-реквеста.
Пакет надо будет явно объявлять в каждом файле.
Например добавлять файл
В конце Никита подводит выводу, что оптимальный вариант — это едишны + declare директивы в каждом файле.
https://github.com/nikic/php-rfcs/blob/language-evolution/rfcs/0000-language-evolution.md
Никита опубликовал черновик RFC с предложением установить механизм введения в язык новых глобальных или ломающих обратную совместимость фич. И рассмотрел возможные пути решения:
1. Новый язык (P++)
При всех своих недостатках, одно из преимуществ тут в том, что можно делать совершенно радикальные изменения. Например, убрать
$ из переменных. Но мы помним судьбу Perl/Raku.2. Editions (редакции/издания)
Идея позаимствована из Rust, в разработку которого Никита тоже вовлечён.
По сути, это набор обратно-несовместимых изменений, объединенных под одним именем. Такой вариант интересен как с технической так и с маркетинговой точки зрения.
3. Директивы declare на каждую фичу
То есть на каждое крупное изменение вводить отдельную директиву по типу
strict_types.___
Поскольку против нового языка уже неофициально проголосовали и единогласно отмели идею, то дальше Никита рассматривает технические аспекты реализации единшов/директив.
Варианты тут такие:
• Текущая реализация с объявлениями в каждом файле
declare(strict_types=1) или в случае едишнов declare(edition=2020) • Новый открывающий тег
Например, для едишнов:
<?php2020
• Указание директив для пространств имён (RFC)namespace_declare('Vendor\Lib', [
'strict_types' => 1,
'no_dynamic_properties' => 1,
// ...
]);
• Ввести понятие пакета в PHPПрототип этого варианта оформлен в виде пул-реквеста.
Пакет надо будет явно объявлять в каждом файле.
<?php• Что-то на основе файловой системы
package "nikic/php-parser";
namespace PhpParser\Node;
Например добавлять файл
.package.php в корне пакета, который будет содержать нужную метаинформацию.В конце Никита подводит выводу, что оптимальный вариант — это едишны + declare директивы в каждом файле.
GitHub
php-rfcs/rfcs/0000-language-evolution.md at language-evolution · nikic/php-rfcs
Experimental repo for GitHub based RFC workflow. For now, please don't submit PRs. - php-rfcs/rfcs/0000-language-evolution.md at language-evolution · nikic/php-rfcs
☕️ В JavaMagazine опубликовали статью о Records, которые завезут в следующую версию Java.
Records уменьшают бойлерплейт для data-only структур данных, автоматические геттеры и конструкторы. Почему бы и нет?
https://blogs.oracle.com/javamagazine/records-come-to-java
#java
Records уменьшают бойлерплейт для data-only структур данных, автоматические геттеры и конструкторы. Почему бы и нет?
https://blogs.oracle.com/javamagazine/records-come-to-java
#java
Oracle
Records Come to Java
A first look at how Java 14’s data records will change the way you code
📼 И сразу добью шикарным докладом 1998 (!!!) года Гая Стила про развитие языков программирования.
Крайне рекомендую посмотреть. Во-первых, любопытно как Стил топит за добавление в Java дженериков (привет, golang) и перегрузки операторов. Во-вторых, сама подача материала - не хочу спойлерить, но форма подчеркивает содержание - программистам всегда нужно строить мелкие абстракции чтобы перебраться на более высокий уровень. И важно сделать это просто.
Ну и отдельный фан увидеть конференцию разработчиков 22 года назад: докладчик в пиджаке, в нагрудном кармане батарея из ручек, слайды на проекторе - обалденно.
https://www.youtube.com/watch?v=_ahvzDzKdB0
P.S. Можете еще почитать о самом Гае Стиле на википедии. Это один из гигантов computer science, и мы стоим на его плечах в том числе
#video
Крайне рекомендую посмотреть. Во-первых, любопытно как Стил топит за добавление в Java дженериков (привет, golang) и перегрузки операторов. Во-вторых, сама подача материала - не хочу спойлерить, но форма подчеркивает содержание - программистам всегда нужно строить мелкие абстракции чтобы перебраться на более высокий уровень. И важно сделать это просто.
Ну и отдельный фан увидеть конференцию разработчиков 22 года назад: докладчик в пиджаке, в нагрудном кармане батарея из ручек, слайды на проекторе - обалденно.
https://www.youtube.com/watch?v=_ahvzDzKdB0
P.S. Можете еще почитать о самом Гае Стиле на википедии. Это один из гигантов computer science, и мы стоим на его плечах в том числе
#video
YouTube
Growing a Language, by Guy Steele
Guy Steele's keynote at the 1998 ACM OOPSLA conference on "Growing a Language" discusses the importance of and issues associated with designing a programming language that can be grown by its users.
ACM OOPSLA conference
Speaker: Guy L. Steele Jr.
ACM OOPSLA conference
Speaker: Guy L. Steele Jr.
Forwarded from oleg_log (Oleg Kovalov)
Вспомнил крутую статью с пачкой Serverless паттернов, все про AWS, но и 1в1 на других провайдерах применяется)
Текст можно особо не читать, достаточно картинки глянуть, все просто и понятно.
https://www.jeremydaly.com/serverless-microservice-patterns-for-aws/
Текст можно особо не читать, достаточно картинки глянуть, все просто и понятно.
https://www.jeremydaly.com/serverless-microservice-patterns-for-aws/
Jeremydaly
Serverless Microservice Patterns for AWS - Jeremy Daly
Serverless microservices allow us to do some pretty amazing things. This post outlines 19 common patterns that are being used in production on AWS.