Недавно на созвоне финансовый аналитик показывал мне свою Excel-модель. Двенадцать листов, формулы ссылаются друг на друга через три уровня вложенности, именованные диапазоны вместо переменных, и INDIRECT, который динамически собирает адреса ячеек из строк. Я смотрел на это и думал: чувак, ты же написал компилятор. Ты просто не знаешь об этом.
Рубрика «lambda»
Самый популярный язык программирования — Excel. И он Тьюринг-полный
2026-03-18 в 10:12, admin, рубрики: Excel, lambda, microsoft excel, Rule 110, spreadsheet errors, клеточные автоматы, спредшиты, тьюринг-полнота, финансовое моделирование, функциональное программированиеВ AWS утро начинается не с кофе. Пал US-EAST-1
2025-10-22 в 13:01, admin, рубрики: AWS, DNS, dynamodb, EC2, incident, lambda, monitoring, ruvds_статьи, sla
Мрачным утром 20 октября 2025 года мониторинг AWS был краснее некуда, его залило кровью сервисов. Пал крупнейший и по совместительству старейший регион, обрабатывающий 35–40% всего глобального трафика AWS — US-EAST-1Читать полностью »
Иммутабельность в механизме Durable Execution: проблемы и решение
2024-03-03 в 10:00, admin, рубрики: AWS, azure, durable execution, lambda, restate, step functions, temporal, перевод_ruvds, устойчивые функции
За последние годы мы наблюдаем всплеск разработки инструментов и платформ, обеспечивающих Durable Execution (устойчивое выполнение). Немного поясню его принцип.
Компьютеры на сегодня достигли таких скоростей, что могут записывать результат каждой нетривиальной задачи в постоянное хранилище. Это, в свою очередь, позволяет им прекрасно восстанавливаться после временного сбоя путём повторного выполнения по журналу всех завершённых задач до момента этого сбоя. Выполнив эти задачи, система спокойно продолжает работу с точки, где она была прервана. При достаточном внимании и осторожности такой механизм можно реализовать с минимальным влиянием на модель программирования или производительность, что, безусловно, очень ценно. Не так ли?Читать полностью »
Масштабирование сервиса мониторинга аудио-видео-потоков в Prime Video со снижением расходов на 90%
2023-05-06 в 20:34, admin, рубрики: Amazon Web Services, aws lambda, lambda, serverless, serverless containers, Анализ и проектирование систем, высокая производительность, Облачные вычисленияПереход от архитектуры распределённых микросервисов к монолитному приложению помог добиться более высокого масштаба, отказоустойчивости и снизить затраты.
В Prime Video мы предлагаем нашим клиентам тысячи прямых трансляций. Чтобы гарантировать, что клиенты беспрепятственно получают контент, Prime Video создала инструмент для мониторинга каждого потока, просматриваемого клиентами. Этот инструмент позволяет нам автоматически выявлять проблемы с качеством воспринимаемого контента (например, повреждение блока или проблемы с синхронизацией аудио / видео) и запускать процесс их устранения.
Бессерверные вычисления — состояние индустрии
2021-09-21 в 8:39, admin, рубрики: aws step functions, azure functions, google cloud functions, lambda, serverlessПеремещение — прошлый век! Альтернативы std::move в «C++ будущего»
2020-01-17 в 13:41, admin, рубрики: autoclosure, c++, closure, lambda, lazy, move semantics, proposal, relocation, замыкание, ленивые вычисления, лямбда, перемещение, ПрограммированиеКаждый раз, когда мы пишем класс, управляющий ресурсами, мы задумываемся о том, что, скорее всего, для него придётся писать move-конструктор и move-присваивание. Ведь иначе объекты такого типа становятся неуклюжими, как std::mutex, ими тяжело пользоваться на практике: ни вернуть из функции, ни передать в функцию по значению, ни положить в вектор — а если положить его в другой класс как один из членов, то тот класс также «заболевает».
Положим, мы преодолели свою лень (хотя в Rust таких проблем нет!) и садимся писать move-операции для нашего класса. Проблема в том, что move-семантика в C++ имеет фундаментальное ограничение: каждый владеющий ресурсами тип с move-операциями должен иметь пустое состояние, то есть состояние с украденными ресурсами. Его нужно описывать в документации и предоставлять ему поддержку, то есть тратить время и силы на то, что нам не нужно.
Для абстрактных типов данных пустое состояние обычно бессмысленно — если у объекта украли его ресурсы, то он не сможет выполнять свои обычные функции. Но мы вынуждены это делать, чтобы реализовать move-семантику. Для некоторых типов пустое состояние недопустимо: open_file (в противовес теоретическому file), not_null_unique_ptr<T> (в противовес unique_ptr<T>).
Говоря словами Arthur O'Dwyer, мы заказывали телепорт, а нам дали «вас клонируют и убивают первоначальную копию». Чтобы вернуть себе телепорт, проходите под кат!
ServerLess PHP
2019-11-25 в 11:51, admin, рубрики: backend, Bref, lambda, php, serverless, telegram bots, Блог компании OTUS. Онлайн-образованиеНакануне запуска курса «Backend-разработчик на PHP» мы провели традиционный открытый урок. В этот раз познакомились с концепцией Serverless, поговорили о её реализации в AWS, разобрали принципы работы, сборки и запуска, а также построили простой TG-бот на PHP на базе AWS Lambda.
Преподаватель — Александр Пряхин, технический директор компании Westwing Russia.

