Например: два пользователя одновременно пытаются обновить информацию о товаре в магазине, то изменения одного пользователя не могут "перемешиваться" с действиями другого. Транзакции не видят промежуточные результаты других транзакций, пока они не будут завершены. Это гарантирует, что одна транзакция не повлияет на другую до её завершения.
Please open Telegram to view this post
VIEW IN TELEGRAM
Правильный выбор типа JOIN-а, например, INNER JOIN вместо LEFT JOIN, тоже важен для производительности.
Please open Telegram to view this post
VIEW IN TELEGRAM
Допустим, вы перевели деньги через интернет-банк, и транзакция завершилась успешно. Даже если сервер после этого упал, ваш перевод всё равно будет сохранён. Это означает, что данные, записанные в процессе транзакции, не потеряются и останутся целыми.
Please open Telegram to view this post
VIEW IN TELEGRAM
Основная цель ThreadPool — эффективно управлять количеством потоков, чтобы не перегружать систему и при этом поддерживать высокую производительность. Когда задача добавляется в пул потоков, ThreadPool выбирает свободный поток или создает новый, если их недостаточно. Это позволяет избежать утечек памяти и перегрузки, которые могут возникнуть при прямом управлении потоками вручную.
Это особенно полезно для приложений с большим количеством короткоживущих задач, таких как веб-сервисы или серверные приложения, где создание нового потока для каждой задачи может сильно снизить производительность.
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Библиотека шарписта | C#, F#, .NET, ASP.NET
🤔📝 Псевдокод: когда преподы не шарят, а ты в тупике
Псевдокод может быть настоящим головняком, особенно если требования к нему кажутся непонятными или не совпадают с тем, что вы видите в реальной практике программирования.
Узнайте, как сделать псевдокод полезным инструментом, а не дополнительной нагрузкой.
➡️ Читать статью
🐸 Библиотека шарписта
Псевдокод может быть настоящим головняком, особенно если требования к нему кажутся непонятными или не совпадают с тем, что вы видите в реальной практике программирования.
Узнайте, как сделать псевдокод полезным инструментом, а не дополнительной нагрузкой.
Please open Telegram to view this post
VIEW IN TELEGRAM
Например:
Если класс является ссылочным типом (class), то сам объект класса будет размещен в куче (heap), но значимый тип данных будет храниться в этом объекте в том же месте.
Если класс является структурой (struct), то данные будут храниться в том месте, где создается экземпляр структуры (например, в стеке, если структура объявлена локально).
Таким образом, где именно будет храниться значимый тип данных, зависит от того, является ли класс ссылочным типом или значимым типом.
Please open Telegram to view this post
VIEW IN TELEGRAM
Когда вы используете lock, поток блокируется до тех пор, пока не завершится выполнение кода внутри блока. Операции с await требуют освобождения потока, чтобы он мог продолжить выполнение других задач, что несовместимо с блокировкой потока через lock.
Если вы хотите использовать асинхронные операции с ожиданием, следует использовать другие механизмы синхронизации, такие как SemaphoreSlim, которые поддерживают асинхронное ожидание.
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Библиотека шарписта | C#, F#, .NET, ASP.NET
🎮⛰ Дорожная карта Unity-разработчика 2025: с нуля до джуна
Если вы хотите создать свою игру с нуля или систематизировать знания, эта дорожная карта — идеальный старт.
Рассмотрели все важные этапы: от основ языка C# до работы с физикой, интерфейсом и сторонними SDK. Шаг за шагом объясняются ключевые темы, такие как ООП, паттерны проектирования, корутины и оптимизация.
В конце бонус — подборка полезных ресурсов.
➡️ Пройти путь по карте
🐸 Библиотека шарписта
Если вы хотите создать свою игру с нуля или систематизировать знания, эта дорожная карта — идеальный старт.
Рассмотрели все важные этапы: от основ языка C# до работы с физикой, интерфейсом и сторонними SDK. Шаг за шагом объясняются ключевые темы, такие как ООП, паттерны проектирования, корутины и оптимизация.
В конце бонус — подборка полезных ресурсов.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
В паттерне MVVM командная логика реализуется через интерфейс ICommand, который связывает действия пользователя (например, нажатие кнопки) с выполнением бизнес-логики в ViewModel.
ICommand имеет два метода:
• Execute — выполняет команду.
• CanExecute — проверяет, можно ли выполнить команду, например, активировать или деактивировать кнопку.
Когда пользователь выполняет действие, вызывается Execute, а CanExecute управляет доступностью команды. Это разделение логики между View и ViewModel улучшает тестируемость и поддерживаемость кода, поскольку UI не содержит бизнес-логики.
Please open Telegram to view this post
VIEW IN TELEGRAM
🎉🐙🐱 20 лет Git: все такой же необычный, все такой же великолепный
Легендарному Git стукнуло 20! Вспоминаем, как проект, который Линус Торвальдс называл «тупым менеджером контента», стал незаменимым инструментом для всех, кто хоть раз писал код или даже просто хранил файлы.
Погружаемся в историю, эволюцию и влияние Git на индустрию разработки.
➡️ Читать статью
🐸 Библиотека программиста
Легендарному Git стукнуло 20! Вспоминаем, как проект, который Линус Торвальдс называл «тупым менеджером контента», стал незаменимым инструментом для всех, кто хоть раз писал код или даже просто хранил файлы.
Погружаемся в историю, эволюцию и влияние Git на индустрию разработки.
Please open Telegram to view this post
VIEW IN TELEGRAM
Eager loading позволяет заранее определить, какие связанные данные необходимо загрузить во время выполнения запроса. Entity Framework преобразует метод Include() в JOIN, что позволяет выполнить всего один запрос к базе данных.
С другой стороны, Lazy loading подразумевает автоматическую загрузку связанных данных при обращении к навигационному свойству, но это может привести к значительным задержкам в определенных ситуациях. Кроме того, Lazy loading может вызвать проблему n+1, когда требуется выполнить множество дополнительных запросов.
Please open Telegram to view this post
VIEW IN TELEGRAM
Что такое веб-служба .NET?
Веб-сервисы — это повторно используемые компоненты, которые позволяют разработчикам публиковать функцию приложения через Интернет, чтобы сделать его доступным и напрямую взаимодействовать с другими приложениями и объектами в нем. Веб-службы взаимодействуют с помощью стандартных веб-протоколов и форматов данных, включая HTTP, XML и SOAP, что позволяет им подключаться между различными платформами и языками программирования.
🐸 Библиотека собеса по С#
Please open Telegram to view this post
VIEW IN TELEGRAM
С другой стороны, Lazy loading подразумевает автоматическую загрузку связанных данных при обращении к навигационному свойству, но это может привести к значительным задержкам в определенных ситуациях. Кроме того, Lazy loading может вызвать проблему n+1, когда требуется выполнить множество дополнительных запросов.
Please open Telegram to view this post
VIEW IN TELEGRAM
Что такое Entity Framework в C#?
Как ответить: Опишите Entity Framework как Object-Relational Mapping (ORM) фреймворк, упрощающий доступ и манипуляцию базами данных. Объясните, что он даёт разработчикам возможность работать с базами данных, используя принципы ООП, и предоставляет такие функции, как автоматический маппинг, поддержка LINQ и отслеживание изменений.
Пример ответа: «Entity Framework — это ORM-фреймворк, созданный Microsoft. Он позволяет разработчикам работать с базами данных с помощью принципов ООП вместо написания необработанных SQL запросов. Entity Framework автоматически сопоставляет таблицы базы данных с классами и даёт такие функции, как поддержка LINQ, отслеживание изменений и CRUD операции. Он упрощает доступ и изменение баз данных в приложениях C#».
На что обращают внимание: на кандидатов, которые могут дать точное и полное объяснение Entity Framework, включая его назначение, главные особенности и преимущества доступа и управления базами данных.
🐸 Библиотека собеса по С#
Пример ответа: «Entity Framework — это ORM-фреймворк, созданный Microsoft. Он позволяет разработчикам работать с базами данных с помощью принципов ООП вместо написания необработанных SQL запросов. Entity Framework автоматически сопоставляет таблицы базы данных с классами и даёт такие функции, как поддержка LINQ, отслеживание изменений и CRUD операции. Он упрощает доступ и изменение баз данных в приложениях C#».
На что обращают внимание: на кандидатов, которые могут дать точное и полное объяснение Entity Framework, включая его назначение, главные особенности и преимущества доступа и управления базами данных.
Please open Telegram to view this post
VIEW IN TELEGRAM
🧠⚡️👟 Странные, но эффективные лайфхаки для продуктивности
Иногда самые действенные способы повысить продуктивность звучат как полный бред. Но это работает! Пользователи Reddit делятся своими «тупо-звучащими-но-реально-помогающими» секретами, которые помогут тебе наконец-то перестать прокрастинировать и начать делать дела.
ТОП-советы от пользователей Reddit — в нашей статье.
🐸 Библиотека программиста
Иногда самые действенные способы повысить продуктивность звучат как полный бред. Но это работает! Пользователи Reddit делятся своими «тупо-звучащими-но-реально-помогающими» секретами, которые помогут тебе наконец-то перестать прокрастинировать и начать делать дела.
ТОП-советы от пользователей Reddit — в нашей статье.
Please open Telegram to view this post
VIEW IN TELEGRAM
Объясните концепцию Raycasting в Unity и ее применения.
Raycasting предполагает проецирование линии (луча) из точки в определенном направлении для обнаружения столкновений с объектами на игровой сцене. Общие приложения включают в себя следующее:
⚡️ Механика стрельбы;
⚡️Проверка прямой видимости;
⚡️Взаимодействие объектов;
⚡️Обнаружение поверхностей для движения персонажа.
🐸 Библиотека собеса по С#
⚡️ Механика стрельбы;
⚡️Проверка прямой видимости;
⚡️Взаимодействие объектов;
⚡️Обнаружение поверхностей для движения персонажа.
Please open Telegram to view this post
VIEW IN TELEGRAM
Когда использовать StringBuilder предпочтительнее, чем string?
StringBuilder предпочтительнее использовать, если строка часто изменяется.
🐸 Библиотека собеса по С#
Please open Telegram to view this post
VIEW IN TELEGRAM
В чем разница между «Break» и «Continue» в C#?
break: используется в циклах (for и т. д.) и операторах переключения, завершает итерацию/переключение и пропускает весь оставшийся код в цикле или блоке переключения.
continue: используется только в циклах, пропускает весь оставшийся код в цикле и начинает следующую итерацию с начала цикла.
🐸 Библиотека собеса по С#
continue: используется только в циклах, пропускает весь оставшийся код в цикле и начинает следующую итерацию с начала цикла.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥 IT Breaking Memes — 30 000 ₽ за самую смешную IT-новость
Библиотека программиста запускает конкурс, который взорвет вашу ленту: создайте самую смешную альтернативную версию реальной IT-новости!
👾 Правила просты:
1. Берете настоящую новость из мира технологий.
2. Переписываете ее так, чтобы смеялись все.
3. Получаете деньги и славу.
🏆 Призы:
- 1 место: 30 000 ₽ + статус ведущего нового юмористического IT-канала
- 2 и 3 место: по 5 000 ₽ + вечный почет в IT-сообществе
Пример:
Реальная новость: «Гугл создала модель для общения с дельфинами».
Смешная альтернатива: «Нейросеть от Гугл обрабатывает видеопоток с камеры в свинарнике. ИИ следит, сколько свинья находится возле кормушки, не отталкивают ли ее собратья. Недокормленных докармливают, а переевшие пропускают следующую кормешку».
📅 Сроки: с 29 апреля по 11 мая включительно
Для участия отправьте свою смешную новость в гугл-форму: https://forms.gle/6YShjgfiycfJ53LX8
Ждем ваших новостей!
Библиотека программиста запускает конкурс, который взорвет вашу ленту: создайте самую смешную альтернативную версию реальной IT-новости!
👾 Правила просты:
1. Берете настоящую новость из мира технологий.
2. Переписываете ее так, чтобы смеялись все.
3. Получаете деньги и славу.
🏆 Призы:
- 1 место: 30 000 ₽ + статус ведущего нового юмористического IT-канала
- 2 и 3 место: по 5 000 ₽ + вечный почет в IT-сообществе
Пример:
Реальная новость: «Гугл создала модель для общения с дельфинами».
Смешная альтернатива: «Нейросеть от Гугл обрабатывает видеопоток с камеры в свинарнике. ИИ следит, сколько свинья находится возле кормушки, не отталкивают ли ее собратья. Недокормленных докармливают, а переевшие пропускают следующую кормешку».
📅 Сроки: с 29 апреля по 11 мая включительно
Для участия отправьте свою смешную новость в гугл-форму: https://forms.gle/6YShjgfiycfJ53LX8
Ждем ваших новостей!