- Видео 7
- Просмотров 15 912
Valeriy Maslennikov
Добавлен 5 мар 2015
Senior software developer, C# enjoyer, father of 0.
КАК СПРОЕКТИРОВАТЬ ХОРОШИЙ API: 20 ЛУЧШИХ ПРАКТИК
В этом видео обсудим, что же такое проектирование API и зачем оно надо, а потом я поделюсь с вами целой кучей лучших советов по проектированию API, оформленных с хорошими и плохими примерами для наглядности.
Делись в комментах своими советами!
Telegram t.me/geekinsideme
00:27 - Введение
01:20 - О чем мы говорим?
02:00 - Зачем проектировать API
03:11 - Лучшие практики: HTTP Протокол
06:46 - Лучшие практики: Нейминг и URL
11:37 - Лучшие практики: Дизайн API
15:55 - Лучшие практики: Инфраструктура
21:45 - Лучшие практики: Безопасность
27:10 - Outro
Делись в комментах своими советами!
Telegram t.me/geekinsideme
00:27 - Введение
01:20 - О чем мы говорим?
02:00 - Зачем проектировать API
03:11 - Лучшие практики: HTTP Протокол
06:46 - Лучшие практики: Нейминг и URL
11:37 - Лучшие практики: Дизайн API
15:55 - Лучшие практики: Инфраструктура
21:45 - Лучшие практики: Безопасность
27:10 - Outro
Просмотров: 77
Видео
Создаём локального AI помощника в терминал на C# (Phi-3 model на CPU)
Просмотров 1,6 тыс.4 месяца назад
Создаём локального AI помощника себе в терминал, работающего прямо на CPU с помощью новой Phi-3 модели от Microsoft, анонсированной на последнем Microsoft Build 2024. Такая cli tool отлично подходит в качестве помощника как для опытных разработчиков, чтобы вспоминать забытые команды или особенности синтаксиса, так и новичкам, которые хотят изучить возможности терминала. Подписывайтесь на Telegr...
Response Compression в ASP.NET C# - А ЧТО, ТАК МОЖНО БЫЛО?
Просмотров 3,5 тыс.8 месяцев назад
👋🏻 Привет, меня зовут Валера Масленников. Сегодня поговорим о компрессии. Моя телега, там польза и мемасы ➡️ t.me/geekinsideme 0:00 Зачем нужна компрессия? 1:10 Где она должна быть? 2:12 Включаем компрессию 4:28 Security issues 5:25 Настройки компрессии 10:35 Защита от CRIME & BREACH
5 MUST HAVE NuGet для Junior C#
Просмотров 1,2 тыс.8 месяцев назад
👋🏻 Привет, меня зовут Валера Масленников. В этом видео мы рассмотрим топ 5 nuget пакетов, которые я считаю must have для каждого junior разработчика, работающего с .NET. Подписывайтесь на Telegram, я там пишу много всего интересного: ➡️ t.me/geekinsideme Документации по нугетам: System.Text.Json: learn.microsoft.com/ru-ru/dotnet/standard/serialization/system-text-json/overview Json.NET: www.new...
.NET 8 NEW FEATURES: TimeProvider - класс для работы со временем | Часть 2
Просмотров 1,5 тыс.11 месяцев назад
👋 Привет, меня зовут Валера Масленников. В этом видео мы продолжаем рассматривать новые функции, добавленные в 8-й версии .NET. В этом видео мы обсуждаем новые абстракции для работы со временем, среди них: TimeProvider и ITimer. Другие видео о новинках в .NET 8: 1️⃣ Новые метода рандома: ruclips.net/video/LMWTCv0vWYM/видео.html Полезные ссылки: ➡️ Описание новых абстракций от Microsoft: learn.m...
.NET 8 NEW FEATURES: Новый Random и не только! | Часть 1
Просмотров 2,6 тыс.Год назад
Привет, меня зовут Валера Масленников. В этом видео мы начнём рассматривать новые функции, добавленные в 8-й версии .NET. Начнём с долгожданных новых методов класса Random - Shuffle и GetItems, а также обновлениях в классе RandomNumberGenerator. Полезные ссылки: ➡️ Подробнее о Span и его роли в оптимизации работы с памятью в .NET: learn.microsoft.com/ru-ru/dotnet/api/system.span-1?view=net-8.0 ...
Cancellation Token в C# | Как использовать ресурсы сервера оптимально
Просмотров 6 тыс.Год назад
- Учимся прерывать выполнение лишних действий, чтобы не тратить ресурсы - Получаем прирост производительности в пару строк кода - ??? - Profit! Документация по фильтрам: learn.microsoft.com/ru-ru/aspnet/core/mvc/controllers/filters?view=aspnetcore-7.0 Документация по middleware: learn.microsoft.com/ru-ru/aspnet/core/fundamentals/middleware/?view=aspnetcore-7.0 Оглавление: 0:00 Вступление 0:30 C...
Я так понимаю, чтобы сделать компрессию на конкретный метод, нужно свою мидлвару делать или такое тоже есть из коробки?
Интересно. Было бы интересно посмотреть как обучить ее на doc или pdf своей информацией. Например инструкциями и подключить API как на Ollama
Супер! А где ссылка на пример в гитхаб?
Контент збс. Пили ещё
Очень крутая инфа, продолжай в том же духе! Очень полезно и информативно. По . net не так много контента
@@ilyha1801 спасибо!
0:49 - эм... SOLID? DI? - не не слышал. В чем проблема добычу времени организовать путём получения её значения извне: currentTime просто вынести в параметр метода? Какой-то неудачный пример...
ноготочки огонь
жуууууть я мамкин прогер. Если б тут не показли, я б очень долго доезжал импортировать спецификацию в постман
Харош. Спасибо за полезную информацию .
Уменьшил бы еше немного а то все равно чето да разглядеть можно )
Отличная подача, спасибо за видео!
Необязательно обрабатывать оба OCE и TCE, TCE является производным от OCE и поэтому достаточно перехватывать OCE, к тому же НЕ всегда TCE будет перехвачен - это ненадежное API. Можете попробовать разобраться в каких случаях так будет происходить, ролик не является исчерпывающим - есть, что еще можно дополнить. Смекаете? - качество контента может быть выше.
Братик, пожалуйста про Aspire ❤
Только вот .NET 8 даже не доступен в VS2022
Кто-то скажет чем объясняется выбрасыванием ошики, а не каким-то событием?
Ну всё, Валера, огонь)
1:48 "Проблема известная давно". Непонятно, как готовился сценарий ролика, но раньше в далеком 2016 году проблема успешно решалась с помощью Microsoft Fakes. Это на те случаи, когда без тестов никак, а вытащить Now в отдельный класс совсем не хочется по неизвестной причине.
Очень крутой материал, спасибо большое) Продолжай в том же духе! ❤
Все круто, но на телефоне неудобно смотреть, очень мелко
@@MrMiha336 да, косяк, в следующий раз сделаю масштаб нормальный :)
@@maslennikovvaleriy если честно то даже с ноута и то видно плохо)
@@MrMiha336 блин, купил на свою голову 4к монитор и забыл про масштаб. В следующий раз всё будет больше 😄
Вы ничо непонимаете ,это для прокачки зрения ,автор и мозг тренит вам и зрение
@@orhanaliyev9774 ахаххсха
Классный материал спасибо большое !=)
Nichego ne vidno. Should you make you presentation that people can see at least something. Could you reload this once again?
Спасибо за фидбэк, попробовал посмотреть с телефона - и правда ничего не видно 🤷 Подумаю как исправить.
Недавно запускал DeepSeek v2 Coder на пк, знает много языков программирования, глянь ради интереса
Спасибо, гляну :)
Deepseek
Thank you, it's really useful video 🔥
Круто! Спасибо за полезную инфу. Хотелось бы увидеть больше видео по рефакторингу и лучшим практикам кода)
Комбинация сваггер и постман было совершенно неожиданно, жду ваших дальнейших видео. Очень понятно все объясняете, удачи в следующих видео
Спасибо :)
Ролик хороший, спасибо
а я себе сразу много таких методов наделал public static IEnumerable<T> Shuffle<T>(this IEnumerable<T> elements) => elements.OrderBy(x => new Random().Next()); public static IEnumerable<T> RandomElements<T>(this IEnumerable<T> elements, int count) => elements.Shuffle().Take(count);
лучше на реверс прокси включить компрессию
100%, если такая возможность есть. Но на практике внутренние сервисы не всегда спрятаны за ним :)
Do you have the source code on a GitHub?
Подача - бомба)) спасибо за ролики, подписался со второй минуты видоса про CancellationToken
🙏🙏🙏
Очень интересно, спасибо
Спасибо огромное! Мучился 2 дня с игрой на юнити. Оказалось, что просто забыл отменить асинхронное чтение с потока в другой сцене..
чаще выпускай видео
А кастомный способ компрессии не поможет защититься от упомянутых атак? В плане перехват данных не позволит их распаковать и тем самым сделает атаку бесполезной. Или это по-другому работает?
Хороший вопрос! Ответ получится слишком длинным, так что в телеге расписал в чем суть этих атак и как с ними можно бороться: t.me/geekinsideme/51 🙂
Спасибо за контент, дружище. Такими микро-грейдами улучшаю свой апи
Скоро сделаю видео с советами по проектированию API :)
@@maslennikovvaleriy Было бы очень отлично а то я только и возвращаю свой доменную модел и не понимаю как нужно правильно строить апи
Реснички не подведены - трудно воспринимать
😄
НАДА БОЛЬШЕ ВИДОСАВ!!! ;)
Готовлю!
Видео с каждым разом все лучше и лучше!
крутая подача, все четко и по делу
ногти супер)
👍👍👍
Круто спасибо за контент, ждем видео про Span
Автомаппер - зло , пишите кастомные мапперы
Ну или используйте мапперы, которые используют source generation. Mapperly, например, генерирует читаемые мапперы в build time, при чем иногда так хорошо, что получается производительнее, чем написанное своими руками. Пример такого бенчмарка у меня телеге: t.me/geekinsideme/44
@@maslennikovvaleriy Компромиссный вариант - согласен . Сам не юзал ещё source generation особо . Вроде даже для эффективного логирования советуют варианты с генерацией . Надо изучать.
Поддерживаю, после того как ушел от автомапперов, стало жить намного проще
Видео супер, классная заставка✨
Расскажи про dotnet aspire, я думаю будет интересное видео
Годная идея, запишу
Еще можешь рассказать про работу с wsl из ide, но я хз есть ли такая штука в райдере@@maslennikovvaleriy
Решарпер для vs 2022 тоже прикольная вещь
5:43 лучше всё таки использовать не BadRequest (http code 400), а, хоть и не официальный, но более корректный в данном случае ClientClosedRequest (http code 499). Это не является, конечно, ошибкой, или нарушением регламента, однако если используется nginx, то данный момент становится важным.
понятно и доступно объясняешь. продолжай в том же духе
Привет, у меня такой вопрос, коммерческого опыта нет, знаю C, люблю Computer Science. Хочу в backend, выбираю между Python, Java, C#, Golang что посоветуете, чтобы легче было устроиться на работу, слышал, что Python-программистов уровня Junior слишком много и труднее будет устроиться?
Привет, С# стал языком года, разве не лучший момент, что выбрать его? 😄 www.tiobe.com/tiobe-index/ А если серьезно, то ответ будет банален до невозможности: выбирайте тот язык, который больше нравится. По сложности найти работу всё +- одинаково. Первые три действительно имеют больше всего вакансий, но тот же python стал чем-то вроде языка по умолчанию для всех курсов, так что количество джуниоров и правда может быль больше, но если научиться кодить, то все равно работа найдется. Golang вроде менее популярен и проектов на нем меньше, но и конкуренция меньше, плюс его последнее время много крупных компаний адаптируют. С# и Java оба годные языки, но с моей перспективы выглядит так, что будущее светлее у С#. Как-нибудь сделаю видео и расскажу почему :)
@@maslennikovvaleriy спасибо за ответ :)
случайно включил ролик и залип ,приятно слушать и смотреть ,и все понятно
Очень рад, что все понятно. Спасибо за коммент :)
видео делай
Будет сделано 🫡
@@maslennikovvaleriy Спасибо