iOS Dev
Что из перечисленного не является допустимым условием компиляции в Swift?
Вопрос оказался непростым! Кстати, почитать подробнее про это можно здесь:
https://docs.swift.org/swift-book/ReferenceManual/Statements.html
Перешлите опрос своим коллегам, посмотрим, кто из них😎, а кто 😳
В будущем планирую больше каверзных вопросов, так что будьте начеку!
Перешлите опрос своим коллегам, посмотрим, кто из них😎, а кто 😳
В будущем планирую больше каверзных вопросов, так что будьте начеку!
Зарплаты разработчиков
Вышла традиционная статья от Хабр.Карьеры с аналитикой зарплат.
Всё как мы любим: цифры, графики, разбивка по языкам.
Выжимка из статьи для iOS-разработчиков:
Медианная зарплата Swift-разработчиков во втором полугодии 2021 выросла до 200 000 ₽ (+13% по сравнению с первой половиной 2021).
Джуны начали зарабатывать 80 000 ₽ (+23%), мидлы — 160 000 ₽ (+9%), сеньоры — 264 000 ₽ (+22%), лиды — 294 000 ₽ (+7%).
В прошлом полугодии разработчики в Objective-C зарабатывали 250 000 ₽ (+25% по сравнению с первой половиной 2021).
Медианная зарплата мидлов — 168 000 ₽ (+5%), сеньоров — 273 000 ₽ (+24%), лидов — 281 000 ₽ (-6%).
Прочитать статью можно тут.
Вышла традиционная статья от Хабр.Карьеры с аналитикой зарплат.
Всё как мы любим: цифры, графики, разбивка по языкам.
Выжимка из статьи для iOS-разработчиков:
Медианная зарплата Swift-разработчиков во втором полугодии 2021 выросла до 200 000 ₽ (+13% по сравнению с первой половиной 2021).
Джуны начали зарабатывать 80 000 ₽ (+23%), мидлы — 160 000 ₽ (+9%), сеньоры — 264 000 ₽ (+22%), лиды — 294 000 ₽ (+7%).
В прошлом полугодии разработчики в Objective-C зарабатывали 250 000 ₽ (+25% по сравнению с первой половиной 2021).
Медианная зарплата мидлов — 168 000 ₽ (+5%), сеньоров — 273 000 ₽ (+24%), лидов — 281 000 ₽ (-6%).
Прочитать статью можно тут.
Структурированный параллелизм (structured concurrency) в Swift
Пообщался в твиттере с Тайбором (Tibor Bödecs), который ведёт свой блог о разработке и пишет полезные статьи. И решил поделиться с вами одной из них.
Верю, что у вас найдется время и возможность её прочесть и вынести для себя что-то полезное.
Прочитать статью по традиции можно тут.
Пообщался в твиттере с Тайбором (Tibor Bödecs), который ведёт свой блог о разработке и пишет полезные статьи. И решил поделиться с вами одной из них.
Верю, что у вас найдется время и возможность её прочесть и вынести для себя что-то полезное.
Прочитать статью по традиции можно тут.
Когда шутка вышла из-под контроля
Первого апреля завирусилась история, что Apple якобы выпускает сканер отпечатка пальца Touch ID отдельно.
🛠 А один из пользователей взял да и сделал собственный аксессуар.
Для этого ему, правда, пришлось разобрать клавиатуру Magic Keyboard, а затем, убрав все элементы - соединить сам сканер с оригинальной платой.
Но оно того стоило, а сам результат пусть и не в фирменном дизайне, можно посмотреть на фото 😉
Первого апреля завирусилась история, что Apple якобы выпускает сканер отпечатка пальца Touch ID отдельно.
🛠 А один из пользователей взял да и сделал собственный аксессуар.
Для этого ему, правда, пришлось разобрать клавиатуру Magic Keyboard, а затем, убрав все элементы - соединить сам сканер с оригинальной платой.
Но оно того стоило, а сам результат пусть и не в фирменном дизайне, можно посмотреть на фото 😉
Обновление приложения Apple Developer
Теперь можно будет использовать приложение Apple Developer iOS и iPadOS для продления своего аккаунта в программе Apple Developer Program, если сама регистрация была через web. Продление аккаунта будет осуществляться в виде автоматически возобновляемой подписки с поддержкой многих местных валют и способов оплаты.
P.S. Вероятнее всего, можно будет платить мобильным счётом, что в текущих условиях кажется выходом.🤔
Теперь можно будет использовать приложение Apple Developer iOS и iPadOS для продления своего аккаунта в программе Apple Developer Program, если сама регистрация была через web. Продление аккаунта будет осуществляться в виде автоматически возобновляемой подписки с поддержкой многих местных валют и способов оплаты.
P.S. Вероятнее всего, можно будет платить мобильным счётом, что в текущих условиях кажется выходом.🤔
This media is not supported in your browser
VIEW IN TELEGRAM
Пятничный туториал
Многие из нас делали змейку в универе или в качестве эксперимента. Но делали ли вы её, используя SwiftUI?
Mark Lucking, к слову, не только сделал, но и поделился шагами для реализации. Что у него получилось - можно прочесть здесь.
При этом он цитирует Конфуция, который не был программистом:
Скажи мне, и я забуду;
Покажи мне, и я запомню;
Сделай вместе со мной, и я пойму.
🛠 Код, который Марк разрешает использовать для своей собственной змейки — можно посмотреть по этой ссылке.
Многие из нас делали змейку в универе или в качестве эксперимента. Но делали ли вы её, используя SwiftUI?
Mark Lucking, к слову, не только сделал, но и поделился шагами для реализации. Что у него получилось - можно прочесть здесь.
При этом он цитирует Конфуция, который не был программистом:
Скажи мне, и я забуду;
Покажи мне, и я запомню;
Сделай вместе со мной, и я пойму.
🛠 Код, который Марк разрешает использовать для своей собственной змейки — можно посмотреть по этой ссылке.
Туториал по Core Data
Как признаётся автор, его основная цель заключается в том, чтобы показать, как Core Data работает под капотом, а не в решении какой-то конкретной задачи.
Реализация инкрементных и атомарных хранилищ - одна из увлекательных тем, которые необходимо изучить при погружении в Core Data.
Это отличная возможность расширить свое видение на разработку iOS и посмотреть со стороны, например, в роли создателя фреймворка.
Как признаётся автор, его основная цель заключается в том, чтобы показать, как Core Data работает под капотом, а не в решении какой-то конкретной задачи.
Реализация инкрементных и атомарных хранилищ - одна из увлекательных тем, которые необходимо изучить при погружении в Core Data.
Это отличная возможность расширить свое видение на разработку iOS и посмотреть со стороны, например, в роли создателя фреймворка.
В этом канале я также планирую делиться качественными опенсорсными решениями.
Сегодня вашему вниманию две либы для создания графиков (диаграмм и так далее).
Charts (CocoaPods/Carthage/Swift Package Manager)
⭐️ 25.2k
SwiftUICharts (SPM - минимальная версия Xcode 11 и iOS 13)
⭐️ 4.2k
Сегодня вашему вниманию две либы для создания графиков (диаграмм и так далее).
Charts (CocoaPods/Carthage/Swift Package Manager)
⭐️ 25.2k
SwiftUICharts (SPM - минимальная версия Xcode 11 и iOS 13)
⭐️ 4.2k
Ресурс, на котором можно сравнить среднее время проверки приложений
Иногда можно заглядывать на эту страницу, если вдруг появится вопрос, неужели у всех так долго? Или, например, а они вообще проверяют сейчас?
Сами же Apple заявляют, что в среднем 50% приложений рассматриваются в течение 24 часов, а более 90% - в течение 48 часов. Если ваша заявка неполная, время рассмотрения может еще больше затянуться или ваше приложение может быть отклонено.
Но мы можем и сами проверить!
Иногда можно заглядывать на эту страницу, если вдруг появится вопрос, неужели у всех так долго? Или, например, а они вообще проверяют сейчас?
Сами же Apple заявляют, что в среднем 50% приложений рассматриваются в течение 24 часов, а более 90% - в течение 48 часов. Если ваша заявка неполная, время рассмотрения может еще больше затянуться или ваше приложение может быть отклонено.
Но мы можем и сами проверить!
Всё, что нужно знать об утечках памяти
В статье c громким названием автор старается ответить на следующие вопросы.
— Что такое утечка памяти в iOS?
— Почему происходит утечка памяти?
— Из-за чего ARC не может освободить память?
— Утечки памяти в closure?
— Возможные решения.
— Некоторые особые сценарии (утечки памяти в синглтонах и статических классах).
— Closures без эскейпинга.
— Разница между weak и unowned памятью.
— Идентификация утечек с помощью отладчика.
— Некоторые правила.
👏 1.1K
@iOS Dev
В статье c громким названием автор старается ответить на следующие вопросы.
— Что такое утечка памяти в iOS?
— Почему происходит утечка памяти?
— Из-за чего ARC не может освободить память?
— Утечки памяти в closure?
— Возможные решения.
— Некоторые особые сценарии (утечки памяти в синглтонах и статических классах).
— Closures без эскейпинга.
— Разница между weak и unowned памятью.
— Идентификация утечек с помощью отладчика.
— Некоторые правила.
👏 1.1K
@iOS Dev
Какое там разрешение у iPhone 13 Pro Max?
Если вы иногда забываете, какие скриншоты нужны для App Store или ваш дизайнер, например, спрашивает, какое разрешение у Apple Watch, чтобы реализовать новое приложение, то могу порекомендовать крутой ресурс со сравнением девайсов по огромному количеству характеристик.
Устройства
iPhone, iPad, iPod Touch, Apple Watch, Apple TV.
В общем, достаточно один раз взглянуть, чтобы сохранить себе в закладки.
Кстати, тут есть наглядное сравнение, на каком девайсе какая максимальная ось, что может быть полезно, если вы поддерживаете широкую линейку устройств.
Если вы иногда забываете, какие скриншоты нужны для App Store или ваш дизайнер, например, спрашивает, какое разрешение у Apple Watch, чтобы реализовать новое приложение, то могу порекомендовать крутой ресурс со сравнением девайсов по огромному количеству характеристик.
Устройства
iPhone, iPad, iPod Touch, Apple Watch, Apple TV.
В общем, достаточно один раз взглянуть, чтобы сохранить себе в закладки.
Кстати, тут есть наглядное сравнение, на каком девайсе какая максимальная ось, что может быть полезно, если вы поддерживаете широкую линейку устройств.
Работа с Diffable data source и table views с использованием UIKit
🛠 В этом туториале автор приводит пример использования на примере таблицы с двумя секциями.
Несложное руководство, которое точно можно использовать в качестве знакомства и инструмента альтернативного подхода к созданию таблиц. Хотя не исключаю, что у вас оно уже давно в используется в проде)
📖Свой перевод статьи (уже по традиции) опубликовал тут.
🛠 В этом туториале автор приводит пример использования на примере таблицы с двумя секциями.
Несложное руководство, которое точно можно использовать в качестве знакомства и инструмента альтернативного подхода к созданию таблиц. Хотя не исключаю, что у вас оно уже давно в используется в проде)
📖Свой перевод статьи (уже по традиции) опубликовал тут.
А вы используете dump()?
Например, в данном случае print() выведет только имя класса.
А вот dump() покажет всю иерархию.
На самом деле, у него гораздо больше возможностей (и параметров).
value
Значение для вывода в целевой поток.
name
Метка, которую следует использовать при записи значения. По умолчанию используется nil.
indent
Количество пробелов, используемых в качестве отступа для каждой строки вывода. По умолчанию равно 0.
maxDepth
Максимальная глубина, на которую следует опускаться при записи содержимого значения, имеющего вложенные компоненты. По умолчанию Int.max.
maxItems
Максимальное количество элементов, для которых следует записывать всё содержимое. По умолчанию Int.max.
#dump #print
Например, в данном случае print() выведет только имя класса.
А вот dump() покажет всю иерархию.
На самом деле, у него гораздо больше возможностей (и параметров).
value
Значение для вывода в целевой поток.
name
Метка, которую следует использовать при записи значения. По умолчанию используется nil.
indent
Количество пробелов, используемых в качестве отступа для каждой строки вывода. По умолчанию равно 0.
maxDepth
Максимальная глубина, на которую следует опускаться при записи содержимого значения, имеющего вложенные компоненты. По умолчанию Int.max.
maxItems
Максимальное количество элементов, для которых следует записывать всё содержимое. По умолчанию Int.max.
#dump #print