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
1948 - Telegram Web
Telegram Web
1️⃣2️⃣3️⃣4️⃣5️⃣ SE-0456 Добавили Span свойства в стандартныю библиотеку типов

Продолжаем разбираться с "упрощениями" в 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
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
11
⚡️Вышел новый Mac Studio: это разрыв!

Топовое решение для дома, можно спокойно крутить серьезные нейронки и LLM локально
🟢M4 Max (уже в базе)
🟢В 3,5 раза быстрее, чем M1 Max
🟢В 2,6 раза быстрее, чем M1 Ultra
🟢В 16,9 раз быстрее генерация токенов LLM
🟢36 ГБ RAM в базе
🟢Thunderbolt 5 с пропускной способностью до 120 Гбит/с
🟢Предварительный заказ с 12 марта
🟢Цены: от 1999$ для США
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍82
iOS Broadcast
1️⃣2️⃣3️⃣4️⃣5️⃣ SE-0456 Добавили Span свойства в стандартныю библиотеку типов Продолжаем разбираться с "упрощениями" в Swift. В этот раз, нас спасают от небезопасной работы с контейнерами и расширяют возможности использования новых типов Span и RawSpan в…
🐥 Руководство по использованию unsafe в Swift
А вот и статья про то как работать с unsafe в Swift сейчас и в каких случаях это может вам понадобиться:

Когда использовать небезопасные указатели?
🔵Работа с BSD-сетями, OpenGL, POSIX.
🔵Оптимизация: создание ручного управления памятью.
🔵Низкоуровневое программирование: работа с буферами, сериализация/десериализация.
🔵Взаимодействие с Objective-C: наведение мостов между ARC и ручным управлением памятью.

Рекомендации по использованию небезопасных указателей:
🔵Минимизируйте использование небезопасных указателей.
🔵Используйте withUnsafe конструкции для корректного выделения и освобождения памяти.
🔵Проверяйте границы при арифметике указателей.
🔵Документируйте код и используйте стандартные библиотеки.
🔵Тщательно тестируйте код с использованием небезопасных указателей.

🟢Преимущества: производительность, интероперабельность, гибкость.
🔴Риски: утечки памяти, нарушение безопасности, сложность поддержки.

Выводы
🟡Использование unsafe в Swift требует высокой эффективности и контроля за управлением памятью.
🟡Важно не злоупотреблять прямыми указателями и документировать изменения.

#unsafe #swift
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍32
iOS Broadcast
⚡️Вышел новый Mac Studio: это разрыв! Топовое решение для дома, можно спокойно крутить серьезные нейронки и LLM локально 🟢M4 Max (уже в базе) 🟢В 3,5 раза быстрее, чем M1 Max 🟢В 2,6 раза быстрее, чем M1 Ultra 🟢В 16,9 раз быстрее генерация токенов LLM 🟢36 ГБ…
🎯 Релиз Mac Studio лег на почву новых LLM моделей
Наткнулся на анализ от разработчиков exolabs с экспертным ревью: Mac Studio M3 Ultra с 512 ГБ памяти идеально подходит для работы с DeepSeek V3/R1. 2 M3 Ultra 512GB Mac Studio с exolabs обеспечивают полный запуск DeepSeek R1 дома. Звучит мега дорого?

Сравнение стоимости:
🔵NVIDIA H100: 80 ГБ, 3 ТБ/с, 25 000$, 312,50$ за ГБ
🟣AMD MI300X: 192 ГБ, 5,3 ТБ/с, 20 000$, 104,17$ за ГБ
🟢Apple M2 Ultra: 192 ГБ, 800 ГБ/с, 5000$, 26,04$ за ГБ
🟢Apple M3 Ultra: 512 ГБ, 800 ГБ/с, 9 500$, 18,55$ за ГБ

Стоимость за ГБ/с пропускной способности памяти
🔵NVIDIA H100: 8,33$
🟣AMD MI300X: 3,77$
🟢Apple M2 Ultra: 6,25$
🟢Apple M3 Ultra: 11,87$

Преимущества Apple
🟢Apple выигрывает за счет увеличения объема памяти и снижения частоты обновления
🟢MoE и модульная маршрутизация требуют большого объема памяти, но небольшой пропускной способности
🟢Пропускная способность памяти в M4 Max увеличилась на 36,5% по сравнению с M3 Max
🟢В следующем году ожидается появление Mac Studio M4 Ultra с технологией Apple UltraFusion
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5
🔨 Создание UDP-сервера и клиента в Swift с помощью Network.framework
Рубрика, "статья от подписчика" продолжается, очень рад что прошлая публикация зашла и вы продолжаете не только писать статьи но и подкидывать их в мой информационный пузырь. Тема статьи необычная, UDP протокол и работа на транспортном уровне. В статье рассматривается:
🔵Сетевая коммуникационная структура по уровням модели OSI.
🔵UDP обеспечивает более прямой контроль над транспортным уровнем, что делает его эффективным для приложений реального времени.
🔵Пример демонстрирует реализацию UDP-сервера и клиента
🔵Реализация может быть расширена для поддержки нескольких клиентов, улучшенной обработки ошибок и дополнительных настроек подключения.

Отличный пример использования Network фреймворка.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥51
2025/07/13 05:38:03
Back to Top
HTML Embed Code: