Рубрика «асинхронность»

Введение. Role-Play LLM бот

Все началось как шутка. Я сидел с друзьями и подумал: а вот было бы прикольно внедрить разные модели нейросетей в один чат и заставить их думать, что они реальные люди и работают в корпорации.

Весь смысл был в том, чтобы это были действительно разные модели и пользователь мог просто между ними переключаться по запросу. Для начала мне нужно было найти зоопарк апи ключей с бесплатными лимитами. Я прошерстил весь интернет и в итоге нашел относительно нормальные варианты: Groq для LLama, Google AI Studio для Gemma и Gemini.

Читать полностью »

Конечный автомат и его внутреннее устройство

Примечание переводчика:

  • State Machine, конечный автомат это преобразованный async метод. Компилятор преобразует метод в тип, реализующий конечный автомат (наследуется от IAsyncStateMachine). Благодаря такому механизму, при достижении первого оператора await поток, начавший метод, может возвращаться без «физического» оператора return метода, тем самым, продолжая выполнение основной программы.

    В математике, конечный автомат это некоторая система, которая может находится только в одном состоянии.

    (Возможные) состояния конечного автомата:

Асинхронное программирование в c# стало стандартом де-факто с выходом .NET FrameWork 4.5 и появление ключевых слов: async и await. В современном мире трудно представить приложение: API, десктопное приложение без асинхронных вызовов. Однако, мне стало интересно самому разобраться, что на самом деле происходит по капотом: как компилятор преобразует асинхронный код, что такое state machine и почему использование .Result/.wait() может привести к deadlock.

Часть 1. Исторический контекст появления async/await

1.1 Синхронное программирование

Читать полностью »

Привет! Меня зовут Vlad, я начинающий Python-разработчик и энтузиаст изучения языков.

Недавно я столкнулся с классической проблемой полиглота-самоучки: учебники дают теорию, аудиокурсы — пассивное восприятие, но нет главного — обратной связи по произношению. Репетиторы дороги, а разговорные клубы требуют уровня, которого у меня еще не было.

Я решил закрыть эту боль кодом. Моя цель была амбициозной: создать Telegram-бота, который:

  1. Слушает голосовые сообщения и распознает речь без дорогих облачных API.

  2. Оценивает точность произношения в процентах, сравнивая с эталоном.

  3. Читать полностью »

Всем привет! Меня зовут Наташа, и я системный аналитик. Сейчас я в поиске работы, сходила на пару собеседований, и хочу описать ответы на некоторые вопросы, которые там встречались — некая рефлексия для меня, и надеюсь, эти короткие статьи будут полезны и еще кому‑то.

Итак, кейс: 

Пользователь банка хотел перевести 100р другу, а потом нажал на кнопку «Перевести» нечаянно пять раз — как предотвратить отпра вку 5 раз по 100р?

На собеседовании я почему-то не дала очевидный ответ с синхронным взаимодействием и блокировкой кнопки, сразу пошла рассуждать об асинхронной версии.

Читать полностью »

Введение: мой личный fatal error

Привет, меня зовут Арина, я Fullstack-разработчик.

Долгое время я была уверена, что «много работать» = «работать хорошо».

Мой день выглядел так:

  • 8 часов онлайна (офис/удалёнка),

  • из них ~4 часа — созвоны, где меня не должно было быть,

  • ещё 2 — чаты, мессенджеры и «срочные уточнения»,

  • и только оставшиеся 2 часа — реальный код.

Чтобы наконец-то что-то успеть, я «добирала» ещё 3–4 часа вечером или ночью. В итоге к выходным превращалась в уставшее бревно.

А потом я стала мамой.

Читать полностью »

Размышление о том, как изменилась инженерная культура, почему сегодняшние инструменты радикально расширили горизонты разработки и что делает молодых инженеров способными создавать системы, которые раньше выглядели мягко сказать нереально.

Читать полностью »

Хватит спорить — пора запускать и сравнивать.

Тестируем реальные сценарии, измеряем RPS, смотрим на потребление памяти и разбираемся, когда самая разумная стратегия — это просто подождать и обновить Python на free-threading версию. 

Привет! Меня зовут Игорь Анохин, я — руководитель платформенной разработки в K2 Cloud и более 8 лет программирую на Python. 

В чём проблема

Хочу поговорить про асинхронность и многопоточностьЧитать полностью »

Эта статья — эксперимент на стыке музыки, математики и программирования. Мы попробуем взглянуть на аккорды не как на набор звуков, а как на архитектурные паттерны. Я покажу, как гармонические последовательности могут подсказать нам структуру алгоритмов, приведу примеры кода и проведу параллели между миром нот и миром вычислений.

Читать полностью »

https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js