iOS Makes Me Hate
3.93K subscribers
1.16K photos
167 videos
15 files
1.33K links
Авторский канал про iOS разработку. Путь продуктовых самураев в MAANG.

Самое больше iOS сообщество практиков: https://boosty.to/lionbond/

Автор: @lvbond Senior iOS Yandex, ex-Avito, VK
Download Telegram
Forwarded from AvitoTech
Разработка — всё? Действительно ли нас всех заменят роботы?

No Code, Low Code и нейросети против разработчиков — хоррор, основанный на реальных событиях, во всех компьютерах страны.
На самом деле, не всё так страшно. Саша Пряхин, руководитель разработки юнита в Авито Работа, расставил все точки над AI в этой статье.
А мы объяснили на карточках, чем искусственный интеллект может помочь инженерам.

#habr_avitotech #статья_avitotech
👎14👍8😁2
Повышение производительности SwiftUI с помощью Observation

Хорошая статья, где вкратце прошлись сначала по необходимости новой либы. Минусы KVO, Combine и какая реальность пришла вместе с SwiftUI. А также плюсы Obsevation:

1️⃣: применим ко всем ссылочным типам и не требует наследования от подклассов
2️⃣ : Не нужны спец. аннотации для наблюдаемых свойств
3️⃣ : Сокращает ненужные обновления SwiftUI

Если вы ждали выжимки со всеми деталями, то это отличная статья
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥2
Игры, в которые играют люди на собесах

Тема собесов интересна всем. Рынок адаптируется и меняется каждые пол года, а каждые 5 лет меняется почти полностью. Очень важно понимать игру с обоих сторон.

Доклад от опытного интервьюера, который собрал модели поведения как кандидатов, так и интервьюеров.
👍9
Kotlin vs Swift

Помните, я же прохожу курс по алгоритмам от яндекса? Ну вот там нет Swift (яндекс.практикум, разберитесь). Сначала выбрал питон, но потом котлин.

Я писал на многих языках: dart, go, python, js, php. Хотя и слышал от многих разрабов, что котлин же ближе всего по синтаксису и лучший язык программирования, но по мне все же отстает по лаконичности и простоте.

А может я просто не могу отвыкнуть. Сделаю обзор чуть позже.
25 основных паттернов для решения задач:

Уже пол года, как я решаю алгоритмы, но как всегда вижу кучу вещей, которые надо было сделать по-другому. Вместо слепого зарешивания задач нужно подходить умнее. Есть 2 стула: изучаю техники или структуры данных. Выбираю первое. Сделаю по каждой отдельный пост с парой тройкой задач:

- Метод скользящего окна
- Метод двух указателей
- Нахождение цикла
- Интервальное слияние
- Цикличная сортировка
- In-place Reversal для LinkedList
- Поиск в ширину
- Поиск в глубину
- Двоичная куча
- Подмножества
- Усовершенствованный бинарный поиск
- Побитовое исключающее ИЛИ
- Top K Elements
- K-образное слияние
- Задача о рюкзаке 0-1
- Задача о неограниченном рюкзаке
- Числа Фибоначчи
- Наибольшая последовательность-палиндром
- Наибольшая общая подстрока
- Топологическая сортировка
- Чтение префиксного дерева
- Задача: количество островов в матрице
- Метод проб и ошибок
- Система непересекающихся множеств
- Задача: найти уникальные маршруты
🔥36👍4❤‍🔥3
Так, читаю «ненасильственное общение» и пока нравится. Вижу новых точек роста (как легко принимать свои недостатки называя их точками роста).

Пытался когда-то давно, но к книгам нужно созревать. Обещаю не токсичить в комментах. Используйте этот пост как напоминание, когда начну
😁11❤‍🔥5🫡1
Forwarded from iOS Dev
This media is not supported in your browser
VIEW IN TELEGRAM
Концепт приложения для visionOS в связке с Figma (обновления в реальном времени)

Ещё одна необычная идея от Alex Widua (вы только посмотрите на его прошлый прототип!).

Во время работы с visionOS он придумал такую связку: плагин фигмы общается с приложением iOS через WebSockets. Все фреймы Figma загружаются как изображения AR, которые может распознать ARKit.

Удивительно, но работает очень даже неплохо🤩.

🛠 Тут можно посмотреть на реализацию анимации сетки при обнаружении фрейма.

😃 iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6❤‍🔥3👍21
Продуктовый, платформенный и аутсор разработчик

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

Вопрос бытия обычных разрабов при смене команды или работы стоит один "что ожидает от меня бизнес?". Каждый год я открываю новые смыслы в ожиданиях. Попробую определить своими словами зоны влияний и требований. Здесь нет никаких заявок на истину, а только мой опыт.

