Как async/await работает внутри
Крупная статья с подноготной Swift Concurrency и сравнение со старыми инструментами.
Как мы знаем почти все инструменты для многопоточности дают большую свободу, но также и возможность сделать критические ошибки.
- Как async/await влияет на безопасность
- Какие элементы использует из GCD
- Зачем нам создавать свои Actor'ы
Итог: async/await упрощает концепцию параллелизма, но не везде облегчает ее. Допускать ошибки все также возможно.
Крупная статья с подноготной Swift Concurrency и сравнение со старыми инструментами.
Как мы знаем почти все инструменты для многопоточности дают большую свободу, но также и возможность сделать критические ошибки.
- Как async/await влияет на безопасность
- Какие элементы использует из GCD
- Зачем нам создавать свои Actor'ы
Итог: async/await упрощает концепцию параллелизма, но не везде облегчает ее. Допускать ошибки все также возможно.
Swiftrocks
How async/await works internally in Swift
You probably know how to use async/await. But have you ever wondered how it works under the hood?
👍13❤🔥7
Еще один доклад про побочные эффекты нового инструмента для многопоточности:
- утечки памяти
- нелогичное поведение
- хаки для обходов
- непредсказуемость с SwiftUI
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Matthew Massicotte - The Bleeding Edge of Swift Concurrency
Swift Concurrency is all about succinct, safe code. Yet, it comes with a surprising amount of subtly and new pitfalls. It’s actually quite easy to accidentally introduce races and hangs. Learn about bringing async/await and actors into your code without the…
👍12👎1
Вебинары о новых iOS-технологиях: «Swift Macros» и «SwiftData»
Apple выпускает слишком много инструментов, которые заметно могут изменить правила игры. Чтобы не потерять форму и держаться в тонусе нужно следить за индустрией.
Очень сильно помогают вебинары от сильных, практикующих инженеров. Они не только пересказывают доклады, но и добавляют свой опыт и примеры.
Еще один вебинар от моих знакомых. На прошлый пришло 50 человек, получилось очень лампово и ребята собрали много положительных отзывов.
🔺Swift Macros
Макросы языка Swift — одно из самых заметных улучшений языка за последний год. Они помогают сократить количество шаблонного кода и упростить внедрение сложных функций. Проанализируем, как макросы могут быть использованы в проекте.
Рассказывает Настя Ищенко
🔺SwiftData
Core Data — мощный и удобный фреймворк для работы с данными в iOS-приложениях. Однако он был разработан еще во времена Objective-C и не поддерживает многие новые возможности языка Swift. На WWDC 2023 представили новый фреймворк — SwiftData, который призван заменить Core Data и упростить работу с данными в Swift. Расскажем, что такое SwiftData и как его использовать в своих проектах.
Рассказывает Даниил Алексеев
👉 Начало 4-го октября в 18:30. Получить ссылку на трансляцию можно в боте. Он заранее пришлёт напоминания перед вебинаром, а на следующий день — запись.
Все предыдущие вебинары можно посмотеть в записи по ссылке.
Apple выпускает слишком много инструментов, которые заметно могут изменить правила игры. Чтобы не потерять форму и держаться в тонусе нужно следить за индустрией.
Очень сильно помогают вебинары от сильных, практикующих инженеров. Они не только пересказывают доклады, но и добавляют свой опыт и примеры.
Еще один вебинар от моих знакомых. На прошлый пришло 50 человек, получилось очень лампово и ребята собрали много положительных отзывов.
🔺Swift Macros
Макросы языка Swift — одно из самых заметных улучшений языка за последний год. Они помогают сократить количество шаблонного кода и упростить внедрение сложных функций. Проанализируем, как макросы могут быть использованы в проекте.
Рассказывает Настя Ищенко
🔺SwiftData
Core Data — мощный и удобный фреймворк для работы с данными в iOS-приложениях. Однако он был разработан еще во времена Objective-C и не поддерживает многие новые возможности языка Swift. На WWDC 2023 представили новый фреймворк — SwiftData, который призван заменить Core Data и упростить работу с данными в Swift. Расскажем, что такое SwiftData и как его использовать в своих проектах.
Рассказывает Даниил Алексеев
👉 Начало 4-го октября в 18:30. Получить ссылку на трансляцию можно в боте. Он заранее пришлёт напоминания перед вебинаром, а на следующий день — запись.
Все предыдущие вебинары можно посмотеть в записи по ссылке.
👍11👎3
Какими важными качествами должен обладать код?
Anonymous Poll
48%
Тестируемость
35%
Отказоустойчивость
55%
Логичность
29%
Быстрота исполнения
50%
Изменяемость
80%
Читаемость
42%
Единный CodeStyle
2%
Другое
8%
Никакими
👍2👎1
На удивление, хоть почти все банки удалены из appstore, но желание работать в них не уменьшилось и продолжает быть лидирующим. Возможно и понятно, на подсознательном уровне "работать в банке" звучит авторитетно. Да и там денег точно хватает.
Вторая ниша, где хотят работать разрабы — это маркетплейсы и агрегаторы.
Ну и третье место это всякие видеоредакторы и тп.
Please open Telegram to view this post
VIEW IN TELEGRAM
Мотивацию надо поднять
О минимализме и ресурс менеджменте. Недавно я снова мельком перечитывал "Джедайские техники" Дорофеева и пришел к одному выводу:
Главная задача эффективности — это не поиск ресурсов. Это оптимизация уже имеющихся, которые расходуются зря.
Многие из нас смогли бы перевернуть мир, но нам не хватает главного — желаний, амбиций и мотивации. Я могу победить любую задачу, но мне лень...
Когда я занимался спортом, то смотрел техники подготовки элитных атлетов. Важная деталь любых подготовок — это ограничить себя от дешевых сжигателей дофамина: от дешевой еды, видов развлечений и даже от мастурбаций и наркотиков. Физических, цифровых, эмоциональных.
Вместо достижения амбициозных целей мы ищем дешевую альтернативу. Ретрансляцию чужой жизни и наших грез. Закапываемся в маркетинговых небылицах, мифах и сказках. Выдумываем свои виртуальные оправдания. А почувствовав сложности снижаем ставки. Не зря ученные находят даже в просмотре порно большой вред для мозга.
Отказ от таких вещей очень важен для сохранения концентрации. А только недавно понял зачем эти все истязания. Насколько глубока кроличья нора.
О чем я? Знать как сделать не значит сделать. Чтобы закончить дело нужна дисциплина и мотивация пройти путь. Нужно избавиться от любых пожирателей энергии и соблазнов, которые шепчут тебе "Да зачем тебе это? Разве тебе не хватает дешевой замены. Покушай бургера, посмотри видео на ютубчике или займись тем, что приносит удовольствие здесь и сейчас". Нашему мозгу тяжело сопротивляться ради призрачной цели, если запах дешевого и готового опьяняет мозг.
Самый главный враг — соблазн.
Мы сами снижаем ставки. Меняем свою мотивацию ради дешевых удовольствий здесь и сейчас. А в конце говорим "Я не достиг успеха, потому что не хотел его". Но я все чаще задаю себе вопрос правда ли я этого не хотел или дешево прожег свои амбиции?
У нас есть все ресурсы. Важнее как их не потратить зря.
выключаю режим мотивационных речей Рокки Бальбо. А вы вот еще прикольную статью можете почитать про дофаминовый детокс
О минимализме и ресурс менеджменте. Недавно я снова мельком перечитывал "Джедайские техники" Дорофеева и пришел к одному выводу:
Главная задача эффективности — это не поиск ресурсов. Это оптимизация уже имеющихся, которые расходуются зря.
Многие из нас смогли бы перевернуть мир, но нам не хватает главного — желаний, амбиций и мотивации. Я могу победить любую задачу, но мне лень...
Когда я занимался спортом, то смотрел техники подготовки элитных атлетов. Важная деталь любых подготовок — это ограничить себя от дешевых сжигателей дофамина: от дешевой еды, видов развлечений и даже от мастурбаций и наркотиков. Физических, цифровых, эмоциональных.
Вместо достижения амбициозных целей мы ищем дешевую альтернативу. Ретрансляцию чужой жизни и наших грез. Закапываемся в маркетинговых небылицах, мифах и сказках. Выдумываем свои виртуальные оправдания. А почувствовав сложности снижаем ставки. Не зря ученные находят даже в просмотре порно большой вред для мозга.
Отказ от таких вещей очень важен для сохранения концентрации. А только недавно понял зачем эти все истязания. Насколько глубока кроличья нора.
О чем я? Знать как сделать не значит сделать. Чтобы закончить дело нужна дисциплина и мотивация пройти путь. Нужно избавиться от любых пожирателей энергии и соблазнов, которые шепчут тебе "Да зачем тебе это? Разве тебе не хватает дешевой замены. Покушай бургера, посмотри видео на ютубчике или займись тем, что приносит удовольствие здесь и сейчас". Нашему мозгу тяжело сопротивляться ради призрачной цели, если запах дешевого и готового опьяняет мозг.
Самый главный враг — соблазн.
Мы сами снижаем ставки. Меняем свою мотивацию ради дешевых удовольствий здесь и сейчас. А в конце говорим "Я не достиг успеха, потому что не хотел его". Но я все чаще задаю себе вопрос правда ли я этого не хотел или дешево прожег свои амбиции?
У нас есть все ресурсы. Важнее как их не потратить зря.
выключаю режим мотивационных речей Рокки Бальбо. А вы вот еще прикольную статью можете почитать про дофаминовый детокс
vc.ru
Как провести дофаминовый детокс? — Психология Журнал на vc.ru
Современный мир насчитывает множество быстрых и увлекательных способов получить удовольствие: фастфуд, социальные сети, сериалы, онлайн-шопинг, компьютерные игры и другие. В сравнении с прошлыми эпохами, люди XXI века имеют доступ к значительно большему количеству…
👍23😁1
Делаю один из главных шагов для своей дофаминовой стабильности — понемногу ограничиваю комментарии в канале. Одна из самых неэффективных трат энергии.
Мне, честно, не хочется тратить свой ресурс на споры в интернетах. Но и полностью комменты ограничивать я не хочу.
Для этого начнем описывать рекомендации по эффективной коммуникации в интернетах:
1. Пишем уважительно. Ко всем. К автору статьи. Ко всем остальным.
2. Если не согласны, то не просто выражаем мнение, но и заботимся о читателях.
3. Не скидываем ссылку "здесь все написано". Это неответственная коммуникация, которая жрет много энергии и создает условия спора ради спора. Объясняем свою мысль и подкрепляем ссылками,а не заменяем свои слова чужими.
4. Стараемся писать лаконично.
5. Напоминаем о правилах. Особенно мне.
6. Помним, что мы не тратим свое и чужое время зря просто вываливая эмоцию или мнение.
7. Любые намеки на троллинг, оскорбление, спам, провокации сначала штрафуются, а потом идет бан.
Накидывайте еще правила. Чуть попозде сформируем свой стайлгайд по эффективной коммуникации в интернетах
Мне, честно, не хочется тратить свой ресурс на споры в интернетах. Но и полностью комменты ограничивать я не хочу.
Для этого начнем описывать рекомендации по эффективной коммуникации в интернетах:
1. Пишем уважительно. Ко всем. К автору статьи. Ко всем остальным.
2. Если не согласны, то не просто выражаем мнение, но и заботимся о читателях.
3. Не скидываем ссылку "здесь все написано". Это неответственная коммуникация, которая жрет много энергии и создает условия спора ради спора. Объясняем свою мысль и подкрепляем ссылками,а не заменяем свои слова чужими.
4. Стараемся писать лаконично.
5. Напоминаем о правилах. Особенно мне.
6. Помним, что мы не тратим свое и чужое время зря просто вываливая эмоцию или мнение.
7. Любые намеки на троллинг, оскорбление, спам, провокации сначала штрафуются, а потом идет бан.
Накидывайте еще правила. Чуть попозде сформируем свой стайлгайд по эффективной коммуникации в интернетах
👍15😁7👎2
Forwarded from iOS Dev
Изучение Swift Concurrency за 2 часа
📺 В этом масштабном (иначе и не сказать) видео Vincent Pradeilles рассказывает о Swift Concurrency с нескольких разных точек зрения.
А вот и сами статьи, которые Винсент использовал:
📖 Async await в Swift с примерами.
📖 Конвертация асинхронного кода в async/await в Swift.
📖 Async let: параллельный вызов async-функций.
📖 Какую роль Tasks играют в системе параллелизма Swift?
📖 Разбор Swift Tasks Groups на примере.
😃 iOS Dev
📺 В этом масштабном (иначе и не сказать) видео Vincent Pradeilles рассказывает о Swift Concurrency с нескольких разных точек зрения.
А вот и сами статьи, которые Винсент использовал:
📖 Async await в Swift с примерами.
📖 Конвертация асинхронного кода в async/await в Swift.
📖 Async let: параллельный вызов async-функций.
📖 Какую роль Tasks играют в системе параллелизма Swift?
📖 Разбор Swift Tasks Groups на примере.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14❤🔥3
Хорошего инженера, впервую очередь, определяет код, а не колличество докладов, доказательств в чатах, пройденных интервью и размер выторгованного оффера.
Проведя уже более 200 менторских занятий я понял главное — навык программирования не зазубришь слитой базой ответов, списанным чужим тестовым или прочитав книги великих умов.
Написать слова в код сложнее всего. Нужно много кодить и работать руками. Мы можем поднимать высокие темы или опускаться глубоко в кишки, выпускать курсы, объясняться на словах. Но лучше всего определяет программиста — это лайфкодинг.
Мое любопытство завело в сторону "А что такое высококачественный код программиста за десятки тысяч долларов?". Мы будем изучать лучшие практики из всех трудов программирования и переводить его в Swift.
Недавно я делал опрос какое для вас важное качество хорошего кода. Поэтому начнем с читаемости.
Открываю новую рубрику "Код на миллион долларов", где будем разбираться что такое читаемость, тестируемость и другие непонятные слова теорикам.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍30❤🔥2
Стоит ли нанимать сверхквалифицированных инженеров в ит?
Вы часто можете слышать от многих разработчиков: "Зачем мне решать алгосы/знать математику/уметь стоять на голове/писать крутой код, если буду красить кнопки".
И многие не врут, что собесы чаще сложнее реальных задач. Но для чего же такие собесы? Бизнесу нужно найти лучшего кандидата для усиления.
Проблема сверхквалификации не редкость в других экономических сферах, но в ит она не так страшна. Ведь она более экономически динамическая и лучше перебздеть и нанять лучшего кандидата за выделенный бюджет, чем рисковонного. Скажите, что не сделали бы тоже самое и вы соврете.
Человек, который справляется со сложными задачами легко — полезен команде для роста даже если для него сейчас нет задач.
Но что же лучше? Повышать свою квалификацию, когда на рынке уже нет места для твоих глубоких знаний или расширять свои навыки в смежных областях? На этот вопрос ответили т-шейпом.
Вы часто можете слышать от многих разработчиков: "Зачем мне решать алгосы/знать математику/уметь стоять на голове/писать крутой код, если буду красить кнопки".
И многие не врут, что собесы чаще сложнее реальных задач. Но для чего же такие собесы? Бизнесу нужно найти лучшего кандидата для усиления.
Проблема сверхквалификации не редкость в других экономических сферах, но в ит она не так страшна. Ведь она более экономически динамическая и лучше перебздеть и нанять лучшего кандидата за выделенный бюджет, чем рисковонного. Скажите, что не сделали бы тоже самое и вы соврете.
Человек, который справляется со сложными задачами легко — полезен команде для роста даже если для него сейчас нет задач.
Но что же лучше? Повышать свою квалификацию, когда на рынке уже нет места для твоих глубоких знаний или расширять свои навыки в смежных областях? На этот вопрос ответили т-шейпом.
Austin Nichols Technical Search
Why to Consider Hiring Overqualified Software Engineers | Austin Nichols
Hiring an overqualified software engineer to your company can have both advantages and disadvantages. Here's what you should consider.
👍3
Программирование — это конструирование
Наша главная проблема, когда мы новички — выдумывать велосипеды. И чаще они получаются крайне неудобными. Ездить на них сложно, ведь вместо мягкой сидушки бутылка.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍25😁1
Приходите или подключайтесь. Я там буду ведущим.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍20👎2
Используя только молоток, вокруг себя мы будем видеть только гвозди
Когда я спрашиваю у разработчиков с чем они сравнивают программирование, то слышу многие сравнения:
Кто-то сравнивает написание кода с готовкой. Есть рецепт и иди вари борщ. Правильно перчи или соли. Вари на нужном огне и выбирай лучшее мясо.
Другие видят в нем строительство. Есть архитекторы, есть маляры, есть крановщики. Одни пишут планы, другие рисуют чертежи, третьи красят стены, четвертые только матерятся.
Один из знакомых начальников, далекий от программирования, называл программистов писателями. Им просто нужно выполнить в программе то, что им говорит менеджмент. Такие глупые болванчики, которые повторяют слова своих руководителей... Хороший ли тот руководитель, кто нанимает команду, слабее себя, решаем каждый сам.
Важность метафор уже расскрывали в книгах и статьях. Каждая из них задает свои органичения и не стоит следовать только одной концепции. Это может быть не так эффективно при решении разных задач.
Please open Telegram to view this post
VIEW IN TELEGRAM
😁8👍4👎1
This media is not supported in your browser
VIEW IN TELEGRAM
Продвинутые анимации в SwiftUI
Слишком много SwiftUI. Он стремительно уже идет в прод. Об этом мы тоже подробно рассказали и убедились на митапе.
Пока остальные откапываются от obj-c мы идем к самому красивенькому и важному. Анимациям😘
В статье детальный разбор всех новых штук для адаптивного и приятного интерфейса.
Слишком много SwiftUI. Он стремительно уже идет в прод. Об этом мы тоже подробно рассказали и убедились на митапе.
Пока остальные откапываются от obj-c мы идем к самому красивенькому и важному. Анимациям
В статье детальный разбор всех новых штук для адаптивного и приятного интерфейса.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16
Фотки с митапа
Спустя пару дней я все же скажу, что вышло офигенно. Это мой первый опыт организации, поиска спикеров, прогона докладов и выступления ведущим. Есть много точек роста, но в целом все вышло очень достойно.
Особенно большое спасибо спикерам, зрителям и организаторам.
Пару раз мы ловили большое спасибо за организацию этого митапа и это сильно греет душу. Кто-то даже шутил сделать свой аналог AppConf’а. Возможно, шутки перестанут быть шутками 😉
Спустя пару дней я все же скажу, что вышло офигенно. Это мой первый опыт организации, поиска спикеров, прогона докладов и выступления ведущим. Есть много точек роста, но в целом все вышло очень достойно.
Особенно большое спасибо спикерам, зрителям и организаторам.
Пару раз мы ловили большое спасибо за организацию этого митапа и это сильно греет душу. Кто-то даже шутил сделать свой аналог AppConf’а. Возможно, шутки перестанут быть шутками 😉
❤🔥35👍6😁1