Forwarded from Библиотека девопса | DevOps, SRE, Sysadmin
🔐 🔑 OAuth 2: как работает современная авторизация
Помнишь кнопку «Войти через Google»? Та самая кнопка, которая избавляет от необходимости запоминать очередной пароль. Сегодня разберем, как работает эта магия изнутри, почему гиганты вроде Spotify и Medium используют такой способ входа, и как внедрить его в свое приложение. Спойлер: это проще, чем кажется, и гораздо безопаснее традиционной формы регистрации.
Читать статью
Помнишь кнопку «Войти через Google»? Та самая кнопка, которая избавляет от необходимости запоминать очередной пароль. Сегодня разберем, как работает эта магия изнутри, почему гиганты вроде Spotify и Medium используют такой способ входа, и как внедрить его в свое приложение. Спойлер: это проще, чем кажется, и гораздо безопаснее традиционной формы регистрации.
Читать статью
🥱6🌚1
🛠️ «Native AOT. Возможности и ограничения» — доклад Андрея Порожнякова из SKAI
Иногда .NET-приложения запускаются дольше, чем нужно. Это связано с особенностями JIT-компиляции — при каждом старте IL-код компилируется в машинные инструкции. Проблема становится заметной, когда приложения запускаются часто, например, при реализации FaaS.
Решением может стать ahead-of-time, или AOT-компиляция. Это одна из функций, над которой сейчас работает группа ASP.NET Microsoft. Она генерирует машинные инструкции на этапе сборки приложения, и можно обойтись без IL-кода. Но такой подход предъявляет ряд требований к приложению и разработке.
Андрей Порожняков рассказывает, как ускорить запуск приложения за счёт AOT-компиляции. Рассматривает требования и ограничения публикации Native AOT. Отдельно затрагивает поддержку Minimal API и генераторов исходного кода, о плюсах, минусах и практической пользе технологии.
🔗 Смотреть доклад & Презентация
Иногда .NET-приложения запускаются дольше, чем нужно. Это связано с особенностями JIT-компиляции — при каждом старте IL-код компилируется в машинные инструкции. Проблема становится заметной, когда приложения запускаются часто, например, при реализации FaaS.
Решением может стать ahead-of-time, или AOT-компиляция. Это одна из функций, над которой сейчас работает группа ASP.NET Microsoft. Она генерирует машинные инструкции на этапе сборки приложения, и можно обойтись без IL-кода. Но такой подход предъявляет ряд требований к приложению и разработке.
Андрей Порожняков рассказывает, как ускорить запуск приложения за счёт AOT-компиляции. Рассматривает требования и ограничения публикации Native AOT. Отдельно затрагивает поддержку Minimal API и генераторов исходного кода, о плюсах, минусах и практической пользе технологии.
🔗 Смотреть доклад & Презентация
👍15🥱3👾1
🎙 Сравнения Rust и C#, Minimal API и Controllers, Problem и Details: 103-й выпуск подкаста RadioDotNet
⏳ Таймкоды:
[00:01:50] — Provide opt-in to experimental APIs
[00:11:50] — Comparison of Rust's borrow checker to C#
[00:36:35] — Problem Details for ASP.NET Core APIs
[00:54:30] — Comparing performance between Minimal API and classic Controllers
[01:05:30] — API Error Messages for a Good Developer Experience
[01:19:15] — Книга «ASP.NET Core в действии 3» в правильном переводе
[01:22:55] — Кратко о разном
⏯️ YouTube | Другие площадки
#подкасты
⏳ Таймкоды:
[00:01:50] — Provide opt-in to experimental APIs
[00:11:50] — Comparison of Rust's borrow checker to C#
[00:36:35] — Problem Details for ASP.NET Core APIs
[00:54:30] — Comparing performance between Minimal API and classic Controllers
[01:05:30] — API Error Messages for a Good Developer Experience
[01:19:15] — Книга «ASP.NET Core в действии 3» в правильном переводе
[01:22:55] — Кратко о разном
⏯️ YouTube | Другие площадки
#подкасты
👍10❤🔥4😁3
🎊 Ну что ж, .NET 9 уже здесь! Конференцию .NET Conf 2024 можно посмотреть в прямом эфире.
💬 Присоединитесь или уже смотрите?
💬 Присоединитесь или уже смотрите?
🔥27🥰5🥱3👍2
Какой метод обучения программированию оказался для вас наиболее эффективным? 🚀👇
Anonymous Poll
13%
Онлайн-курсы
37%
Самообучение по книгам
74%
Практика на реальных проектах
24%
Обучение с наставником
5%
Другое (напишите в комментариях)
🔥2🥱1
💡 Какой совет вы бы дали начинающим программистам? Поделитесь своими мыслями в комментариях👇
🥱14❤1👾1
Самые полезные каналы для программистов в одной подборке!
Сохраняйте себе, чтобы не потерять 💾
🔥Для всех
Библиотека программиста — новости, статьи, досуг, фундаментальные темы
Книги для программистов
IT-мемы
Proglib Academy — тут мы рассказываем про обучение и курсы
Азбука айтишника — здесь мы познаем азы из мира программирования
🤖Про нейросети
Библиотека робототехники и беспилотников | Роботы, ИИ, интернет вещей
Библиотека нейрозвука | Транскрибация, синтез речи, ИИ-музыка
Библиотека нейротекста | ChatGPT, Gemini, Bing
Библиотека нейровидео | Sora AI, Runway ML, дипфейки
Библиотека нейрокартинок | Midjourney, DALL-E, Stable Diffusion
#️⃣C#
Книги для шарпистов | C#, .NET, F#
Библиотека шарписта — полезные статьи, новости и обучающие материалы по C#
Библиотека задач по C# — код, квизы и тесты
Библиотека собеса по C# — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Вакансии по C#, .NET, Unity Вакансии по PHP, Symfony, Laravel
☁️DevOps
Библиотека devops’а — полезные статьи, новости и обучающие материалы по DevOps
Вакансии по DevOps & SRE
Библиотека задач по DevOps — код, квизы и тесты
Библиотека собеса по DevOps — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
🐘PHP
Библиотека пхпшника — полезные статьи, новости и обучающие материалы по PHP
Вакансии по PHP, Symfony, Laravel
Библиотека PHP для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по PHP — код, квизы и тесты
🐍Python
Библиотека питониста — полезные статьи, новости и обучающие материалы по Python
Вакансии по питону, Django, Flask
Библиотека Python для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Python — код, квизы и тесты
☕Java
Книги для джавистов | Java
Библиотека джависта — полезные статьи по Java, новости и обучающие материалы
Библиотека Java для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Java — код, квизы и тесты
Вакансии для java-разработчиков
👾Data Science
Книги для дата сайентистов | Data Science
Библиотека Data Science — полезные статьи, новости и обучающие материалы по Data Science
Библиотека Data Science для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Data Science — код, квизы и тесты
Вакансии по Data Science, анализу данных, аналитике, искусственному интеллекту
🦫Go
Книги для Go разработчиков
Библиотека Go разработчика — полезные статьи, новости и обучающие материалы по Go
Библиотека Go для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Go — код, квизы и тесты
Вакансии по Go
🧠C++
Книги для C/C++ разработчиков
Библиотека C/C++ разработчика — полезные статьи, новости и обучающие материалы по C++
Библиотека C++ для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по C++ — код, квизы и тесты
Вакансии по C++
💻Другие каналы
Библиотека фронтендера
Библиотека мобильного разработчика
Библиотека хакера
Библиотека тестировщика
Вакансии по фронтенду, джаваскрипт, React, Angular, Vue
Вакансии для мобильных разработчиков
Вакансии по QA тестированию
InfoSec Jobs — вакансии по информационной безопасности
Библиотека разработчика игр | Gamedev, Unity, Unreal Engine
📁Чтобы добавить папку с нашими каналами, нажмите 👉сюда👈
Также у нас есть боты:
Бот с IT-вакансиями
Бот с мероприятиями в сфере IT
Мы в других соцсетях:
🔸VK
🔸YouTube
🔸Дзен
🔸Facebook *
🔸Instagram *
* Организация Meta запрещена на территории РФ
Сохраняйте себе, чтобы не потерять 💾
🔥Для всех
Библиотека программиста — новости, статьи, досуг, фундаментальные темы
Книги для программистов
IT-мемы
Proglib Academy — тут мы рассказываем про обучение и курсы
Азбука айтишника — здесь мы познаем азы из мира программирования
🤖Про нейросети
Библиотека робототехники и беспилотников | Роботы, ИИ, интернет вещей
Библиотека нейрозвука | Транскрибация, синтез речи, ИИ-музыка
Библиотека нейротекста | ChatGPT, Gemini, Bing
Библиотека нейровидео | Sora AI, Runway ML, дипфейки
Библиотека нейрокартинок | Midjourney, DALL-E, Stable Diffusion
#️⃣C#
Книги для шарпистов | C#, .NET, F#
Библиотека шарписта — полезные статьи, новости и обучающие материалы по C#
Библиотека задач по C# — код, квизы и тесты
Библиотека собеса по C# — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Вакансии по C#, .NET, Unity Вакансии по PHP, Symfony, Laravel
☁️DevOps
Библиотека devops’а — полезные статьи, новости и обучающие материалы по DevOps
Вакансии по DevOps & SRE
Библиотека задач по DevOps — код, квизы и тесты
Библиотека собеса по DevOps — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
🐘PHP
Библиотека пхпшника — полезные статьи, новости и обучающие материалы по PHP
Вакансии по PHP, Symfony, Laravel
Библиотека PHP для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по PHP — код, квизы и тесты
🐍Python
Библиотека питониста — полезные статьи, новости и обучающие материалы по Python
Вакансии по питону, Django, Flask
Библиотека Python для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Python — код, квизы и тесты
☕Java
Книги для джавистов | Java
Библиотека джависта — полезные статьи по Java, новости и обучающие материалы
Библиотека Java для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Java — код, квизы и тесты
Вакансии для java-разработчиков
👾Data Science
Книги для дата сайентистов | Data Science
Библиотека Data Science — полезные статьи, новости и обучающие материалы по Data Science
Библиотека Data Science для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Data Science — код, квизы и тесты
Вакансии по Data Science, анализу данных, аналитике, искусственному интеллекту
🦫Go
Книги для Go разработчиков
Библиотека Go разработчика — полезные статьи, новости и обучающие материалы по Go
Библиотека Go для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Go — код, квизы и тесты
Вакансии по Go
🧠C++
Книги для C/C++ разработчиков
Библиотека C/C++ разработчика — полезные статьи, новости и обучающие материалы по C++
Библиотека C++ для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по C++ — код, квизы и тесты
Вакансии по C++
💻Другие каналы
Библиотека фронтендера
Библиотека мобильного разработчика
Библиотека хакера
Библиотека тестировщика
Вакансии по фронтенду, джаваскрипт, React, Angular, Vue
Вакансии для мобильных разработчиков
Вакансии по QA тестированию
InfoSec Jobs — вакансии по информационной безопасности
Библиотека разработчика игр | Gamedev, Unity, Unreal Engine
📁Чтобы добавить папку с нашими каналами, нажмите 👉сюда👈
Также у нас есть боты:
Бот с IT-вакансиями
Бот с мероприятиями в сфере IT
Мы в других соцсетях:
🔸VK
🔸YouTube
🔸Дзен
🔸Facebook *
🔸Instagram *
* Организация Meta запрещена на территории РФ
🥱2❤1👍1
➕ ➕ 7 способов сортировки массивов на примере С++ с иллюстрациями
В этой статье продемонстрируем на иллюстрациях, как работают алгоритмы сортировки: от простейшей пузырьковой до сложной древовидной кучи. Также определим сложность худших и лучших случаев, а код напишем на С++.
Статья
Зачем учить алгоритмы сортировки, если есть уже готовые методы сортировки?
Чтобы знать плюсы и минусы каждого алгоритма, понимать, как действительно он работает (а не просто копипастить) и какой алгоритм выбрать для конкретной задачи. Плюс изучение алгоритмов развивает мышление и профессиональный кругозор.
Как мне оперативно научиться применять алгоритмы?
Начни с бесплатного демо доступа к курсу «Алгоритмы и структуры данных», на котором junior и middle+ программисты смогут потренировать навыки применения алгоритмов и сгенерировать идеальные решения сложных задач в сообществе других разработчиков.
В этой статье продемонстрируем на иллюстрациях, как работают алгоритмы сортировки: от простейшей пузырьковой до сложной древовидной кучи. Также определим сложность худших и лучших случаев, а код напишем на С++.
Статья
Зачем учить алгоритмы сортировки, если есть уже готовые методы сортировки?
Чтобы знать плюсы и минусы каждого алгоритма, понимать, как действительно он работает (а не просто копипастить) и какой алгоритм выбрать для конкретной задачи. Плюс изучение алгоритмов развивает мышление и профессиональный кругозор.
Как мне оперативно научиться применять алгоритмы?
Начни с бесплатного демо доступа к курсу «Алгоритмы и структуры данных», на котором junior и middle+ программисты смогут потренировать навыки применения алгоритмов и сгенерировать идеальные решения сложных задач в сообществе других разработчиков.
🥱11
⚖️🛠️ EfCore.SchemaCompare — библиотека для сравнения модели базы данных EF Core со схемой базы данных
Если вы меняете схему базы данных вне системы миграций EF Core, например, с помощью SQL-скриптов, то эта библиотека может быстро сообщить, синхронизированы ли текущая схема базы данных и модель базы данных в EF Core.
👉 GitHub
Если вы меняете схему базы данных вне системы миграций EF Core, например, с помощью SQL-скриптов, то эта библиотека может быстро сообщить, синхронизированы ли текущая схема базы данных и модель базы данных в EF Core.
👉 GitHub
👍23🥰2❤1
🔥 Cамые интересные улучшения в библиотеках, Runtime и SDK, представленные в .NET 9: статья Артёма Ровенского из PVS-Studio
◾️C# 13
◾️Производительность
◾️LINQ
▪️Новый тип OrderedDictionary
▪️Новый тип ReadOnlySet
▪️Новый тип Tensor
allows ref struct в библиотеках
▪️[GeneratedRegex] для свойств
◾️SDK
▪️Terminal Logger включён по умолчанию
▪️Параллельный запуск тестов
▪️NuGet Audit
▪️BuildCheck
▪️Workload history
◾️Runtime
▪️Feature switch
▪️Динамическая адаптация к размерам приложений (DATAS)
▪️Улучшение JIT
▪️Улучшения Register Allocator
👉 Читать
◾️C# 13
◾️Производительность
◾️LINQ
▪️Новый тип OrderedDictionary
▪️Новый тип ReadOnlySet
▪️Новый тип Tensor
allows ref struct в библиотеках
▪️[GeneratedRegex] для свойств
◾️SDK
▪️Terminal Logger включён по умолчанию
▪️Параллельный запуск тестов
▪️NuGet Audit
▪️BuildCheck
▪️Workload history
◾️Runtime
▪️Feature switch
▪️Динамическая адаптация к размерам приложений (DATAS)
▪️Улучшение JIT
▪️Улучшения Register Allocator
👉 Читать
👍13🔥5🤩1🥱1
🛠️ «Использование АОП в .NET» — доклад Дмитрия Егорова из Artsofte на DotNext 2024
Аспектно-ориентированное программирование (АОП) — широко распространенная практика во многих популярных фреймворках вроде Angular или Spring. В ASP.NET мы привычно используем этот архитектурный подход при работе с контроллерами, что натолкнуло автора на мысль масштабировать АОП на другие слои приложений.
Благодаря подходу АОП мы получаем возможность декларативно управлять поведением кода и инкапсулировать сквозную функциональность, не засоряя основную логику бизнес-кейсов. В .NET существует как минимум четыре механизма для реализации АОП: классические объектно-ориентированные декораторы, посткомпиляция, динамические прокси, а также новая технология Interseptor в C# 12.
Дмитрий рассказывает об опыте использования каждого из них, их преимуществах, ограничениях и особенностях + затрагивает вопрос перехвата зависимостей из DI для реализации внутренних механизмов АОП.
👀 Смотреть доклад & Презентация
Аспектно-ориентированное программирование (АОП) — широко распространенная практика во многих популярных фреймворках вроде Angular или Spring. В ASP.NET мы привычно используем этот архитектурный подход при работе с контроллерами, что натолкнуло автора на мысль масштабировать АОП на другие слои приложений.
Благодаря подходу АОП мы получаем возможность декларативно управлять поведением кода и инкапсулировать сквозную функциональность, не засоряя основную логику бизнес-кейсов. В .NET существует как минимум четыре механизма для реализации АОП: классические объектно-ориентированные декораторы, посткомпиляция, динамические прокси, а также новая технология Interseptor в C# 12.
Дмитрий рассказывает об опыте использования каждого из них, их преимуществах, ограничениях и особенностях + затрагивает вопрос перехвата зависимостей из DI для реализации внутренних механизмов АОП.
👀 Смотреть доклад & Презентация
👍10🎉3🥱3❤1