Популярные антипаттерны:
- God Object (всё в одном классе);
- Spaghetti Code (плохая структура, трудно сопровождать);
- Lava Flow (мертвый, но используемый код);
- Shotgun Surgery (изменение одного места требует правок в десятке других);
- Hard Coding (вшивание значений вместо конфигурации).
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
💊1
Anonymous Quiz
9%
Наблюдатель (Observer)
45%
Строитель (Builder)
45%
Фабрика (Factory)
1%
Стратегия (Strategy)
Anonymous Quiz
4%
noinline
27%
dynamic
6%
virtual
63%
inline
GitFlow — это стратегия ветвления в Git. В ней есть основные ветки (main, develop), а также поддержка feature, release, hotfix и support, которые упрощают управление релизами и разработкой.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Anonymous Quiz
12%
Принудительное развертывание
11%
Автоматическое преобразование типов
54%
Компиляторные проверки и опциональное связывание
23%
Использование динамических проверок типов
Anonymous Quiz
7%
Использование UserDefaults
84%
Применение Keychain Services
8%
Использование базы данных с шифрованием
2%
Сохранение данных в NSCachesDirectory
Да, если использовать Notification Service Extension в iOS, можно изменить содержимое уведомления до показа. Однако это работает только для remote notification с mutable-content: 1.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1🔥1
Anonymous Quiz
11%
Наследование
71%
Полиморфизм
3%
Инкапсуляция
15%
Абстракция
Anonymous Quiz
52%
Использование catch блока
30%
Использование try await
3%
Использование handleError
16%
Использование async catch
💊8
1. Классы поддерживают наследование, что делает сложным автоматическое создание инициализатора, учитывающего все поля, включая родительские.
2. Инициализация в классах может включать дополнительные логики, которые сложно определить на этапе компиляции.
3. Структуры, в отличие от классов, не имеют этих ограничений, поэтому memberwise инициализатор создаётся автоматически.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Anonymous Quiz
26%
Instruments
36%
Profiler
17%
Analyzer
22%
Debugger
Anonymous Quiz
77%
Приведение типов
9%
Сериализация
6%
Парсинг
7%
Маппинг
Стек используется для хранения временных данных, вызовов функций, возвращаемых адресов, локальных переменных. Он работает по принципу LIFO и обеспечивает быстрый доступ.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
💊2
Anonymous Quiz
26%
Скрытие реализации типа данных
9%
Инкапсуляция внутренних деталей класса
51%
Сокрытие конкретных типов возвращаемых значений функций
14%
Защита данных от изменений во время выполнения
Anonymous Quiz
34%
Использование enum с ассоциированными значениями
49%
Применение Any
11%
Использование Tuple
7%
Применение Union типа
💊1
2. Размер протокола:
• Если протокол не содержит методов, его размер вычисляется напрямую через MemoryLayout<Protocol>.size.
• Если в протоколе есть методы, его реальный размер зависит от реализации.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
Anonymous Quiz
41%
if-else
55%
switch
4%
guard
0%
for-in
💊8
Anonymous Quiz
24%
Использование протоколов для определения уровней доступа
52%
Определение enum с ролями и соответствующими правами
13%
Создание базы данных с таблицами ролей и прав
12%
Применение атрибутов доступа вместе с Assertion
Это протокол передачи гипертекста.
Предназначен для обмена данными между клиентом и сервером. Работает по модели запрос-ответ.
Используется в браузерах, API, мобильных приложениях. Может быть небезопасным (HTTP) или защищённым (HTTPS с TLS/SSL).
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
Anonymous Quiz
19%
Утечка памяти из-за чрезмерного использования strong ссылок
57%
Race condition, когда два потока одновременно изменяют одну переменную
7%
Зависание интерфейса из-за выполнения тяжелых задач в главном потоке
18%
Race condition возникает, когда несколько потоков одновременно пытаются изменить
💊4