Understanding Swift Performance
Все же нет ни одной статьи про память в iOS, которая справилась бы лучше этой сессии на WWDC 2016. Такой пристарелый материал, но почему-то мало кому пришлось его осилить. А ведь правда, чтобы понять всё, что там говорят — нужно смотреть пару раз.
Теперь, отвечая на вопрос на память и типы вы легко можете:
▫️Объяснять стэк и кучу в Swift
▫️Что такое экзистенциальный контейнер
▫️Как память тесно связана с диспетчеризацией
В следующих постах подробнее поговорим про это, а пока можно почитать:
1️⃣ Протокольно ориентированное программирование
2️⃣Протокольно ориентированное программирование 2
3️⃣Протокольно ориентированное программирование 3
Все же нет ни одной статьи про память в iOS, которая справилась бы лучше этой сессии на WWDC 2016. Такой пристарелый материал, но почему-то мало кому пришлось его осилить. А ведь правда, чтобы понять всё, что там говорят — нужно смотреть пару раз.
Теперь, отвечая на вопрос на память и типы вы легко можете:
▫️Объяснять стэк и кучу в Swift
▫️Что такое экзистенциальный контейнер
▫️Как память тесно связана с диспетчеризацией
В следующих постах подробнее поговорим про это, а пока можно почитать:
1️⃣ Протокольно ориентированное программирование
2️⃣Протокольно ориентированное программирование 2
3️⃣Протокольно ориентированное программирование 3
👍14
Че там по думскроллингу?
Дорофеев, тот самый чел с "Джедайскими привычками" (популярная в ит и не только), выпустил ролик по борьбе с актуальными проблемами
https://www.youtube.com/watch?v=TVNamQ6cRFU
Дорофеев, тот самый чел с "Джедайскими привычками" (популярная в ит и не только), выпустил ролик по борьбе с актуальными проблемами
https://www.youtube.com/watch?v=TVNamQ6cRFU
YouTube
Как перестать читать новости? (разрушаем пагубные привычки, думскроллинг и прокрастинацию)
Приходите к нам учиться:
- Джедайские техники (про экономию мыслетоплива): https://sprint.mnogosdelal.ru/
- Хулилогика (про работу с мышлением): https://logic.mnogosdelal.ru/
- Как 'нечитать' книги и работать с входящей информацией: https://books.mnogosdelal.ru/…
- Джедайские техники (про экономию мыслетоплива): https://sprint.mnogosdelal.ru/
- Хулилогика (про работу с мышлением): https://logic.mnogosdelal.ru/
- Как 'нечитать' книги и работать с входящей информацией: https://books.mnogosdelal.ru/…
👍5
Existential Container
❔ На этапе компиляции нам требуется узнать размеры аргументов функции, чтобы положить их в стэк, если они будут разного размера
Компилятор Swift сгенерирует код, который автоматически упаковывает это значение в "экзистенциальный контейнер"
По умолчанию выделяется 3 машинных слова. Если размер превышает их, то в куче выделяется поле, которое управляется ARC и значение копируется туда. Указатель на поле копируется в первое поле, а остальные 2 слова не используются.
По своей сути экзистенциальный контейнер — это просто коробка фиксированного размера.
🚘 Здесь появляются дополнительные тонкости. В следующих постах поговорим про Protocol/Value Witness Table
- Связь между экземпляром структуры и методом протокола
Компилятор Swift сгенерирует код, который автоматически упаковывает это значение в "экзистенциальный контейнер"
По умолчанию выделяется 3 машинных слова. Если размер превышает их, то в куче выделяется поле, которое управляется ARC и значение копируется туда. Указатель на поле копируется в первое поле, а остальные 2 слова не используются.
По своей сути экзистенциальный контейнер — это просто коробка фиксированного размера.
- Связь между экземпляром структуры и методом протокола
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥13👍1
Управление памятью и производительность типов значений
Нужно ли понимать архитектуру памяти обычным разрабам? Автор нашего любимого блога в статье считает, что прикладным разрабам не нужно знать, как сэкономить пару байтов. А тем более это делать преждевременно.
Но если все же интересно, то можно почитать статью и сравнить
- Куча общая для потоков, а значит память выделяется медленней.
- Когда value type выделяются в куче?
Нужно ли понимать архитектуру памяти обычным разрабам? Автор нашего любимого блога в статье считает, что прикладным разрабам не нужно знать, как сэкономить пару байтов. А тем более это делать преждевременно.
Но если все же интересно, то можно почитать статью и сравнить
- Куча общая для потоков, а значит память выделяется медленней.
- Когда value type выделяются в куче?
🔥7
В прошлую пятницу у меня был выбор: либо уехать в казахстан на пару недель, пока все не закрыли и встретить родственников. Либо поступить на вышку, которая в теории меня забронирует. Я выбрал второе.
Высшее образование не сказал бы, что большая, но колющая тема. Как я уже говорил, вся моя семья — учителя. У всех по несколько дипломов. А я не смог после колледжа совмещать работу и учебу на очке, и ушел вообще с высшего. Причем специальность была из списка на отсрочку. Впервые я пожалел, что отчислился)
Сейчас, скажем так, ценности поменялись🤡 Значимость высшего образования также остается под вопросом, но она выросла психологически и социально. Без него, наверное, работадатель будет сомневаться, ибо ему сложно будет защитить от невнятного призыва. Дополнительные же гарантии помогут лучше планировать с нами работу.
Какое образование я выбрал? Да, которое было. Бизнес-информатик. Если познакомиться с программой обучения на следующие 4 года и 11 месяцев, то может показаться, что это бюджетная российская копия MBA.
Как начну учиться — буду делиться интересными знаниями. Если доживем к диплому, сделаем сравнение.
Можно ли назвать это первым реалити шоу, где мы все будем анализировать ценность высшего 5 лет?
Высшее образование не сказал бы, что большая, но колющая тема. Как я уже говорил, вся моя семья — учителя. У всех по несколько дипломов. А я не смог после колледжа совмещать работу и учебу на очке, и ушел вообще с высшего. Причем специальность была из списка на отсрочку. Впервые я пожалел, что отчислился)
Сейчас, скажем так, ценности поменялись
Какое образование я выбрал? Да, которое было. Бизнес-информатик. Если познакомиться с программой обучения на следующие 4 года и 11 месяцев, то может показаться, что это бюджетная российская копия MBA.
Как начну учиться — буду делиться интересными знаниями. Если доживем к диплому, сделаем сравнение.
Можно ли назвать это первым реалити шоу, где мы все будем анализировать ценность высшего 5 лет?
Please open Telegram to view this post
VIEW IN TELEGRAM
🐳10🔥6👍2🌭1
👍3
Проблемы с синглтонами и почему вместо них следует использовать DI
Эта тема уже задевалась вскольз, когда сравнивали сервис локатор и DI. Тут как раз статья вышла
Проблема синглтонов:
1. Риск гонки из-за доступа с разных классов
2. Ненастраиваемые инициализаторы
3. Сложность с мокированием данных
DI — это паттерн, который помогает инициализировать зависимость почти в начале композиции нашей апки, а потом внедрить.
Чаще всего внедрение происходит через инициализаторы и протоколы. Так мы можем легко контролировать переданные модули
Эта тема уже задевалась вскольз, когда сравнивали сервис локатор и DI. Тут как раз статья вышла
Проблема синглтонов:
1. Риск гонки из-за доступа с разных классов
2. Ненастраиваемые инициализаторы
3. Сложность с мокированием данных
DI — это паттерн, который помогает инициализировать зависимость почти в начале композиции нашей апки, а потом внедрить.
Чаще всего внедрение происходит через инициализаторы и протоколы. Так мы можем легко контролировать переданные модули
👍3
Авито запустило стажировку, если вы помните.
Если учитесь на 3 курсе и старше, либо уже получили диплом по технической, математической или IT-специальности. А возможно, прошли курс переподготовки в IT.
🤑 Стажировка оплачивается
🏠 можно работать на удаленке
⌛️ продолжительность 6 месяцев
Знаю, кому-то будет полезно. Заявки принимают еще 10 дней
Если учитесь на 3 курсе и старше, либо уже получили диплом по технической, математической или IT-специальности. А возможно, прошли курс переподготовки в IT.
Знаю, кому-то будет полезно. Заявки принимают еще 10 дней
Please open Telegram to view this post
VIEW IN TELEGRAM
start.avito.ru
Стажировка для разработчиков в Авито
Начните карьеру в компании, продуктами которой пользуются миллионы. Выбирайте одно из четырёх направлений, получайте знания от экспертов, поддержку комьюнити и опыт, который можно показать — в коде, в кейсах, в резюме.
👍5😍4❤🔥2🏆1
Ха ха
Когда я копирую доку и книги — какой-то Timi Stark копирует меня в медиуме, переводя на английский дословно.
Кто ты без своего гугл переводчика?
Миллионер, Араб, иосер
Можно ли называть себя гордым словом РУССКИМ ПРОГРАММИСТОМ
Когда я копирую доку и книги — какой-то Timi Stark копирует меня в медиуме, переводя на английский дословно.
Кто ты без своего гугл переводчика?
Миллионер, Араб, иосер
Можно ли называть себя гордым словом РУССКИМ ПРОГРАММИСТОМ
Хабр
The Layout Engine в Swift
Многие iOS разработчики не задумываются как работает механизм отрисовки элементов, установки и обновлении constraints в Auto Layout'e. В этой статье я пробую подробно заглянуть внутрь работы Layout...
😁9🌚4
Короткое, но полезное видое почему важно понимать алгоритмы, компилятор, дебагер, память и тп
https://www.youtube.com/watch?v=CPLG3Jj8xaY
https://www.youtube.com/watch?v=CPLG3Jj8xaY
YouTube
Я изучал программирование 10 лет, чтобы сделать это видео
Научись создавать сайты и приложения на Python в SkillFactory:
https://go.skillfactory.ru/fhBy2Q
Скидка 45% по промокоду WINDERTON до 05.11.2022 г.
Это гайд-лайн и история того, как, что, где и когда работает+взаимосвязано в программировании и Computer…
https://go.skillfactory.ru/fhBy2Q
Скидка 45% по промокоду WINDERTON до 05.11.2022 г.
Это гайд-лайн и история того, как, что, где и когда работает+взаимосвязано в программировании и Computer…
👍3
А че может кто знает книги по нормальным языкам? Для Дронов писать по или ПВО симуляторы?
Чет заинтересовала тема с военным программным обеспечением и как красить пусковые кнопки
Чет заинтересовала тема с военным программным обеспечением и как красить пусковые кнопки
😁5😐2🤔1
А я напоминаю, что выкладываю разные интересные мне книги в другой канал. Там не только про иос
Также и те книги, которыми делятся подписчики
https://t.iss.one/iosmmcresources
Также и те книги, которыми делятся подписчики
https://t.iss.one/iosmmcresources
👍7❤🔥3
This media is not supported in your browser
VIEW IN TELEGRAM
Пример приложения, запускающего NSTimer, CADisplayLink и DispatchSourceTimer в фоновом потоке, чтобы предотвратить задержки анимации, когда основной поток занят.
Еще одна причина углубиться в таймеры и оптимизировать анимации.
- Подробнее про таймеры
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🔥2🍓1
Еще рассказы про решения литкода от наших индуских друзей
https://www.youtube.com/watch?v=xF554Tlzo-c
https://www.youtube.com/watch?v=xF554Tlzo-c
👍3
Ну и если че вот лучшее видео на ютубе о том, как работает стэк
- поинтеры
- прологи и эпилоги функций
- рост стэка вниз и вверх
- фреймы стэка
- вызов функций
в след посте попробую сделать визуализацию стэка в иос
https://www.youtube.com/watch?v=MXoMuymbfo8
- поинтеры
- прологи и эпилоги функций
- рост стэка вниз и вверх
- фреймы стэка
- вызов функций
в след посте попробую сделать визуализацию стэка в иос
https://www.youtube.com/watch?v=MXoMuymbfo8
YouTube
КАК РАБОТАЕТ СТЕК | ОСНОВЫ ПРОГРАММИРОВАНИЯ
Как работает стек, что это вообще такое и почему он напрямую связан с работой функций мы разберем в этом видео.
ССЫЛКИ ИЗ ВИДЕО:
1. Как работает память компьютера - https://www.youtube.com/watch?v=Wh22_O8jXVQ
2. Как работает процессор - https://www.you…
ССЫЛКИ ИЗ ВИДЕО:
1. Как работает память компьютера - https://www.youtube.com/watch?v=Wh22_O8jXVQ
2. Как работает процессор - https://www.you…
🔥12
Value types vs Sematics value types
https://www.swiftbysundell.com/articles/utilizing-value-semantics-in-swift/
https://academy.realm.io/posts/swift-gallagher-value-semantics/
https://www.swiftbysundell.com/articles/utilizing-value-semantics-in-swift/
https://academy.realm.io/posts/swift-gallagher-value-semantics/
Swift by Sundell
Utilizing value semantics in Swift | Swift by Sundell
One really interesting aspect of Swift’s overall design is how centered it is around the concept of value types. This week, let’s take a look at a few different ways in which we can make use of the semantics of value types — and how doing so could significantly…
👍3❤1
Постов не будет
В ближайшие 2 недели я на заслуженном отпуске🏝
Первого ноября мне исполняется 29 лет. Поищу тишину. На др попробую заняться детоксом, отдохнуть от сетей. Я никуда не уехал из РФ и пока не собираюсь. Хотя были все оправдания уехать в Казахстан и увидеть мать, которую я не видел 3 года. Переезд это точно не то, что сейчас даст энергию и трезвый ум. Я похожу по общественным баням, можете пошутить про иосера и мужские письки. Отдохну от избытка инфы, которая душила весь этот год.
Каждое мое др — еще один удушливый дедлайн, который скорее вводит в депр, чем мотивирует. Я, как тот самый нудилка в команде, который на ретро говорит "Ну вроде все норм, но могли бы и лучше!". Кто-то говорит, что это все, потому что я скорпион по знаку Зодиака. А мне просто кажется я душнила. Но все же хотелось бы подытожить прошедший спринт, длиною в год:
1️⃣ Год этому каналу. Как я уже писал раньше, он был спонтанной идеей. Меня позвали на курс пообучать чуваков. Я создал его как канал связи. Написал пару статей. И вот нас уже почти 700 человек.
Канал стал главным проводником, который дает решимости, знания мне и вам.
2️⃣ Нашел супер-крутую компанию и команду в лице авито. Хоть кто-то может поныть как якобы легко купить мою лояльность, но за 9 лет моей карьеры программистом я повидал много компаний. Посидев на рабочив местах казахстана и россии — не было ни одной компании, где мы настолько совместимы взглядами
3️⃣ Благодаря каналу я нашел крутых коллег и знакомых, с которыми мы могли пройти этот нелегкий год. Поток информации, которой мы обмениванились, насыщенней и полезный в разы. Это круто.
Я никогда не рассматривал и не буду этот канал как нечто коммерческое. Убив тем самым в себе тягу за знаниями, а не за монетой. Меня просили обменятся подписчиками, прорекламировать курс за косарь (лол серьезно?). Сорри, всем, кому отказал. Я рекламирую только то, что мне нравится и по своему желанию. Да и рил, у меня их не так много, чтобы вы обижались.
Но если вам все же нравится то, о чем я пишу — вы можете поддержать донатом на стакан пива. А я выпью его за вас, пока мы готовим всякие интересные штуки для нас и вас. Ну и вообще будет приятно
💸 Сбербанк: 5228600574454783
В ближайшие 2 недели я на заслуженном отпуске
Первого ноября мне исполняется 29 лет. Поищу тишину. На др попробую заняться детоксом, отдохнуть от сетей. Я никуда не уехал из РФ и пока не собираюсь. Хотя были все оправдания уехать в Казахстан и увидеть мать, которую я не видел 3 года. Переезд это точно не то, что сейчас даст энергию и трезвый ум. Я похожу по общественным баням, можете пошутить про иосера и мужские письки. Отдохну от избытка инфы, которая душила весь этот год.
Каждое мое др — еще один удушливый дедлайн, который скорее вводит в депр, чем мотивирует. Я, как тот самый нудилка в команде, который на ретро говорит "Ну вроде все норм, но могли бы и лучше!". Кто-то говорит, что это все, потому что я скорпион по знаку Зодиака. А мне просто кажется я душнила. Но все же хотелось бы подытожить прошедший спринт, длиною в год:
1️⃣ Год этому каналу. Как я уже писал раньше, он был спонтанной идеей. Меня позвали на курс пообучать чуваков. Я создал его как канал связи. Написал пару статей. И вот нас уже почти 700 человек.
Канал стал главным проводником, который дает решимости, знания мне и вам.
2️⃣ Нашел супер-крутую компанию и команду в лице авито. Хоть кто-то может поныть как якобы легко купить мою лояльность, но за 9 лет моей карьеры программистом я повидал много компаний. Посидев на рабочив местах казахстана и россии — не было ни одной компании, где мы настолько совместимы взглядами
3️⃣ Благодаря каналу я нашел крутых коллег и знакомых, с которыми мы могли пройти этот нелегкий год. Поток информации, которой мы обмениванились, насыщенней и полезный в разы. Это круто.
Я никогда не рассматривал и не буду этот канал как нечто коммерческое. Убив тем самым в себе тягу за знаниями, а не за монетой. Меня просили обменятся подписчиками, прорекламировать курс за косарь (лол серьезно?). Сорри, всем, кому отказал. Я рекламирую только то, что мне нравится и по своему желанию. Да и рил, у меня их не так много, чтобы вы обижались.
Но если вам все же нравится то, о чем я пишу — вы можете поддержать донатом на стакан пива. А я выпью его за вас, пока мы готовим всякие интересные штуки для нас и вас. Ну и вообще будет приятно
Please open Telegram to view this post
VIEW IN TELEGRAM
🎉50❤🔥7⚡4❤2
Ладно. Еще один пост. На отпуске купил книгу, которая пока больше всего заинтересовала, среди желтых оберток Мартина.
Все мы изучаем множество инструментов и технологий. Но хорошего разраба от простого отличает не кол-во навыков и теории, а качество их применения
В этой книге показалось, что Мартин дает смысла и создает общую картину хорошему разрабу.
Он отвечает на ваши любимые вопросы: тесты, архитектура, проектирование.
А также дает этические и моральные принципы, необходимые софты для работы на инженерных позициях
Буду делиться с вами видением автора об устройстве идеальной работы
Все мы изучаем множество инструментов и технологий. Но хорошего разраба от простого отличает не кол-во навыков и теории, а качество их применения
В этой книге показалось, что Мартин дает смысла и создает общую картину хорошему разрабу.
Он отвечает на ваши любимые вопросы: тесты, архитектура, проектирование.
А также дает этические и моральные принципы, необходимые софты для работы на инженерных позициях
Буду делиться с вами видением автора об устройстве идеальной работы
🔥22