👩💻 Внезапно на hackernews в топ вышла статья на вики про Катерину Ющенко, украинскую программистку, которая написала один из первых адресных языков программирования.
Сейчас развитие этих идей мы видим в указателях (pointers), адресной арифметике и прочих важных штуках.
Катерина Ющенко на Википедиях: укр, рус, англ
Тред на хакерньюз
#person #girlpower #cs
Сейчас развитие этих идей мы видим в указателях (pointers), адресной арифметике и прочих важных штуках.
Катерина Ющенко на Википедиях: укр, рус, англ
Тред на хакерньюз
#person #girlpower #cs
🐍 Вышла очередная альфа следующего релиза Python 3.9. Главное, что нас ожидает:
1. Новые операторы у диктов для слияния (
2. Расширение аннотаций. В данный момент большая часть аннотаций - это аннотации типами. Хотя в целом эта фича имеет гораздо больше потенциал. От валидции, до навешивания новой логики переменной. Новый класс
3. Переход на релизный цикл раз в год. До этого конкретной даты не было и релиз происходил тогда, когда разработчики считали что продукт готов
Код фриза для версии еще не произошло, возможно появиться еще что-то интересное.
#python
1. Новые операторы у диктов для слияния (
dict1| dict2) и дополнения (dict1 |= dict2). Все существующие варианты решения такой пустяковой проблемы либо достаточно громоздкие, либо неочевидны синтаксически 2. Расширение аннотаций. В данный момент большая часть аннотаций - это аннотации типами. Хотя в целом эта фича имеет гораздо больше потенциал. От валидции, до навешивания новой логики переменной. Новый класс
Annotated позволит это исправить 3. Переход на релизный цикл раз в год. До этого конкретной даты не было и релиз происходил тогда, когда разработчики считали что продукт готов
Код фриза для версии еще не произошло, возможно появиться еще что-то интересное.
#python
Python.org
Python Release Python 3.9.0a5
The official home of the Python Programming Language
📺 Регулярные встречи разработчиков Evo по понятным причинам переезжают в онлайн. Прямо сейчас начинаем трансляцию первой такой встречи на ютубе.
Наш лучший специалист Александр Мостовенко будет рассказывать о типизации в TypeScript
https://youtu.be/Yd_otKlrf1I
Наш лучший специалист Александр Мостовенко будет рассказывать о типизации в TypeScript
https://youtu.be/Yd_otKlrf1I
🍴 Почти лонгрид о том, как git стал главной системой контроля версий. От первых версий Линуса до покупки Microsoft`ом GitHub.
#git
https://www.welcometothejungle.com/en/articles/btc-history-git
#git
https://www.welcometothejungle.com/en/articles/btc-history-git
Welcometothejungle
The History of Git: The Road to Domination
Discover the history of Git, based on interviews with Linus Torvalds, Johannes Schindelin, Jeff King and Tom Preston-Werner.
Forwarded from Defront — про фронтенд-разработку и не только
Недавно в Firefox была обнаружена проблема с кешированием данных в Twitter. Любой пользователь с физическим доступом к компьютеру теоретически мог прочитать чужие личные сообщения. Мартин Томсон из команды разработки Firefox рассказал, почему это произошло, в статье "Twitter Direct Message Caching and Firefox".
Чтобы предотвратить кеширование контента в браузерах, сайт должен отправить в ответе http-заголовок
Какие можно сделать выводы из этой истории? Нужно проверять работу сайта в разных браузерах (Chrome, Firefox, Safari) и не стоит полагаться на поведение браузера, которое не соответствует стандартам.
#firefox #cache #http
https://hacks.mozilla.org/2020/04/twitter-direct-message-caching-and-firefox/
Чтобы предотвратить кеширование контента в браузерах, сайт должен отправить в ответе http-заголовок
Cache-Control: no-store. В любом другом случае в Firefox начинает работать механизм эвристического кеширования. Этот механизм используется для предсказания, какой контент может быть закеширован и на какое время. Контент без Cache-Control: no-store сохраняется в кэше на семь дней. Как вы наверное уже догадались Twitter не отправлял этот заголовок в ответе из-за чего в Firefox включался механизм кеширования. Вместо него Twitter отправлял заголовок Content-Disposition, который используется для добавления метаинформации (например, имени файла) к загружаемым файлам. В статье говорится, что в "other browser" (как я понимаю Chrome) наличие этого заголовка отключает кеширование, но это поведение не является частью стандарта.Какие можно сделать выводы из этой истории? Нужно проверять работу сайта в разных браузерах (Chrome, Firefox, Safari) и не стоит полагаться на поведение браузера, которое не соответствует стандартам.
#firefox #cache #http
https://hacks.mozilla.org/2020/04/twitter-direct-message-caching-and-firefox/
Mozilla Hacks – the Web developer blog
Twitter Direct Message Caching and Firefox
Distinguished engineer Martin Thomson explains how this problem occurred, the implications for people who might be affected, and how problems of this nature might be avoided in future. To get ...
🐘 Отличная статья о 10 нюансах PostgreSQL, о которых стоит знать, если вы его активно используете.
Там и переполнение Transaction ID и сборка мусора устаревших строк, и дорогие соединения к базе. Тем не менее вывод:
https://medium.com/@rbranson/10-things-i-hate-about-postgresql-20dbab8c2791
#databases
Там и переполнение Transaction ID и сборка мусора устаревших строк, и дорогие соединения к базе. Тем не менее вывод:
You should probably still use PostgreSQL and not something else for storing data that you’d ideally like to, you know, keep around for some time.Пожалуй, соглашусь. Постгрес стабильная, проверенная, фичастая технология. А проблемы и нюансы есть у каждого.
https://medium.com/@rbranson/10-things-i-hate-about-postgresql-20dbab8c2791
#databases
Medium
10 Things I Hate About PostgreSQL
Over the last few years, the software development community’s love affair with the popular open-source relational database has reached a…
📕 The Svelte Compiler Handbook - емкое описание основных частей Svelte со ссылками для более детального погружения. Для тех, кто хочет начать разбираться во внутренностях фреймворка или читать (и понимать) его исходники.
https://lihautan.com/the-svelte-compiler-handbook/
#javascript
https://lihautan.com/the-svelte-compiler-handbook/
#javascript
Lihautan
The Svelte Compiler Handbook
The Svelte compilation process can be broken down into 4-steps, 1) parsing source code into AST, 2) tracking references and dependencies, 3) creating code blocks and fragments, and 4) generate code.
🐍 Про хеширование и равенство в Питоне и других языках
В двух словах:
#python
В двух словах:
Don’t override hash and eq to force objects to hashable. Use immutable objects instead.
https://eng.lyft.com/hashing-and-equality-in-python-2ea8c738fb9d#python
Medium
Hashing and Equality in Python
Don’t override __hash__ and __eq__ to force objects to hashable. Use immutable objects instead.
Forwarded from I hate overtime
#db
Дождались! Долгожданный пост от Яны Доган Things I Wished More Developers Knew About Databases
Мне кажется, что пост получился очень удачным и пробелы по многим пунктам я замечал у коллег(да что уж там, я тоже узнал много нового, например из пункта про часы). Так что, дохрена рекомендую
UPD сорян, ссылка потерялась. Вернул
Дождались! Долгожданный пост от Яны Доган Things I Wished More Developers Knew About Databases
Мне кажется, что пост получился очень удачным и пробелы по многим пунктам я замечал у коллег(да что уж там, я тоже узнал много нового, например из пункта про часы). Так что, дохрена рекомендую
UPD сорян, ссылка потерялась. Вернул
Medium
Things I Wished More Developers Knew About Databases
A large majority of computer systems have some state and are likely to depend on a storage system. My knowledge on databases accumulated…
🔥 Наш лучший специалист, архитектор фронтенда Александр Мостовенко, вошел в топ-3 докладчиков на JavaScript fwdays'20 с рассказом про перевод большого python-монолита на SSR
Forwarded from Tetiana Bukhanova
Вже готовий топ-3 доповідей онлайн-конференції JavaScript fwdays'20 від 21 березня за голосуванням учасників 🤩
1️⃣ @koorchik "Effective NodeJS Application Development"
2️⃣ Олександр Мостовенко " 'Devide et impera' with GraphQL and SSR"
3️⃣ @tshemsedinov "Web Locks API in Node.js and browser"
Посилання на доповіді:
👉 https://www.youtube.com/playlist?list=PLPcgQFk9n9y9jbWCnublMA1D2qbJPLukf
1️⃣ @koorchik "Effective NodeJS Application Development"
2️⃣ Олександр Мостовенко " 'Devide et impera' with GraphQL and SSR"
3️⃣ @tshemsedinov "Web Locks API in Node.js and browser"
Посилання на доповіді:
👉 https://www.youtube.com/playlist?list=PLPcgQFk9n9y9jbWCnublMA1D2qbJPLukf
YouTube
JavaScript fwdays'20 online March 21 - YouTube
🗻 Изначально мы в Evo писали в основном на Python. Позже подтянулись JavaScript, Go, Java/Kotlin, ObjC/Swift. Вместе с финтех-направлении теперь есть и Scala.
Наш лучший специалист Виталий Гонта на онлайн-конференции Scala.Ua рассказывает про Scala 3
https://www.youtube.com/watch?v=S2a57ddG5wQ
#scala
Наш лучший специалист Виталий Гонта на онлайн-конференции Scala.Ua рассказывает про Scala 3
https://www.youtube.com/watch?v=S2a57ddG5wQ
#scala
YouTube
Vitalii Honta at #ScalaUA - Scala 3 in action
Vitalii Honta - Scala 3 in action - ScalaUA-2020 Conference
Abstract:
New and shiny Scala 3 is coming soon.
The question is - how will your daily code and libraries look like?
I’ll try to answer it!
Let’s compare an existing library rewritten with Scala…
Abstract:
New and shiny Scala 3 is coming soon.
The question is - how will your daily code and libraries look like?
I’ll try to answer it!
Let’s compare an existing library rewritten with Scala…
Forwarded from DevOps&SRE Library
⚙️ DevOps Days Kyiv from home!
14-16 мая нас ждут три дня докладов и QnA сессии про DevOps Tech & Culture.
💣 Топ спикеры со всего мира:
• Kris Nova – пионер Kubernetes and Chief Open Source Advocate в Sysdig.
• Baruch Sadogursky – Developer Advocate в JFrog с 17 годами технического опыта.
• Liz Fong-Jones – Principal Developer Advocate for SRE & Observability в honeycomb.io
• Niall Murphy – Director of Engineering for Azure Cloud Services в Microsoft
• Kelsey Hightower – Staff Developer Advocate в Google
💬 На третий день мы проведём fireside chat с Kelsey Hightower.
Fireside chat –– это неформальная беседа между спикером и участниками и уникальный шанс задать свой вопрос профессионалу из Google.
😎 А в специальной Zoom Room участники смогут пообщаться друг с другом –– нетворкинг from home.
Когда? 14-16 мая
Где? Online!
👉 Бесплатная регистрация: https://devopsdaysonline.2event.com
Подробнее про DevOps Days Kyiv From Home: https://devopsdays.com.ua/online
⚙️ DevOps Days Kyiv — это комьюнити ивент с акцентом на DevOps Culture. Конференция покрывает темы разработки программного обеспечения, IT инфраструктуры и их взаимосвязи.
14-16 мая нас ждут три дня докладов и QnA сессии про DevOps Tech & Culture.
💣 Топ спикеры со всего мира:
• Kris Nova – пионер Kubernetes and Chief Open Source Advocate в Sysdig.
• Baruch Sadogursky – Developer Advocate в JFrog с 17 годами технического опыта.
• Liz Fong-Jones – Principal Developer Advocate for SRE & Observability в honeycomb.io
• Niall Murphy – Director of Engineering for Azure Cloud Services в Microsoft
• Kelsey Hightower – Staff Developer Advocate в Google
💬 На третий день мы проведём fireside chat с Kelsey Hightower.
Fireside chat –– это неформальная беседа между спикером и участниками и уникальный шанс задать свой вопрос профессионалу из Google.
😎 А в специальной Zoom Room участники смогут пообщаться друг с другом –– нетворкинг from home.
Когда? 14-16 мая
Где? Online!
👉 Бесплатная регистрация: https://devopsdaysonline.2event.com
Подробнее про DevOps Days Kyiv From Home: https://devopsdays.com.ua/online
⚙️ DevOps Days Kyiv — это комьюнити ивент с акцентом на DevOps Culture. Конференция покрывает темы разработки программного обеспечения, IT инфраструктуры и их взаимосвязи.
🌚 Пару дней назад у Facebook была глобальная проблема, когда приложения, использовавшее Facebook iOS SDK не могли загрузится. Бекенд отправлял невалидные данные, SDK не могло их обработать и падало.
Какие риски у подобных SDK и что с ними можно сделать в своем блоге размышляет Guilherme Rambo
https://rambo.codes/posts/2020-05-07-the-big-facebook-crash
#ios
Какие риски у подобных SDK и что с ними можно сделать в своем блоге размышляет Guilherme Rambo
https://rambo.codes/posts/2020-05-07-the-big-facebook-crash
#ios
Rambo Codes
The big Facebook crash of 2020 and the problem of third-party SDK creep | Rambo Codes
Gui Rambo writes about his coding and reverse engineering adventures.
📱 На вчерашнем внутреннем митапе для разработчиков наш лучший специалист, iOS-разработчик Алексей Гузенко рассказал о Flutter.
Мы у себя пробовали на нем сделать небольшой MVP. Получили позитивный опыт. Собрать минимальный продукт для проверки гипотезы за неделю-две - без проблем. Легко разобраться и начать писать, удобные тулзы, выглядит нативно. Как будет вести себя на больших проектах пока непонятно.
https://youtu.be/ebkvDD-j5uc
#flutter
Мы у себя пробовали на нем сделать небольшой MVP. Получили позитивный опыт. Собрать минимальный продукт для проверки гипотезы за неделю-две - без проблем. Легко разобраться и начать писать, удобные тулзы, выглядит нативно. Как будет вести себя на больших проектах пока непонятно.
https://youtu.be/ebkvDD-j5uc
#flutter
YouTube
EvoDevClub: Flutter Intro, 07.05.20
Алексей Гузенко про Flutter
Презентация: https://docs.google.com/presentation/d/1ktL7dvfcEyk7Y8V5bJoBpOEoxDSkEWYglOVMrzJyFpM/edit?usp=sharing
Наш телеграм-канал для разработчиков https://xn--r1a.website/evodevclub
Презентация: https://docs.google.com/presentation/d/1ktL7dvfcEyk7Y8V5bJoBpOEoxDSkEWYglOVMrzJyFpM/edit?usp=sharing
Наш телеграм-канал для разработчиков https://xn--r1a.website/evodevclub
Walmart Labs в своем блоге описали миссию, цели и принципы работы своей команды Платформы.
Как по мне многословно, но хорошо описано зачем нужна такая команда, что и как ей делать. И хотя на словах все понятно, даже в чем-то очевидно, сделать действительно продуктивную команду Платформы непростая задача.
https://medium.com/walmartlabs/building-a-platform-team-d915221d5654
#team
Как по мне многословно, но хорошо описано зачем нужна такая команда, что и как ей делать. И хотя на словах все понятно, даже в чем-то очевидно, сделать действительно продуктивную команду Платформы непростая задача.
https://medium.com/walmartlabs/building-a-platform-team-d915221d5654
#team
Medium
Building a Platform Team — Laying the Foundations
The “Why”, “What” & “How” of building a Platform team.
🦕 Вышел первый релиз Deno - рантайм для JS/TS от одного из авторов NodeJS, со слегка новаторским подходом к безопасноти, зависимостям и другими интересными идеями.
https://deno.land/v1
https://blog.logrocket.com/deno-1-0-what-you-need-to-know/
https://www.freecodecamp.org/news/the-deno-handbook/
В твиттере радуются, что у NodeJS появился конкурент. Вспоминают yarn, из-за которого npm начал шевелиться и постят что у deno получилось хорошо сразу
https://twitter.com/rauchg/status/1260705167592157185?s=21
https://twitter.com/roebuk/status/1260879896022220804?s=20
https://twitter.com/MrAhmadAwais/status/1260712169525608452?s=20
#typescript #javascript #node #deno
https://deno.land/v1
https://blog.logrocket.com/deno-1-0-what-you-need-to-know/
https://www.freecodecamp.org/news/the-deno-handbook/
В твиттере радуются, что у NodeJS появился конкурент. Вспоминают yarn, из-за которого npm начал шевелиться и постят что у deno получилось хорошо сразу
https://twitter.com/rauchg/status/1260705167592157185?s=21
https://twitter.com/roebuk/status/1260879896022220804?s=20
https://twitter.com/MrAhmadAwais/status/1260712169525608452?s=20
#typescript #javascript #node #deno
Небольшая статья о том, как Uber перевел сборку своего Go-монорепозитория на Bazel.
Самое интересное для меня здесь - график роста контирбуторов в эту монорепу от 10 до 1000 человек за 2 года. В таких случаях хочешь решение, которое собирает в первую очередь твой код, а не чувака из отдела, о существовании которого ты даже не подозреваешь.
https://eng.uber.com/go-monorepo-bazel/
#golang #microservices
Самое интересное для меня здесь - график роста контирбуторов в эту монорепу от 10 до 1000 человек за 2 года. В таких случаях хочешь решение, которое собирает в первую очередь твой код, а не чувака из отдела, о существовании которого ты даже не подозреваешь.
https://eng.uber.com/go-monorepo-bazel/
#golang #microservices
🥡 На Mozilla Hacks вышла статья о том, как Firefox обновил движок регекспов.
Разработчики SpiderMonkey еще в 2014 году взяли Irregexp, используемый в V8. Но он был достаточно сильно завязан на особенности реализации самого V8.
Тогда мозиловцы взяли код, переписали необходимые куски под свои особенности и жили так несколько лет. Со временем их форк стал отставать от версии в V8, поддерживать свой становилось все сложнее. Тогда ребята решили зайти с новой попытки: взять свежую версию Irregexp, и сделать отдельный слой, абстрагирующий разницу между SpiderMonkey и V8.
Попутно починили пару багов, Irregexp получил новых контрибуторов, у сообщества теперь более переносимый движок регекспов.
https://hacks.mozilla.org/2020/06/a-new-regexp-engine-in-spidermonkey/
#javascript
Разработчики SpiderMonkey еще в 2014 году взяли Irregexp, используемый в V8. Но он был достаточно сильно завязан на особенности реализации самого V8.
Тогда мозиловцы взяли код, переписали необходимые куски под свои особенности и жили так несколько лет. Со временем их форк стал отставать от версии в V8, поддерживать свой становилось все сложнее. Тогда ребята решили зайти с новой попытки: взять свежую версию Irregexp, и сделать отдельный слой, абстрагирующий разницу между SpiderMonkey и V8.
Попутно починили пару багов, Irregexp получил новых контрибуторов, у сообщества теперь более переносимый движок регекспов.
https://hacks.mozilla.org/2020/06/a-new-regexp-engine-in-spidermonkey/
#javascript
Mozilla Hacks – the Web developer blog
A New RegExp Engine in SpiderMonkey
Regular expressions – commonly known as RegExps – are a powerful and heavily used tool for manipulating strings in JavaScript. This post describes how we updated the RegExp engine in ...