iOS Makes Me Hate
3.94K 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
Что бы ты сделал, если тебе дали 1млн$?

Недавно я гулял со своей собакой. Шел в парк через подземку. Обычно, в ней ошиваются бичи со своими бизнес-стратегиями. Мимо них проходила девушка и мальчик лет 7. Он спросил у неё: "мама, а что бы сделал бедный дед, если бы ему дали 1млн$?". Ответа я не получил, тк уже ушел дальше. Этот мальчик, сам не понимая, подарил этот вопрос мне с собой. Завернул и упаковал. Я давно для себя ответил на этот вопрос, но вопрос оказался внезапным экзаменом.

Какой бы ответ я дал, будь это мой сын? Какой ответ я бы хотел услышать в его возрасте? Большую красную машинку? Огромную квартиру? Мешок подарков деда мороза? Остров конфет? Миллиард бутылок боярышника и закуску?

Возможно, я бы купил что-то из этого. То, что сложнее подается инфляции. Но ребенку это слово покажется некрасивым и сложным. Что же тогда? Дав ему просто миллион он его пропьет. Рано или поздно вернется к той точки, откуда он начал.

Мой ответ — это знания. Образование единственное, что нужно, чтобы этот миллион стал полезен и приумножился. Чтобы я, как этот бедный человек, подумал о лучшем виде заработка, чем вытянутая рука. Получил инструменты и хорошую работу.

Хорошее образование — лучшее, что мы можем дать нашим детям. Оно бы дало мозгов не допускать ошибок, которые мы совершили. Не потерять возможности, которые получили. Шаринг знаниями — благородная вещь, если они этого хотят.

Вот и вся философия этого канала в одном посте.
👍21😁8🔥3💘21
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