Аутсорс разработчик — эта роль гребца. Чаще мы с этого и начинали. Приходил на работу, где хотел получить быстрого и технического опыта. Не хотел думать ни о чем, кроме как покрасить кнопку или о новых фреймворках. Сроки ограничены, а задач так много, что 8 часов кодирования становится нормой, а иногда не хватает. Здесь уже начинаешь максимально перекидывать ответственность за результат на менеджеров, тестировщиков, заказчиков. Нужно было быстро и четко следовать срокам, тк форма оплаты ограничивает и штрафы за просрочку требуют думать не дальше контрактов. Такая система рабочая, когда тебе нужно быстро выявить слабое звено в системе и заменить его, не размывая ответственность. Нет времени на эксперименты, есть только контракт. А вся задача на тех, кто его составлял. Для долгосрочных же продуктов, направленных на рост и результат, эта система чаще приводила к избыточным тратам на коммуникации и бюрократии.

Продуктовый (фича) разработчик — эта роль, где свободы и влияния чуть больше, но и ожиданий тоже. Большие масштабы дают как плюсы, так и минусы. Здесь ты кодируешь 2-3 часа в лучшем случае, много уделяешь время созвонам и синхронизации. Для многих, кто только пришел из интенсивного аутсорса, такой темп кажется преступно медленным. Но спустя время ты понимаешь, что из-за масштабов гораздо важнее не сколько ты делаешь, а какая польза была от твоих действий. Ты становишься более вдумчивым. Тебе дают множество доступов к аналитике, которые влияют на продукт и даже ты можешь сам придумать новую фичу, написать бэк или выйти за границы своей роли, чтобы помочь команде, что тонет в рутине. Ведь вы все в одной лодке. Ты изучаешь экономику продукта, погружаешься в термины и язык управления.

Платформенный (инфраструктурный) разработчик — эта те, кто помогает продуктовым разрабам. Обычно они что-то среднее между фича разрабом и технарем. Они не так сильно погруженны в экономику и специфику бизнеса, но часто упрощают разработку продуктовым разрабам, которые жалуются на медленные билды CI, сложность архитектуры, переизбыток легаси и медленную скорость запуска. У них есть бэклог, свои цели и их главный клиент — фича разработчик. Тут тебе нужно изучать как можно больше технических навыков, кишков, алгоритмом и основ грамотного проектирования.

Еще раз повторю, что это описание моих моделей и в каждой компании нет четких инструкций и ожиданий от твоей роли. Все это может быть перемешано.
👍24👎2
В ios паттерн MVC как только не интерпретируют и разделяют по слоям. Одни говорят, что контроллера нету. Другие говорят, что View это Xib, Storybord или root view.

Вот в книге “iOS programming. The big nerd ranch guide” так разделен
👍15
📣📣📣📣📣

🤍 Ищу спикеров на митап к осени на тему «современные инструменты разработки». Нужны эксперты в темах:
- SwiftUI
- Async/Await
- Combine (deprecated?)
- Другое

Очень нужна твоя экспертиза и помощь. Пиши мне @lvbond
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
Че там по threads?

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

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

Очень плавно, красиво и быстро. Не понимаю правда откуда 250 мб веса. Наверное снова куча метрик и дерьмища разного
Навыки аргументации

Сейчас прохожу 1,5 недельный курс по деловой коммуникации и вижу, сколько ошибок допускал раньше.

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

Еще раз замечаю, что доверие — супер важный ресурс для диалога. Если его бюджет закончен, то и любые переговоры будут тупиковые.
👍13😁6👎4
Подборка книг для сеньоров

Иногда у меня запор. Не могу выбрать какую книгу почитать следующей. Решил делать регулярную подборку книг. Дополняйте вариантами.

1️⃣ Книги Мэта Нюберга: «Deep Dive into view controllers», «iOS 15 Programming Fundamentals with Swift». Книги автора отличаются своей проработанностью и содержательностью, но для кого-то они будут слишком душные. Отличный контент погрузиться в кишки.

2️⃣ "Advanced Apple Debugging & Reverse Engineering". Одна из редких книг про дебагинг и реверс инжениринг. Поможет узнать как эффективно искать ошибки и потрошить свое устройство.

3️⃣ "Compiling Swift generics". Мощная книга про дженерики, о которой вы недавно слышали. Я ее пока не осилил, но скоро соберусь на рейд и пойду на босса.

4️⃣ "Современные операционные системы". Настольная книга любого инженера, который хочет понять магию в устройстве. Какие карлики сидят внутри телефона и крутят винтики и колесики.

5️⃣ "MacOS and iOS Internals, Volume I: User Mode". Еще одна книжечка по операционкам. Говорят, достаточно первый том, а остальные два для задротов.
👍25🔥13👎2
Мини-тред о приложении Threads на iOS

Вкратце
- Разработка шла 5 месяцев
- 99% натив. 95% Swift
- Почти все на UIKit, но есть немного SwiftUI
👍21👎6🔥3❤‍🔥1