Программирование

Вопросы о C#, Python, Java, алгоритмах и архитектуре кода.

ПрограммированиеБесплатная C++ библиотека для Excel на Windows: OpenXLSX, xlnt

Рекомендации по бесплатным C++ библиотекам для работы с Excel на Windows: чтение/запись ячеек, формулы. Сравнение OpenXLSX, xlnt, libxlsxwriter. Примеры кода, установка, лицензии BSD/MIT.

1 ответ 17 просмотров
ПрограммированиеMVC, MVP, MVVM: паттерны проектирования и различия

Что такое паттерны проектирования MVC, MVP, MVVM? Какие проблемы они решают, сходства и ключевые различия. Применение в фреймворках ASP.NET, WPF, Android. Сравнение mvc паттерн, mvvm паттерн для чистого кода.

1 ответ 7 просмотров
ПрограммированиеКак удалить ключ из словаря Python, если он существует

Узнайте, как безопасно удалить ключ из словаря Python без KeyError: используйте my_dict.pop(key, None), if key in dict: del или try/except. Примеры кода, сравнение методов для python удалить ключ и python удалить из словаря.

1 ответ 7 просмотров
ПрограммированиеИдиома copy-and-swap в C++: что это, когда использовать

Разбираем идиому copy-and-swap в C++: суть, проблемы, которые она решает (exception safety, self-assignment), примеры реализации. Изменения в C++11 с move-семантикой. Когда применять для RAII-классов.

1 ответ 6 просмотров
ПрограммированиеКлючевые различия .gitignore и .gitkeep в Git

Разбираем, в чём разница между .gitignore и .gitkeep в репозиториях Git. .gitignore игнорирует файлы и папки, .gitkeep сохраняет пустые директории. Примеры, ошибки и лучшие практики использования файлов gitignore и gitkeep.

1 ответ 6 просмотров
ПрограммированиеВерсии C# и даты выхода: почему нет C# 3.5?

Правильные версии C#: 1.0, 2.0, 3.0 и далее с датами релизов. Объяснение, почему нет C# 3.5 — это путаница с .NET Framework 3.5. Полная хронология, история и советы по поиску на Microsoft Learn.

1 ответ 6 просмотров
ПрограммированиеРазница между @classmethod и @staticmethod в Python

Что такое @classmethod и @staticmethod в Python? Чем они отличаются, когда использовать декоратор classmethod или staticmethod. Примеры кода, наследование и зачем нужны эти декораторы в классах Python.

1 ответ 5 просмотров
ПрограммированиеAddTransient vs AddScoped vs AddSingleton в ASP.NET Core

Разница между AddTransient, AddScoped и AddSingleton в ASP.NET Core — когда использовать каждый lifetime, влияние на DbContext, потокобезопасность и Dispose.

1 ответ 5 просмотров
ПрограммированиеC#: байт строка без кодировки — почему нужна Encoding

Почему в C# для преобразования строки в массив байт требуется кодировка? Объяснение UTF-16 хранения, способы получить байты без хаков, примеры для шифрования. Сколько байт занимает строка и как избежать ошибок с endianness.

1 ответ 5 просмотров
ПрограммированиеКак вызвать функцию модуля по имени в Python (getattr)

Динамический вызов функции модуля по строковому имени в Python с помощью getattr и importlib. Примеры кода, проверки безопасности, обработка async-функций и полный шаблон реализации call(module, func_name). Избегайте eval для безопасности.

1 ответ 5 просмотров
ПрограммированиеPython: округление float до 2 знаков после запятой

Как правильно округлять float до 2 знаков в Python: решите проблему 13.949999999999999 с round(), f-строками и decimal. Python округление до 2 знаков без артефактов точности для финансов и измерений.

1 ответ 5 просмотров
ПрограммированиеКак печатать без перевода строки в Python: end=''

Как в Python печатать без перевода строки или пробела: print(end=''), sys.stdout.write(), flush для непрерывного вывода '....'. Примеры для Python 2/3, индикатор прогресса и избежание ошибок.

1 ответ 5 просмотров
ПрограммированиеМассивы в Java: объявление и инициализация с примерами

Как объявить и инициализировать массив в Java: new, литералы, циклы, Arrays.fill, стримы. Примеры для int, String, многомерных массивов. Типичные ошибки и советы для начинающих программистов.

1 ответ 5 просмотров
ПрограммированиеКак извлечь подстроку в Python: срезы и примеры — s[2:]

Пояснение и примеры: как извлечь подстроку в Python с помощью срезов (s[start:end]), получить myString[2:] до конца, использовать отрицательные индексы и slice().

1 ответ 5 просмотров
ПрограммированиеКак проверять исключения в тестах JUnit: лучшие практики

Идиоматичные способы проверки исключений в JUnit тестах: assertThrows в JUnit 5, ExpectedException в JUnit 4. Примеры кода, сравнение подходов и лучшие практики для junit тестов с проверкой сообщений.

1 ответ 4 просмотра
ПрограммированиеЧистая проверка десятичных чисел в JavaScript: IsNumeric

Самый чистый способ валидации десятичных чисел в JavaScript. Функция IsNumeric проходит все тесты: '-1.5', '.42' (true), '99,999', 'blah' (false). С regex, Number.isFinite, кроссплатформенно. Забудьте isNaN!

1 ответ 4 просмотра
ПрограммированиеКак сгенерировать случайное целое число в C# с Random

Узнайте, как генерировать случайное целое число в C# с помощью класса Random.Next() и RandomNumberGenerator. Примеры кода, диапазоны, многопоточность, криптостойкие числа и избежание ошибок для надежного рандома.

1 ответ 4 просмотра
ПрограммированиеРефлексия в программировании: что это и зачем (Java)

Что такое рефлексия в программировании и зачем она нужна? Подробно о рефлексии Java: Reflection API, примеры Class.forName, getDeclaredField, invoke. Плюсы, минусы, использование в фреймворках и метапрограммировании.

1 ответ 4 просмотра
ПрограммированиеКак разбить длинную строку в YAML на несколько строк

Как разбить yaml строки на несколько строк в YAML: используйте folded (>) для сглаживания в пробелы или literal (|) для сохранения yaml перенос строки. Chomping, кавычки без экранирования, примеры в PyYAML и Ansible. Избегайте конкатенации +.

1 ответ 4 просмотра
ПрограммированиеКак определить тип переменной в Python (uint32)

Узнайте, как определить тип переменной в Python с помощью type() и isinstance(). Проверка типов данных: int, float, uint32 через NumPy, ctypes. Примеры кода, советы по диапазону и распространённые ошибки для точной типизации.

1 ответ 3 просмотра