Warning: Undefined array key 0 in /var/www/tgoop/function.php on line 65

Warning: Trying to access array offset on value of type null in /var/www/tgoop/function.php on line 65
2010 - Telegram Web
Telegram Web
📁 Использование Proxyman для перехвата сетевых запросов приложений
Проксирование трафика это обязательная часть разработки мобильного приложения. У каждого есть свой любимый мультитул для проксирования, сам я использовал Charles, а последнее время полностью перешел на Proxyman. В статье как раз на примерах показывается как его настроить и использовать.Proxyman — инструмент для перехвата и имитации сетевых запросов. Его можно использовать для мокирования различных сценариев, тестирования API, подмены ответов и многого другого. В статье рассматривается как раз настройка и использование этого инструмента:
🔵Установка и настройка Proxyman
🔵Захват сетевых запросов
🔵Proxyman не классифицирует запросы по приложениям, а по доменам.
🔵Моделирование данных (Имитационные данные)
🔵Поддержка отображения протокольных буферов и двоичных данных.
🔵Возможность моделирования различных сетевых условий и конфигураций сервера.
🔵Функции отладки сетевых точек останова, пользовательские сценарии, автоматическая генерация кода и механизм редактирования и повтора.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Улучшите архитектуру Вашего Кода с помощью принципов SOLID (с примерами Swift)
Начинаем неделю с моей любимой рубрики, статья от подписчика Maxim Egorov. Тема статьи никогда не устареет, понимание применения SOLID принципов поможет вам улучшить ваш код. SOLID помогает писать чистый, масштабируемый и поддерживаемый код. Следование принципам уменьшает зависимости, повышает гибкость и упрощает расширение и тестирование.
⌨️ Принцип единой ответственности. Каждый объект должен выполнять только одну задачу и иметь только одну причину для изменения
⌨️ Принцип открытия/закрытия. Код должен быть открыт для расширения, но закрыт для модификации
⌨️ Принцип замещения - Лисков. Подклассы должны заменять родительский класс без изменения логики программы
⌨️ Принцип разделения интерфейсов. Классы не должны принуждаться к реализации методов, которые им не нужны
⌨️ Принцип инверсии зависимостей. Модули высокого уровня не должны зависеть от модулей низкого уровня

Выводы
🔵Применение принципов SOLID делает код стабильным, адаптируемым и устойчивым к сложности
🔵SOLID помогает предотвратить хаос в проектах
🔵Улучшает организацию, поддержку, тестирование и расширение кода
🔵SOLID помогает создавать масштабируемые и гибкие архитектуры
#solid
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔨 CryptoKit. Криптография с открытым ключом
Базовое понимание принципов криптографии помогает понять как работает защита информации, как совершаются атаки и что такое доверительные цепочки. Проще всего разобраться в теории с примерами и данная статья как раз про это. Криптография с открытым ключом основана на паре связанных ключей: открытый и закрытый. Открытый ключ используется для шифрования, закрытый — для расшифровки. Получение закрытого ключа из открытого невозможно с точки зрения вычислений.
Варианты использования криптографии с открытым ключом:
🟣Шифрование: открытые ключи используются для безопасного обмена ключами с симметричным шифрованием.
🟣Цифровые подписи: подтверждают подлинность сообщения, хэшируя его и шифруя с помощью закрытого ключа.

Алгоритмы с открытым ключом, поддерживаемые CryptoKit:
🟡P256/P384/P521 (NIST curves) — стандартизированы и соответствуют государственным стандартам безопасности.
🟡Curve25519 — более эффективна и устойчива к атакам, рекомендуется для современных применений.
#CryptoKit
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
⚡️🧑‍💻⚡️ Объявлены даты #WWDC25
В этом году WWDC пройдёт с 9 по 13 июня, начало в 20:00 GMT+3. Анимация как всегда содержит намек, похоже, утечки про редизайн в стиле VisionOS были правдивы

📹 AppleDeveloper - трансляция так же будет на ютубе
🈸 Apple Developer - приложение с дополнительным контентом и трансляциями

🗓 Добавить в календарь WWDC чтобы не забыть
Please open Telegram to view this post
VIEW IN TELEGRAM
🐥 Под капотом асинхронных функций. Как работает Swift Concurrency
Swift Concurrency становится неотъемлемой частью iOS-приложений. Но сессии WWDC часто оставляют вопросы о деталях реализации без ответов. Статья поможет понять, как работает параллелизм Swift

Асинхронные функции
🔵Асинхронный контекст означает, что функция находится внутри асинхронной функции или замыкания
🔵Синхронный контекст по умолчанию, большая часть кода выполняется в нем
🔵Для переключения на асинхронный контекст используются неструктурированные параллельные задачи

Async → await
🔵Ожидание позволяет писать асинхронный код в более последовательном виде
🔵Ожидание освобождает поток для других задач
🔵Продолжение хранит состояние выполнения асинхронной функции

Tasks
🔵Задачи выполняют асинхронные функции, как потоки выполняют синхронные
🔵Задачи могут быть созданы явно или неявно
🔵Задачи могут находиться в трех состояниях: приостановленный, запущенный, планируемый

Jobs
🔵Работы происходят между точками приостановки в рамках задачи.
🔵Каждое асинхронное задание состоит из трех частей: перед работой, ожидание асинхронной работы, после работы
🔵Асинхронная работа разбивает функции на синхронные блоки, каждый из которых представляет собой асинхронную работу
🔵Задания создаются во время выполнения, но их структура определяется при компиляции
🔵Задания выполняются последовательно, с возможностью приостановки

Actors
🔵Акторы изолируют вызовы асинхронных функций, позволяя безопасно делиться состоянием с другими задачами
🔵Акторы обеспечивают потокобезопасный доступ к изменяемому состоянию
🔵Исполнители управляют приоритетами работы и организуют потоки для выполнения заданий

Executors
🔵Swift не предоставляет явный планировщик, но среда выполнения неявно ставит задания в очередь к исполнителям
🔵Контекст выполнения определяет, какой исполнитель должен выполнять задание
🔵Фактическая точка приостановки возникает при переключении контекстов выполнения

Совместный пул потоков (CTP)
🔵CTP ограничивает количество потоков количеством ядер процессора, что предотвращает перегрузку ресурсов
🔵Основной поток обрабатывает обновления пользовательского интерфейса и может быть переведен в спящий режим при отсутствии работы

Параллелизм Swift устраняет проблемы с обратным вызовом и предлагает более понятный синтаксис. Для полного понимания параллелизма в Swift требуется время и практика
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
2025/07/05 09:29:50
Back to Top
HTML Embed Code: