Продолжаем разбираться с "упрощениями" в Swift. В этот раз, нас спасают от небезопасной работы с контейнерами и расширяют возможности использования новых типов
Span
и RawSpan
в существующих контейнерах.Мотивация
Многие типы контейнеров из стандартной библиотеки могут предоставлять прямой доступ к своему внутреннему представлению. До сих пор это можно было сделать только небезопасным способом. Стандартная библиотека предоставляет эту небезопасную функциональность с помощью функций, принимающих замыкания, таких как
withUnsafeBufferPointer()
, withContiguousStorageIfAvailable()
и withUnsafeBytes()
. У этих функций есть несколько недостатков, самый заметный из которых — использование небезопасных типов, что делает их неприемлемыми в средах с повышенными требованиями к безопасности. API, принимающие замыкания, также могут быть сложны в сочетании с новыми функциями и друг с другом. Эти проблемы решаются с помощью Span. Согласно этому предложению, совместимые типы стандартной библиотеки будут предоставлять доступ к своему внутреннему представлению через вычисляемые свойства типа Span
и RawSpan
.#swift #evolution #proposals
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Grand Central Dispatch, Once and for All
Редкая рубрика, статья от подписчика @kfamyn. В ней простым языком разбираются все основы и тонкости работы с GCD.
🔵 Основные понятия: поток, многопоточность, GCD, задача, очередь
🔵 Типы очередей
🔵 Приоритеты очередей
🔵 Последовательные и параллельные очереди
🔵 Способы выполнения задач: асинхронный, синхронизация
🔵 Дедлоки
🔵 Целый набор примеров задачек на понимание GCD 🔥
🔖 Точно достойно добавления в закладки, для подготовки к собесам:
🔴 Как GCD управляет выполнением задач в основной, глобальной и пользовательских очередях
🔴 Различия между последовательным и параллельным выполнением
🔴 Различия между синхронной (sync) и асинхронной (async) отправкой задач
🔴 Большой набор примеров задач, которые дают на собесах
#GCD #basics
Редкая рубрика, статья от подписчика @kfamyn. В ней простым языком разбираются все основы и тонкости работы с GCD.
#GCD #basics
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤11
Топовое решение для дома, можно спокойно крутить серьезные нейронки и LLM локально
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤2
iOS Broadcast
А вот и статья про то как работать с unsafe в Swift сейчас и в каких случаях это может вам понадобиться:
Когда использовать небезопасные указатели?
Рекомендации по использованию небезопасных указателей:
Выводы
#unsafe #swift
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3❤2
iOS Broadcast
Наткнулся на анализ от разработчиков exolabs с экспертным ревью: Mac Studio M3 Ultra с 512 ГБ памяти идеально подходит для работы с DeepSeek V3/R1. 2 M3 Ultra 512GB Mac Studio с exolabs обеспечивают полный запуск DeepSeek R1 дома. Звучит мега дорого?
Сравнение стоимости:
Стоимость за ГБ/с пропускной способности памяти
Преимущества Apple
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5
Рубрика, "статья от подписчика" продолжается, очень рад что прошлая публикация зашла и вы продолжаете не только писать статьи но и подкидывать их в мой информационный пузырь. Тема статьи необычная, UDP протокол и работа на транспортном уровне. В статье рассматривается:
Отличный пример использования Network фреймворка.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5❤1