Ну что, я полноценно переехал в Москву.
Можете поздравить счастливого обладателя IT-ипотеки на 30 (28) лет🥲
Для меня это большой шаг, который точно повлияет и на жизнь, и на контент.
Я переезжал уже много раз. Но именно в Москву готовился лет восемь. Из маленького посёлка в Казахстане с населением 900 человек, самостоятельно мигрировал поэтапно, пройдя путь трех столиц (Тюмень - столица деревень). Мне всегда было интересно насколько далекий будет путь от стартовой точки.
Он был длинным и непростым. Чаще «вопреки», чем «благодаря». Никогда не брал кредитов, не просил денег у родителей и не занимал у друзей. Поэтому ипотека на много лет это серьёзная ответственность, которую сполна чувствую.
Удивляет, что среди некоторых инфоцыган бытует мнение, если у тебя ипотека, то ты лох. Типа, вот тебе чудокурс по заработку, и никакие кредиты не нужны. Только заплати мне и вылезешь из проблем.
Бред. Не стоит стесняться своей ответственности и решительности. Взять на себя обязательство и дисциплинированно выплачивать долг. Это требует мужества.
А не как в недавних твитерских новостях: блогеры берут деньги у друзей, не отдают, но зато гордо заявляют — «зато не в ипотеке и кредитах»🤡 не ведитесь на поводу у инфантильных блогеров, которые на грани уголовного дела.
У меня есть обязательства и я этого не стесняюсь. не покупаю чудо-курсы, не верю в лёгкий путь. просто понимаю, что теперь придётся пахать ещё больше.
Это и мотивирует потому что отступать уже некуда.
И вы не стесняйтесь своих ипотек:) Ответственность это не слабость, а сила
Финальная ли это точка? Я думаю стартовая
Можете поздравить счастливого обладателя IT-ипотеки на 30 (28) лет
Для меня это большой шаг, который точно повлияет и на жизнь, и на контент.
Я переезжал уже много раз. Но именно в Москву готовился лет восемь. Из маленького посёлка в Казахстане с населением 900 человек, самостоятельно мигрировал поэтапно, пройдя путь трех столиц (Тюмень - столица деревень). Мне всегда было интересно насколько далекий будет путь от стартовой точки.
Он был длинным и непростым. Чаще «вопреки», чем «благодаря». Никогда не брал кредитов, не просил денег у родителей и не занимал у друзей. Поэтому ипотека на много лет это серьёзная ответственность, которую сполна чувствую.
Удивляет, что среди некоторых инфоцыган бытует мнение, если у тебя ипотека, то ты лох. Типа, вот тебе чудокурс по заработку, и никакие кредиты не нужны. Только заплати мне и вылезешь из проблем.
Бред. Не стоит стесняться своей ответственности и решительности. Взять на себя обязательство и дисциплинированно выплачивать долг. Это требует мужества.
А не как в недавних твитерских новостях: блогеры берут деньги у друзей, не отдают, но зато гордо заявляют — «зато не в ипотеке и кредитах»
У меня есть обязательства и я этого не стесняюсь. не покупаю чудо-курсы, не верю в лёгкий путь. просто понимаю, что теперь придётся пахать ещё больше.
Это и мотивирует потому что отступать уже некуда.
И вы не стесняйтесь своих ипотек:) Ответственность это не слабость, а сила
Финальная ли это точка? Я думаю стартовая
Please open Telegram to view this post
VIEW IN TELEGRAM
Software 3.0
Сорок минут базы.
Короче, вся эта тема с промтпрограммированием обсуждается еще с 2014 иконой для AI инженеров — Андреем Карпатовым, ex-директор AI в тесла и фаундер крутых продуктов.
О чем пост? Чувак прославился скиллом уметь объяснять сложные вещи простым языком. Ввел такие понятия:
🟣 Software 1.0 — люди пишут код вручную.
Минус такого подхода в тяжелой формализации сложных задач.
🔘 Software 2.0 — программирование через данные.
Например мы вместо написания кода отдаем нейросети кучу инфы и она сама учится писать код.
Минусы: обучать модели очень дорого самому. И не понятно как мыслит модель.
🔴 Software 3.0 - программирование с помощью нейросети
Тут находимся мы. Появились уже обученные нейросети.
Представь, ты уже написал руку на рядовых задачах сотни раз. Устал придумывать что-то новое. Вот в это время нейросеть просто экономит рутину. А еще у открытой нейросети можно спросить как она сделала выводы.
Программист уже вместо очередной рутинной задачи, где не нужно думать и изобретать велосипеды, экономит время всем. Выделяя время на задачи, с которыми не справится нейросеть.
Вас это не делает тупыми. Вас это просто избавляет от лишней нагрузки.
P.S. Заметил забавную вещь:
Те, кто бездумно читают статьи и принимают все на веру, часто обвиняют «вайбкодеров» в том, что они бездумно доверяют коду от ИИ.
Но сама идея «слепо верить» для меня странная. Неважно, откуда приходит информация от нейросети, из статьи или с твиттера… это все всегда нужно проверять.
Кажется, проблема не в ИИ, а в том, что некоторые люди просто не привыкли проверять и практиковаться. Они просто сменили источник веры: раньше блог, теперь нейросеть.
Вера — лишнее слово в разработке. Нельзя на вере построить дом или заставить самолет летать. Есть только доверие в команде, у которого должна быть высокая цена.
У практикующих инженеров недоверие развито с опытом. Начиная от использования чужих библиотек, заканчивая всякими договоренностями😂 о нем не нужно напоминать
Сорок минут базы.
Короче, вся эта тема с промтпрограммированием обсуждается еще с 2014 иконой для AI инженеров — Андреем Карпатовым, ex-директор AI в тесла и фаундер крутых продуктов.
О чем пост? Чувак прославился скиллом уметь объяснять сложные вещи простым языком. Ввел такие понятия:
Минус такого подхода в тяжелой формализации сложных задач.
Например мы вместо написания кода отдаем нейросети кучу инфы и она сама учится писать код.
Минусы: обучать модели очень дорого самому. И не понятно как мыслит модель.
Тут находимся мы. Появились уже обученные нейросети.
Представь, ты уже написал руку на рядовых задачах сотни раз. Устал придумывать что-то новое. Вот в это время нейросеть просто экономит рутину. А еще у открытой нейросети можно спросить как она сделала выводы.
Программист уже вместо очередной рутинной задачи, где не нужно думать и изобретать велосипеды, экономит время всем. Выделяя время на задачи, с которыми не справится нейросеть.
Вас это не делает тупыми. Вас это просто избавляет от лишней нагрузки.
P.S. Заметил забавную вещь:
Те, кто бездумно читают статьи и принимают все на веру, часто обвиняют «вайбкодеров» в том, что они бездумно доверяют коду от ИИ.
Но сама идея «слепо верить» для меня странная. Неважно, откуда приходит информация от нейросети, из статьи или с твиттера… это все всегда нужно проверять.
Кажется, проблема не в ИИ, а в том, что некоторые люди просто не привыкли проверять и практиковаться. Они просто сменили источник веры: раньше блог, теперь нейросеть.
Вера — лишнее слово в разработке. Нельзя на вере построить дом или заставить самолет летать. Есть только доверие в команде, у которого должна быть высокая цена.
У практикующих инженеров недоверие развито с опытом. Начиная от использования чужих библиотек, заканчивая всякими договоренностями
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Andrej Karpathy: Software Is Changing (Again)
Andrej Karpathy's keynote on June 17, 2025 at AI Startup School in San Francisco. Slides provided by Andrej: https://drive.google.com/file/d/1a0h1mkwfmV2PlekxDN8isMrDA5evc4wW/view?usp=sharing
Chapters (Powered by https://ChapterMe.co) -
00:00 - Intro
01:25…
Chapters (Powered by https://ChapterMe.co) -
00:00 - Intro
01:25…
Forwarded from Доллар по тридцать
В России у Apple возникли трудности — принят закон, обязывающий устанавливать RuStore на все новые смартфоны и планшеты, в том числе Apple. С 1 сентября продавать такие устройства разрешат только при поддержке RuStore для загрузки и обновления приложений. @ruble30
Ну че, раз я в Москве, то время мобилизировать ресурсы оффлайн.
Я всегда использовал этот канал как круглый стол, чтобы объединять и сближать. Слушать и слышать самых интересных. Это следующий эволюционный шаг превратить цифровую копию в оффлайн тусовку. Пусть даже камерную, но уютную.
В офлайне я еще занудней, чем в жизни и никогда подобным не занимался. Поэтому мне нужна ваша помощь.
Пройдите опрос, чтобы рассказать что ИНТЕРЕСНО ВАМ! Бухать или тусить, сидеть зожником и заниматься спортом, слушать технические доклады или сраться из-за ТСА и алгосов.
Пишите и выбирайте все, что нравится.
p.s. кстати, об офлайне. Хочу в мск записаться на бразильское джиу-джитсу. Посоветуйте норм места или го отряд соберем свой.
https://forms.gle/bhKQmLAAa3D6JEw87
Я всегда использовал этот канал как круглый стол, чтобы объединять и сближать. Слушать и слышать самых интересных. Это следующий эволюционный шаг превратить цифровую копию в оффлайн тусовку. Пусть даже камерную, но уютную.
В офлайне я еще занудней, чем в жизни и никогда подобным не занимался. Поэтому мне нужна ваша помощь.
Пройдите опрос, чтобы рассказать что ИНТЕРЕСНО ВАМ! Бухать или тусить, сидеть зожником и заниматься спортом, слушать технические доклады или сраться из-за ТСА и алгосов.
Пишите и выбирайте все, что нравится.
p.s. кстати, об офлайне. Хочу в мск записаться на бразильское джиу-джитсу. Посоветуйте норм места или го отряд соберем свой.
https://forms.gle/bhKQmLAAa3D6JEw87
Google Docs
Опрос по сходке в Москве
В этом опросе хочется понять заинтересованность в организации тематических сходов иос-разрабов (и не только)
AI собеседования в Canva
Почти все, кого я знаю, уже используют AI инструменты для работы. Кодинг, коммуникации, описание задач. Кто-то даже не может без них.
Рынок собесов тоже не стоит на месте и было несложно предсказать, что и здесь нас будут теперь оценивать AI алгоритмы.
Как бы критики не запрещалисрать ai инструменты, но отказываться от них — глупо.
Но для эффективной работы с AI тоже нужны скилл, опыт и знание базы. Разработка это не только написание кода, но и его понимание, отладка, ревью и улучшение.
Новое техническое собеседование AI-assisted programming будет оценивать:
💡Насколько хорошо кандидаты взаимодействуют с AI
💡Умеют ли они разбивать сложную и неопонятную задачу, прежде чем браться за ее реализацию
💡Умеют ли обосновывать свои решения, а не просто слепо верить AI.
💡 Как находят и исправляют ошибки
Почти все, кого я знаю, уже используют AI инструменты для работы. Кодинг, коммуникации, описание задач. Кто-то даже не может без них.
Рынок собесов тоже не стоит на месте и было несложно предсказать, что и здесь нас будут теперь оценивать AI алгоритмы.
Как бы критики не запрещали
Но для эффективной работы с AI тоже нужны скилл, опыт и знание базы. Разработка это не только написание кода, но и его понимание, отладка, ревью и улучшение.
Новое техническое собеседование AI-assisted programming будет оценивать:
💡Насколько хорошо кандидаты взаимодействуют с AI
💡Умеют ли они разбивать сложную и неопонятную задачу, прежде чем браться за ее реализацию
💡Умеют ли обосновывать свои решения, а не просто слепо верить AI.
💡 Как находят и исправляют ошибки
canva.dev
Yes, You Can Use AI in Our Interviews. In fact, we insist - Canva Engineering Blog
How We Redesigned Technical Interviews for the AI Era
Это я сдерживаюсь забайтить вас на заголовок «убийца KMP от Apple»
https://www.swift.org/android-workgroup/
https://www.swift.org/android-workgroup/
На выхах записываем воркшоп с призером телеграм конкурсов Пашей Дуровым. Расскажем как работать со сложным layout’ом в UIKit
Я уже писал о нем, история Паши интересная.
Когда я менторил он пришел без опыта, самообучался. Работал авиа-диспетчером и не имел образования в ИТ. Но в отличие от сотни предыдущих по нему и не скажешь было, что весь тот материал так качественно он освоил сам. Он не ждал с моря погоды. Первое собеседование в жизни Павла было сразу в Яндекс. Его конечно там разобрали, но мне уже понравился его боевой настрой.
С каждой поставленной задачей Паша изи справлялся, выполняя с огнем в глазах. Так он потом решил для челленджа участвовать в конкурсе телеги, сделал кучу задач и занял призовое место.
После этого его заметили и пригласили в крутое место, где делает клон телеграма. Нарабатывая руку на сложном проекте.
История Паши это прям идеальный роадмуви, где без накрутки, на усердности и таланте можно прокачаться до крутых скиллов соло и найти работу, которая прокачает.
И нет, мы не про Пашу Дурова :)
Я уже писал о нем, история Паши интересная.
Когда я менторил он пришел без опыта, самообучался. Работал авиа-диспетчером и не имел образования в ИТ. Но в отличие от сотни предыдущих по нему и не скажешь было, что весь тот материал так качественно он освоил сам. Он не ждал с моря погоды. Первое собеседование в жизни Павла было сразу в Яндекс. Его конечно там разобрали, но мне уже понравился его боевой настрой.
С каждой поставленной задачей Паша изи справлялся, выполняя с огнем в глазах. Так он потом решил для челленджа участвовать в конкурсе телеги, сделал кучу задач и занял призовое место.
После этого его заметили и пригласили в крутое место, где делает клон телеграма. Нарабатывая руку на сложном проекте.
История Паши это прям идеальный роадмуви, где без накрутки, на усердности и таланте можно прокачаться до крутых скиллов соло и найти работу, которая прокачает.
Цикл статей про Swift Concurrency: Введение
Начинаю новый цикл статей с разбором Swift Concurrency в доступном для новичков и полезным продвинутым. В нем по традиции хочется собрать самому практически полезные вещи.
Регулярно в чате мы штормим самые интересные и важные технические вопросы. Фильтруем мусор и пользу. Хочется самый полезный набор статей, задач и материалов, которые не просто копипаст из чужих статей. А сконцентрированный и отревьюинный опыт сотни практикующих инженеров.
Другие циклы:
- Цикл про систем дизайн
- Цикл про память
- Цикл про SwiftUI
🧬 Получить доступ к разделу и тонны другого контента от сообщества можно 💰 тут или ⭐️ тут
Начинаю новый цикл статей с разбором Swift Concurrency в доступном для новичков и полезным продвинутым. В нем по традиции хочется собрать самому практически полезные вещи.
Регулярно в чате мы штормим самые интересные и важные технические вопросы. Фильтруем мусор и пользу. Хочется самый полезный набор статей, задач и материалов, которые не просто копипаст из чужих статей. А сконцентрированный и отревьюинный опыт сотни практикующих инженеров.
Другие циклы:
- Цикл про систем дизайн
- Цикл про память
- Цикл про SwiftUI
Please open Telegram to view this post
VIEW IN TELEGRAM
Ну че, в связи с быстроменяющийся обстановкой в мире, давайте выясним кто после выпилов из сторов и сокращений остается лучшей компанией для работы и развития иос-разрабом?
(опрос на основе последних открытых вакансий)
(опрос на основе последних открытых вакансий)
Anonymous Poll
15%
Альфа-банк
23%
Авито
3%
Билайн
11%
ВК
19%
Вайлберис
5%
МТС
8%
Магнит
27%
Озон
10%
Сбер
40%
Яндекс
Проблема всех телеграм каналов, блогов, твитторов — отсутствие системы. Чаще это посты, которые по рефлексу или по реакциям пишут интересные им темы, пересказывают чужие посты, реагируют на новости первыми ради репостов. Это хорошо работает как медиа, но не работает как источник обучения.
В такой методике легко получить клиповое мышление и отрафировать скилл композиции материала. Где старт и где финал особо не поймешь в ленте постов. Вся усвоенная инфа становится калейдоскопом рандомных фактов. Моя же цель делать изучение структурным и понятным (прям как Structured Concurrency
Любые методики обучения учат, что не важно как ты круто сияешь подкопотными знаниями и неизвестными трюками. Если в этом нет системы, то это просто гонка теориков блеснуть эрудицией без крепкого фундамента и понимания границ практики. Такое может забрать время и внимание с по-настоящему полезных на работе вещей. Как говорится, сила в простоте, а ненужный шум лишь отвлекает от главного. Всю сложность нужно упрощать, инкапуслировать, а наружу отдавать понятное апи.
Продолжаем погружаться системно в изучение Swift Concurrency. В прошлом посте мы поняли какие proposals нам читать, а теперь идем в сторону WWDC. Че же надо посмотреть и в каком порядке?
1️⃣ Фаза 1: Hello, Swift Concurrency
Meet async/await in Swift. Самый первый видос про эпоху SC. Тут вкратце рассказывают про проблемы кода на GCD и как async/await помогает избежать забытые completion (кстати, забытыми completion в guard часто подлавливают на собесах)
Explore structured concurrency in Swift. Тут можно хорошо понять почему и для чего вообще вся эта движуха. Мне больше нравится не попсовая формулировка "это просто лучше читать", а что "теперь мы лучше знаем время жизни потока управления, памяти функций и переменных". Звучит осознанней и практичней.
Protect mutable state with Swift actors. Ну тут нам конкретно помогают понять проблемы Data Race на примере всем известного Counter'а, ImageLoader'а. Вы ищите хорошие формулировки для чего же нам акторы, изоляции, Actror Reentrancy, Main Actor.
В отдельных постах пройдемся по практическим точкам каждых секций.
Please open Telegram to view this post
VIEW IN TELEGRAM
Дисциплина не помогает
Еще в догонку темы системы и плана.
Давно хотел написать что-то по поводу великого заблуждения про исключительную важность дисциплины. Все эти заезженные истории дисциплина > мотивация круто звучат, но есть горькая правда. Только дисциплины не хватает.
Когда я был ментором много раз слышал истории в стиле «да я бы мог мир перевернуть, если бы захотел и был дисциплинирован». На такую наивность я и сам попадал, когда думал, что достаточно только 5 тренировок в неделю и я стану мистером Олимпия. И знаете что? Даже с 5 тренировками в неделю я толком никуда не продвинулся.
Дисциплина это только один вспомогательный навык из многих, которые помогают пройти весь путь и дистанцию.
Нужно понять горькую правду, что просто читая 10 статей в день мы не станем программистами. Просто решая 10 задач в день на литкоде мы не станем олимпиадниками. Просто делая рандомные проекты мы не станем крутыми практиками.
У всего должна быть четкая и яркая система, методика и нормативы. А также внутренняя любовь к тому, что делаешь.
https://youtu.be/OPJJDsBYxRk?si=L_HoBn_W0EKKKRP0
Еще в догонку темы системы и плана.
Давно хотел написать что-то по поводу великого заблуждения про исключительную важность дисциплины. Все эти заезженные истории дисциплина > мотивация круто звучат, но есть горькая правда. Только дисциплины не хватает.
Когда я был ментором много раз слышал истории в стиле «да я бы мог мир перевернуть, если бы захотел и был дисциплинирован». На такую наивность я и сам попадал, когда думал, что достаточно только 5 тренировок в неделю и я стану мистером Олимпия. И знаете что? Даже с 5 тренировками в неделю я толком никуда не продвинулся.
Дисциплина это только один вспомогательный навык из многих, которые помогают пройти весь путь и дистанцию.
Нужно понять горькую правду, что просто читая 10 статей в день мы не станем программистами. Просто решая 10 задач в день на литкоде мы не станем олимпиадниками. Просто делая рандомные проекты мы не станем крутыми практиками.
У всего должна быть четкая и яркая система, методика и нормативы. А также внутренняя любовь к тому, что делаешь.
https://youtu.be/OPJJDsBYxRk?si=L_HoBn_W0EKKKRP0
YouTube
ДИСЦИПЛИНА НЕ СДЕЛАЕТ ИЗ ТЕБЯ ПРОГРАММИСТА
Оцените свои шансы на работу в IT-гигантах. Пройдите бесплатный тест от Яндекс Практикума и получите полезную диагностику своих навыков https://ya.cc/t/H-P5APxA75Rhpv
erid: 2Vtzqv5DPeN
Зарегистрируйте или перенесите домен в Selectel с кешбэком 100%: htt…
erid: 2Vtzqv5DPeN
Зарегистрируйте или перенесите домен в Selectel с кешбэком 100%: htt…
How to measure productivity part 2
Время перфоманс ревью и начало следующего полугодия. Тут есть отличный шанс понять что улучшить за прошлый период и начать планировать следующий.
Мы уже обсуждали очень важную статью про output’ы и outcome’ы. Но правила перфоманс ревью каждую калибровку меняются. Они не стоят на месте.
Вкратце, коммерческая разработка сильно изменилась в оценке инженеров:
- перестали оцениваться только колличественные метрики как пуллреквесты, коммиты и часы
- каждая техническая цель должна аргументироваться с позиции пользы для бизнеса
- разрабы стали более осознанны в следующих шагах
Это очень важно. Помню как в одной компании ребята внедряли KMP и у них вроде было много работы, но ауткамов не было. В итоге их работы чуть ли не приняли за вредную и не поставили «ниже ожиданий». Поэтому нужно понимать ясно туда ли вы гребете.
Я тоже начал планировать следующие полгода. Идей очень много, но фильтровать их помогают разные метрики. Вот интересные статьи:
🌟 Как измерять качество. Очень важная статья про метрики качества. Автор статьи говорит про повышения тимлидам и сеньорам благодаря им:)
🌟 Результаты 25000 перфоманс ревью. Интересные наблюдения и выводы на основе многих данных.
🌟 Perfomance review в Microsoft. Интересный опыт про эксперименты с перфоманс ревью в майкрософт
Время перфоманс ревью и начало следующего полугодия. Тут есть отличный шанс понять что улучшить за прошлый период и начать планировать следующий.
Мы уже обсуждали очень важную статью про output’ы и outcome’ы. Но правила перфоманс ревью каждую калибровку меняются. Они не стоят на месте.
Вкратце, коммерческая разработка сильно изменилась в оценке инженеров:
- перестали оцениваться только колличественные метрики как пуллреквесты, коммиты и часы
- каждая техническая цель должна аргументироваться с позиции пользы для бизнеса
- разрабы стали более осознанны в следующих шагах
Это очень важно. Помню как в одной компании ребята внедряли KMP и у них вроде было много работы, но ауткамов не было. В итоге их работы чуть ли не приняли за вредную и не поставили «ниже ожиданий». Поэтому нужно понимать ясно туда ли вы гребете.
Я тоже начал планировать следующие полгода. Идей очень много, но фильтровать их помогают разные метрики. Вот интересные статьи:
Please open Telegram to view this post
VIEW IN TELEGRAM
Telegram
iOS Makes Me Hate
How to measure productivity?
Очень советую эту статью.
Те, кто работал в Авито, наверное ловят флешбэки от таких слов как output/outcome. На каждом перфоманс ревью вы с вашим лидом оцениваете свою работу. В итоге, он вам помогает определить что полезно…
Очень советую эту статью.
Те, кто работал в Авито, наверное ловят флешбэки от таких слов как output/outcome. На каждом перфоманс ревью вы с вашим лидом оцениваете свою работу. В итоге, он вам помогает определить что полезно…
Типичные списки 75 задач из Литкода
Нашел в сети пост про список интересных задач.
В интернетах есть куча разных списков задач, которые все ОБЯЗАНЫ прорешать перед тем как идти на интервью. Опять же, решать наугад задачи — не иметь структуры и плана, а значит терять время. Think about it😏
Самые известные из них:
Top Interview 150
Blind 75
LeetCode 75
NeetCode 150
Эти списки охватывают основную часть паттернов, алгоритмов и структур данных необходимых для алгособесов. Считается, что начинать с этих задач — правильная стратегия.
Задачи из списков выше — хорошая база. Можно хорошо их миксовать с курсами и теорией.
Нашел в сети пост про список интересных задач.
В интернетах есть куча разных списков задач, которые все ОБЯЗАНЫ прорешать перед тем как идти на интервью. Опять же, решать наугад задачи — не иметь структуры и плана, а значит терять время. Think about it
Самые известные из них:
Top Interview 150
Blind 75
LeetCode 75
NeetCode 150
Эти списки охватывают основную часть паттернов, алгоритмов и структур данных необходимых для алгособесов. Считается, что начинать с этих задач — правильная стратегия.
Задачи из списков выше — хорошая база. Можно хорошо их миксовать с курсами и теорией.
Please open Telegram to view this post
VIEW IN TELEGRAM
LeetCode
NeetCode 150 - LeetCode
Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.
Делюсь небольшим спойлером замеров лайаута с доклада Паши НеДурова про его оптимизацию проекта. Мы там не просто разобрали тему хитчей, мейнтреда, герцовка и render server, а прям детально прошлись по практическим инструментам.
Много жирного контекта по PinLayout, Texture, AutoLayout, голыми фреймами и другое. Такое вы нигде не увидите.
Релиз на днях.
Много жирного контекта по PinLayout, Texture, AutoLayout, голыми фреймами и другое. Такое вы нигде не увидите.
Релиз на днях.
Решил перед выпусками наваливать ЛОРа за темы, которые будем обсуждать. Так и весь контекст обсуждений можно понять, и экспозицию доклада сделать шире.
Не секрет, что мессенджеры — это отдельный вид приложений, не похожий ни на что. Модные SwiftUI, SC или CMP туда не запихнешь, тк он требует высокой производительности от очень старых устройств и версий. Здесь нужно уходить глубже, чем документации смузи штук. Обсуждать все сложности можно часами.
Поговорим про забытую многими технологию. Но оставившую свой след в индустрии.
Либа, AsyncDisplayKit aka Texture, знакома многими по исходникам телеграма. Много боли она принесла с конкурсами, когда нужно работать с исходной кодовой базой. Такие конкурсы на понимание и чтение исходников телеграма имели повышенную сложность. Именно в таком участвовал наш гость Паша.
В чем ее плюсы?
1️⃣ Асинхронный рендеринг — Рендеринг и layout происходят в фоновом потоке (да да), что уменьшает нагрузку на мейнтред. Вы думаете почему телеграм такой быстрый? Ну, потому что он эффективно работает с лайаутом.
Фейсбук* (запрещенная организация в РФ) создавала его для приложений с большим количеством контента (Pinterest, Facebook Paper).
2️⃣ Декларативный стиль через ASLayoutSpec еще до SwiftUI
3️⃣ Прерасчет лайаута до отображения.
В чем же минусы?
1️⃣ Сложность. Если вы где либо видите сложность — это плохой дизайн. Будь это текста авторов в телеграме, книги, кино, все что угодно. А уж тем более software engineering. Закон жанра: то, что остается сложным — умрет.
Асинхронный лайаут, при его очевидных плюсов на бумаге, стал мертворожденной идеей. Сами разрабы телеграма говорят, что было ошибкой затаскивать AsyncDisplayKit. А разрабы этой библиотеки давно отказались от поддержки в пользу своих более простых внутренних библиотек.
Советую ознакомиться в любом случае, тк это отличная зарядка для ума и опыт, который поможет понять проблемы UIKit.
Полезные ссылки:
- Using AsyncDisplayKit to Develop Responsive UIs in iOS
- Build Timeline View with AsyncDisplayKit
1/3
Please open Telegram to view this post
VIEW IN TELEGRAM
Texture
A UI Framework for Effortless Responsiveness