Получи случайную криптовалюту за регистрацию!

iOS Dev

Логотип телеграм канала @ios_career — iOS Dev I
Логотип телеграм канала @ios_career — iOS Dev
Адрес канала: @ios_career
Категории: Технологии
Язык: Русский
Количество подписчиков: 5.08K
Описание канала:

🍏Канал об iOS-разработке, необычных подходах и решениях.
⭐️ Подготовка к собеседованиям.
⭐️ Архитектуры и алгоритмы.
⭐️ Статьи, обновления Swift и iOS.
⭐️ Код. Много кода.
👨‍💻Любые вопросы:
Виктор Грушевский (@Viktorianec)
#ios #mobile #swift

Рейтинги и Отзывы

2.50

2 отзыва

Оценить канал ios_career и оставить отзыв — могут только зарегестрированные пользователи. Все отзывы проходят модерацию.

5 звезд

0

4 звезд

1

3 звезд

0

2 звезд

0

1 звезд

1


Последние сообщения 3

2022-08-19 09:28:33
Как бы мог выглядеть iOS-разработчик в Эпоху Возрождения или как мне дали доступ к DALL·E
Почувствуйте игру слов

Я, наконец, получил свой доступ к нейросети от OpenAI и решил потратить весь свой запас кредитов некоторое время на проверку того, как она работает. Что могу сказать — впечатления необычные.

Как показывает практика, при корректных запросах нейросеть умеет в контекст и в целом более чем круто создаёт изображения на основе запросов.

И почему бы в пятницу не поэкспериментировать и не подумать, как бы мог выглядеть iOS-разработчик, если бы его рисовал, например, Да Винчи?

Что получилось в итоге — вы можете увидеть на скриншоте.

Как выглядел процесс создания этих изображений для меня?

Несколько неудачных фраз, в которых не было нужно контекста.

Попытка подобрать более интересные эпохи. Не уверен, нужно ли показывать айос-разработчиков в стиле авангардизма? Если соберём 33 сделаю!

Подготовка и выбор наиболее удачных изображений из всех.

Ну и то что получилось — перед вами. А какой разработчик сегодня ты? Из эпохи ренессанса, классицизма или романтизма?

@iOS Dev — что дали, то DALL·E.
1.8K viewsedited  06:28
Открыть/Комментировать
2022-08-18 10:20:36
Как вынести код в отдельный метод средствами Xcode?

Скорее всего, в подавляющем большинстве случаев для рефакторинга многие пользуются простым и надёжным копипастом (он же CMD+C CMD+V).

Но есть и другой путь: выделите код, нажмите Refactor -> Extract to method и укажите название нужного метода.

Кстати, что такое #warning и зачем он нужен — можно прочитать вот тут.

@iOS Dev — о простых вещах понятными словами.
1.8K views07:20
Открыть/Комментировать
2022-08-17 14:18:53 Знаете ли вы, что такое UUID на самом деле или при чём тут RFC 4122?

В документации Apple сказано, что UUID это универсальное уникальное значение для идентификации типов, интерфейсов и других элементов. Но что, если я скажу вам, что оно не такое уж уникальное?

Шанс сгенерировать один и тот же идентификатор дважды на любом устройстве планеты практически равен нулю! Ключевое слово здесь — практически, и ниже я попытаюсь рассказать, почему.

В Swift мы можем создать UUID довольно просто:

let identifier = UUID()
print(identifier)

Результатом будут 128 случайно сгенерированных битов (если вы хотите вывести значение строки, то можно использовать identifier.uuidString).

Но так ли они случайны?

Для этого мы можем обратиться к стандарту RFC 4122, который содержит целых 5 различных подходов к созданию этих идентификаторов.

UUID — это просто 128-битные числа, используемые для уникальной идентификации элементов при разработке ПО. Их каноническое текстовое представление это пять групп шестнадцатеричных символов, разделённых дефисами: 8-4-4-4-12.

Что-то вроде: 3422b448-2460-4fd2-9183-8000de6f8343 (подозреваю, что вы где-то такое уже видели).

В эту, на первый взгляд, случайную серию шестнадцатеричных символов встроена информация о реализации UUID.

xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx

Значения на позициях M и N однозначно определяют версию и вариант UUID.

Версия

Номер версии идентифицируется путем просмотра старших 4 битов значения в позиции M

Вариант

Поле варианта определяет расположение информации, встроенной в UUID. Интерпретация всех остальных битов в UUID зависит от значения варианта.

В iOS нас больше всего интересует RFC 2144 версии 4
Более ранние версии универсальных уникальных идентификаторов полагались на дату и время, MAC-адрес устройства и идентификаторы namespace (можно прочесть ниже).

Всякий раз, когда структура UUID генерирует новый идентификатор, она в основном делает 122 броска кубика (или костей ), чтобы получить 122 случайных бита. Остальные ведь нужны нам для идентификации версии и варианта, помните?

Немного математики говорит нам, что всего у нас 3 ундециллиона идентификаторов, или 5,3 триллионов триллионов триллионов (ладно, чтобы было проще 5.3 и 36 нулей). ЭТО МНОГО!

Количество идентификаторов, которые необходимо сгенерировать, чтобы иметь 50-процентную вероятность коллизии (т. е. два одинаковых идентификатора), составляет 2,71 квинтиллиона, или 2,71 в 1018 степени. А я говорил, что они не на 100% уникальны!

На это потребуется 85 лет, если вы будете генерировать 1 миллиард идентификаторов в секунду.

Внимание, спойлер финальной серии сериала «Лучше звоните Солу»!

Почти столько же, сколько дали Солу, чёрт возьми!

Чтобы сохранить все эти идентификаторы, вы должны создать файл размером около 45 экзабайт или 45 миллионов терабайт, что намного больше, чем самые большие БД в мире.

UUID является универсально уникальным для всех устройств, баз данных, iPhone и т. д. в мире. Вероятность создания одного и того же UUID дважды ничтожно мала (но есть).

Остальные версии UUID

Версия 1. На основе времени + уникальный или случайный идентификатор хоста

Версия 2 (безопасность распределенной вычислительной среды) — менее распространена, чем первая, юзает некий специальный идентификатор, уникальный для системы.

Версия 3. На основе имени + хэш MD5.

Версия 4. PRNG (аббревиатура pseudo-random number generator). Использует большинство современных языков программирования.

На основе имени + хэш SHA-1.

По традиции для расширения кругозора можно прочесть следующее

Документация Apple
How To Generate a Random Unique Identifier
Understanding How UUIDs Are Generated
RFC 4122

@iOS Dev — вот этот канал точно уникален на 100% (но есть ничтожная вероятность, что посты отсюда вы ещё где-то увидите )
1.8K viewsedited  11:18
Открыть/Комментировать