iOS Dev
7.72K subscribers
1.01K photos
85 videos
1 file
1.17K links
🍏Канал об iOS-разработке, необычных подходах и решениях.
👨‍💻Автор: Виктор Грушевский (@Viktorianec)
Темы:
⭐️ Подготовка к собеседованиям.
⭐️ Архитектуры и алгоритмы.
⭐️ Код. Много кода.

⚒️База знаний: https://boosty.to/ios_dev

#ios #mobile #swift
Download Telegram
Насколько необходимы основы программирования, та самая база?
📖 Бруно Роша, разработчик в Spotify, рассуждает в своей статье о необходимости алгоритмов, презирании этой темы в сообществе и проводит параллели с развитием музыканта.

Я постарался выделить основные моменты, и позволил себе добавить некоторые комментарии.

Проблема в том, что сообщество часто направляет ненависть к подобным собеседованиям не по назначению. Негатив вокруг этого формата интервью стал настолько велик, что теперь часто можно встретить людей, испытывающих неприязнь к самой теории, которая не имеет ничего общего с непонятными головомками в программировании.

Это мнение стало настолько популярным, что теперь практически невозможно упомянуть концепцию программирования на абстрактном уровне без того, чтобы кто-то немедленно не начал холивар о практике проведения интервью. А это вредит в том числе и индивидуальной карьере инженеров, которым говорят держаться подальше от этих знаний по причинам, не поддающимся логике.

Поднимаются важные вопросы

🔴 Теория не отражает того, что человек будет делать на самом деле в своей работе.

🔴 Знание теории не является показателем мастерства человека в данной практической роли.

🔴 Теория вообще бессмысленна. Зачем разработчику iOS знать, что такое граф?

Всё это создает у людей впечатление, что основы бесполезны, в то время как на самом деле они используют их постоянно!

Я не могу передать, сколько раз я слышал, как разработчик iOS говорил: "Я могу с уверенностью сказать, что никогда в своей работе мне не приходилось использовать граф", а затем радостно рассказывал о чем-то интересном, с чем они работали, используя иерархии UIView. Это одно и то же!

Объекты, которые могут соединяться друг с другом с целью создания единой связной карты элементов, - это буквальное определение графа, поэтому они не только знают, что такое граф, но и используют его с самого первого дня работы в качестве разработчика!

🟢 Графы/деревья: UIView.

🟢 Связные списки: UIResponder.

🟢 Хеш-таблицы: Dictionary<K,V> и протокол Hashable.

🟢 Побитовые операции: OptionSet.

Примечание: автор прав, говоря о том, что даже не зная формальных определений, разработчики с самого начала карьеры (или даже прохождения каких-то курсов), уже получают необходимые знания, пусть и не зная нужных терминов.

Так действительно ли нужно всё это знать. Попробуем провести параллель с профессиональным музыкантом?

Для этого можно ответить самому себе на следующие вопросы:

🔘 Хочу ли я изучать это как хобби и никогда не выходить за рамки игры на диване для развлечения?

🔘 Хочу ли я играть в группе и зарекомендовать себя как музыкальный исполнитель?

🔘 Стремлюсь ли я выйти за рамки простого звания «музыкальный артист», живя и дыша классической музыкой, становясь неотъемлемой частью Венского филармонического оркестра, путешествуя по миру и войдя в историю как легенда, которая буквально сформировала концепцию самой музыки?

Так почему же ведущие компании делают то, что делают?

Для такой компании, как Google, неинтересно нанимать кого-то, кто посвятил свою жизнь изучению всего, что касается UIKit в iOS — их проблема не в том, какие API UIKit использовать, а в том, что API, которые им нужны, не существуют вообще.

Эти проблемы решаются благодаря пониманию computer science и способности создавать новые и эффективные решения. Ваше понимание программирования как концепции доказывает, что вы тот самый тип программиста, который им нужен.

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

📖 Про сложность алгоритмов можно прочитать здесь.
📖 Про подход в Neflix и Tiktok.

@iOS Dev
🔥28👍16💯8👏3🤔2😁1
CreateML для iOS: создание настраиваемого фильтра изображений с использованием Style Transfer

Фреймворки машинного обучения Apple с годами становятся все более мощными.

Style Transfer или Neural Style Transfer — одна из техник, которую предоставляют фреймворки.

С помощью переноса стиля (Style Transfer) вы сможете превращать одно изображение в другое, стилизуя его под заданное.

📖 В этом руководстве вы узнаете, как использовать ML-фреймворки Apple для достижения этой цели прямо на вашем iOS-устройстве!

Машинное обучение (ML) в iOS и macOS опирается на два основных фреймворка Apple - CreateML и CoreML.

ℹ️ CreateML позволяет создавать и обучать ML-модели, а CoreML — запускать их.

Изначально CreateML был доступен только для macOS для создания моделей. Затем их можно было использовать в приложениях macOS, iOS или iPadOS.

В 2021 году Apple сделала этот фреймворк доступным для iOS 15 и iPadOS 15. Теперь фреймворк CreateML позволяет обучать и создавать модели на устройстве.

