Придерживаясь великой цитаты "правила созданы для того, чтобы их нарушать", давайте нарушим какие-то основополагающие правила CLR. Как на счет того, чтобы послать GC с его работой в отставку и самим заняться размещением в памяти экземпляров классов? Заодно разберемся, как все это работает где-то там под капотом CLR.
User
OpenAI API – получить ответ ChatGPT на C#
В мире развивающегося искусственного интеллекта доступ к таким технологиям, как ChatGPT от OpenAI, становится все более востребованным. Для облегчения процесса взаимодействия с этим инструментом я запилил класс AmChat, который предоставляет простой и удобный способ отправки запросов к API ChatGPT и получения ответов. В этой статье мы рассмотрим особенности класса AmChat и его использование для быстрого и эффективного получения ответов от ChatGPT в вашем коде на C#.
Класс AmChat имеет только один публичный метод – GetAnswer, который является статическим и асинхронным. Этот метод принимает вопрос в качестве параметра и возвращает ответ от ChatGPT.
Благодаря тому, что метод GetAnswer является статическим и асинхронным, его использование становится очень простым и удобным. Программист может вызвать этот метод и дождаться ответа с помощью ключевого слова await, что значительно упрощает код и делает его более читаемым.
AmChat обеспечивает надежную обработку возможных ошибок, которые могут возникнуть при взаимодействии с API ChatGPT. Это позволяет повысить стабильность и надежность приложений, использующих этот класс.
Рассмотрим пример использования класса AmChat:
Блокчейн для чайников: создаем свой первый распределенный реестр
Привет, Хабр! На связи Николай, главный редактор Web3 Tech. Как можно предположить по должности, опыта в разработке я почти не имею. Год назад закончил мини-курс по Python, сделал об этом пост и с тех пор код не писал. Но недавно набрался смелости, заручился посильной поддержкой коллег и решил создать, пусть и локальную, но все же свою блокчейн-сеть!
В блоге Web3 Tech уже публиковали соответствующий гайд, но в нем отсутствовали некоторые детали, которые могут быть неочевидны пользователям моего уровня. В этом посте я в подробностях опишу весь путь с чистого листа: от чистого компьютера, которого не касалась рука программиста, до рабочей среды с функционирующим блокчейном на три ноды и мониторингом. Постараюсь сохранить все детали, о которые может споткнуться тот, кто первый раз приблизился к разработке.
nanoCAD Конструкции PS: инструменты детального армирования и сборка изделий
Продолжаем серию видеоуроков, посвященных технике работы в nanoCAD Конструкции PS. Это приложение к Платформе nanoCAD – для автоматизации разработки документации разделов КЖ и КЖИ при проектировании зданий и сооружений. Видеоуроки будут особенно полезны инженерам строительных специальностей, работающим над проектами монолитных конструкций.
Актуальный гайд по написанию простого Windows-драйвера
В рамках данной статьи я постарался написать полноценное руководство по разработке простого драйвера под операционную систему Windows 10. Всем новичкам, заинтересованным в системном программировании рекомендую ознакомиться. Это поможет вам сделать первые шаги в разработке драйверов.
Обзор электронной книги Meebook P10 Pro
Электронная книга Meebook P10 Pro была куплена мне в подарок примерно год назад. По прошествии этого времени я сделал её обзор, основанный на личном опыте использования.
Как правильно дифференцировать дискретные функции (Часть 2. Все-таки, МКЭ?)
Публикация является продолжением обсуждения алгоритмов вычисления первой производной дискретной функции (функции, заданной массивом {аргумент: значение}, или массивом узловых значений). В части первой обсуждались функции из библиотеки NumPy, и был предложен альтернативный алгоритм, повышающий точность расчетов на границах области определения функции. В настоящей публикации предложены 2 алгоритма на основе метода конечных элементов (МКЭ, Finite Elements Method), один из которых показал на тестовых функциях лучшие результаты в сравнении с альтернативами.
Мне 15 лет и я написал QR код генератор на Rust
Привет, я бы хотел вам рассказать о том, как я учился программировать на языке Rust с нуля, для этого я выбрал цель — написать свой генератор QR-кодов.
Немного объяснений моего кода и вообще про QR-коды, надеюсь, вам понравится.
Аналоги Trello: 5 проверенных вариантов, которые точно останутся в России
Австралийский Atlassian, разработчик Trello и Jira, вынес последнее предупреждение: «Осталось 30 дней». Потом все данные пользователей из России и Беларуси будут удалены. Многие мои знакомые до последнего надеялись, что этого не случится, а сейчас срочно ищут, куда переехать.
Я тестирую разные системы управления проектами 4 года. Последний год российские сервисы растут как грибы после дождя. Лучше выбирать те, что на рынке давно. Вот 5 проверенных вариантов, советую попробовать их в первую очередь. В конце – сравнительная таблица.
Полное руководство по эффективному обучению
Привет, Я Илья и это полное руководство по эффективному обучению. Мы рассмотрим несколько шагов по подготовке к учёбе, про сам процесс и в конце вас ждёт ряд полезных навыков и советов.
Базы Данных + Telegram Бот на C#. SKitLs Framework v.2
Не так давно опубликовал статью об экспресс-создании бота для Telegram на фреймворке SKitLs.Bots.Telegram. С тех пор внутренний состав фреймворка солидно изменился, вместе с тем были выпущены предварительные версии *.BotProcesses и *.DataBases и вторая версия ядра фреймворка.
В этой статье я бы хотел дать более детальный взгляд на возможности фреймворка, а также осветить новые возможности выпущенных расширений, в частности вариант реализации администрирования базы данных через клиент телеграма.
Сканирование шины RS485
В электронике есть множество проводных полудуплексных асинхронных последовательных интерфейсов типа "общая шина". Это 1-Wire, RS485, 10BASE2(thin Ethernet), LIN, K-Line, CAN, I2C, MIL-STD-1553, ARINC 429.
Во всех этих shared-bus интерфейсах так или иначе возникает задача сканирования шины. То есть надо автоматически определить адреса устройств которые подключены к витой паре проводов.
В тексте представлен простой наивный алгоритм сканирования шины RS485. А также есть пояснение при чем тут отмычка.
Экспресс создание Telegram бота на C#
В данном материале рассматривается реализация телеграм-бота с помощью фреймворка SKitLs.Bots.Telegram, позволяющего абстрагироваться от однообразной if-else архитектуры и качественно перейти на новый, нелинейный, уровень архитектуры реализации ботов.
В качестве фундамента материала взята идея написание простого бота для отображения текущей погоды в указанном городе с помощью API сервисов Яндекса "Геокодер" и "Погода".
Разбираем float на части
Всем привет, многие, наверное, знают про структуру чисел с плавающей запятой, но мне захотелось вдохнуть немного жизни в эти формулы. В этой статье я разберу на части число, наглядно показав что и откуда берется. Код будет на Java.
Гайд по настройке IoC-контейнера в консольном приложении .NET core
Статья‑гайд от ведущего.NET‑разработчика «ITQ Group» Александра Берегового.
Бывает, что нужно написать консольное приложение без использования IHost, но при этом иметь удобства IoC, поддержку конфигурационных файлов и переменных окружающей среды. В этой статье я и расскажу, как с минимальными усилиями сделать такое приложение.
Концепции Rust, которые неплохо бы знать пораньше
Весь минувший месяц я глаз не мог оторвать от языка программирования Rust, ведь его конёк – создание современных программ, обеспечивающих безопасную работу с памятью. За прошедшие годы появилось несколько языков, которые позиционировались как «инструмент что надо» для написания надёжного бекенд-софта. Постепенно маятник качнулся от Java/C++ к Go и Rust, выстроенных на многолетних разработках по теории языков программирования. Суть – в создании инструментов, которые были бы эффективны именно в наш век.
Starting Electronics: руководство по веб-серверам на Arduino. Часть2. HTML и веб-сервер с SD картой
От переводчика. Продолжаем изучать тему создания веб-серверов на Arduino и на микроконтроллерах вообще. В этой статье скомпонованы две части оригинального руководства — «Структура веб-страницы (HTML)» и «Arduino веб-сервер с SD картой».
Материал в этих уроках излагается последовательно и после прочтения этой статьи вы будете иметь начальное представление о внутреннем устройстве веб-страниц и принципе работы веб-сервера с SD картой в качестве хранилища этих страниц.
Другими словами, после (теоретического и практического) прохождения этих уроков, у вас появится общее представление о том, как это работает и некоторые навыки по созданию собственных веб-серверов на микроконтроллерах.
Обучаем нейросеть распознавать цифры на выборке от MNIST. Реализация алгоритма обратного распространения на C#
Привет!
Будем обучать нейросеть распознавать рукописные цифры
Повышаем производительность C# кода с помощью Span<T> и Memory<T>
Эта статья познакомит вас с новыми типами, представленными в C# 7.2: Span и Memory. Я подробно разберу Span<T> и Memory<T> и покажу, как работать с ними в C#.
Как мы выбирали корпоративный мессенджер и почему остановились на Discord
Всем привет, меня зовут Виктор Щепкин, я руководитель проекта в Allods Team. В этом тексте я расскажу, как мы искали рабочий мессенджер и в итоге остановились на Discord. Также опишу, как устроен наш сервер, и поделюсь подробным описанием функций, которые мы используем.
Information
- Rating
- Does not participate
- Location
- Санкт-Петербург, Санкт-Петербург и область, Россия
- Date of birth
- Registered
- Activity