c (22)

Поради для кращого написання коду мовою C#

Вступ та загальні відомості Я програмую мовою С# вже більше чотирьох років, спостерігаючи, як ця мова змінювалася від С# 5 до С# 6. В цілому, С# вже розвинувся, але більшість програмістів ще не достатньо удосконалили свої навички, щоб зрозуміти основ...

Codeguida · 05 березня 2021 · 11

Жадібні алгоритми

Жадібний алгоритм - інтуїтивний та ефективний спосіб розв'язання задач оптимізації. І хоча його реалізація приваблює своєю очевидністю, він не завжди оптимальний. Необхідно точно розуміти, коли застосовувати жадібний підхід, а коли його варто уникати...

Oleksandr Martyniuk · 30 липня 2020 · 3.2K

Пишемо першу багатониткову програму на С#

Написати багатониткову програму не так складно, як це було раніше. .NET зробив за нас багато брудної роботи, щоб ми могли більше зосередитись на деталях. Існує кілька способів створювати багатониткові програми на C#. Запуск нитки public class SimpleT...

Codeguida · 28 липня 2017 · 2

7 проблем в автотестах

В своїй практиці я зустрічав проєкти з різними підходами до тестування: деякі мали 99% покриттям юніт-тестами, а в інших автоматичне тестування було відсутнє взагалі. В цій статті я хочу звернути увагу на характерні проблеми з автоматичними тестами,...

Oleksandr Martyniuk · 12 березня 2021 · 413

Чи варто переходити з Python на Nim заради продуктивності?

Nim — це поєднання синтаксису Python і продуктивності C Кілька тижнів тому я бродив по GitHub і натрапив на цікавий репозиторій: проєкт був повністю написаний на мові Nim. До цього я з ним не стикався, і в цей раз вирішив розібратися, що це за...

Alex · 23 липня 2020 · 299

LINQ. Огляд

В цій статті пропоную розглянути LINQ як важливий компонент .NET фреймворку, його історію та роль. Чому він був створений і як врешті користуватись цим інструментом. В кінці розглянемо приклади на мові C#, які дадуть уявлення про те, що таке LINQ. LI...

Oleksandr Martyniuk · 01 серпня 2020 · 696

Розумні вказівники у C

Я є палким прибічником C, однак іноді мені не вистачає певних високорівневих конструкцій. Мені не дає спокою незручність роботи з пам'яттю у C. Мене легко відволікти, тому я часто забуваю звільнити виділену пам'ять чи закрити файли. Дізнавшись про ро...

Codeguida · 31 липня 2017 · 11

Що таке синхронний та асинхронний колбек у C#?

Ця стаття допоможе вам зрозуміти синхронний та асинхронний колбек в C# та їх доцільне використання, включаючи приклади та міркування щодо ефективної обробки короткотривалих завдань, операцій вводу/виводу, паралелізму, швидкості реакції та масштабован...

Alex · 28 серпня 2023 · 120

ZeroIoC - IoC контейнер на Source Generator-ах

ZeroIoC IoC контейнер для .NET без рефлексії Головна затія - це створити такий IoC контейнер який би чудово працював на планформах із AOT компіляцією, таких як Xamarin, Unity та Native AOT. З виходом Roslyn Source Generator-ів реалізувати це стало на...

Stanislav Silin · 30 серпня 2021 · 342 · 7

Основи Програмування AVR C

В цій статті розглядаються деякі ключові концепції програмування мовою C для мікроконтролерів AVR. Регістри AVR Біти та байти Бітові операції Очищення та встановлення бітів Макрос керування значенням біту _BV() Регістри AVR Регістри — це спеціальн...

Codeguida · 07 вересня 2021 · 131 · 2

Макет метода з out параметром за допомогою Moq

Код проекту Архів — 9 KB. GitHub. Вступ Moq — зручна та популярна бібліотека створення макетів об'єктів для платформи .Net. Вона використовується при модульному тестуванні, щоб ізолювати окремі класи від їх залежностей та впевнитись, що виконують...

Codeguida · 06 травня 2019

STM32: Bit Banding

В статті ми будемо розглядати Bit Banding та зупинимось на таких питаннях: Технологія Bit Banding Використання Bit Banding Bit Banding масив Допустимі значення Технологія Bit Banding Bit Banding – технологія, що зв'язує окремий біт регістру або про...

Codeguida · 07 травня 2020 · 28