Forwarded from Библиотека собеса по C# | вопросы с собеседований
✍🏻 Запишите названия всех этапов жизненного цикла страницы ASP.NET
— Запрос страницы
— Начало жизненного цикла страницы
— Инициализация страницы
— Загрузка страницы
— Проверка
— Обработка событий постбэка
— Рендеринг страницы
— Выгрузка
— Начало жизненного цикла страницы
— Инициализация страницы
— Загрузка страницы
— Проверка
— Обработка событий постбэка
— Рендеринг страницы
— Выгрузка
😁16🥱8😢1
Forwarded from Библиотека задач по C# | тесты, код, задания
Что выведет Console.WriteLine(5 == 5 && 5 != 3);?
Anonymous Quiz
72%
true
18%
false
5%
Error
5%
Ничего из вышеперечисленного
😁22🥱16👏4👾3😢2
🚀 EF Core 9 в MongoDB
Отличные новости для .NET-разработчиков. MongoDB обновил провайдер для Entity Framework Core, добавив поддержку EF Core 9.
➡️ Подробнее про обновление
Если уже пробовали новую версию, делитесь впечатлениями 👇
🐸 Библиотека шарписта #свежак
Отличные новости для .NET-разработчиков. MongoDB обновил провайдер для Entity Framework Core, добавив поддержку EF Core 9.
Если уже пробовали новую версию, делитесь впечатлениями 👇
Please open Telegram to view this post
VIEW IN TELEGRAM
🤩7❤2👏2❤🔥1👍1
Как избежать утечек памяти в .NET
Собрали для вас обязательные правила, с которыми утечки памяти будут исключены из ваших проектов.
1️⃣ Отписывайтесь от обработчиков событий
Если объект подписался на событие и не отписался, он останется в памяти.
✅ Решение: Используйте -=, чтобы отписаться от события:
2️⃣ Освобождайте неуправляемые ресурсы
Подключения к БД, файлы и сокеты могут не освобождаться автоматически.
✅ Решение: Реализуйте
Используйте
3️⃣ Следите за статическими ссылками
Статические переменные хранят объекты в памяти на весь срок работы приложения.
✅ Решение: Используйте WeakReference, если объект не должен жить вечно:
4️⃣ Разрывайте циклические ссылки
Если два объекта ссылаются друг на друга, сборщик мусора не сможет их удалить.
✅ Решение: используйте WeakReference или
🐸 Библиотека шарписта #буст
Собрали для вас обязательные правила, с которыми утечки памяти будут исключены из ваших проектов.
Если объект подписался на событие и не отписался, он останется в памяти.
✅ Решение: Используйте -=, чтобы отписаться от события:
eventHandler.SomeEvent -= MyEventHandler;
Подключения к БД, файлы и сокеты могут не освобождаться автоматически.
✅ Решение: Реализуйте
IDisposable
class MyClass : IDisposable {
public void Dispose() {
// Очистка ресурсов
}
}
Используйте
using
, чтобы автоматически вызвать Dispose()
:using (var obj = new MyClass()) { /* работа с объектом */ }
Статические переменные хранят объекты в памяти на весь срок работы приложения.
✅ Решение: Используйте WeakReference, если объект не должен жить вечно:
WeakReference<MyObject> weakRef = new WeakReference<MyObject>(new MyObject());
Если два объекта ссылаются друг на друга, сборщик мусора не сможет их удалить.
✅ Решение: используйте WeakReference или
GC.Collect()
.Please open Telegram to view this post
VIEW IN TELEGRAM
🤔13👍12😁2💯2🌚1
Forwarded from Библиотека питониста | Python, Django, Flask
📝 Структуры данных: ТОП-30 вопросов и ответов для собеседований в 2025 году
Техническое собеседование на позицию разработчика, дата-сайентиста и ML-инженера часто включает вопросы по структурам данных и связанным с ними алгоритмами.
В нашей статье мы рассмотрим базовые и продвинутые темы, разберем типичные задачи и обсудим оптимальные способы их решения.
📄 Прочитайте статью и укрепите свои знания — https://proglib.io/sh/1uYAygzIxr
Библиотека питониста
Техническое собеседование на позицию разработчика, дата-сайентиста и ML-инженера часто включает вопросы по структурам данных и связанным с ними алгоритмами.
В нашей статье мы рассмотрим базовые и продвинутые темы, разберем типичные задачи и обсудим оптимальные способы их решения.
📄 Прочитайте статью и укрепите свои знания — https://proglib.io/sh/1uYAygzIxr
Библиотека питониста
😁8👍3❤1😢1👾1
Алиасы позволяют создать короткие команды для часто используемых действий.
Например, вместо длинного
git log --oneline --graph --all --decorate
, можно настроить удобный git lg
, который покажет красивую и наглядную историю коммитов:Вот как это сделать:
git config --global alias.lg "log --oneline --graph --all --decorate"
Теперь
git lg
покажет красивую историю коммитов.💬 Пользуетесь алиасами? Какие вводите чаще всего? Делитесь в комментариях 👇
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15🔥3
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥36🥱5
Этот чек-лист поможет вам писать чистый и оптимальный LINQ-код без лишних операций и ошибок:
✓ Понимать разницу между
IEnumerable<T>
и IQueryable<T>
✓ Фильтровать (
Where()
) данные как можно раньше в цепочке вызовов.✓ Извлекать (
Select()
) только нужные поля, а не всю сущность.✓ Использовать
Any()
вместо Count()
> 0 для проверки наличия элементов.✓ Избегать многократных проходов по коллекции (повторных
.Where()
, .Select()
)✓ Знать разницу между отложенным и немедленным выполнением.
✓ Не использовать
Where().FirstOrDefault()
– просто FirstOrDefault()
.✓ Вызывать
Where()
перед Select()
, а не наоборот.✓ Использовать
FirstOrDefault(predicate)
, если проверяется только одно значение.✓ Использовать ?? для значений, которые могут быть null.
✓ Использовать
DefaultIfEmpty()
при GroupBy()
.✓ Использовать
Distinct()
для уникальных значений.✓ Использовать
Union()
для объединения без дубликатов.✓ Использовать
Except()
и Intersect()
для разницы между коллекциями.Помните, что LINQ — это не просто удобство, а инструмент, требующий понимания его тонкостей.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍26❤8🥱4🔥2
EF, Dapper, ADO.NET… ORM vs чистый SQL – споры не утихают!
💭 Кто-то остаётся на EF Core, потому что удобство важнее всего.
🚀 Кто-то выбирает Dapper ради скорости и контроля.
⚖️ А кто-то комбинирует оба подхода, используя сильные стороны каждого.
А какой ваш путь? Почему именно этот инструмент, что помогло, а что оказалось головной болью? Делитесь в комментах! 👇
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔7👍6😢2👾1
C# 13 уже на горизонте! Какие изменения нас ждут, и стоит ли разработчикам опасаться очередного «революционного» обновления? В новом выпуске подкаста .NET Rocks! ведущий архитектор C#, раскрывает детали будущего языка.
🧐 О чем выпуск
• Будущее C# — какие новые возможности появятся в C# 13.
• Как Microsoft принимает решения о развитии языка.
• Как новые фичи повлияют на разработчиков.
Если вы работаете с .NET, этот выпуск точно стоит послушать.
Please open Telegram to view this post
VIEW IN TELEGRAM
🥱5
Forwarded from Proglib.academy | IT-курсы
Можно ли стать разработчиком, если в школе ненавидел математику? А если наоборот — тащился от алгебры и геометрии, но кодить не умеешь? Эта статья раскладывает всё по полочкам: где без математики никуда, а где можно и без неё.
✓ Почему все считают, что программисты — математики
✓ В каких сферах разработки можно вообще не знать математику
✓ Где хватит готовых библиотек, а где придётся разбираться в формулах
✓ Какие области программирования требуют мощного математического бэкграунда
✓ Что делать, если математика — это боль, но хочется освоить ML или Data Science
✓ Топ книг, которые помогут понять и даже полюбить математику
Proglib Academy
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
🚀 CQRS, DDD, Event Sourcing — мощные паттерны или способ усложнить жизнь
В мире .NET (и не только) многие разработчики рано или поздно сталкиваются с модными архитектурными подходами: CQRS, DDD и Event Sourcing. Но где проходит граница между «правильной» архитектурой и бессмысленным оверинжинирингом.
💬 Как думаете, эти патерны — must-have или бесполезный оверхед? Делитесь своим опытом! 👇
🐸 Библиотека шарписта #междусобойчик
В мире .NET (и не только) многие разработчики рано или поздно сталкиваются с модными архитектурными подходами: CQRS, DDD и Event Sourcing. Но где проходит граница между «правильной» архитектурой и бессмысленным оверинжинирингом.
Please open Telegram to view this post
VIEW IN TELEGRAM
😁11👍3
Что произошло за прошедшую неделю марта:
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Как устроены поколения в сборке мусора
Garbage Collector (GC) в .NET работает по поколенческой (generational) модели и использует три поколения, нумеруемые от 0.
1️⃣ Gen 0 (Первое поколение)
• В этом поколении создаются новые объекты.
• Сборки происходят часто, но занимают мало времени.
• Если объект переживает сборку мусора, он перемещается в Gen 1.
Очистка происходит когда выделено определенное количество памяти или когда в системе недостаточно памяти.
2️⃣ Gen 1 (Второе поколение)
• Содержит объекты, которые выжили после очистки Gen 0.
• Используется как буфер перед Gen 2.
• Очистка Gen 1 происходит реже, чем Gen 0.
Очистка происходит когда Gen 0 заполняется, и GC не смог освободить достаточно памяти.
3️⃣ Gen 2 (Третье поколение)
• Включает долгоживущие объекты, например, кеш, синглтоны.
• Очистка происходит редко и занимает больше времени.
• Все объекты, пережившие сборку в Gen 1, перемещаются в Gen 2.
Очистка происходит, когда в системе не хватает памяти.
А также есть LOH (Large Object Heap) – специальная область для больших объектов. В нём очистка очень редкая и дорогостоящая.
Чем меньше объектов доживает до Gen 2, тем лучше работает GC.
🐸 Библиотека шарписта #буст
Garbage Collector (GC) в .NET работает по поколенческой (generational) модели и использует три поколения, нумеруемые от 0.
• В этом поколении создаются новые объекты.
• Сборки происходят часто, но занимают мало времени.
• Если объект переживает сборку мусора, он перемещается в Gen 1.
Очистка происходит когда выделено определенное количество памяти или когда в системе недостаточно памяти.
• Содержит объекты, которые выжили после очистки Gen 0.
• Используется как буфер перед Gen 2.
• Очистка Gen 1 происходит реже, чем Gen 0.
Очистка происходит когда Gen 0 заполняется, и GC не смог освободить достаточно памяти.
• Включает долгоживущие объекты, например, кеш, синглтоны.
• Очистка происходит редко и занимает больше времени.
• Все объекты, пережившие сборку в Gen 1, перемещаются в Gen 2.
Очистка происходит, когда в системе не хватает памяти.
А также есть LOH (Large Object Heap) – специальная область для больших объектов. В нём очистка очень редкая и дорогостоящая.
Чем меньше объектов доживает до Gen 2, тем лучше работает GC.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🤔2❤1
Forwarded from Библиотека задач по C# | тесты, код, задания
Количество уникальных букв в строке
1. Создаем строку
2. Применяем метод
3. Вызываем метод
4. Добавляем параметр
1. Создаем строку
str
, которую нужно проанализировать.2. Применяем метод
Distinct()
для получения уникальных символов в строке.3. Вызываем метод
Count()
для получения количества элементов в последовательности уникальных символов.4. Добавляем параметр
char.IsLetter
, чтобы учитывать только буквы алфавита.😁25🥱8🔥6🤔1😍1
📝 Visual Studio теперь сам пишет комментарии
Microsoft представила автоматическую генерацию комментариев в Visual Studio с помощью GitHub Copilot.
Теперь, просто введя /// перед методом, можно получить готовое описание его работы, параметров и возвращаемого значения.
• Доступно в Visual Studio 17.14 Preview 2.
➡️ Подробнее в блоге разработчиков
Как думаете, полезно или лучше вообще не писать комментарии? 💬
🐸 Библиотека шарписта #свежак
Microsoft представила автоматическую генерацию комментариев в Visual Studio с помощью GitHub Copilot.
Теперь, просто введя /// перед методом, можно получить готовое описание его работы, параметров и возвращаемого значения.
• Доступно в Visual Studio 17.14 Preview 2.
Как думаете, полезно или лучше вообще не писать комментарии? 💬
Please open Telegram to view this post
VIEW IN TELEGRAM
👍40👏4❤3😁2🔥1
🐧 Пингвин, покоривший мир: история взлета Linux – ОС, управляющей 96% серверов
В 1991 году на компьютере с 4 мегабайтами памяти родилась программа, которая сегодня управляет большей частью интернета, смартфонами и даже космическими аппаратами. Это история Linux, рассказанная одним из первых свидетелей.
➡️ Читать статью
➡️ Зеркало
В 1991 году на компьютере с 4 мегабайтами памяти родилась программа, которая сегодня управляет большей частью интернета, смартфонами и даже космическими аппаратами. Это история Linux, рассказанная одним из первых свидетелей.
➡️ Читать статью
➡️ Зеркало
👍4🌚3😁1
Все важные моменты в одном репозитории. Сохраняйте себе в закладки.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6👾4🤔1
🎮💾 Оптимизация памяти в Unity: как избежать лагов и повысить FPS в играх
Оптимизация памяти в Unity — ключ к стабильной работе игр. Если хочется избежать лагов и повысить FPS, важно правильно управлять памятью. Использование эффективных методов загрузки и выгрузки данных, уменьшение количества аллокаций и грамотное применение сборщика мусора помогут улучшить производительность и стабильность игры.
➡️ Подробнее в статье
🐸 Библиотека шарписта
Оптимизация памяти в Unity — ключ к стабильной работе игр. Если хочется избежать лагов и повысить FPS, важно правильно управлять памятью. Использование эффективных методов загрузки и выгрузки данных, уменьшение количества аллокаций и грамотное применение сборщика мусора помогут улучшить производительность и стабильность игры.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4❤1