Хеширование в Swift для начинающих - как оно работает и используется в коллекциях в общем случае и в Swift. Для освежения знаний тоже подойдет.
https://drebenko.notion.site/Swift-ea16b79f8d56430f87b76c0398fe9db3
https://drebenko.notion.site/Swift-ea16b79f8d56430f87b76c0398fe9db3
drebenko on Notion
Хеширование в Swift. Что это и как применять? | Notion
Уровень: Новичок
13 августа Яндекс приглашает на «Дзен-Мобайл: как ускорить рост приложений» — онлайн-митап для iOS- и Android-разработчиков
На митапе обсудят, как устроена мобильная разработка в Яндекс.Дзене, как они делают видео и как внедрили server-side вёрстку в приложениях.
— В докладе об истории видео в Дзене поговорят о том, какие метрики и зачем собирают в разработке видео, как интегрировали рекламу, как организовывают бесшовное проигрывание на нескольких поверхностях и как планируют создать самописный плеер.
— Во второй части расскажут, как переносили вёрстку ленты на сервер, о реализации Backend Driven UI, о том, на какие грабли наступили, и что будут делать дальше.
— А на дискуссии рассмотрят плюсы и минусы независимых подходов к server-side вёрстке от разных компаний.
Участие в мероприятии бесплатное. Зарегистрируйтесь — взамен отправят файл для календаря и два напоминания о трансляции: https://clck.ru/Wcvho
На митапе обсудят, как устроена мобильная разработка в Яндекс.Дзене, как они делают видео и как внедрили server-side вёрстку в приложениях.
— В докладе об истории видео в Дзене поговорят о том, какие метрики и зачем собирают в разработке видео, как интегрировали рекламу, как организовывают бесшовное проигрывание на нескольких поверхностях и как планируют создать самописный плеер.
— Во второй части расскажут, как переносили вёрстку ленты на сервер, о реализации Backend Driven UI, о том, на какие грабли наступили, и что будут делать дальше.
— А на дискуссии рассмотрят плюсы и минусы независимых подходов к server-side вёрстке от разных компаний.
Участие в мероприятии бесплатное. Зарегистрируйтесь — взамен отправят файл для календаря и два напоминания о трансляции: https://clck.ru/Wcvho
Дзен-Мобайл: как ускорить рост приложений
13 августа приглашаем iOS- и Android-разработчиков на онлайн-митап от Яндекс.Дзена.
Обсудим, как устроена мобильная разработка в Яндекс.Дзене, как мы делаем видео и как внедрили server-side верстку в приложениях.
Зарегистрируйтесь — взамен отправим файл…
Обсудим, как устроена мобильная разработка в Яндекс.Дзене, как мы делаем видео и как внедрили server-side верстку в приложениях.
Зарегистрируйтесь — взамен отправим файл…
Частые проблемы DI и как их можно решить, используя современные фичи Swift: Subscript и Property Wrappers.
https://www.avanderlee.com/swift/dependency-injection/
https://www.avanderlee.com/swift/dependency-injection/
SwiftLee
Dependency Injection in Swift using latest Swift features
Dependency Injection using latest Swift features allows you to mock data, and write tests easily without 3rd party dependencies.
Как работает асинхронный
https://oleb.net/2021/async-program-launch-sequence/
main()
со ссылками на код в репо Свифта. С помощью Swift runtime и GCD.https://oleb.net/2021/async-program-launch-sequence/
oleb.net
How Swift runs an async executable – Ole Begemann
Who creates the task for your async <code>main</code> method to run in, and how.
С кооперативной отменой можно было познакомиться и до async/await, но теперь она стала немного лучше.
https://alejandromp.com/blog/the-importance-of-cooperative-cancellation/
https://alejandromp.com/blog/the-importance-of-cooperative-cancellation/
Alejandro M. P.
The importance of cooperative cancellation | Alejandro M. P.
One of the most important aspects to understand about Swift Concurrency is how cancellation of async tasks works. You may expect that when a task is cancelled, it immediately stops, like when you kill a process. But that’s not at all how it works, cancellation…
Подробнее про
https://www.fivestars.blog/articles/alwaysEmitIntoClient/
@_alwaysEmitIntoClient
- потенциальное решение одного из пороков SwiftUI. Поддержка новых функций фреймворка старыми версиями iOS.https://www.fivestars.blog/articles/alwaysEmitIntoClient/
FIVE STARS
Backporting new features with @_alwaysEmitIntoClient | FIVE STARS
An exploration of the private @_alwaysEmitIntoClient attribute
❤1
Как iOS-разработчику с опытом прокачать свой уровень?
💎 9-10 августа в 15.00 мск примите участие в открытом интенсиве «Пишем современное iOS приложение на SwiftUI».
За два дня вы разберете особенности создания UI с помощью фреймворка SwiftUI и напишете бизнес-логику с помощью нативных средств (Combine).
Преподаватель Анна Жаркова объяснит, как использовать новинки, представленные на WWDC 2021, в том числе и async-await.
👉 Для регистрации на интенсив пройдите вступительный тест
💎 9-10 августа в 15.00 мск примите участие в открытом интенсиве «Пишем современное iOS приложение на SwiftUI».
За два дня вы разберете особенности создания UI с помощью фреймворка SwiftUI и напишете бизнес-логику с помощью нативных средств (Combine).
Преподаватель Анна Жаркова объяснит, как использовать новинки, представленные на WWDC 2021, в том числе и async-await.
👉 Для регистрации на интенсив пройдите вступительный тест
Otus
Разработчик iOS: практическое применение Swift 5, работа в Xсode и Git
Курс Разработчик iOS в OTUS с возможностью трудоустройства
👎1
Attabench помогает правильно тестировать скорость работы функций и рисовать графики зависимости от размера входных данных. В будущем его должен заменить Swift Collections Benchmark, но пока его развитие происходит не особо активно.
https://swiftrocks.com/benchmarking-swift-code-properly-with-attabench
https://swiftrocks.com/benchmarking-swift-code-properly-with-attabench
Swiftrocks
Benchmarking Swift Code Properly with Attabench
Hmmmm, how fast is this piece of code? Let's find out!
Сниппеты кода можно удобно хранить в гите и устанавливать с помощью
https://fabernovel.github.io/2021-07-22/enhance-xcode-snippets-using-git
xcresource
.https://fabernovel.github.io/2021-07-22/enhance-xcode-snippets-using-git
Fabernovel
Enhance Xcode snippets using Git
In a previous post we described how to combine xcresource and Xcode templates to create a distributed sample code database available right inside Xcode.
Казуализируемся. В Xcode 13 c Info.plist произошли изменения - значения его полей теперь могут храниться в файле проекта. Для SwiftUI по дефолту Info.plist вообще отсутствует.
https://useyourloaf.com/blog/xcode-13-missing-info.plist/
https://useyourloaf.com/blog/xcode-13-missing-info.plist/
Use Your Loaf - iOS Development News & Tips
Xcode 13 Missing Info.plist
What happened to the Info.plist file in Xcode 13?
Специализация «iOS Developer» в OTUS рассчитана на тех, кто хочет с нуля научиться создавать приложения для устройств Apple и стать востребованным iOS-разработчиком.
А хотите узнать, что вы будете уметь всего через 1 год обучения?
10 августа приходите на открытый урок «Новые инструменты Swift, для работы с асинхронностью Async/Away/Actor» и вы увидите до уровня каких задач вы легко можете дорасти за столь короткий срок.
👉 Регистрируйтесь, будет интересно!
А хотите узнать, что вы будете уметь всего через 1 год обучения?
10 августа приходите на открытый урок «Новые инструменты Swift, для работы с асинхронностью Async/Away/Actor» и вы увидите до уровня каких задач вы легко можете дорасти за столь короткий срок.
👉 Регистрируйтесь, будет интересно!
Привет!
Команда Cameos ищет крутого iOS разработчика в лондонский офис Snapchat. Cameos полностью генерируются на клиенте, поэтому Вас ожидают сложные, классные задачи, связанные с перфомансов и работой с ML. Полагаются все плюшки работы в большой компании, при этом мы еще сохраняем дух стартапа внутри (компания AI Factory была недавно куплена Snap). Через год возможен relocation в Лос-Анджелес 😎🌴
Желающие попробовать свои силы пишите @grtkachenko
Команда Cameos ищет крутого iOS разработчика в лондонский офис Snapchat. Cameos полностью генерируются на клиенте, поэтому Вас ожидают сложные, классные задачи, связанные с перфомансов и работой с ML. Полагаются все плюшки работы в большой компании, при этом мы еще сохраняем дух стартапа внутри (компания AI Factory была недавно куплена Snap). Через год возможен relocation в Лос-Анджелес 😎🌴
Желающие попробовать свои силы пишите @grtkachenko
Distractify
Snapchat Cameos Have Officially Become Our Favorite Feature
Snapchat's features include Cameos, a new way to selfie or send your face to another person without taking an entirely new photo.
Врываемся со свежим анонсом шестого сезона Podlodka iOS Crew!
🔥Старт 23 августа.
Интенсив продлится две недели. Сессии проходят дважды в день: утром и вечером.
Тебя уже ждут: крутые спикеры, сессии в лайве, ламповое общение и обмен кейсами в слаке, записи (для тех, кто не успевает на лайв).
На этот раз обсуждают работу с сетью и совершенный код.
Первую неделю посвящают работе с сетью.
Помогут изучить протоколы передачи данных и научат выбирать протокол под конкретные задачи. Затем разберут, как лучше всего проектировать сетевой слой. Также покажут способы оптимизировать работу с сетью, чтобы ты точно познал силу и умело оперировал новыми знаниями 😉
Во время второй недели будут погружаться в совершенный код.
Сначала определят метрики качества кода без буллшита. После научат автоматизировать сбор метрик и проверки качества кода. Затем обсудят популярные инженерные практики, разоблачат те, которые вредят.
Все подробности уже на сайте, а до конца недели действует приятная скидка! 😊
🔥Старт 23 августа.
Интенсив продлится две недели. Сессии проходят дважды в день: утром и вечером.
Тебя уже ждут: крутые спикеры, сессии в лайве, ламповое общение и обмен кейсами в слаке, записи (для тех, кто не успевает на лайв).
На этот раз обсуждают работу с сетью и совершенный код.
Первую неделю посвящают работе с сетью.
Помогут изучить протоколы передачи данных и научат выбирать протокол под конкретные задачи. Затем разберут, как лучше всего проектировать сетевой слой. Также покажут способы оптимизировать работу с сетью, чтобы ты точно познал силу и умело оперировал новыми знаниями 😉
Во время второй недели будут погружаться в совершенный код.
Сначала определят метрики качества кода без буллшита. После научат автоматизировать сбор метрик и проверки качества кода. Затем обсудят популярные инженерные практики, разоблачат те, которые вредят.
Все подробности уже на сайте, а до конца недели действует приятная скидка! 😊
podlodka.io
Онлайн-конференция Podlodka iOS Crew, сезон #16
Недельное мероприятие от команды Podlodka: ежедневные интерактивные сессии в Zoom по актуальным проблемам iOS-разработки, нон-стоп общение с экспертами и звёздами индустрии, закрытое профессиональное сообщество в Telegram.
Андрей Володин рассказал про машинку, используемую для поиска нелегального медиа контента при загрузке в iCloud. TL;DW: Будет происходить сравнение с базой, предоставляемой спецслужбами, а не определение наличия чего-то запрещенного на видео.
https://www.youtube.com/watch?v=_0_t1prTQws
https://www.youtube.com/watch?v=_0_t1prTQws
YouTube
Обученные машины Apple будут сКаНиРоВаТь ваш iCloud
Последние два дня весь интернет сходит с ума, пестря заголовками о том, что Apple якобы начнет сканировать наши iCloud'ы с помощью великого и ужасного искусственного интеллекта. Разбираемся в том, что на самом деле происходит, зачем это и нужно и какие реальные…
Недавно появилась документация по internal аттрибутам и оказывается их довольно много. Теперь копаться в монорепе Свифта должно быть проще. Конечно же ждем новых замечательных вопросов на интервью.
https://github.com/apple/swift/commits/main/docs/ReferenceGuides/UnderscoredAttributes.md
https://github.com/apple/swift/commits/main/docs/ReferenceGuides/UnderscoredAttributes.md
GitHub
History for docs/ReferenceGuides/UnderscoredAttributes.md - apple/swift
The Swift Programming Language. Contribute to apple/swift development by creating an account on GitHub.
Как тип
https://swiftrocks.com/staticstring-in-swift
StaticString
устроен внтури, как литералы преобразуются в него и почему ExpressibleByStringLiteral
не преобразует ничего по пути в String
. Спойлер - потому что он с ассоциированным типом. Вдобавок рекомендация использовать только тогда, когда знаешь, что делаешь. Товарищи синьоры, как понять, что знаешь?https://swiftrocks.com/staticstring-in-swift
Swiftrocks
StaticString, and how it works internally in Swift
StaticString is an interesting type in Swift. Let's see how it works!
Начиная со Swift 5.5 можно будет использовать `propertyWrapper`ы и в отношении аргументов функций.
https://www.swiftbysundell.com/tips/attaching-property-wrappers-to-function-arguments/
https://www.swiftbysundell.com/tips/attaching-property-wrappers-to-function-arguments/
Swift by Sundell
Attaching property wrappers to function arguments | Swift by Sundell
New in Swift 5.5: Property wrappers can now be applied directly to function arguments, just like how they can be used to add additional functionality to a property or local variable.
Напоминание о том, что Responder Chain и селекторы можно использовать для вызова метода в одном из
https://dasdom.dev/posts/selector-and-the-responder-chain/
UIResponder
ов. Желательно использовать это везде, где только можете, не заботясь о последствиях. В Swift это даже выглядеть будет довольно красиво.https://dasdom.dev/posts/selector-and-the-responder-chain/
dasdom
#selector And The Responder Chain | dasdom
Here is how to use #selector in combination with the responder chain.
Интересный пересказ видео про
https://www.andyibanez.com/posts/understanding-actors-in-the-new-concurrency-model-in-swift/
Actor
ы с WWDC: изоляция, Sendable типы и reentrancy.https://www.andyibanez.com/posts/understanding-actors-in-the-new-concurrency-model-in-swift/
Andy Ibanez - iOS Developer
Understanding Actors in the New Concurrency Model in Swift
Learn how to use actors in Swift to isolate mutable state and make concurrency safer.
Если еще не знакомы с TCA, то необязательно сразу покупать подписку на pointfree. Можно на выходных пройти туториал по архитектуре включающий базовые понятия модуль и тестирование.
https://medium.com/@atimca/the-composable-architecture-tutorial-d220fd25cab3
https://medium.com/@atimca/the-composable-architecture-tutorial-d220fd25cab3
Medium
The Composable Architecture tutorial
Today we are going to build a simple app, consisting of 2 screens, using the composable architecture (TCA for short). TCA is a variant of an unidirectional architecture built upon reactive…