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

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

Автор: @lvbond Senior iOS Yandex, ex-Avito, VK
Download Telegram
Можете снова почитать как увеличить производительность приложений на swift

https://betterprogramming.pub/9-ways-to-boost-your-swift-code-performance-56e0986dd9ec
🔥3
Топ контент из запрещенки

https://twitter.com/e_matsyuk/status/1519539090097643521
👍5
очень полезный материал снова о базовых вещах с памятью

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

https://youtu.be/TajLTcjBgIg
👍5💩1
я в авито.

с 16 мая работаю тут. прохожу онбординг и под сильнейшим впечатлением.
за свои 8 лет опыта в разных компаниях у меня не было того, что соответствует моим ожидания по процессам, технологиях. Как я уже говорил: "Авито — это частица Европы в России". Живой пример всех сомнений, что в россии не приживается демократия и аджайл мышление.

Живой пример многих реальностей, кому многим кажутся недостижимыми фантазиями. Я дико впечатлен многими вещами, описывать которые не хватит времени. Но скину базовые вещи, на котором держится многое — это принципы.
👍18💩3🔥2
Bloomberg: Apple показала AR/VR-гарнитуру на последнем совете директоров

– Члена СД представили новую гарнитуру смешанной реальности
– AR/VR-гарнитуру показали составу из 8 независимых директоров
– Также Apple направила больше ресурсов на разработку rOS
– Предполагается, что так может называться ОС для гарнитуры
– Дебют нового продукта может состояться в ближайшие месяцы
– Старт продаж нового устройства запланирован на 2023 год
– На бизнес по продаже девайсов приходится 80% выручки Apple
🔥6👍1
Многопоточность: Процесс и Поток

Многопоточка входит в блок обязательных вопросов. По мне он самый сложный из всех. Я сам могу путаться. Сейчас подтягиваю и углубляю знания. Начну с общей теории и перейду в глубь.
И начнем с самой базы.

Process выполняет действия, указанные в памяти программы. ОС помогает создавать, планировать и завершать процессы, используемые процессором.

Thread — небольшой фрагмент процесса. Процесс может иметь несколько потоков, и все они выполняются одновременно.

Ключевые отличия:
- Процесс — это выполнение программы
- Поток — это часть процесса.
- Процессы не легковесные, тогда как потоки легки.
- Для создания и завершения процесса нужно больше времени, а для потока — меньше.
- Процессу требуется больше времени для переключения контекста
- Процессы изолированы и не делятся данными между собой, а потоки делятся
- Потоки совместно используют инструкции, глобальные области и области кучи. Однако у него есть свой регистр и стек.
🔥15
Многопоточность: Конкурентность и Параллелизм

Мы уже знаем о процессе и потоке.
Процесс выделяется на одно ядро, а поток — это маленькие фрагменты нашего процесса

Но как назвать мультизадачность и мультипоточность? Ответ — Конкурентность и Параллелизм. Их часто путаем между собой, поэтому стоит определиться.

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

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

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

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

https://www.youtube.com/watch?v=oV9rvDllKEg
🔥8
👍11