Firebase Firestore - список основных правил безопасности
Firebase Firestore - это популярная NoSQL база данных, широко используемая разработчиками для создания масштабируемых и гибких веб- и мобильных приложений.
Хотя Firestore предоставляет мощные возможности для управления данными, также важно обеспечить их безопасность, чтобы предотвратить несанкционированный доступ, утечку данных и другие угрозы.
В этой статье мы рассмотрим основные правила обеспечения безопасности базы данных Firestore. Применяя эти меры безопасности, вы сможете обеспечить безопасность и конфиденциальность ваших данных и защитить ваше приложение от потенциальных уязвимостей.
Статья: https://blog.canopas.com/firebase-firestore-list-of-essential-security-rules-a0e872c724d3
Firebase Firestore - это популярная NoSQL база данных, широко используемая разработчиками для создания масштабируемых и гибких веб- и мобильных приложений.
Хотя Firestore предоставляет мощные возможности для управления данными, также важно обеспечить их безопасность, чтобы предотвратить несанкционированный доступ, утечку данных и другие угрозы.
В этой статье мы рассмотрим основные правила обеспечения безопасности базы данных Firestore. Применяя эти меры безопасности, вы сможете обеспечить безопасность и конфиденциальность ваших данных и защитить ваше приложение от потенциальных уязвимостей.
Статья: https://blog.canopas.com/firebase-firestore-list-of-essential-security-rules-a0e872c724d3
1500 лучников на 28.8: сетевое программирование в Age of Empires и не только
В Age of Empires время выполнения каждого шага моделирования сильно варьируется: время рендеринга меняется, если пользователь наблюдает за юнитами, прокручивает карту или сидит над неисследованной местностью, а большие пути или стратегическое планирование ИИ заставляют ход игры колебаться в довольно широких пределах. Несколько быстрых расчетов показывают, что передача даже небольшого набора данных о юнитах и попытка обновлять их в реальном времени сильно ограничит количество юнитов и объектов, взаимодействующих с игроком. Передача координат X и Y, статуса, действия, столкновения и урона ограничила бы нас максимум 250 движущимися юнитами в игре. Мы хотели опустошить греческий город с помощью катапульт, лучников и воинов с одной стороны, в то время как с моря его осаждали триремы. Очевидно, что нужен был другой подход.
Статья: https://www.gamedeveloper.com/programming/1500-archers-on-a-28-8-network-programming-in-age-of-empires-and-beyond
В Age of Empires время выполнения каждого шага моделирования сильно варьируется: время рендеринга меняется, если пользователь наблюдает за юнитами, прокручивает карту или сидит над неисследованной местностью, а большие пути или стратегическое планирование ИИ заставляют ход игры колебаться в довольно широких пределах. Несколько быстрых расчетов показывают, что передача даже небольшого набора данных о юнитах и попытка обновлять их в реальном времени сильно ограничит количество юнитов и объектов, взаимодействующих с игроком. Передача координат X и Y, статуса, действия, столкновения и урона ограничила бы нас максимум 250 движущимися юнитами в игре. Мы хотели опустошить греческий город с помощью катапульт, лучников и воинов с одной стороны, в то время как с моря его осаждали триремы. Очевидно, что нужен был другой подход.
Статья: https://www.gamedeveloper.com/programming/1500-archers-on-a-28-8-network-programming-in-age-of-empires-and-beyond
Gamedeveloper
1500 Archers on a 28.8: Network Programming in Age of Empires and Beyond
In Age of Empires the time to complete each simulation step varies greatly: the rendering time changes if the user is watching units, scrolling, or sitting over unexplored terrain, and large paths or strategic planning by the AI made the game turn fluctuate…
🔥1🌭1
7 примеров product-led роста мобильных приложений
Как 1% лучших приложений развиваются с помощью PLG (Duolingo, Bumble и другие).
Статья (открывать анонимно): https://uxdesign.cc/7-examples-of-product-led-growth-in-mobile-apps-390c28835dfb
Как 1% лучших приложений развиваются с помощью PLG (Duolingo, Bumble и другие).
Статья (открывать анонимно): https://uxdesign.cc/7-examples-of-product-led-growth-in-mobile-apps-390c28835dfb
Medium
7 examples of product-led growth in mobile apps
How the top 1% of apps grow through PLG (Duolingo, Bumble & more)
Быть VP of Engineering труднее, чем CEO
Быть вице-президентом по разработке труднее и более одиноко, чем генеральным директором. На самом деле ваш вице-президент, вероятно, самый одинокий человек в вашей компании - вот как это можно улучшить.
Статья: https://devinterrupted.substack.com/p/being-vp-of-engineering-is-harder
Быть вице-президентом по разработке труднее и более одиноко, чем генеральным директором. На самом деле ваш вице-президент, вероятно, самый одинокий человек в вашей компании - вот как это можно улучшить.
Статья: https://devinterrupted.substack.com/p/being-vp-of-engineering-is-harder
Прекратите звать (не) меня на работу
Расскажу забавную, и, надеюсь, поучительную историю, в которой смешалось многое и, на первый взгляд, странное.
Начну очень издалека. Видите мой ник? Его опосредованный источник — давно забытый одноимённый криминальный фильм двадцатилетней давности; когда мне нужно было придумать позывной для регистрации в местной локалке, забавное сочетание букв само выпрыгнуло из извилин на клавиатуру. И с тех пор кочует вслед за мной, не считаясь с моими желаниями, в том числе — и в одном из созданных ещё на заре gmail почтовых ящиков, используемых для всяких регистраций, подписок, и прочего спама.
Несколько лет назад на этот почтовый ящик стали приходить письма от рекрутеров, зовущих Станислава поработать iOS-разработчиком. Здесь было две проблемы: я никогда не писал для iOS, и я не Станислав.
Статья: https://habr.com/ru/articles/731242/
Расскажу забавную, и, надеюсь, поучительную историю, в которой смешалось многое и, на первый взгляд, странное.
Начну очень издалека. Видите мой ник? Его опосредованный источник — давно забытый одноимённый криминальный фильм двадцатилетней давности; когда мне нужно было придумать позывной для регистрации в местной локалке, забавное сочетание букв само выпрыгнуло из извилин на клавиатуру. И с тех пор кочует вслед за мной, не считаясь с моими желаниями, в том числе — и в одном из созданных ещё на заре gmail почтовых ящиков, используемых для всяких регистраций, подписок, и прочего спама.
Несколько лет назад на этот почтовый ящик стали приходить письма от рекрутеров, зовущих Станислава поработать iOS-разработчиком. Здесь было две проблемы: я никогда не писал для iOS, и я не Станислав.
Статья: https://habr.com/ru/articles/731242/
Slack запускает API нового поколения для интеграций и автоматизаций
После почти трех лет работы и завершения бета-тестирования Slack объявил, что его совершенно новая платформа для разработчиков теперь официально доступна. API "нового поколения" с модульной архитектурой означает, что теперь как никогда легко создавать интеграции и автоматизации Slack, чтобы сделать программное обеспечение более мощным и полезным.
Новость: https://9to5mac.com/2023/04/24/slack-launches-next-gen-api/?utm_source=tldrnewsletter
После почти трех лет работы и завершения бета-тестирования Slack объявил, что его совершенно новая платформа для разработчиков теперь официально доступна. API "нового поколения" с модульной архитектурой означает, что теперь как никогда легко создавать интеграции и автоматизации Slack, чтобы сделать программное обеспечение более мощным и полезным.
Новость: https://9to5mac.com/2023/04/24/slack-launches-next-gen-api/?utm_source=tldrnewsletter
Как нам удалось модернизировать приложение Booking.com изнутри и снаружи
В этой статье мы рассказываем об основных моментах и выводах из нашего путешествия по модернизации кодовой базы и дизайна приложения Booking.com. Статья посвящена механике запуска такой программы, поддержанию ее в рабочем состоянии и доказательству эффективности.
Статья: https://medium.com/booking-product/how-we-managed-to-modernize-the-booking-com-app-from-the-inside-and-out-ed24f0e6df0a
В этой статье мы рассказываем об основных моментах и выводах из нашего путешествия по модернизации кодовой базы и дизайна приложения Booking.com. Статья посвящена механике запуска такой программы, поддержанию ее в рабочем состоянии и доказательству эффективности.
Статья: https://medium.com/booking-product/how-we-managed-to-modernize-the-booking-com-app-from-the-inside-and-out-ed24f0e6df0a
Люди, которые используют Notion для планирования всей своей жизни
Привлекательность этого инструмента для рабочего места выходит далеко за рамки организации рабочих проектов. Многие пользователи находят его не менее полезным для управления своим свободным временем.
Статья: https://www.technologyreview.com/2023/04/25/1072148/meet-the-people-using-notion-to-plan-their-whole-lives/
Привлекательность этого инструмента для рабочего места выходит далеко за рамки организации рабочих проектов. Многие пользователи находят его не менее полезным для управления своим свободным временем.
Статья: https://www.technologyreview.com/2023/04/25/1072148/meet-the-people-using-notion-to-plan-their-whole-lives/
Сохраните монолит, но разделите рабочие нагрузки
Я большой поклонник монолитных архитектур. Писать код и так достаточно сложно без того, чтобы каждый вызов функции требовал сетевого запроса, и это еще не считая инвестиций в наблюдаемость, RPC-фреймворки и среду разработки, которые необходимы для продуктивной работы в микросервисной среде.
Но, проведя полдесятка лет за управлением Ruby-монолитом от 20 до 200 инженеров и наблюдая, как его скромная база данных Postgres объемом 10 ГБ разрастается до 5 ТБ, я могу с уверенностью сказать, что есть момент, когда боль перевешивает преимущества.
Этот пост посвящен технике - разделению рабочих нагрузок - которая может значительно уменьшить эту боль, стоит немного и может быть применена на ранней стадии. Она при хорошем исполнении позволит вам наслаждаться монолитностью еще долго.
Статья: https://incident.io/blog/monolith
Я большой поклонник монолитных архитектур. Писать код и так достаточно сложно без того, чтобы каждый вызов функции требовал сетевого запроса, и это еще не считая инвестиций в наблюдаемость, RPC-фреймворки и среду разработки, которые необходимы для продуктивной работы в микросервисной среде.
Но, проведя полдесятка лет за управлением Ruby-монолитом от 20 до 200 инженеров и наблюдая, как его скромная база данных Postgres объемом 10 ГБ разрастается до 5 ТБ, я могу с уверенностью сказать, что есть момент, когда боль перевешивает преимущества.
Этот пост посвящен технике - разделению рабочих нагрузок - которая может значительно уменьшить эту боль, стоит немного и может быть применена на ранней стадии. Она при хорошем исполнении позволит вам наслаждаться монолитностью еще долго.
Статья: https://incident.io/blog/monolith
Как создать чат-бота, который узнает все за вас, за 15 минут
Краткое руководство по созданию чатбота, принимающего внешние документы в качестве контекста. Я пытаюсь рассмотреть возможность создания такого помощника, который способен усваивать новые знания из различных ресурсов и предоставлять точные и полезные ответы на мои запросы в пределах приемлемой стоимости.
Статья (открывать анонимно): https://levelup.gitconnected.com/how-to-create-a-doc-chatbot-that-learns-everything-for-you-in-15-minutes-364fef481307
Краткое руководство по созданию чатбота, принимающего внешние документы в качестве контекста. Я пытаюсь рассмотреть возможность создания такого помощника, который способен усваивать новые знания из различных ресурсов и предоставлять точные и полезные ответы на мои запросы в пределах приемлемой стоимости.
Статья (открывать анонимно): https://levelup.gitconnected.com/how-to-create-a-doc-chatbot-that-learns-everything-for-you-in-15-minutes-364fef481307
Почему я никогда не стану Senior инженером-программистом в Amazon
Сегодня я собираюсь обсудить тему, которая может удивить некоторых из вас, - почему я откажусь от любого повышения на должность старшего инженера в Amazon, даже если папа Безос сам придет ко мне и предложит повышение до выдающегося инженера. (При общей зарплате на этой должности около $750 тыс. в год, я думаю).
Да, вы не ослышались.
Если это случится, я вежливо откажусь и скажу: "Папа Безос, нет! Как вы вообще попали в здание? Вы здесь больше не работаете!".
Статья: https://medium.com/@jamesryebread/why-i-will-never-be-a-senior-software-engineer-at-amazon-6613c66c2a6e
Сегодня я собираюсь обсудить тему, которая может удивить некоторых из вас, - почему я откажусь от любого повышения на должность старшего инженера в Amazon, даже если папа Безос сам придет ко мне и предложит повышение до выдающегося инженера. (При общей зарплате на этой должности около $750 тыс. в год, я думаю).
Да, вы не ослышались.
Если это случится, я вежливо откажусь и скажу: "Папа Безос, нет! Как вы вообще попали в здание? Вы здесь больше не работаете!".
Статья: https://medium.com/@jamesryebread/why-i-will-never-be-a-senior-software-engineer-at-amazon-6613c66c2a6e
IT Insights
Не ориентируйте свой код "на будущее" То, что, по вашему мнению, может произойти, не имеет значения. Разработчики любят строить планы на будущее. Они хотят быть уверенными в том, что предвидят будущие потребности и пишут соответствующий код. Плохая новость:…
Хабр
Не пытайтесь приспособить свой код к будущему
Не имеет значения, что, по вашему мнению, может случиться потом. Разработчики любят приспосабливать свои планы под будущее. Им хочется быть уверенными, что они действуют на опережение потребностей, и...
Почему увольняют самых опытных? Потому что они слишком умные. Тейлоризм 21-го века
Опытный и талантливый сотрудник — носитель знаний и опыта. На него полагаются коллеги, он выполняет в десять раз больше работы, чем джун. Казалось бы, руководство должно молиться на такого разработчика. Но нет, к нему не испытывают особой благодарности и зачастую рады от него избавиться. Почему так происходит?
Статья: https://habr.com/ru/companies/ruvds/articles/731162/
Опытный и талантливый сотрудник — носитель знаний и опыта. На него полагаются коллеги, он выполняет в десять раз больше работы, чем джун. Казалось бы, руководство должно молиться на такого разработчика. Но нет, к нему не испытывают особой благодарности и зачастую рады от него избавиться. Почему так происходит?
Статья: https://habr.com/ru/companies/ruvds/articles/731162/
Кстати про увольнения, вспомнил прекрасную серию из двух статей:
• Мы уволили нашего лучшего разработчика — и это стало нашим лучшим решением
• Вы уволили лучшего разработчика. Надеюсь, вы довольны?
• Мы уволили нашего лучшего разработчика — и это стало нашим лучшим решением
• Вы уволили лучшего разработчика. Надеюсь, вы довольны?
AppTractor
Мы уволили нашего лучшего разработчика — и это стало нашим лучшим решением
Сила вашей команды не зависит от талантов отдельных её членов. Она зависит от их сотрудничества, упорства и взаимного уважения. Создавайте команды, которые ценят друг друга и пытаются использовать лучшие качества каждого из участников.
Использование CockroachDB для сокращения расходов на Feature Store на 75%
Чтобы найти более эффективный способ обеспечить рост, в DoorDash решили исследовать возможность использования другой базы данных в дополнение к Redis в качестве бэкенда для онлайн Feature Store. В конечном итоге они остановились на использовании CockroachDB в качестве хранилища функций. После итераций с использованием новой платформы в компании смогли сократить расходы на облако в среднем на 75% на каждую хранимую ценность при минимальном увеличении задержки.
Статья: https://doordash.engineering/2023/03/21/using-cockroachdb-to-reduce-feature-store-costs-by-75/
Чтобы найти более эффективный способ обеспечить рост, в DoorDash решили исследовать возможность использования другой базы данных в дополнение к Redis в качестве бэкенда для онлайн Feature Store. В конечном итоге они остановились на использовании CockroachDB в качестве хранилища функций. После итераций с использованием новой платформы в компании смогли сократить расходы на облако в среднем на 75% на каждую хранимую ценность при минимальном увеличении задержки.
Статья: https://doordash.engineering/2023/03/21/using-cockroachdb-to-reduce-feature-store-costs-by-75/
DoorDash Engineering Blog
Using CockroachDB to Reduce Feature Store Costs by 75%
While building our ML feature store we learned that a mix of databases yields significant gains in efficiency and operational simplicity.
Масштабирование баз данных в Activision
Краткая история того, как мы начали использовать Vitess/Kubernetes для обеспечения работы некоторых из крупнейших развлекательных франшизы на планете
Презентация: https://static.sched.com/hosted_files/kccnceu2023/3d/KubeCon-2023-Scaling-Databases-Activision.pdf
Краткая история того, как мы начали использовать Vitess/Kubernetes для обеспечения работы некоторых из крупнейших развлекательных франшизы на планете
Презентация: https://static.sched.com/hosted_files/kccnceu2023/3d/KubeCon-2023-Scaling-Databases-Activision.pdf
Изучение WebGPU
WebGPU — это один из современных API, предназначенных для работы с компьютерной графикой. В этом учебнике рассказывается об использовании графического API WebGPU для создания собственных 3D-приложений на C++ с нуля для Windows, Linux и macOS.
Руководство: https://eliemichel.github.io/LearnWebGPU/
WebGPU — это один из современных API, предназначенных для работы с компьютерной графикой. В этом учебнике рассказывается об использовании графического API WebGPU для создания собственных 3D-приложений на C++ с нуля для Windows, Linux и macOS.
Руководство: https://eliemichel.github.io/LearnWebGPU/
Немецкие исследователи выяснили, как в Баварии появился лагер
Вот занимаются же ученые действительно важными вещами! Новая статья в журнале FEMS Yeast Research раскрывает возможную историю происхождения светлого пива. Используя исторические записи и современные исследования филогеномики, ученые показали, где, вероятно, впервые появился лагер - в придворной пивоварне (Hofbräuhaus) Максимилиана Великого, курфюрста Баварии, в Мюнхене в 1602 году.
Новость: https://phys.org/news/2023-04-german-figure-lager-bavaria.html
Ну и хорошего вам лагера в пятницу!
Вот занимаются же ученые действительно важными вещами! Новая статья в журнале FEMS Yeast Research раскрывает возможную историю происхождения светлого пива. Используя исторические записи и современные исследования филогеномики, ученые показали, где, вероятно, впервые появился лагер - в придворной пивоварне (Hofbräuhaus) Максимилиана Великого, курфюрста Баварии, в Мюнхене в 1602 году.
Новость: https://phys.org/news/2023-04-german-figure-lager-bavaria.html
Исследователи разработали крошечные гидравлические тактильные сенсоры для тачскринов
Группа Future Interfaces Group из Университета Карнеги-Меллон создала сенсорный дисплей с тактильной обратной связью. Электроосмотические насосы, используемые в экранах, могут быть размером от 2 мм до 10 мм. Каждый насос может управляться индивидуально с высокой скоростью обновления. Технология может позволить создавать динамические интерфейсы на устройствах с кнопками и сигналами, которые могут появляться там, где это необходимо. Она также может вернуть физичность клавиатуры в смартфоны.
Новость: https://techcrunch.com/2023/04/27/tactile-push-notifications/?utm_source=tldrnewsletter
Группа Future Interfaces Group из Университета Карнеги-Меллон создала сенсорный дисплей с тактильной обратной связью. Электроосмотические насосы, используемые в экранах, могут быть размером от 2 мм до 10 мм. Каждый насос может управляться индивидуально с высокой скоростью обновления. Технология может позволить создавать динамические интерфейсы на устройствах с кнопками и сигналами, которые могут появляться там, где это необходимо. Она также может вернуть физичность клавиатуры в смартфоны.
Новость: https://techcrunch.com/2023/04/27/tactile-push-notifications/?utm_source=tldrnewsletter
TechCrunch
Researchers develop tiny hydraulic haptics for touchscreen notifications you can physically feel
If you find smartphone notifications annoying enough already thanks to their skill at exploiting the full range of distraction options available, whether dropping a banner from above or sprinkling pox-like red balls over your homescreen icons so as to lodge…
👍1
Конец программирования, каким мы его знаем
Когда в ноябре на свет появился ChatGPT, большинство из нас восхитились его способностью писать тексты рэпа, сопроводительные письма и школьные сочинения по английскому языку. Но Адам Хьюз, разработчик программного обеспечения, был заинтригован столь разрекламированной способностью искусственного интеллекта к написанию кода. Поэтому он зарегистрировал аккаунт и попросил ChatGPT запрограммировать модифицированную игру "Крестики-нолики", задав ей несколько странных правил, чтобы бот не мог просто скопировать код, который уже написал другой человек. Затем он задал ему вопросы по кодированию, которые задают кандидатам на собеседовании.
Что бы он ни спрашивал, Хьюз обнаружил, что ChatGPT возвращается с тем, к чему он не был готов: очень хорошим кодом. Он не сразу понял, что это означает для карьеры, которую он любит - карьеры, которая до сих пор обеспечивала ему не только хороший заработок и гарантию занятости, но и чувство того, кем он является. "Я никогда не думал, что меня заменят на моей работе, никогда, до ChatGPT", - говорит он. "У меня был экзистенциальный кризис прямо тогда и там. Многие знания, которые я считал для себя особенными, на которые я потратил семь лет, просто устарели".
Статья: https://archive.ph/7XceZ#selection-1601.0-1601.539
Мой перевод: https://apptractor.ru/info/articles/konets-programmirovaniya-kakim-my-ego-znaem.html
Когда в ноябре на свет появился ChatGPT, большинство из нас восхитились его способностью писать тексты рэпа, сопроводительные письма и школьные сочинения по английскому языку. Но Адам Хьюз, разработчик программного обеспечения, был заинтригован столь разрекламированной способностью искусственного интеллекта к написанию кода. Поэтому он зарегистрировал аккаунт и попросил ChatGPT запрограммировать модифицированную игру "Крестики-нолики", задав ей несколько странных правил, чтобы бот не мог просто скопировать код, который уже написал другой человек. Затем он задал ему вопросы по кодированию, которые задают кандидатам на собеседовании.
Что бы он ни спрашивал, Хьюз обнаружил, что ChatGPT возвращается с тем, к чему он не был готов: очень хорошим кодом. Он не сразу понял, что это означает для карьеры, которую он любит - карьеры, которая до сих пор обеспечивала ему не только хороший заработок и гарантию занятости, но и чувство того, кем он является. "Я никогда не думал, что меня заменят на моей работе, никогда, до ChatGPT", - говорит он. "У меня был экзистенциальный кризис прямо тогда и там. Многие знания, которые я считал для себя особенными, на которые я потратил семь лет, просто устарели".
Статья: https://archive.ph/7XceZ#selection-1601.0-1601.539
Мой перевод: https://apptractor.ru/info/articles/konets-programmirovaniya-kakim-my-ego-znaem.html
💩5
Первый в мире деревянный транзистор
Совместными усилиями исследователей из Научного центра древесины имени Валленберга был создан первый в мире деревянный транзистор. Его размер составляет три сантиметра в поперечнике, а скорость переключения - менее одного герца. Транзистор работает за счет электрохимической модуляции проводимости в проводящих каналах внутри пор древесины с помощью проникающего электролита. Он может быть использован для специальных приложений, включая биоразлагаемые вычислительные системы и имплантацию в живой растительный материал.
Новость: https://spectrum.ieee.org/wood-transistor
Совместными усилиями исследователей из Научного центра древесины имени Валленберга был создан первый в мире деревянный транзистор. Его размер составляет три сантиметра в поперечнике, а скорость переключения - менее одного герца. Транзистор работает за счет электрохимической модуляции проводимости в проводящих каналах внутри пор древесины с помощью проникающего электролита. Он может быть использован для специальных приложений, включая биоразлагаемые вычислительные системы и имплантацию в живой растительный материал.
Новость: https://spectrum.ieee.org/wood-transistor
😁4🤡1