SwiftyNerd
SwiftyNerd
  • 32
  • 46 889
RIBs - лучшая iOS архитектура?
RIBs - архитектурный подход, а, точнее даже будет сказать, фреймворк - разработка компании Uber для унификации архитектуры на iOS и Android. В этом видео я расскажу как мы, iOS разработчики, можем его использовать для того, чтобы делать наши приложения лучше, а код - более поддерживаемым и расширяемым.
Демо проект - github.com/HoldFast88/RIBs-demo
มุมมอง: 1 887

วีดีโอ

[Swift за 30 секунд] Optional #Shorts
มุมมอง 7972 ปีที่แล้ว
Первое видео в экспериментальной рубрике "Swift за 30 секунд". Достаточно ли 30 секунд для базового объяснения технической темы?
Пишем сложную логику с Combine
มุมมอง 4342 ปีที่แล้ว
Combine - это не просто набор паблишеров и операторов, но еще и мощный инструмент для создания сложной логики с обработкой ошибок и fall-back'ами.
.debounce() в Combine
มุมมอง 2632 ปีที่แล้ว
В Combine есть много разных операторов, а при помощи именно .debounce() можно свой старый некрасивый код достаточно легко превратить в модный и реактивный.
#9 | Presenter - не нужен.
มุมมอง 2772 ปีที่แล้ว
Убираем ненужное и расхламляем свою жизнь (ну хотя бы часть ее).
Зачем нам lazy в Swift?
มุมมอง 2.1K3 ปีที่แล้ว
"С большой силой приходит большая ответственность" - это именно про lazy в Swift'е. Эта фича языка поможет вам писать более оптимальный код, содержащий более сложные и неожиданные баги. Но, если использовать ее правильно, то ваши приложения станут более отзывчивыми, а код - структурированным.
О, дивный мир IT: вакансии, навыки, резюме, собеседования
มุมมอง 9213 ปีที่แล้ว
Меня часто спрашивают (на самом деле), как найти свою первую работу разработчиком. Вакансий мало, кандидатов много, плюс еще и идут постоянные отказы. Всем нужен опыт работы, но где его взять, если на работу не берут? В этом видео я постарался дать пошаговую инструкцию как искать работу в IT - от того, на изучении каких навыков стоит сконцентрироваться до советов, как превратить отказ на собесе...
Теория и практика PassthroughSubject в Combine
มุมมอง 4573 ปีที่แล้ว
Рассказываю про достаточно простой, но очень интересный тип паблишера в Combine, который поможет вам очень сильно упростить ваш код если вы его еще не используете. А если используете - вы молодец и я горжусь вами)
#3 | Краши в мобильных приложениях
มุมมอง 2693 ปีที่แล้ว
Пугают краши? Зря - иногда, они нам нужны, тем более, чем вы никогда от них не избавитесь. Аналитика по крашам в приложениях - www.bugsnag.com/research/app-stability-index-report Скачать книгу бесплатно (English) - www.mobileatscale.com/
#8 | AVKit + CoreImage = ❤️
มุมมอง 2643 ปีที่แล้ว
Рассказываю как можно редактировать видео средствами CoreImage и применять фильтры "на лету".
#4 | How to apply CIFilter to AVAsset on fly
มุมมอง 5593 ปีที่แล้ว
If you're looking for a solution on how to dynamically change the filter is being applied to the video during its playback, you might be surprised how easily it can be achieved. And this solution is not limited to the filters only but gives a posibility to perform any kind of transformation with every single frame and export the resulting video as well.
#2 | Почему так сложно исправлять баги
มุมมอง 3383 ปีที่แล้ว
Мобильная разработка - это не так просто, как может показаться со стороны. Отчасти, специфика состоит в том, что нам бывает очень сложно исправлять допущенные ошибки. Почему так и как с этим бороться - я рассказываю в этом видео. Скачать книгу бесплатно (English) www.mobileatscale.com/
#3 | How to build the custom CIFilter with Metal Shader Language
มุมมอง 6903 ปีที่แล้ว
You might be surprised how easy to build custom filters with MSL, but there are some tricky things you should know.
#1 | Управление состояниями
มุมมอง 5733 ปีที่แล้ว
Скачать книгу бесплатно (English) www.mobileatscale.com/
3 примера использования Just в реальных проектах
มุมมอง 3913 ปีที่แล้ว
Паблишер Just в Combine - прекрасный инструмент для улучшения вашего кода и в этом видео я расскажу как же его можно использовать.
#7 | Combine. Сохранение и загрузка состояния проектов.
มุมมอง 1933 ปีที่แล้ว
#7 | Combine. Сохранение и загрузка состояния проектов.
#2 | Build a CIFilter's chain in a reasonable way
มุมมอง 1903 ปีที่แล้ว
#2 | Build a CIFilter's chain in a reasonable way
#1 | Applying CIFilter to your image
มุมมอง 4003 ปีที่แล้ว
#1 | Applying CIFilter to your image
"Future" publisher in Combine
มุมมอง 3213 ปีที่แล้ว
"Future" publisher in Combine
Использование паблишера Future в Combine
มุมมอง 3893 ปีที่แล้ว
Использование паблишера Future в Combine
Хватит использовать [weak self]!
มุมมอง 5K3 ปีที่แล้ว
Хватит использовать [weak self]!
#6 | Монтируем видео с AVKit
มุมมอง 2943 ปีที่แล้ว
#6 | Монтируем видео с AVKit
Senior iOS разработчик разбирает реальные trainee/junior iOS резюме
มุมมอง 20K3 ปีที่แล้ว
Senior iOS разработчик разбирает реальные trainee/junior iOS резюме
#5 | Автоматизируем рутину с Xcode Templates
มุมมอง 8113 ปีที่แล้ว
#5 | Автоматизируем рутину с Xcode Templates
#4 | Тестируем код с Mockolo
มุมมอง 1713 ปีที่แล้ว
#4 | Тестируем код с Mockolo
#3 | Создаем и показываем проекты. CoreData, UICollectionView
มุมมอง 3763 ปีที่แล้ว
#3 | Создаем и показываем проекты. CoreData, UICollectionView
Моя история фриланса: несбывшиеся мечты
มุมมอง 4333 ปีที่แล้ว
Моя история фриланса: несбывшиеся мечты
#2 | SceneDelegate, UIViewController из кода
มุมมอง 1K3 ปีที่แล้ว
#2 | SceneDelegate, UIViewController из кода
#1 | Архитектура приложения, почему VIPER
มุมมอง 1.2K3 ปีที่แล้ว
#1 | Архитектура приложения, почему VIPER
#0 | Разработка видеоредактора с нуля - Введение и модель данных
มุมมอง 5853 ปีที่แล้ว
#0 | Разработка видеоредактора с нуля - Введение и модель данных