Прочитав статью, вы получите ответы на следующие вопросы:

Как создать ML-модель на устройстве.

Как использовать модель для создания стилизованного изображения.

Основные понятия в обучении и прогнозировании ML.

@iOS Dev
👍17🔥6🤯2👏1💯1
Что нового в Swift 5.7?
Вспоминаем, резюмируем, ждём.

📱 Выход нового айфона уже совсем скоро, а вместе с ним и паблик-релиз новой оси. В новом Xcode версия Swift по дефолту будет 5.7, поэтому будет полезно вспомнить (или узнать), что теперь можно использовать.

В нашем канале я старался оперативно рассказывать о всех изменениях в формате кратких постов с примерами:

Новый синтаксис в Swift 5.7 для optional unwrapping.

 Упрощаем написание и понимание кода в Swift 5.7 использованием some.

 Улучшение работы с closures в Swift 5.7.

 Новое API для взаимодействия со временем.

📖 В этой статье Пола Хадсона новшества перечисляются в разумном порядке с практическими объяснениями.

🛠 Также с ними можно познакомиться в формате Xcode Playground.

@iOS Dev
🔥20👍8❤‍🔥4🤩3
5 сложных алгоритмов, упрощенных с помощью функций высшего порядка в Swift

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

Благодаря функциям высшего порядка Swift, таким как map, reduce, filter и т. д., некоторые из этих сложных алгоритмов теперь можно легко решить c помощью нескольких строк кода.

📖 В этой статье автор рассказывает о пяти алгоритмах, реализацию которых можно упростить благодаря функциям высшего порядка в Swift.

@iOS Dev
🔥37👍9👏2💯1
Swift 30 Projects — подборка опенсорсных проектов на самые разные темы
Сделано разработчиками для разработчиков

🛠 Этот репозиторий содержит проекты, демонстрирующие следующие примеры:

🔘 Простые компоненты UIKit.
🔘 UIScrollView, UITableView, UICollectionView.
🔘 CAAnimations и UIView Animations.
🔘 Локальные уведомления.
🔘 Фреймворки MapKit, Contact и Core ML.
🔘 Core Data, Today Extension и 3D touch.
🔘 Популярные фреймворки с открытым исходным кодом.
🔘 Паттерны проектирования.
🔘 XCTest.

Для каждого проекта есть свой README и скриншоты, все подробности можно найти там.

#opensource
@iOS Dev
🔥37👍9👏1🎉1🤩1
Презентация Apple. 20:00 по мск. @iOS Dev
🔥42🤩54❤‍🔥3👍3
Поехали!
👍222👏2🎉1
Рассказывают про истории, когда Apple Watch помогли в тяжелых ситуациях.

Разные люди, разные обстоятельства, разные части света.

Apple Watch + Спасение = ❤️

@iOS Dev
20👍4😁4🔥1👏1
Apple Watch Series 8

@iOS Dev
🔥24🤔5👍3🤨2😁1😱1
Появится Crash Detection

Автоматически уведомит экстренные службы в случае столкновения на авто.

Важное и полезное нововведение!

Обучили на 1 миллионе часов реального вождения и обнаружения аварий.

Юзают кучу данных с гироскопа и не только, что позволит наиболее точно определить степень повреждений.

@iOS Dev
🔥19💯5👍3😁1😱1
Международный роуминг в часах

Доступен на Watch OS 9.

@iOS Dev
👍12😁2💯2
Все фичи новых часов в одной картинке

Доступны по следующим ценам в США:
GPS $399
GPS + Cellular $499

@iOS Dev
🔥17👍2🎉2😁1
ААААААА!!!

Apple. Watch. Ultra.
Что-то на богатом?

@iOS Dev
🔥25🤔6😁4👍3💯1
Три! Три микрофона в часах!

Кнопочка специально для тех, кто использует перчатки.

36 часов и 60 на максимуме время жизни!

Нужно подзаряжать реже, чем раз в день, что это, если не прорыв?

А ещё самый точный GPS на диком западе среди всех часов.

@iOS Dev
👍14🔥7😁6👏2🤔1
Добавили сирену в часы!

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

@iOS Dev
🔥15👏3👍1😁1
Apple Watch Ultra

Стартовая цена — $799.

Выглядит дороговато, Тим, ты что наделал?

@iOS Dev
🔥18😱7😁6🤔3👍1👏1
Новые AirPods Pro

Более крутая начинка, новый чип.

Магия будет происходить с помощью Spatial Audio.

Можно будет настроить персональный профиль, специально для того, кто слушает. А как было раньше?!

А вот 2x-шумоподавление звучит очень достойно!

Adaptive Transparency позволит более качественно работать с окружением, включая, например, дорожные работы.

6 часов без подзарядки и 30 суммарно.

😳А ещё новый сенсор на наушниках, можно будет регулировать звук?!

От $249 - ради сенсора можно и подумать!

@iOS Dev
🔥21👏4👍2🤨1
Midnight, Starlight

А ещё более живучая батарея, пока совсем не amazing 🤔

@iOS Dev
🤨20😁4🤔4👍2👏2🔥1