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
This media is not supported in your browser
VIEW IN TELEGRAM
Серия статей про многопоточность

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

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

В ноушене обновил библиотеку книгами. Постарался не только об ит, но и познавательную литературу.

Выделю три книги:

🟡 «Психология масс» - о том, как индивидуальность теряется в толпе

🟣«Механическое пианино» - антиутопия про замену людей машинами. А привилегии получили руководители и инженеры

🟢 «Культурный код экономики» - как методы принятия решения и экономики зависят от culture fit. Эту тему как-нибудь отдельное время посвятим и разберем

Книги дают ресурсы улучшать качество знаний и навыков, которые помогают быть не только образованным человеком, но и интересной личностью
Please open Telegram to view this post
VIEW IN TELEGRAM
10
Хорошие мысли из видоса:
🟠 джун умеет решать задачи. те, кто ничего не знает — стажер или интерн.
🟠 обучение работает только с практикой. Видосы как кто-то кодит или рассказывает о кодинге не работают
🟠 не пытаться искать слепо работу "авось прорвемся"

https://www.youtube.com/watch?v=hyTw9YH8ynA
Please open Telegram to view this post
VIEW IN TELEGRAM
3
Культурные коды экономики

Находка года. Не люблю политику, экономику и историю, но эта книга выкрутила так, что ощущаешь всю мощь наук. Ее писал 10 лет профессор МГУ, где очень трезво описывается почему любовь к труду — лучшее экономическое развитие.

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

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

Книга обязательна для чтения. Послушал аудио за 2,5 часа.
124
Forwarded from Head of mobile
Apple заопенсорсили еще один язык программирования - Pickle 🥒

Pkl — язык конфигурации с поддержкой валидации. Может использоваться как инструмент командной строки или плагин для сборок. Pkl представляет собой смесь статической конфигурации и языка общего программирования.

Подробней тут https://github.com/apple/pkl
6
iOS Makes Me Hate
Культурные коды экономики Находка года. Не люблю политику, экономику и историю, но эта книга выкрутила так, что ощущаешь всю мощь наук. Ее писал 10 лет профессор МГУ, где очень трезво описывается почему любовь к труду — лучшее экономическое развитие. Невероятно…
уже пару дней под впечатлением. Узнал допом, что автор был преподом Набиуллиной.

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

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

От культуры зависит векторы развития и кол-во необходимых ресурсов для достижения цели.
174
Обновление ноушена за неделю:
1. Добавил пару вопросов, ссылок и задач в блок памяти для джунов
2. Доработал блок вопросов с ответами для многопоточности
3. Добавил тесты для самопроверки для джунов по многопоточности
4. Добавил новые книги
5. Начал вести блок про качество коммуникации и нетворкинга
6. Добавил статью про этапы запуска приложения и какая роль памяти и многопоточности

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

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

Многие игнорируют качество кода. Говорят это сложно посчитать. Непонятно станет ли лучше кнопка при правильной архитектуре или идеальном коде. Сколько она принесет денег бизнесу или сократит сроки спорами на код-ревью. А написав код разок не факт что к нему еще вернешься. Ресурсов на хороший код требуется много, а пользу сложно понять.

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

Я сам не верю ни в код ревью, ни в формальные договоренности. Верю только в метрики, стандарты и санкции за нарушения. А если для этого нет повода вводить санкции, то так ли это важно? Договоренности всегда нарушают, а метрики и санкции имеют ощутимые последствия.

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

Попытался собрать подборку с хорошими статьями как сделать свой код лучше:
- Как написать чистый код на Swift
- 7 советов для чистого кода
- 10 лучших практик написания чистого и эффективного кода на Swift
- Чистый код на iOS
- Как написать чистый, удобный в сопровождении код Swift для мобильных приложений?
- 10 советов по написанию более чистого и читаемого кода на Swift
Please open Telegram to view this post
VIEW IN TELEGRAM
186
Блок с алгоритмами в ноушене.

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

Пока одна статья, но дальше планирую больше:
- статьи
- разбор задач
- советы и практики для интервью
- разбор техник решения задач

В этом году я собираюсь еще глубже погрузиться в этот вопрос, поэтому делаю с качеством как для себя.
1899
Как качество кода ухудшается

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

Я тоже часто считаю, что бизнесу вообще все равно какой код ты пишешь. Если придут 2 разраба из разных команд, то повышение получит тот, кто сделал 20 фич со средним кодом, а не тот, кто 10 фич с идеальным.

Если нет четких метрик качества и стандартов — это все субьективные оценки, которые непонятны бизнесу.

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

- почему ручное управление потоками сложное
- что такое main тред
- Что такое синхронные и ассинхронные очереди

Найти ее можно все там же
131
🧍‍♀️ Реализация кастомного доступа по индексу

Иногда нам требуется быстрый доступ к элементам своих коллекций. Например, как в стандартном массиве или словаре


array[0] = "Henk"
print(array[0]) // Prints: Henk

agesDictionary["Antoine"] = 30
print(agesDictionary["Antoine"]) // Prints: 30


Иначе бы мы использовали методы для чтения и записи в типе данных:


array.set("Henk", forIndex: 0)
agesDictionary.set(30, forKey: "Antoine")


На слайдах разберем как это нам поможет упростить использование нашими структурами данных.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
74
🍭 100 платных подписчиков

Для многих очень маленькое число, но для меня большая цифра. Огромное спасибо каждому. За ваш фидбэк и конструктивно-креативную энергию.

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

Перо глубже вонзается в бумагу. Пальцы уверенней бьют по клавиатуре. Шаги к трибуне решительней, а голос смелее.

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

Ты находишь новые силы продолжить приключение и узнать какой же конец у этого пути. У тебя появляются попутчики и даже друзья.

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

Впереди пара интересных анонсов с новым форматом контента. Оставайтесь, присоединяйтесь.
Please open Telegram to view this post
VIEW IN TELEGRAM
15721
Media is too big
VIEW IN TELEGRAM
Немного кринжа
2354