![Программирование - интерес жизни](/img/default-banner.jpg)
- 113
- 24 827
Программирование - интерес жизни
Russia
Registrace 20. 12. 2021
Все о программировании.
Swift. Async/Await. Basics
Звук получился тихим, сделайте в этом видео погромче. Остальные видео будут лучше.
Самые, самые основы async/await. Получилось довольно много слов и теории:
- Немного о предыдущих подходах
- Про использование async/await
- Task.yeild, Continuation
Следующий ролик будет про Task, будет больше кода и практики.
00:00-2:50 - Вступление
2:51-8:50 - Что было раньше
8:51-30:04 - Основы работы
30:05 - От синхронного к асинхронному
#swift #async #asyncawait
Самые, самые основы async/await. Получилось довольно много слов и теории:
- Немного о предыдущих подходах
- Про использование async/await
- Task.yeild, Continuation
Следующий ролик будет про Task, будет больше кода и практики.
00:00-2:50 - Вступление
2:51-8:50 - Что было раньше
8:51-30:04 - Основы работы
30:05 - От синхронного к асинхронному
#swift #async #asyncawait
zhlédnutí: 195
Video
Swift. Pose Detection App - 49.
zhlédnutí 59Před dnem
Вынесли следующую зависимость - GalleryTab. Исправили ошибки и готовы к рефактоирнгу основного проекта. - Composable Architecture - github.com/pointfreeco/swift-composable-architecture - Репозиторий проекта : github.com/Nikolaiko/PlankPoseDetection #swift #swiftui #composablearchitecture #flux #xcode
Swift. Pose Detection App - 48.
zhlédnutí 63Před dnem
Вынесли следующую зависимость - PoseEstimation. Немного прилось пофантазировать и модифицировать подход. - Composable Architecture - github.com/pointfreeco/swift-composable-architecture - Репозиторий проекта : github.com/Nikolaiko/PlankPoseDetection #swift #swiftui #composablearchitecture #flux #xcode
Swift. Pose Detection App - 47.
zhlédnutí 74Před 14 dny
Вынесли зависимость DrawPoseDetection для рисования и изменили структуру пакетов немного. - Composable Architecture - github.com/pointfreeco/swift-composable-architecture - Репозиторий проекта : github.com/Nikolaiko/PlankPoseDetection #swift #swiftui #composablearchitecture #flux #xcode
Swift. Pose Detection App - 46.
zhlédnutí 73Před 14 dny
Вынесли следующую зависимость - VideoPlayer. - Composable Architecture - github.com/pointfreeco/swift-composable-architecture - Репозиторий проекта : github.com/Nikolaiko/PlankPoseDetection #swift #swiftui #composablearchitecture #flux #xcode
День разработчика. Работа с задачами
zhlédnutí 346Před 21 dnem
Второй ролик, про задачи и работу над ними. #development #talks #общение #деньразработчика
День разработчика. Созвоны, распорядок, требования
zhlédnutí 721Před měsícem
Записал ролик, по части вопросов. Думал получится короче, но растянулось на час вещания. Где-то, может, затянуто, но постарался чтобы было подробно. В этот раз, конечно, без кода, но кое где с примерами. 00:00-17:25 - Требования трудоустройства 17:25-44:36 - Один день разработчика 44:36 - Требования по время работы #development #talks #общение #деньразработчика
Swift. Pose Detection App - 45
zhlédnutí 80Před měsícem
Начали выносить следующую зависимость - VideoPlayer. - Composable Architecture - github.com/pointfreeco/swift-composable-architecture - Репозиторий проекта : github.com/Nikolaiko/PlankPoseDetection #swift #swiftui #composablearchitecture #flux #xcode
Swift. Pose Detection App - 44
zhlédnutí 59Před měsícem
Сделали и настроили PoseDetection зависимость для распознования позы пользователя. - Composable Architecture - github.com/pointfreeco/swift-composable-architecture - Репозиторий проекта : github.com/Nikolaiko/PlankPoseDetection #swift #swiftui #composablearchitecture #flux #xcode
Swift. Dependencies. Пример
zhlédnutí 222Před 2 měsíci
Пример использования Dependencies библиотеки. #swift #swiftui #внедрениезависимости #di #dependencyinjection #xcode
Swift. Pose Detection App - 42
zhlédnutí 41Před 2 měsíci
Доделали навигацию к подробной информации статьи. Переработали зависимост ArticlesProvider. - Composable Architecture - github.com/pointfreeco/swift-composable-architecture - Репозиторий проекта : github.com/Nikolaiko/PlankPoseDetection #swift #swiftui #composablearchitecture #flux #xcode
Swift. Dependency Injection Новый подход
zhlédnutí 257Před 2 měsíci
В кратце рассмотрели, что такое DI и как оно реализуется в Dependencies библиотеке. #swift #swiftui #внедрениезависимости #di #dependencyinjection #xcode
Swift. Dependency Injection Основы
zhlédnutí 469Před 2 měsíci
В кратце рассмотрели, что такое DI и как оно реализуется в классическом подходе. 00:00-17:06 - Первый шаг - без DI 17:07-23:15 - Вынос подзадач в зависимости 23:16-26:09 - Вынос создания зависимостей 26:10 - Добавление протоколов #swift #swiftui #внедрениезависимости #di #dependencyinjection #xcode P.S. Записывал в походных условиях, поэтому, если будут сложности со звуком или еще чем-то пишите...
IT-рынок, собеседования. Разговор с Максимом Дроздовым
zhlédnutí 555Před 3 měsíci
IT-рынок, собеседования. Разговор с Максимом Дроздовым
Swift. Pose Detection App - 37. Add OnBoarding Part 2
zhlédnutí 62Před 4 měsíci
Swift. Pose Detection App - 37. Add OnBoarding Part 2
Swift. Pose Detection App - 36. Add OnBoarding Part 1
zhlédnutí 81Před 4 měsíci
Swift. Pose Detection App - 36. Add OnBoarding Part 1
Swift. Pose Detection App - 34. Restart. Stack Navigation.
zhlédnutí 56Před 4 měsíci
Swift. Pose Detection App - 34. Restart. Stack Navigation.
Swift. Vapor. Добавляем Header. Окончание
zhlédnutí 59Před 4 měsíci
Swift. Vapor. Добавляем Header. Окончание
Очень понятно построенно объяснение! Спасибо
Рад, что вам было полезно.
Спасиба!
Больше видео по структурному конкаренси
Будет. Следующее будет именно про Task.
За видео спасибо, но звук...( если бы немного громче в следующий раз...
Спасибо за отзыв. Следующее видео, скорее всего, будет уже из дома. Там все настроено. Но если задержусь в командировке учту.
Очень полезное видео, спасибо!
Привет, что ты имеешь в виду на 17:35 примерно "размер массива будет равен количеству элементов одинаковому"? Размер массива всегда один и тот же, он не зависит от количества элементов)
Ну изначально да, все массивы одинакового размера. Но, когда мы все-таки дойдем до предела и нам нужно вставить новый элемент. То массив увеличивается в два раза (берется новый блок памяти туда копируется старое содержимое и добавляется новый элемент). Здесь я имел в виду фактический размер всех элементов, которые в массиве есть и механизм, который позволяет сохранять возможность обращения к этим элементам массива по индексу. Хотя, мы не знаем какого они размера (так как там просто протоколы указаны).
@@nikolai.developer ок, понял. зы. я про то, что если смотреть размер массива через memorylayout там всегда 8 будет, тк в нем ссылка на буфер лежит и больше ничего
@@nikolai.developer ок, понял зы. я про то, если смотреть через memorylayout, то всегда будет размер один и тот же, т.к. в массиве только ссылка на буфер лежит
привет, как раз то, что искал, спасибо!
Интересно было бы послушать про Structed Cuncurrency, особенно работу с Actors, обсудить возможные проблемы
Спасибо большое, очень интересная серия роликов! Получается что в TCA у нас в любом случае каждый экран знает заранее какие экраны он может открыть и сам отвечает за их построение. Мне кажется в этом главный минус TCA, потому что таким образом нарушается принцип единственности ответственности, да и в целом потом изменить навигацию, встроить на одном из этапов промежуточный экран или передавать данные сквозь цепочку связанных экранов оказывается очень непростой задачей, особенно если мы экраны находятся в разных модулях и мы не хотим видеть между ними прямую связь. Обычно для этого выделяют отдельную сущность в виде координатора, в котором можно хранить какие-то общие переменные для всех экранов, удобно конфигурировать в одном месте эти экраны, а открывать новые за счет .send() паблишера изнутри экрана.Т.е. есть экран, который после нажатия на кнопку вызывает .send() у условного nextButtonPublisher, а координатор при конфигурировании экрана подписывается на него и сам открывает след экран. В SwiftUI можно реализовать это с помощью библиотеки Stinsen, она максимально приближена к тому, что у нас было в UIKit. Я думаю, что всё-таки все преимущества TCA раскроются, если использовать его вместо ViewModel, не распростроняя на уровень всего приложения, а то код начинает необосновано разрастаться так, что даже компилятор не справляется с обработкой ошибок
Привет, рад что понравилось. Перенос модификаторов навигации во View - это особенность SwiftUI в принципе. Потому что под капотом TCA использует стандартный стэк навигации, просто добавляет к этому построение и передачу store для экрана. Если такой подход не нравится, можно действительно не использовать навигацию TCA, так можно сделать. Одно время я так и писал, пока не разобрался как работает навигация.
Если можно расскажи, как собрать проект, когда ты пришел только на проект. Ведь нужно загрузить в проект кучу стороних библиотек. К примеру я пришел на первую работу удалено, мне говорят установи проект .( Меня добавили в репозиторий? Я скачиваю проект, как это все установить, может с этим помогает коллега?). Учусь сам и не нашел на курсах ничего подобного.
Зависит от компании. Если это небольшая контора, то там может быть там никто не поможет, хотя спросить (у коллег) если что всегда есть смысл, если непонятно что-то. В большой компании всегда за тобой первое время будет кто-то присматривать и должен будет проследить, чтобы ты доступы получил. Если говорят установи проект, то должны сказать где его взять. По идее, да, тебя должны добавить в репозиторий и оттуда надо сделать клон проекта себе на компьютер.
@@nikolai.developerспасибо!
Видео, супер! Очень полезно новичкам! По началу всегда кажутся эти процессы сложными! Спасибо большое, за вашу работу 😃
Супер! Впервые вижу, чтобы так детально описали задачи и процессы внутри. Спасибо за твой труд!))
Спасибо за видео!
Пожалуйста!
Спасибо за рассказ. В общем, печально всё. Зарплату изнутри компании поднимать себе не выгодно.
Выгоднее значит проще или легче, или есть какой-то еще критерий. Интересно, что вы имели в : не выгодно. То, что это неудобно и геморно, работать а потом доказывать, что ты уже можешь и заслуживаешь большего - собирать доказательства и примеры. Это да, очень кринжово.
Да, нужно усилие (и своё развитие) на рост внутри компании. Зачастую это во много раз тяжелее, чем податься в другие фирмы на более оплачиваемую позицию (и возможно с меньшей нагрузкой). Всё зависит от критерия "зачем работать": нужны деньги - проще перейти в др. фирму, нужен рост внутри фирмы - оставайся. Это имхо.
@@Dimoniada согласен, при переходе зачастую проще получить повышение ЗП. Внутри больших компаний процесс роста сильно формализован и решение часто принимается тем, кто вообще не в курсе, что ты конкретно делаешь.
Можно урок по гиту, с практикой каких нибудь кейсов. Не уроки по всем командам, а основным которые все используют. (И примеры реальные, как происходит это на работе. Ты решил задачу, сделал комит, отправил на проверку, если вдруг есть ошибки в коде , какой алгоритм происходит снова? ) И еще к примеру: залил комит не в ту ветку. Забыл делать комиты и как теперь этот код разбить на разные комиты? Как вообще нужно оформить комит, ведь его будет проверят твой коллега(Что нужно описать внутри ). Если были случаи, когда ты совершал подобные ошибки или твои коллеги, расскажи как это все решалось)).
На самом деле, когда ты только входишь в айти)Никто на курсах, не обьясняет такие моменты. Думая, что это уже перекладывается на компанию, рассказать о том как все устроено внутри). Только вот компании разные и первой работой будет скорее всего галера). Где придется разбираться всему этому на ходу, от чего только еще больше стресса). Так что видео топ и узнал больше чем с курсов)!
Спасибо!Для новичка, то что нужно чтобы подготовиться к первой работе! Все четко и по делу))
Не, добротный, подробный ролик. Большая часть по делу! Жду вторую часть.
Не видел пока в рунете столь подробных объяснений, спасибо!
Рад, что помогло вам.
Спасибо за подробный разбор, такой контент заслуживает намного больших просмотров!
подписался свифт интересен
Было бы интересно посмотреть про многомодульные приложения, линовку, выбор архитектур
Линковку или линовку? Может, я упускаю какой-то термин?
Сделайте плис видео как делить приложение на модули что выносить в модули а что не стоит, про линковку, что лучше использовать spm или поды, спасибо
Как происходит на работе, отправка сделанной задачи. Кто далает ревью. И коротко как происходят все эти процессы, чтобы не сломать проект.
Кстате, а ты менторишь других ребят? Если да то сколько это стоит? И где с тобой связаться?
Привет, менторинг, если по настоящему, это достаточно трудоемкое занятие и нужно много вкладываться. Я боюсь, что полноценно не смогу вкладываться в это.
Идея для стрима либо пары роликов, взять небольшое задание тестовое для middle ios разработчиков с вакансий. И реализовать от начала до конца. Чтобы показать на что нужно сделать упор и как продумать это задание. Столкнулся с тем, что не знаю с чего начать, как ты продумываешь со своим опытом такое тестовое. Я думаю тут много новичков и хотелось бы прокачаться до твоего уровня. Именно проектированию и подходу к задачам.
Можно сделать, но в ответ, сильно поможет, если вы принесете пример задания со своего собеседования или в принципе пример. Я тоже постараюсь найти, но может дольше времени занять.
Самый крутой канал по практике)! Многому научился и для новичка появляется понимание для чего мы используем те или иные технологии на примере задач))! Желаю росту твоего канала!
Спасибо.
Было бы интересно послушать про: настройку CI/CD с добавлением статик/динамик анализаторов во время пулл реквестов какие-нибудь интересные методики работы с картами
Можешь поделиться для новичков, как проходит твой рабочий день. Что требуют от разработчика (имеется ввиду только задачи выполняешь или нужно еще инициативу в чем то проявлять). Много ли в течения дня приходится общаться с командой и по каким вопросам. Буду первую работу искать и хочется понять как вести себя. Идти придется на мидла, поэтому врятли позволительно будет такие вопросы задавать в команде. ( поймут что без опыта ) И можно пару примеров как звучат задачи реальные на проекте ( хочется понять они расписаны четко или просто в лоб даются. Потому что все говорят они близки к задачам на курсах, но хотелось бы пару примеров которые тебе можно рассказать и коротко как ты подходишь к ним, как расписываешь шаги).
Многопоточность, уроки есть на ютубе. Но они к сожалению без особой практики. Можно ссылку на сообщество.
Было бы интересно рассмотреть следующее (естественно все ниже относится к iOS): 1) Видео по классным, необычным анимациям. Рисованию прикольных кастомных вьюх например с помощью CALayer 2) Рассказать/ снять видео про CI/CD 3) Рассказать/ снять видео про потокобезопасность различных типов данных и как на это может повлиять lazy keyword( такое меня спрашивали на собесе) 4) Рассказать/ снять видео про различные варианты использования Combine в UIKit
Хотелось бы больше про многопоточку
Есть вопрос про жизненный цикл объекта в Swift и устройство счётчика ссылок. Изучал этот вопрос, и в 2-х статьях наткнулся на противоречащие друг другу утверждения. В одной статье было написано, что жизненный цикл объекта реализован на основе машины состояний и для корректной работы объект инициализируется со значениями ссылок - strong +1(что понятно), unowned и weak тоже +1 (что непонятно - слабых и бесхозных ссылок на объект нет). В другой же статье написано, что объект инициализируется со следующими значениями ссылок - strong 0 (но это якобы не совсем тот 0, который мы подразумеваем) и unowned +1. Так каково же на самом деле значение счётчика ссылок в момент объявления объекта?
Спасибо за видео!
спасибо, очень интересно!
Очень крутой у вас контент, смотреть одно удовольствие. Продолжайте в том же духе!
Спасибо.
Здравствуйте. Подскажите зачем писать scope (Scope(state: \.articlesTab, action: \.articlesTab) { ArticlesTab() ) В редьюсере AuthorizedFeature. Не могу пересмотреть все видео поэтому пытаюсь разбираться в вашем коде на гите )
Добрый день. Этой записью мы говорим, что те actions из AuthorizedFeature, который case articlesTab(ArticlesTab.Action)) мы будем обрабатывать с помощью ArticlesTab() редьюсера. Эти actions перенаправляются туда. А для создания этого редьюсера мы используем поле стейта из AuthorizedFeature.State - articlesTab На канале есть ролики про навигацию TCA стэк и древовидная. Посмотрите их, там разъясняется про Scope.
Спасибо за видео!
Было неплохо если бы на канале был плейлист по Design Patterns.🤗
Хорошо, добавлю в список. Есть, что могу сказать по теме, не думал, что нужно. Сделаем.
Круто! Спасибо!
Хорошее видео🤙💪
Привет)) Норм объясняешь , но качество видео честно хромает )
Главное содержание, а не картинка Спасибо за выпуск!
Привет, я изначально записывал в HD, но потом пару раз бывало так что OBS подвисал прям в середине ролика. Приходилось перезаписывать. Временно снизил качество записи, до выяснений, как разберусь верну обратно. Но в целом, качество должно хватать, чтобы понять содержание.
Интересно, немного хаотично, но исчерпывающе даже от лица синьора. Но есть один момент который не дает мне покоя если критика принимается, конечно - немного нарушена последовательность обучения. Сначала нужно ознакомить с видами таблиц и разницей между ними, в идеале это делается схемой которую можно заскринить и куда-нибудь повесить или сохранить в собственную папочку с гайдами, потому-что любое знание со временем затирается. Не критично, но это действительно очень важный момент - сначала дать базу, с возможностью ее закрепить, потом уже обмазывать базу контентом, а не наоборот.
Спасибо за замечание, конструктивная критика всегда приветствуется. Постараюсь полнее давать основы в следующих роликах.
Николай, вопрос немного не по теме, но все таки, объекты которые проинициализированы с помощью Dependencies, они удаляются из памяти по дефолту после того как мы покинули экран или остаются висеть в памяти?
Нет, не удаляются. Про работу Dependencies скоро будет (10-11 числа).
Hi, Thank you so much for your prompt response over mail. I got a sample project from you that implemented very basic of TCA. But I was needed the full code of all of these concepts. However, right now if possible, can you please share the code related to TCA navigation only? I had seen that you explained both Tree based and Stack based navigation of TCA in this series but the language is difficult to me for understanding as it is not in English. Would you please share the coding part that is related to the TCA navigation, both Tree based and Stack based? Any help understanding TCA navigation would be much appreciated. Thank you.
Hi, I updated video description and added link to source code.
@nuibbhasan428 Also I slowly develop project using TCA. It's messy because I am experimenting there, but still if you need sources or any examples, maybe it help: github.com/Nikolaiko/PlankPoseDetection If you will have any questions you can open issue for project, I will try to help.
Hi, would you mind to share the GitHub link of this project?
Hi, I am sorry but this project was not uploaded to Github and now it's little bit deprecated. I can share this one: drive.google.com/file/d/1LkFwXeWKA2ac8hmzm_F45ztEMRWGYKUB/view?usp=sharing It's from video: czcams.com/video/sRVTg0eqa1g/video.htmlsi=iFK7LwB2O18iSVeE Still TCA Basics but up to date 1.9 version.
Спасибо за видео!
👍
👍
Спасибо!
По SwiftUi/UiKit что-то планируется?)
Мысли есть разные, будут ролики еще про SwiftUI. Если есть какие-то конкретные темы - пишите - я обдумаю.