Давайте рассмотрим, как вы можете реализовать обработку ошибок, используя IExceptionHandler в .NET Core 8.0. Этот подход следует похожим паттернам предыдущих методов обработки ошибок в ASP.NET Core, но добавляет дополнительную возможность внедрения вашей собственной логики обработки исключений в exception handling middleware.
back-end .NET developer, изучающий front-end
Локальные нейросети. Аналог ChatGPT-3.5 на домашнем ПК: OpenChat 7B превосходящая 70B, DeepSeek для кода уровня ChatGPT
Есть много локальных аналогов ChatGPT, но им не хватает качества, даже 65B модели не могут конкурировать хотя бы с ChatGPT-3.5. И здесь я хочу рассказать про 2 открытые модели, которые всё-таки могут составить такую конкуренцию.
Речь пойдет о OpenChat 7B и DeepSeek Coder. Обе модели за счет размера быстры, можно запускать на CPU, можно запускать локально, можно частично ускорять на GPU (перенося часть слоев на GPU, на сколько хватит видеопамяти) и для такого типа моделей есть графический удобный интерфейс.
И бонусом затронем новую модель для качественного подробного описания фото.
UPD: Добавлена информация для запуска на Windows с ускорением на AMD.
Новые данные опровергают ключевое предположение о наличии темной энергии
Рисунок 1. Эволюция светимости, имитирующая темную энергию в сверхновой (SN) космологии. Остаток Хаббла — это разница в светимости SN относительно космологической модели без темной энергии (черная пунктирная линия). Голубые круги — это бинированные данные SN. Красная линия — это кривая эволюции, основанная на нашей возрастной датировке галактик-хозяев раннего типа. Сравнение нашей эволюционной кривой с данными SN показывает, что эволюция светимости может имитировать остатки Хаббла, использованные при открытии и выводе темной энергии (черная сплошная линия). Предоставлено: Университет Ёнсе
Передача данных через анимированные QR на Gomobile и GopherJS
В данной статье я хочу рассказать о небольшом и забавном проекте выходного дня по передаче файлов через анимированные QR коды. Проект написан на Go, с использованием Gomobile и Gopherjs – последний для веб-приложения для автоматического замера скорости передачи данных. Если вам интересна идея передачи данных через визуальные коды, разработка веб-приложений не на JS или настоящая кроссплатформенность Go — велкам под кат.
Курс MIT «Безопасность компьютерных систем». Лекция 9: «Безопасность Web-приложений», часть 3
Массачусетский Технологический институт. Курс лекций #6.858. «Безопасность компьютерных систем». Николай Зельдович, Джеймс Микенс. 2014 год
Computer Systems Security — это курс о разработке и внедрении защищенных компьютерных систем. Лекции охватывают модели угроз, атаки, которые ставят под угрозу безопасность, и методы обеспечения безопасности на основе последних научных работ. Темы включают в себя безопасность операционной системы (ОС), возможности, управление потоками информации, языковую безопасность, сетевые протоколы, аппаратную защиту и безопасность в веб-приложениях.
Лекция 1: «Вступление: модели угроз» Часть 1 / Часть 2 / Часть 3
Лекция 2: «Контроль хакерских атак» Часть 1 / Часть 2 / Часть 3
Лекция 3: «Переполнение буфера: эксплойты и защита» Часть 1 / Часть 2 / Часть 3
Лекция 4: «Разделение привилегий» Часть 1 / Часть 2 / Часть 3
Лекция 5: «Откуда берутся ошибки систем безопасности» Часть 1 / Часть 2
Лекция 6: «Возможности» Часть 1 / Часть 2 / Часть 3
Лекция 7: «Песочница Native Client» Часть 1 / Часть 2 / Часть 3
Лекция 8: «Модель сетевой безопасности» Часть 1 / Часть 2 / Часть 3
Лекция 9: «Безопасность Web-приложений» Часть 1 / Часть 2 / Часть 3
Внедрение зависимостей в Go
Недавно я создал небольшой проект на языке Go. После нескольких лет работы с Java я был сильно удивлён тем, как вяло внедрение зависимостей (Dependency Injection, DI) применяется в экосистеме Go. Для своего проекта я решил использовать библиотеку dig от компании Uber, и она меня по-настоящему впечатлила.
Я обнаружил, что внедрение зависимостей позволяет решить множество проблем, с которыми я сталкивался в работе над Go-приложениями: злоупотребление функцией
init
и глобальными переменными, чрезмерная сложность настройки приложений и др.В этой статье я расскажу об основах внедрения зависимостей, а также покажу пример приложения до и после применения этого механизма (посредством библиотеки
dig
).Введение в систему модулей Go
Грядущий релиз версии 1.11 языка программирования Go принесет экспериментальную поддержку модулей — новую систему управления зависимостями для Go. (прим.перев.: релиз состоялся)
Недавно я уже писал об этом небольшой пост. С тех пор кое-что слегка поменялось, да и мы стали ближе к релизу, поэтому мне кажется, что настало время для новой статьи — добавим больше практики.
Итак, вот, что мы будем делать: создадим новый пакет и потом сделаем несколько релизов, чтобы посмотреть, как это работает.
Travis CI: автоматическая загрузка собранных модулей на GitHub
В этой очень небольшой заметке я расскажу об очень небольшом усовершенствовании процесса автоматической сборки приложения в Travis CI. Я это проделал на примере Андроид-приложения, но, естественно, это будет работать и для других языков. Постановка задачи очень проста — участники сообщества попросили автоматически собирать в выкладывать приложение после каждого коммита в репозитории на GitHub. То есть речь идёт не о сборке фиксированных версий, а именно о «ежедневных» сборках, которые можно сразу же установить и тестировать, не дожидаясь официальной версии. Я, как разработчик, подобную заинтересованность могу только приветствовать, так как это сильно повышает качество обратной связи. Реализация этого процесса очень проста, только штатные средства GitHub и Travis CI, никакой магии. Так что я до сих пор сомневаюсь, стоит ли вообще о таком писать и отвлекать уважаемых хаброжителей от более серьёзных тем. Но если кто заинтересовался — прошу под кат.
Как настроить деплой web-приложения на Go для Gitlab на VDS
Предисловие
Эта статья является результатом недельного поиска весьма разрозненной информации о том, как же настроить деплой web-сервиса на Go. Не на Heroku, не на Docker, не на Digital Ocean, а просто на старомодный VDS с CentOS 7x64. Почему-то в сети нет этой информации, а большинство туториалов начинаются с того, как настроить билд, и заканчиваются запуском тестов.
Сразу предупрежу, что впервые настраивал CI/CD процесс, так что это статья от новичка новичку.
Typegram — дзэн блог платформа
Привет, Хабр. Решил показать вам движок, который я потихоньку разрабатываю. Это блог платформа, по возможностям очень близкая к медиум и подобным проектам.
Базовые возможности:
Публикации, комментарии, избранное, подписки, уведомления, рейтинги, голосования.
Минималистичный, текстовый дизайн:
Как я запустил свой первый SaaS-проект работая по найму целый день
Откуда берётся время и почему нам кажется, что оно течёт?
У Пола Давьеса [Paul Davies] есть, над чем задуматься. Он работает физиком в Аризонском государственном университете и ведёт исследования во многих областях, от абстрактных полей теоретической физики и космологии до астробиологии, изучения жизни за пределами Земли. Мы провели интервью с Давьесом, и разговор естественным образом перешёл на тему времени – один из давних его интересов.
Течение времени – реальность или иллюзия?
Течение времени – иллюзия, и, откровенно говоря, вряд ли многие учёные и философы с этим не согласятся. Причина иллюзорности видна, если остановится и задуматься – что это вообще означает, «течение времени»? Когда мы говорим, что что-то течёт наподобие реки, мы имеем в виду, что часть этой реки в какой-то момент находится в другом месте по отношению к моменту в прошлом. Иначе говоря, она движется во времени. Но время не может двигаться во времени – время это время. Многие люди ошибочно начинают полагать, что утверждение о том, что время не течёт, на самом деле говорит о том, что времени нет, что оно не существует. Это ерунда. Время существует. Мы измеряем его часами. Часы не измеряют течение времени, они измеряют интервалы времени. Естественно, существуют интервалы времени между различными событиями; именно эти и меряют часы.
Спектральный анализ сигналов
Не так давно товарищ Makeman описывал, как с помощью спектрального анализа можно разложить некоторый звуковой сигнал на слагающие его ноты. Давайте немного абстрагируемся от звука и положим, что у нас есть некоторый оцифрованный сигнал, спектральный состав которого мы хотим определить, и достаточно точно.
Под катом краткий обзор метода выделения гармоник из произвольного сигнала с помощью цифрового гетеродинирования, и немного особой, Фурье-магии.