Architec.Ton is a ecosystem on the TON chain with non-custodial wallet, swap, apps catalog and launchpad.
Main app: @architec_ton_bot
Our Chat: @architec_ton
EU Channel: @architecton_eu
Twitter: x.com/architec_ton
Support: @architecton_support
Last updated 2 weeks, 2 days ago
Канал для поиска исполнителей для разных задач и организации мини конкурсов
Last updated 1 month ago
https://pesin.space/posts/2020-09-22-latencies/
Однажды Джефф Дин из Google опубликовал список под названием
“Latency numbers every engineer should know”.
Это список, обобщающий типы задержек в компьютерных системах. Он включает в себя различные временные характеристики, начиная от доступа к CPU кэшу и заканчивая сетевыми запросами.
Примеры:
? доступ к L1 кэшу: ~0.5 нс
? доступ к L2 кэшу: ~7 нс
? доступ к основной памяти (RAM): ~100 нс
? передача 1 МБ данных через сеть: ~10 мс
? поиск на HDD диске: ~2-10 мс
С тех пор значения хоть и менялись по мере развития технологий, но общий принцип понимания разницы в масштабах задержек остался актуальным. Такие данные помогают лучше понимать производительность систем, а иногда и принимать более обоснованные архитектурные решения.
В таблице по ссылке есть колонка, помогающая оценить масштаб в разнице этих задержек в привычных величинах. Например, если представить, что доступ к L1 кэшу занимает 2 секунды, то блокировка/разблокировка mutex’а в многопоточном приложении - 1 минуту, а последовательное чтение 1 Mb данных с SSD диска - 1 месяц.
Time: 3 min
Level: easy
Tags: #latencies
Ivan Pesin
Latency numbers every engineer should know
Articles, Translations, and Blog
https://tech.target.com/blog/target-autocomplete
Известные мировые ритейлеры часто делятся различными наработками в области IT. Поскольку нам интересен их опыт, будем иногда посматривать в их техно-блоги.
Сегодня познакомимся с компанией Target, которая является второй в этой области в Америке после Wallmart.
В данной статье они описывают свой подход к рекомендациям продуктов в корзине на основе Target AutoComplete - модели машинного обучения, ими разработанной.
Из особенностей выделяют следующее:
? рекомендации происходят в реальном времени, динамически корректируясь по мере добавления покупок.
? модель работает не на основе отдельных товаров, а на основе последовательностей, анализируя список товаров, добавленных в корзину.
Например, когда добавлено молоко и яйца, что говорит о том, что пользователь вероятно выбирает продукты для завтрака, будут рекомендованы хлопья и кофе. Но если добавлен сахар, то этот набор уже больше подходит для выпечки, и в рекомендациях окажется мука и разрыхлитель.
В процессе обработки больших объемов данных о покупках клиентов используются Apache Hive и Spark.
Также немного описан подход к построению графовых сетей и слоев внимания для обучения модели. Графовые сети помогают модели понимать сложные взаимосвязи между различными товарами, а слои внимания позволяют модели сосредоточиться на наиболее важных элементах данных при предсказании рекомендаций.
Time: 10 min
Level: easy
Tags: #ML #ecom #retail
Target AutoComplete: Real Time Item Recommendations at Target
An article by Bhavtosh Rath : A look at our Data Science team's patent-pending AI recommendation model
https://dev.to/lovepreetsingh/microservices-vs-monolithic-architecture-a-practical-approach-4m06
Монолитную архитектуру, со всеми её недостатками, можно с уверенностью считать пережитком прошлого. Преимущества микросервисного подхода настолько перевешивают чашу весов в эту сторону, что сейчас даже при разработке самого просто приложения нет смысла отказываться от всех плюсов, которые даёт эта современная парадигма.
Допустим, нам нужно разработать Калькулятор. Стоит ли рассматривать здесь монолитную архитектуру, в то время как разделение на микросервисы способно упростить нам жизнь.
? При таком подходе мы выделим отдельные сервисы для всех операций, а начнем с простых: сложение, умножение, вычитание, деление. Очевидно, что нагрузка будет разделяться неравномерно. Скорее всего пользователи будут чаще складывать и умножать. Тут мы и масштабируем только эти два сервиса, не трогая остальные. Добавим им ресурсов, перенесём на отдельный сервер.
? Захотим расширить набор действий, добавив тригонометрические операции - нам поможет паттерн Service Discovery. Сможем расширять наше приложение, не перезапуская его.
? Конечно добавим Health Checks. Зачем нам слать запросы в сервис вычисления логарифмов, если он не работоспособен, а команда разработавших его php-программистов в отпуске?
И это далеко не все шаблоны, которыми мы можем здесь воспользоваться, упростив себе жизнь. В общем, даже на таком простом примере очевидно удобство, гибкость, надежность. А в более сложных системах всё это возрастает кратно.
Time: 5 min
Level: easy
Tags: #microservices
DEV Community
Microservices vs Monolithic Architecture: A Practical Approach
***📍*** Monolithic and Its issues ***🙂*** When we start learning backend development and...
https://diff.wikimedia.org/2018/04/20/why-it-took-a-long-time-to-build-that-tiny-link-preview-on-wikipedia/
Пример того, как простая на первый взгляд функция может потребовать немало времени на разработку.
В Википедии существует предварительный просмотр ссылок - при наведении указателя мыши появляется небольшой макет страницы, на которую она ведёт. Выглядит просто и создается впечатление, что в разработке не вызвало никаких сложностей.
На самом деле, всё далеко не так и в данной статье описан долгий путь от идеи до реализации. Здесь потребовалась работа над алгоритмами выбора миниатюры, генерации краткого содержания, были проведены дизайнерские исследования и реализованы требования к масштабируемости и производительности данного API, чтобы иметь возможность обрабатывать до 0.5 млн обращений к нему в минуту.
Time: 15 min
Level: medium
Tags: #system_design
Diff
Why it took a long time to build that tiny link preview on Wikipedia
The history of page previews.
https://dev.to/danielhe4rt/database-101-how-social-media-likes-are-stored-in-a-database-3oii
Когда-нибудь задумывались, как платформы вроде Instagram или Facebook отслеживают количество лайков на ваших публикациях? Погрузитесь в исследование эффективного моделирования данных с использованием ScyllaDB, рассмотренного в данной статье.
При решении данной архитектурной задачи можно столкнуться с рядом сложностей:
? Масштабируемость: На популярных платформах число лайков может увеличиваться очень быстро
? Быстродействие: Пользователи ожидают мгновенного отображения их лайка после того, как они нажали кнопку
? Согласованность: Важно обеспечивать, чтобы все пользователи видели одно и то же число лайков в один и тот же момент времени
? Распределенность: Может возникнуть сложность в обеспечении согласованности данных между различными узлами
Решение части из этих проблем рассмотрено в статье. Раскрыты особенности и инструменты, которые предлагает ScyllaDB в контексте данной задачи.
Time: 15 min
Level: medium
Tags: #system_design #db #ScyllaDB
DEV Community
Database 101: How social media “likes” are stored in a database
Did you ever think about how Instagram, Twitter, Facebook or any social media platforms track who...
https://www.mckinsey.com/industries/technology-media-and-telecommunications/our-insights/yes-you-can-measure-software-developer-productivity
Известная консалтинговая компания Mckinsey взяла на себя смелость заявить о том, якобы они нашли способы измерения продуктивности разработчиков.
На деле, пожалуй, ничем оригинальным они не делятся. Всё те же стандартные идеи о качестве кода, скорости разработки, количестве закрытых задач в трекере и т.д.
Опытный технический специалист вряд ли что-то откроет для себя в этой статье. Но, вероятно, кому-то она может понадобиться в качестве ссылки на авторитетный источник.
Time: 15 min
Level: medium
Tags: #productivity
McKinsey & Company
Yes, you can measure software developer productivity
There is no denying that tracking, benchmarking, and measuring software developer productivity can be difficult. Here's how organizations can do it better.
https://slack.engineering/real-time-messaging/
Мгновенная и надёжная доставка сообщений в реальном времени - не простая задача. В статье раскрываются подходы и решения напрямую от компании Slack, для которых данная функция их продукта является ключевой.
Компания описывает основные принципы построения архитектуры своей системы для обеспечения этих целей, раскрывая вопросы:
? распределения и масштабируемости
? территориального распределения пользователей
? согласования данных между устройствами и платформами
? обеспечение пользовательской сессии с непрерывной и синхронизированной работой
? стратегии, используемые для сохранения порядка сообщений
Time: 15 min
Level: hard
Tags: #system_design #architecture
Slack Engineering
Real-time Messaging - Slack Engineering
Did you know that ground stations transmit signals to satellites 22,236 miles above the equator in geostationary orbits, and that those signals are then beamed down to the entire North American subcontinent? Satellite radios today serve hundreds of channels…
https://dzone.com/articles/api-and-database-performance-optimization-strategi
В статье рассматриваются различные подходы и методы для оптимизации производительности баз данных:
?различные типы кеширования
?методы оптимизации запросов
?использование индексов и их типы
?мониторинг индексов
?виды мониторинга для обнаружения узких мест
?стратегии шардирования
?подходы к тестированию производительности
Все эти темы раскрываются здесь не очень глубоко. Но удобство данной публикации в том, что здесь собраны все основные подходы, что позволит систематизировать знания. А также может послужить для выбора наиболее актуальной стратегии по улучшению производительности при работе с БД
Time: 15 min
Level: medium
Tags: #db #optimization
DZone
API and Database Performance Optimization Strategies
Optimize API and database performance with caching, query optimization, indexing, data sharding, and performance testing for improved user experience.
https://softskills.audio/
It takes more than great code to be a great engineer - слоган аудиоподкаста, который хочется порекомендовать.
Несколько лет назад я задался целью прокачать уровень своего английского. Один из способов, которые помогают в этом - регулярное прослушивание подкастов. Я нашёл несколько неплохих, касающихся именно it-тематики. Но вот этот, на мой взгляд, очень сильно выделяется среди прочих. Здесь мало обсуждаются технические моменты. Из самого названия следует, что ориентирован он именно на soft skills. И для этих целей он подходит очень здорово. Здесь вы познакомитесь с рядом интересных ситуаций. Часть из них действительно часто встречается в работе - выгорание, увольнения, разговоры о повышении. А часть просто довольно забавна. Например, один из слушателей удаленно собеседовал кандидата в смежный отдел, а спустя несколько недель обнаружил, что собеседуемый и вышедший на работу - это разные люди.
Все эти моменты ведущие обсуждают с юмором, но в конце всегда дают серьёзный ответ.
Так что, помимо прокачивания listening skills в английском, здесь вы получите полезные советы, как действовать в определенных ситуациях на работе, немного развлечётесь, и получите примерное представление о том, чем живут и с чем сталкиваются работники it в различных, в том числе и небольших североамериканских компаниях.
Tags: #soft_skills
Soft Skills Engineering
It takes more than great code to be a great engineer. Soft Skills Engineering is a weekly advice podcast for software developers about the non-technical stuff that goes into being a great software developer.
Architec.Ton is a ecosystem on the TON chain with non-custodial wallet, swap, apps catalog and launchpad.
Main app: @architec_ton_bot
Our Chat: @architec_ton
EU Channel: @architecton_eu
Twitter: x.com/architec_ton
Support: @architecton_support
Last updated 2 weeks, 2 days ago
Канал для поиска исполнителей для разных задач и организации мини конкурсов
Last updated 1 month ago