Обработка 40 ТБ кода из 10 млн проектов на выделенном сервере с Go за $100
2019-10-09 в 19:33, admin, рубрики: Amazon Web Services, AWS, Hetzner, lambda, высокая производительность, облачные сервисы, Серверное администрирование, хостингНаписанной мной инструмент командной строки Sloc Cloc and Code (scc), который теперь доработан и поддерживается многими отличными людьми, подсчитывает строки кода, комментарии и оценивает сложность файлов внутри каталога. Здесь нужна хорошая выборка. Инструмент подсчитывает в коде операторы ветвления. Но что такое сложность? Например, заявление «У этого файла сложность 10» не очень полезно без контекста. Чтобы решить эту проблему, я запустил scc на всех исходниках в интернете. Это также позволит найти какие-то крайние случаи, которые я не рассматривал в самом инструменте. Мощное испытание методом грубой силы.
Но если я собираюсь запустить тест на всех исходниках в мире, это потребует много вычислительных ресурсов, что тоже интересный опыт. Поэтому я решил всё записать — так и появилась эта статья.
Короче говоря, я загрузил и обработал много исходников.
Голые цифры:
- 9 985 051 репозиториев всего
- 9 100 083 репозитория хотя бы с одним файлом
- 884 968 пустых репозиториев (без файлов)
- 3 500 000 000 файлов во всех репозиториях
- Обработано 40 736 530 379 778 байт (40 ТБ)
- Идентифицировано 1 086 723 618 560 строк
- Распознано 816 822 273 469 строк с кодом
- 124 382 152 510 пустых строк
- 145 519 192 581 строк комментариев
- Общая сложность по правилам scc: 71 884 867 919
- 2 новые ошибки, найденные в scc
Serverless: на 15% медленнее и в восемь раз дороже
2019-09-24 в 6:35, admin, рубрики: Amazon Web Services, API Gateway, AWS, devops, ebs, EC2, Elastic Beanstalk, lambda, s3, serverless, облачные сервисы, Серверная оптимизация, Серверное администрированиеНедавно я решил поэкспериментировать с API на нашем сайте CardGames.io и попробовать фреймворк Serverless. Последние несколько лет он стал горячей темой в мире технологий, а я прокрастинировал хотел поддерживать технические навыки в актуальном состоянии и попробовать что-то новое. Поэтому решил потратить несколько часов на изучение Serverless и посмотреть, есть ли смысл в таком размещении API.
Текущая конфигурация
CardGames.io работает на AWS. Все html-страницы, CSS, JavaScript и изображения хранятся на S3. У нас есть API на C#, размещённый на Elastic Beanstalk, он работает на серверах Linux под управлением .NET Core с Docker. Наконец, мы используем CloudFront CDN перед статикой на S3 и API. Ниже приведён счёт EC2 за август 2019 года. У нас есть несколько других инстансов, но API работают на m1.small (да, вероятно, t2.small лучше подходит) с классической балансировкой нагрузки. Если суммировать выделенное красным, то выходит $164,21 в месяц, неплохо. Я даже включил туда EBS, поскольку не уверен, как разбить эти расходы, у нас ведь несколько проектов на EC2.
Читать полностью »


