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

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

Автор: @lvbond Senior iOS Yandex, ex-Avito, VK
Download Telegram
Не вступайте в диалог с террористами

Когда вас забанят тут в комментариях, то вспомните этот пост. Я всегда за открытые мнения, но есть границы, после которых нет диалога. Давно хотел написать пост, чтобы сэкономить время на аргументацию, но время только пришло.

Любая система несовершена. Каждый из нас берет на себя одну из двух ролей: законопослушника или террориста. Закон и правила формируют порядок. Помогают нам не скатиться в животных. Животных, двигающихся ради своей выгоды и переступающих любые нормы.

Человек, который игнорирует правила и законы, для меня преступник. Человек, который ничего не предлагает и создает хаос — террорист. Преступник всегда будет жертвой. Он может обокрасть тебя, навредить твоему близкому и все его оправдания будут: «Не мы такая. Жизнь такая». Его жажда крови и склонность к рецидиву будут только увеличиваться.

Этот человек — угроза. С ним нет переговоров.

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

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

Террористические организации и оправдание терроризма не принимаются и никогда не были эффективными. Многие просто пересмотрели фильм «Джокер»

«Ты сер, а я, приятель, сед, И волчью вашу я давно натуру знаю; А потому обычай мой: С волками иначе не делать мировой, Как снявши шкуру с них долой». И тут же выпустил на Волка гончих стаю. И. А. Крылов. Волк на псарне

Надеюсь, больше ни у кого вопросов не будет
👎17🫡9👍8🍌3😁2🦄2🔥11
Решение проблемы Data Races с Actors

Мы почти не затрагивали современные технологии. Ни SwiftUI, ни Swift Concurrency.

Говорят, нужно много смертей лабораторных крыс во имя науки для нормальной работы на проде. Хотя издалека уже надо заходить и аккуратно тыкать палкой это. Смотреть на реакцию и записывать в блокнот поведение, как на инопланетное нечто.

В статье автор разбирает решение проблемы гонки данных старыми и новыми техниками
👍6🍌1
Forwarded from iOS Dev
Обнаружение джейлбрейка iOS в 2023 году: необходимость, способы, примеры

🧑‍💻 Джейлбрейк — это использование эксплойта для повышения привилегий для снятия программных ограничений, наложенных Apple, среди которых:

1️⃣ Модификация операционной системы (обеспечивается «заблокированным загрузчиком»).

2️⃣ Установка неофициально одобренных приложений (известных как «твики») путем загрузки неопубликованных приложений с использованием менеджеров пакетов, таких как Cydia или Sileo.

3️⃣ Предоставление пользователю повышенных привилегий уровня администратора (рут-доступа).

Всё это может влиять на уровень безопасности приложений.

📖 В этом материале Marco Eidinger рассказывает, какие существуют методы обнаружения, и делится примерами кода для предотвращения такого доступа в ваших приложениях.

@iOS Dev
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥3💯3🆒1
Превратности диспетчеризации в Swift

Один из ближайших тренажеров в симуляторе — диспетчеризация. Во многих статьях рассматривается только дефолтный пример с удалением метода в протоколе и одним классом. Редко кто копает в сторону Message Dispatch.

Помимо сообщений в статье есть другие интересные примеры с цепочной наследования и подписки на протоколы
👍6🍌41🐳1
С днем любви, валентины❤️

Любите иосников. Их становится все меньше
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥20❤‍🔥6👍6
Паттерн Decorator для репозитория кэширования и инвалидации кэша.

Одна из практически полезных статей про паттерны и главный вопрос программирования.

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

Так еще это и проектировать с красотой.
👍9🍌2
Дефолтное значение для словарей

Мало кто знает, но очень удобная вещь для решение алгосов на литкоде.

Спасет тысячу нервов и один горящий зад
👍10🍌3🦄2🐳1
📝 Еще про алгосы

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

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

Вот топ видос, где все без воды и облегченно решаем вместе алгосики. Включаем в режиме "картинка в картинка" и алгоритмы становятся легким подкастом на фоне. Ведь нужно все упрощать.

Если этот пост наберет десять тысяч лайков, то устроим решение задач на раздевание
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12.8K🍌41
Ладно

Предыдущий пост кто-то хакнул и захотел совместить приятное с полезным.

Если серьезно, то я пару раз думал создать что-то интересное. Например, мы созваниваемся раз в 2 недели на алгобаттл. Берём самые рандомные изи задачи и пару экспертов. Устраиваем батл между ними и публика оценивает. Проигравший показывает жопу выполняет желание публики.

Ну или предлагайте свой формат. Замутим тестовые созвоны
🦄7🍌4👍1🐳1
окей, гугл. а есть в мск не coffee and code, а beer and code в барах?

beer > coffee
💊16🐳4👍3
ну, короче, ищу желающих быть организаторами beer & code moscow 😬
Please open Telegram to view this post
VIEW IN TELEGRAM
🍾12💊4🫡3
еще думаю в грузию в марте приехать. посоветуйте че там делать вообще кроме киндзмараули пить
Паттерн Decorator

lvl: mid

Когда вам задают вопрос про Open-Closed принцип, то говорите про паттерн декоратор. Extensions (расширения) в свифте не являются расширением функциональности и никак к принципу SOLID не относятся.

Назначение
Динамически добавляет объекту новые обязанности. Является гибкой альтернативой порождению подклассов с целью расширения функциональности.

Мотивация
Когда нужно возложить дополнительные обязанности на отдельный объект, а не на класс в целом.

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

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

Одним из способов обойти эти проблемы является замена наследования агрегацией, либо композицией. Это когда один объект содержит ссылку на другой и делегирует ему работу, вместо того, чтобы самому наследовать его поведение. Как раз на этом принципе построен паттерн Декоратор.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥2💊2
16 техник Фасилитации

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

Чем сложнее и больше компания, тем больше диалогов: согласовать дизайн; контракт; текст; задачу. Уточнить детали соседних сервисов и АПИшек. Супер много раз придется открывать рот, рисовать в миро схемы и писать в мессенджерах.
Кодинг может занимать процентов 30%. Остальное все подготовка требований и фиксации.

💳 Я пару раз уже приходил к фасилитации. Когда в сберздоровье был фичалидом сложной задачи с пин-кодом, в которой требовались больше аналитической и координирующей работы. Знания технических особенностей бэка и мобилок нужно было переформатировать в понятную для всех речь. Был таким медиатором между тех.экспертами и манагерами. Еще тогда столкнулся, как сложно вести диалоги между людьми разных ролей.

🛍 В авито таких активностей стало еще больше. Тут уже требуется экономить время и ресурсы всех участников бесед и коммуникаций. Фасилитация — один из главных инструментов. В авито даже есть внутренний курс за 80к. Когда-нибудь наберусь смелости выделить на него бабки, но а пока только книги и статьи. 😬💸
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5💊1