ความคิดเห็น

  • @KOT_B_METPO
    @KOT_B_METPO 8 หลายเดือนก่อน

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

  • @fpshunter
    @fpshunter 8 หลายเดือนก่อน

    Спасибо, полезно побывать по ту сторону луны))

  • @romankozlovskiy5730
    @romankozlovskiy5730 9 หลายเดือนก่อน

    ОЧЕНЬ ПОМОГ! Спасибо большое! )

  • @user-cr5zu6lx3l
    @user-cr5zu6lx3l ปีที่แล้ว

    надо быть конченным, чтоб ленивую переменную в структуре создавать

  • @Denim-qk9th
    @Denim-qk9th ปีที่แล้ว

    Добрый день. подскажите а куда можно отправить резюме на разбор?

  • @ablaiganiyev3566
    @ablaiganiyev3566 ปีที่แล้ว

    хорошо поспал )

  • @zackgib
    @zackgib ปีที่แล้ว

    Great tutorial! Thank you for keeping it simple and succinct.

  • @card1nal312
    @card1nal312 ปีที่แล้ว

    Спасибо Вам, что делитесь своим опытом и за уделённое нам время! Было очень познавательно! Буду ждать новых видосов и желаю дальнейшего развития канала! ☄🔥✊🏻

  • @oksana.mp3
    @oksana.mp3 ปีที่แล้ว

    Четко и по делу!

  • @oksana.mp3
    @oksana.mp3 ปีที่แล้ว

    Спасибо за видео

  • @hashcat5721
    @hashcat5721 ปีที่แล้ว

    А что если я скажу что использовать Combine в UIKit это плохо для него есть RxSwift.

    • @SwiftyNerd
      @SwiftyNerd ปีที่แล้ว

      Сильное утверждение. А чем RxSwift лучше именно для UIKit’а?

    • @hashcat5721
      @hashcat5721 ปีที่แล้ว

      @@SwiftyNerd ну если разберете оба Combine и RxSwift то найдете очень много ответов на это. Ну и самый простейший Combine писался под SwiftUI и под капотом он уже содержит Combine. Но для того что бы полноценно понять нужно изучить их оба .

  • @Levelord92
    @Levelord92 2 ปีที่แล้ว

    Женщин много среди iOS-разрабов.. интересно, с чем связано

    • @SwiftyNerd
      @SwiftyNerd 2 ปีที่แล้ว

      Все разработчицы, которых я встречал, были толковыми. Наверное, причина в этом)

    • @Levelord92
      @Levelord92 2 ปีที่แล้ว

      @@SwiftyNerd я к тому что не наблюдал такого в других языках. Я пишу на go+react, женщин почти не встречал

  • @MuravaDnevnik
    @MuravaDnevnik 2 ปีที่แล้ว

    Спасибо подписончик 👍

  • @andreyversta8798
    @andreyversta8798 2 ปีที่แล้ว

    Можно ли как то с помощью шаблона создавать groups и туда запихивать файлы?

    • @SwiftyNerd
      @SwiftyNerd ปีที่แล้ว

      Насколько я знаю, нет. Но я могу ошибаться, уже некоторое время не проверял, может, уже и добавили.

  • @Antonnel7
    @Antonnel7 2 ปีที่แล้ว

    Ссылочку на данный код скиньте для исследования. Я как то пришёл к выводу что storyboard это и есть роутер и избавил проект от роутера всё отлично работает.

    • @SwiftyNerd
      @SwiftyNerd 2 ปีที่แล้ว

      github.com/HoldFast88/seattle Я думаю, storyboard может выполнять роль роутера в случае использования segues, потому что они будут определять тип переходов и через них можно передавать конфигурации/значения. Само использование segues мне не нравится из-за того, что логика приложения начинает жить в двух разных местах: код и storyboard и потому что их проблематично покрыть юнит-тестами, но такой подход, конечно, тоже имеет право на жизнь.

  • @zoomle_iOS
    @zoomle_iOS 2 ปีที่แล้ว

    Спасибо. Полезно!

  • @gummibarchen1372
    @gummibarchen1372 2 ปีที่แล้ว

    Тут бы разницу объяснить между CurrentValueSubject и PassthroughSubject ну и более детально разбирать , так как то что в примере можно сделать и с другими .

  • @user-yw2yf3uh5c
    @user-yw2yf3uh5c 2 ปีที่แล้ว

    это только в случае. Если то, что ты захватываешь константно(т.е. никогда не будет модифицировано) в противном случае ты всегда будешь смотреть на то значение, которое было установлено до вызова кложуры

    • @yuraoff1383
      @yuraoff1383 2 ปีที่แล้ว

      То о чем вы пишите, касается велью типов

  • @dn7173
    @dn7173 2 ปีที่แล้ว

    На сколько знаю Uber затратило много времени и усилий на разработку данного фреймворка, интересен вопрос поддержки, жаль будет если в определенный момент она прекратится. Спасибо за разбор! Если погуглить есть каналы в Slack, там можно непосредственно задать вопросы, что-то обсудить.

    • @SwiftyNerd
      @SwiftyNerd 2 ปีที่แล้ว

      Они его выложили в открытый доступ, поэтому здесь уже дело за комьюнити. Насколько я знаю, есть форки этого фреймворка, так что его будущее выглядит обнадеживающим)

  • @numb980
    @numb980 2 ปีที่แล้ว

    Переименовать интерактор в презентер и получится MVP

  • @Licoler
    @Licoler 2 ปีที่แล้ว

    Обязательно ли нужно иметь мак для ios разработки или подайдёт виндовс?

    • @SwiftyNerd
      @SwiftyNerd 2 ปีที่แล้ว

      Для iOS разработки нужен не сам мак, а именно macOS, которую, если заморочиться, можно установить и на не эпловский компьютер. Если тема интересна, гуглите «хакинтош».

  • @yaroslavlatushkov8372
    @yaroslavlatushkov8372 2 ปีที่แล้ว

    То чувство когда слышишь радиоинженер который стал программистом и я который на 3 курсе радиоборьбы решил сразу на IT образование свапнулся XD

    • @SwiftyNerd
      @SwiftyNerd 2 ปีที่แล้ว

      Возможно всё)

  • @user-uf9ks4xr9m
    @user-uf9ks4xr9m 2 ปีที่แล้ว

    Здравствуйте. Что скажете про эйджизм(за 30 лет, к примеру) для вновь приходящих в it с нерелевантным бэкграндом?

    • @SwiftyNerd
      @SwiftyNerd 2 ปีที่แล้ว

      Здравствуйте! Скажу, что это очень плохо. Сам я с таким не сталкивался, но, по тому, что читаю, такое чаще бывает в небольших компаниях, где средний возраст руководителей ~25 лет. Обычно, чем моложе руководство, тем сложнее ему понять ценность опыта человека постарше. Таким людям я бы советовал идти в компании покрупнее, где может оказаться больше понимания. Или в небольшие, но уже давно существующие компании.

  • @user-gv3hc7pm4t
    @user-gv3hc7pm4t 2 ปีที่แล้ว

    Такой вопрос, а где должен создаваться самый начальный модуль и где будет использоваться контроллер который возвращает builder этого начального модуля (экрана)?

    • @SwiftyNerd
      @SwiftyNerd 2 ปีที่แล้ว

      Его нужно задать как rootViewController для главного window, это делается в AppDelegate или SceneDelegate. Я этот момент рассказывал в одном из следующих видео из этой серии, где уже пошел реальный код.

    • @user-gv3hc7pm4t
      @user-gv3hc7pm4t 2 ปีที่แล้ว

      @@SwiftyNerd Спасибо огромное

  • @DmitryYaskov
    @DmitryYaskov 2 ปีที่แล้ว

    Спасибо за видео! Особенно понравилось сравнение разработчика в крупной компании с легионером, а разработчика в маленькой компании с воином-берсерком)

  • @DmitryYaskov
    @DmitryYaskov 2 ปีที่แล้ว

    Отличное видео! Пересмотрел пару раз, очень полезно, спасибо!

  • @kirillkonovalov7325
    @kirillkonovalov7325 2 ปีที่แล้ว

    РИБз - это лучшая архитектура вовек

    • @SwiftyNerd
      @SwiftyNerd 2 ปีที่แล้ว

      Уж тебе ли не знать)

  • @andriizakhliupanyi2460
    @andriizakhliupanyi2460 2 ปีที่แล้ว

    👍👍

  • @slawyaneeeen
    @slawyaneeeen 2 ปีที่แล้ว

    Это не вы быстро говорите, а я медленно думаю 😂

  • @darkhanashken1344
    @darkhanashken1344 2 ปีที่แล้ว

    Лучший просто

  • @danieldyachok9162
    @danieldyachok9162 2 ปีที่แล้ว

    очень полезное видео, спасибо огромное!

  • @DmitryYaskov
    @DmitryYaskov 2 ปีที่แล้ว

    Отличная идея! Одно короткое видео - одна конкретная маленькая тема. Единственное, я бы предложил рассмотреть вариант swift за 60 секунд и давать этот же объем информации чуть помедленнее - а то так и хочется скорость воспроизведения сделать 0.75)

    • @SwiftyNerd
      @SwiftyNerd 2 ปีที่แล้ว

      На 0.75 у меня будет пьяный голос)) Я тут обдумываю видео такого плана о дженериках, а там 30 секунд явно не хватит)

  • @user-sq5xv6dr1v
    @user-sq5xv6dr1v 2 ปีที่แล้ว

    Годнота. Подписался.

  • @Murakasi
    @Murakasi 2 ปีที่แล้ว

    Годно для тех кто уже знает , если новенький то глаза выпучит и уйдёт

    • @SwiftyNerd
      @SwiftyNerd 2 ปีที่แล้ว

      Думаете, очень сложная тема?

    • @Murakasi
      @Murakasi 2 ปีที่แล้ว

      @@SwiftyNerd не в том дело что сложная ! Как напоминалка , очень даже отличная ! Но не более!

  • @Pavel7771
    @Pavel7771 2 ปีที่แล้ว

    делай в инсте сториз,т будет интересно

    • @SwiftyNerd
      @SwiftyNerd 2 ปีที่แล้ว

      Идея хорошая, правда я не уверен насколько там воспринимают образовательный контент

    • @Pavel7771
      @Pavel7771 2 ปีที่แล้ว

      @@SwiftyNerd кому надо, тот и будет смотреть

    • @dovarin09
      @dovarin09 2 ปีที่แล้ว

      А есть инста?

  • @mikhailchaus4505
    @mikhailchaus4505 2 ปีที่แล้ว

    Годно

  • @romasenkevich9907
    @romasenkevich9907 2 ปีที่แล้ว

    В шоке от того, что в последнее время начало выходить так много супер полезных видосов на swift. От меня лайк на каждое видео!

    • @SwiftyNerd
      @SwiftyNerd 2 ปีที่แล้ว

      А я в шоке от таких крутых подписчиков) Спасибо большое!

  • @vladimirstepanov7246
    @vladimirstepanov7246 2 ปีที่แล้ว

    Привет! Да делай больше видео) больше комбаина)) больше кода )) больше всего))

    • @SwiftyNerd
      @SwiftyNerd 2 ปีที่แล้ว

      Спасибо, очень приятно получать такую поддержку)

  • @pc_enthusiast
    @pc_enthusiast 2 ปีที่แล้ว

    Это пример того как делать не стоит, о чем к сожалению вы упоминаете только в самом конце.

    • @SwiftyNerd
      @SwiftyNerd 2 ปีที่แล้ว

      Если вы про дублирование кода, то согласен, но здесь я так сделал для наглядности.

  • @bohdanandreevich3901
    @bohdanandreevich3901 2 ปีที่แล้ว

    Большое спасибо за видео! Было бы интересно, если бы в новом видео Вы показали на примере простого приложения использования Combine в симбиозе с UIKit ☺️🔥