Обновить
8K+
40
Дмитрий Афонченко@Indermove

back-end .NET developer

28
Рейтинг
9
Подписчики
Отправить сообщение

Как стримить данные в ASP.NET и как их принять

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели5.9K

Недавно мне попалась отличная статья про IAsyncEnumerable и стриминг данных. В ней у автора упал прод, который пытался выдать 500 000 записей разом и упал на вызове ToListAsync() с OOM при 8 ГБ RAM. Далее в статье описывается, как все это стримить с помощью IAsyncEnumerable с примерами кода. В целом после прочтения статьи может сложиться впечатление, что все свои ToListAsync() срочно нужно убрать и заменить на стриминг.

Но со времен появления стримингового апи в .NET мне всегда было интересно, не только то как отдавать стримы, но и как это все получать на клиенте?

Читать далее

Работает ли Caveman? Тестируем модный скилл для экономии токенов

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели9.4K

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

Что он обещает? Идея простая — скилл указывает нейронке говорить, как пещерный человек, убирать артикли, говорить коротко и думать лаконично. На первых строках README обещается экономия до 75%. При этом без потери качества!

Но работает ли все это на самом деле? Ведь 75 000 звёзд на репозитории не могут ошибаться?

Читать далее

Можно ли отдать всю разработку полностью ИИ? Я попробовал

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели11K

Всем привет!

Хочу поделиться историей, как я решил попробовать сделать для себя тот самый саморазвивающийся ИИ-стартап и что из этого вышло.

Начну с предыстории. В 2022 году я переехал в Грузию, в Батуми. Здесь я практически сразу начал учить язык, и мне захотелось чуть упростить себе этот процесс — сделать это я решил с помощью своего Telegram-бота. Почему бота? Всем известно, что материал усваивается быстрее и проще, если не садиться за него раз-два в неделю, а стараться изучать что-то небольшое каждый день. Тут мне бы очень помог Duolingo. Но там грузинского нет, хотя есть клингонский. Короче, было решено сделать свой Duolingo из Telegram-бота, только для грузинского.

Сначала получилось что-то совсем простое: перевести / сохранить слово / устроить с новыми словами квиз. Долгое время этого функционала мне хватало, и бот я не развивал, но вот решил попробовать автоматизировать его при помощи современных LLM. Идея была такая — ночью агенты кодят. А утром я читаю чейнджлог и наслаждаюсь новыми функциями. Что получилось на деле —можно почитать под катом.

Читать далее

Магия dotnet test. Как запускаются ваши тесты в .NET?

Уровень сложностиСредний
Время на прочтение18 мин
Охват и читатели8.3K

Вы когда-нибудь задумывались о том, как работают тестовые фрймворки в .NET? Ну вот когда вы пишите функцию, кликаете в IDE на треугольник, а потом — бац! — и получаете пару зелёных галочек. Вот как это происходит? Магия? Ну... отчасти да.

Привет! Меня зовут Дима Афонченко, я — техлид в Dodo Engineering. Сегодня расскажу, как устроена работа тестовых фреймворков в .NET и причём тут, собственно, магия. Будет интересно, поехали!

Читать далее

Как учиться учиться и для чего интровертам телеграм-канал

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели15K

«Лучший способ в чём-то разобраться до конца — это попробовать научить этому компьютер». Дональд Кнут (как минимум викицитатник говорит, что он так сказал).

Год назад я осознал, что моё развитие как инженера застопорилось. Не то, чтобы я перестал изучать что-то новое, скорее, страдал от отсутствия системности. Не было понятно, что изучать дальше, что уже получилось изучить и что из изученного я смог для себя извлечь. Поэтому я решил как-то осмыслить процесс самообучения и за год привёл его к системе, которая мне довольно сильно помогает.

Для тех, кто, как и я, испытывал похожие проблемы, я решил поделиться своим методом.

Читать далее

Тонкости настройки через веб экранов статуса заказа

Время на прочтение13 мин
Охват и читатели4.8K

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

Читать далее

SlowPochta — мессенджер негарантированной доставки сообщений с неопределенным временем пересылки

Время на прочтение2 мин
Охват и читатели24K


Проблема избыточной скорости работы


Несмотря на статьи о том, что всё плохо и не оптимизировано, наверное вы могли заметить, что всё вокруг стало как-то быстро, даже слишком. Куда делись те душевные деньки, когда между загрузками страниц мы могли позволить себе заварить чашечку чая? Скоро во время очередного приступа прокрастинации не получится оправдаться тем, что что-то компилируется или рендерится! Все станет очень быстрым.

О проблеме избыточной скорости работы приложений, а конкретно мессенджеров и пойдет речь в текущей статье.
Читать дальше →

Как настроить деплой web-приложения на Go для Gitlab на VDS

Время на прочтение3 мин
Охват и читатели28K

Предисловие


Эта статья является результатом недельного поиска весьма разрозненной информации о том, как же настроить деплой web-сервиса на Go. Не на Heroku, не на Docker, не на Digital Ocean, а просто на старомодный VDS с CentOS 7x64. Почему-то в сети нет этой информации, а большинство туториалов начинаются с того, как настроить билд, и заканчиваются запуском тестов.

Сразу предупрежу, что впервые настраивал CI/CD процесс, так что это статья от новичка новичку.
Читать дальше →

Информация

В рейтинге
315-й
Откуда
Россия
Работает в
Зарегистрирован
Активность