Максим Гром
Максим Гром
  • Видео 202
  • Просмотров 793 915
Как я в канаде работу искал, или лайхаки при составлении резюме
Разговорное видео, где я делюсь как и с каким резюме я нашел работу в Канаде в Торонто в топ 1 Банке как Techlead Frontend Developer
Основные советы:
- писать сопроводительное письмо когда подаетесь на вакансию (cover letter)
- составлять резюме под тип вакансии если не под каждую вакансию
- обновить свой профиль на linkedIn и заполнить там всю историю проектов
- резюме должно быть из сплошного текста, заголовков и списков. Не используй таблицы и более сложные варианты оформления, так как робот будет сканировать документ
- указывать нужно заслуги в том порядке в каком будет интересно читать работодателю
- указывать нужно проекты над которыми работал и процент и ответственность в этом проекте
Резю...
Просмотров: 2 168

Видео

HostDirectives полезная фича angular? Миксуем директивы с компоненом. Практика
Просмотров 2 тыс.9 месяцев назад
HostDirectives новая фича доступная для standalone directive позволяет решить ряд задач которые раньше было сложно решить путем композиции Первая задача - добавление директивы на компонент, даже если это PageComponent или DynamicComponent Вторая задача - устранение конфликтов инпутов директивы Дополнения по этому видео следует ждать после выхода плейлиста по сервисам в angular Код готового урок...
Shared Module - любимый антипаттерн angular разработчиков. Как он влияет на размер бандла?
Просмотров 3,2 тыс.9 месяцев назад
Видео сумбурное, переснять не получается, если тяжело, то переходите к краткому гайду. Shared module это антипаттерн который вносит ряд проблем в проект: - увеличивает бандл на размер не используемых компонентов - не дает возможности использовать private компонентов - сложный в поддержке и рефакторинге - и много другого В этом видео я показал насколько изменился размер бандла при уходе от общег...
Angular standalone component. Private component. Как перейти от модулей к standalone components
Просмотров 3,3 тыс.10 месяцев назад
Модули позволяют создавать приватные юниты, такие как компоненты, директивы, пайпы. Новый подход, где модуль совмещен с компонентом не имеет возмжности создавать приватные юниты. В этом видео я показал недостаток standalone compoent, но и показал как на них перейти и какой выигрыш Код готового урока: github.com/MaksymGrom/angular-example/tree/modules_sa_private Инструкция по установке angular п...
Модули Angular, какие задачи решает, как создавать.Angular Module. Модульное мышление
Просмотров 3,6 тыс.10 месяцев назад
Модуль это кирпичик в архитектуре angular, тема достаточно интересная и комлексная, но мы уже готовы ее рассмотреть. В этом видео показал как модуль делает приватные юниты, умеет прокисровать юниты и как angular не разрешает юнитам быть во многих модулях Приятного просмотра и спасибо за активность под видео Код готового урока: github.com/MaksymGrom/angular-example/tree/modules_general_view Инст...
Как обновить Angular до последней версии. Обновление простого проекта с V13 до V16
Просмотров 1,6 тыс.10 месяцев назад
Обновление angular до последней версии типичная задача, учитывая что angular обновляется каждые пол года. В этом видео я показал общую стратегию для обновления приложения написанного на angular. В моем случае я обновил angular 13 до версии angular 16. Хоть проект и пустой, но основная идея легко переиспользуется Код готового урока: github.com/MaksymGrom/angular-example/tree/start_v16 Инструкция...
Angular специальные селекторы. ::ng-deep, :host, :host(), :host-context()
Просмотров 1,7 тыс.10 месяцев назад
Стили в angular в компоненте изолированы версткой компонента. Для более гибкой конфигурации css в angular предусмотрены селекторы помощники, такие как :host, :host(), :host-context() и ::ng-deep Такая конфигурация позволяет создавать темы стилей, связывать стили компонента с классом модификатором, а также менять стили дочерних компонентов или верстки которую прислал сервер В этом видео я показа...
Angular почему нельзя отключать ViewEncapsulation. Подключение глобальных стилей в проект
Просмотров 1,1 тыс.10 месяцев назад
Angular гибкий фреймворк с большим количеством функционала и конфигураций. Одна из таких конфигураций это отключение encapsulation в компоненте. Может показаться что это хорошая опитимизация, но за этим скрывается критическая проблема добавления стилей. Эту проблему я ракрыл в этом видео, это поможет вам избежать проблем на реальном проекте Код готового урока: github.com/MaksymGrom/angular-exam...
Angular подключение стилей в компонент. Encapsulation. ViewEncapsulation
Просмотров 1,1 тыс.11 месяцев назад
Angular компонент состоит из TS / HTML / CSS кода, каким образом можно добавить css к компоненту и какой способ чаще всего используется я показал в этом видео. Редко когда стили пишутся на чистом css, angular позволяет использовать популярные препроцессоры из коробки, такие как sass. В этом видео вы узнаете о трех способах подключить css к компоненту и узнаете что такое инкапсуляция стилей или ...
Angular Directives. Передача ng-template через структурную директиву в Table Component часть 2
Просмотров 1,1 тыс.11 месяцев назад
В этом видео раскрыт вариант продвинутого использования структурных директив для передачи шаблона в компонент. Директива может быть транспортым элементом для связи параметов и ссылки на шаблон и извлечении директив через ViewChildren. В этом видео все это показано наглядно В продолжении будет рассмотрен более сложный вариант этого паттерна Код готового урока: github.com/MaksymGrom/angular-examp...
Angular Directive. Аналог Mat Table. Структурная директива для передачи шаблона
Просмотров 2 тыс.11 месяцев назад
В этом видео раскрыт вариант продвинутого использования структурных директив для передачи ng-template с параметрами в компонент. Директива может быть транспортым элементом для связи параметов и ссылки на шаблон и извлечении директив через ViewChildren. В этом видео все это показано наглядно В продолжении будет рассмотрен более сложный вариант этого паттерна Код готового урока: github.com/Maksym...
Angular структурные директивы, отличие от атрибутивной
Просмотров 1,9 тыс.Год назад
Чем отличается структурная диектива от атрибутивной? Все дело в звёздочке! Рассмотрим как создать структурную директиву и как с ней работать как с атрибутивной. В этом видео рассмотрим как передать параметры в структурную директиву, как получить значения из директивы назад Structural directive in Angular это когда мы используем обычную директиву с префиксом звездочки Больше информации в видео и...
Angular Rendere2, Tooltip Directive с нуля
Просмотров 1,9 тыс.Год назад
Для взаимодействия с DOM API в Angular рекомендуется использовать сервис Renderer2. Почему не Renderer? Да потому что Renderer устарел. В этом видео я расскажу о возможностях Renderer2 и создам Tooltip Directive для отрисовки тултипы на любом DOM элементе. Renderer2 создержит большое количество методов помошников для взаимодействия с DOM. Обычно я не использую его в работе, но много раз встреча...
Angular Directive Host element, component, template и пример декоратора Optional
Просмотров 1,8 тыс.Год назад
Angular Directive гораздо мощнее чем кажется. Директива имеет доступ к HTML Element на котором она была создана, в этом видео я показал как это сделать. Более того, директива может получить доступ к компоненту и работать с ним как с обьектом, а если компонента нет, то можно подавить ошибку через декоратор Optional. И не менее важно, директива повешенная на ng-template может получить к нему дост...
Angular directives, создание директивы, пример highlight директивы
Просмотров 2,4 тыс.Год назад
Angular directives, создание директивы, пример highlight директивы
Angular async pipe своими руками (DIY). Глубокий разбор реализации async pipe
Просмотров 3 тыс.2 года назад
Angular async pipe своими руками (DIY). Глубокий разбор реализации async pipe
Angular async pipe. RxJS на новом уровне при таком подходе
Просмотров 6 тыс.2 года назад
Angular async pipe. RxJS на новом уровне при таком подходе
Date pipe angular. Локализация и настройка формата даты
Просмотров 2,6 тыс.2 года назад
Date pipe angular. Локализация и настройка формата даты
Pipe из коробки Angular. Как найти все Pipe в проекте? Как пользоваться документацией?
Просмотров 2 тыс.2 года назад
Pipe из коробки Angular. Как найти все Pipe в проекте? Как пользоваться документацией?
Angular Pipe. Как создать пайпу и почему нужно их использовать?
Просмотров 7 тыс.2 года назад
Angular Pipe. Как создать пайпу и почему нужно их использовать?
NgAfterViewInit & NgAfterViewChecked. ViewChid & ViewChildren декораторы в Angular
Просмотров 2,9 тыс.2 года назад
NgAfterViewInit & NgAfterViewChecked. ViewChid & ViewChildren декораторы в Angular
AfterContentInit & AfterContentChecked. ContentChild. Как передать шаблоны без Input
Просмотров 3,2 тыс.2 года назад
AfterContentInit & AfterContentChecked. ContentChild. Как передать шаблоны без Input
ngOnChanges vs ngDoCheck. ChangeDetectionStrategy OnPush в Angular
Просмотров 9 тыс.2 года назад
ngOnChanges vs ngDoCheck. ChangeDetectionStrategy OnPush в Angular
Constructor vs OnInit где писать код? OnDestroy, все варианты отписки в компоненте
Просмотров 5 тыс.2 года назад
Constructor vs OnInit где писать код? OnDestroy, все варианты отписки в компоненте
Angular lifecycle hooks. Методы жизненного цикла компонента
Просмотров 6 тыс.2 года назад
Angular lifecycle hooks. Методы жизненного цикла компонента
Разработка Menu UI компонента. HostBinding, HostListener. Как подписаться на window в Angular?
Просмотров 5 тыс.2 года назад
Разработка Menu UI компонента. HostBinding, HostListener. Как подписаться на window в Angular?
ng-template, ng-content, ng-container, *ngTemplateOutlet, context лайфхаки. Angular
Просмотров 19 тыс.2 года назад
ng-template, ng-content, ng-container, *ngTemplateOutlet, context лайфхаки. Angular
Angular Input Output декораторы и как сделать двустороннее связывание в компоненте
Просмотров 9 тыс.2 года назад
Angular Input Output декораторы и как сделать двустороннее связывание в компоненте
Angular. Аттрибуты, классы и стили в шаблоне. NgStyle, NgClass, Attr.
Просмотров 3,8 тыс.2 года назад
Angular. Аттрибуты, классы и стили в шаблоне. NgStyle, NgClass, Attr.
Angular. Структурные директивы. *ngIf, *ngFor, *ngSwitchCase (structural directives)
Просмотров 4,5 тыс.2 года назад
Angular. Структурные директивы. *ngIf, *ngFor, *ngSwitchCase (structural directives)

Комментарии

  • @pansablanca
    @pansablanca 8 дней назад

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

  • @v.miller
    @v.miller 14 дней назад

    сегодня мучался со стилизаций вложенного компонента. Спасибо!

  • @user-jl4sc8hy3q
    @user-jl4sc8hy3q Месяц назад

    Максим, благодарю вас за труд, за отличное разъяснение материала! У вас отличная подача материала и подробно разъясняете довольно не легкий материал для понимания простым языком!

  • @ugin-nb4sy
    @ugin-nb4sy Месяц назад

    Я не могу понять, как можно устраиваться лидом и доказывать, что ты сеньор и не умеешь писать тесты ?? Как это работает ?? Где гитхаб, где доказательства кода ?? Ученый, который так и не стал учёным 🤣🤣 Зачем ты так прикалываешься ?

    • @grommaks
      @grommaks Месяц назад

      Хз, не понятно) работаю теперь лидом, и по иронии судьбы буду разрабатывать стандарты по написанию тестов 🙃 Интересно как часто гитхаб на собесе смотрят, когда собеседуют 10 человек, хотелось чтобы они резюме прочитали 😅

    • @ugin-nb4sy
      @ugin-nb4sy Месяц назад

      @@grommaks в твои функции входит набор сотрудников и проведение собесов ??

    • @grommaks
      @grommaks Месяц назад

      @@ugin-nb4sy на 70% работаю как разработчик в команде На 30% делаю задачи уровня отдела Максимально технически ориентированная должность, иногда с архитекторами работаю, иногда с командными тех лидами Правда недавно сделали менеджером для двух разработчиков… Если рассматривать ветку, то следующая позиция это principal developer Условно мою позицию можно переименовать как эксперт front end, я привык когда Техлид это у кого есть команда, но у нас это squad tech lead P.S. За Hiring не отвечаю, в прошлой компании привлекали, тут еще ни разу

  • @user-db2mk5dq3k
    @user-db2mk5dq3k Месяц назад

    на 12:20 подсказки value: и prefix: для записи метода transform() какое расширение показывает подсказки, о том какие параметры мы передали?

    • @grommaks
      @grommaks Месяц назад

      Webstorm из коробки может это делать

  • @Leonidn1972
    @Leonidn1972 Месяц назад

    May can you create video - how to build GRUD project with ANGULAR 17 includ JWT token,Reduce,RXJS and best practices .NET CORE API .(я присоединился к каналу)

  • @Leonidn1972
    @Leonidn1972 Месяц назад

    Очень полезная информация. Я серверный программист, начал изучать ANGULAR. Очень профессионально. Акцент на том, что будут спрашивать на собеседовании.Thanks a lot.

  • @halfbelf5923
    @halfbelf5923 Месяц назад

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

  • @user-ys9kd4pn9b
    @user-ys9kd4pn9b Месяц назад

    А можно было использовать with?

  • @halfbelf5923
    @halfbelf5923 Месяц назад

    Единственное чтобы добавил так это то что в ngFor можно получить первый и последний элемент используя такие переменные как first и last, поставил лайк, топ ролик.

  • @Leonidn1972
    @Leonidn1972 Месяц назад

    Thanks a lot.Usefull content.

  • @dobrinyanicitich7514
    @dobrinyanicitich7514 Месяц назад

    Такая жизнь, такой JavaScript, извините =)

  • @mila4308
    @mila4308 2 месяца назад

    спасибо большое еще раз за прекрасное объяснение! за труд! мне любой формат нравится, главное понятное объяснение на примерах 🙏

  • @mila4308
    @mila4308 2 месяца назад

    спасибо большое за подробный, интересный, понятный курс 🤩🙏

  • @mila4308
    @mila4308 2 месяца назад

    девочки тоже есть)) у нас на проекте больше женского пола, чем мужского

  • @askerkotsev363
    @askerkotsev363 2 месяца назад

    structuredClone()

  • @frontend_coder
    @frontend_coder 2 месяца назад

    комфорт Кити важнее личного комфорта)

  • @virnus1
    @virnus1 2 месяца назад

    Вроде как фронтендерам как не крути нужно немного разбираться в Ноде, а в целом фуллстак это миф или реальность, хоть где то есть реально работающие фуллстекеры на JS?

    • @grommaks
      @grommaks 2 месяца назад

      Конечно есть, но мой стек был PHP, так что это не обо мне :)

  • @kdannothere
    @kdannothere 2 месяца назад

    У прикладі з for i var це виглядає так ніби var на самому початку ініціалізується з for включаючи дії з інкрементом і тоді вже коли код виконується var має значення при якому for має зупинитися

  • @user-dy4kw2tb9w
    @user-dy4kw2tb9w 2 месяца назад

    Стало немножко понятно :) Спасибо.

  • @iamantoon
    @iamantoon 2 месяца назад

    Хочу спросить довольно общий вопрос про синхронизацию данных с сервером. Вот у меня есть Angular application, в нем нет роутинга, и в нем я делаю CRUD операции над данными. Они применяются, серверная часть срабатывает и меняется, но чтобы изменения увидеть визуально в клиенте, страницу нужно обновить. Как это исправить?

    • @grommaks
      @grommaks 2 месяца назад

      Думаю запросы в сервисе делаются Тогда данные в сервисе надо хранит в BehaviorSubject чтобы компонент мог подписаться на изменения Если запрос в компоненте, то возможно стоит OnPush стратегия определения изменений, тогда нужен вызов changeDetectionRef.markForCheck() В момент обновления данных внутри компонента

    • @iamantoon
      @iamantoon 2 месяца назад

      ​@@grommaks пока что не получается, в сервисе у меня такое: getLists(){ return this.http.get<Lists>(this.baseUrl); } В компоненте, который это отображает такое: ngOnInit(): void { this.listsService.getLists().subscribe({ next: lists => { this.lists = lists.lists; this.listsNames = lists.listNames; } }) } А в компоненте, который вносит изменение на сервер вот такое: editList(){ this.listsService.editList(this.id, this.name).subscribe({ next: () => this.toastr.success("The list has been updated") }) }

    • @iamantoon
      @iamantoon 2 месяца назад

      Пока не получается сделать правильно, у меня такой код в сервисе: getLists(){ return this.http.get<Lists>(this.baseUrl); } Такой в компоненте, где эти данные отрисовуются: ngOnInit(): void { this.listsService.getLists().subscribe({ next: lists => { this.lists = lists.lists; this.listsNames = lists.listNames; } }) } Такой в компоненте, где данные меняются: editList(){ this.listsService.editList(this.id, this.name).subscribe({ next: () => this.toastr.success("The list has been updated") }) }

  • @user-jg6kk8de8s
    @user-jg6kk8de8s 2 месяца назад

    спасиб, за подытоживание в концовке - лайк

  • @user-bf7du4tk8l
    @user-bf7du4tk8l 3 месяца назад

    null по сути это объект

    • @grommaks
      @grommaks 3 месяца назад

      Это так сказать специальный объект

  • @user-rb3sw3ku6t
    @user-rb3sw3ku6t 3 месяца назад

    Благодарю за урок! Только первая часть, а уже столько подходов и технологий было использовано!!!

  • @donstacky
    @donstacky 3 месяца назад

    Было бы очень интересно послушать про тестирование на angular)

  • @donstacky
    @donstacky 3 месяца назад

    Брат, а где обещанный плейлист по сервисам?))

  • @user-md8ng9ow9u
    @user-md8ng9ow9u 3 месяца назад

    Огромное спасибо, лучшее объяснение ChangeDetectionStrategy OnPush так еще и вместе с ngOnChanges и ngDoCheck , круто что при объяснении все моменты четко проговариваются.

  • @user-gy8ex4yo7c
    @user-gy8ex4yo7c 3 месяца назад

    Благодарю за труд! Понятное полное видео, лучшее вступительное видео по джире из тех что я видел

    • @grommaks
      @grommaks 3 месяца назад

      Спасибо) еще бы качество было бы выше) одно из моих первых видео на канале

    • @user-gy8ex4yo7c
      @user-gy8ex4yo7c 3 месяца назад

      @@grommaks Хорошие , качественое видео.

  • @TigranSargsyan-yd4yl
    @TigranSargsyan-yd4yl 3 месяца назад

    Легко и понятно, спасибо! Вот бы такую серию про роутинг...)

  • @olegzozulia6898
    @olegzozulia6898 3 месяца назад

    Дякую за курс. Успіхів в роботі. І ще пару слів, щоб комент був довшим.

  • @advance5189
    @advance5189 3 месяца назад

    Твой канал - невероятная находка. Много интересных вещей узнал про ангуляр)

  • @user-mi9ir2ly7m
    @user-mi9ir2ly7m 3 месяца назад

    Спасибо за урок! После установки выдает список файлов находящихся в blog если запускать просто через localhost. Если через Artisan serve,то страницу Laravel с вкладками documentation, laracasts, laravel news, vibrant ecosystem. Но совсем не ту, что в примере. В чем может быть ошибка?

  • @user-tt3bk7dw2z
    @user-tt3bk7dw2z 3 месяца назад

    Вчора мені дали оффер на мою першу роботу і мене дуже пощастило та я буду працювати з Angular! Дякую за твої відео, вони дуже допомогли та допомагають (ще не все передивився 😁) розібратися у цьому непростому, але крутому фремворке! Привіт з Харкова! 🇺🇦Немає бажання зробити огляд 17 версії?)

    • @kdannothere
      @kdannothere 14 дней назад

      @@user-tt3bk7dw2z вже пора огляд 18 ангуляра робити)))

  • @user-vw8dm9vl7s
    @user-vw8dm9vl7s 4 месяца назад

    Спасибо за видео Как новичок пока все еще не понимаю в чем разница между модулями и компонентами. По идеи в видео итак создается компонент. Но зачем еще модуль, пока мне не понятно)

    • @grommaks
      @grommaks 3 месяца назад

      В ангулар на верхнем уровне модули, модуль уже дает доступ к компонентам и прочим артефактам, по этому модуль нужен В новой версии standalone component это модуль плюс компонент, там явно модуль уже не нужен

  • @user-vw8dm9vl7s
    @user-vw8dm9vl7s 4 месяца назад

    звук очень тихий

  • @user-nr5ix9iy7p
    @user-nr5ix9iy7p 4 месяца назад

    здравствуйте, в чем может быть причина, что выводится: undefined(pin):undefined. код полностью совпадает. единственное, сейчас standalone: true, в новой версии ангуляра. предполагаю, что ни все импорты добавлены. не могли бы вы подсказать, что требуется помимо AsynkPipe дописать. спасибо

  • @NoName-ie5bg
    @NoName-ie5bg 4 месяца назад

    Классс очень рад, что смог вырваться с Ха, да еще и так круто устроиться

  • @antares8loko
    @antares8loko 4 месяца назад

    Максим, отличная подача материала!

  • @user-tw3ri4uy5b
    @user-tw3ri4uy5b 4 месяца назад

    Да на нахер этот ngrx. Напишу свой state manager на сигналах.

    • @grommaks
      @grommaks 4 месяца назад

      Есть уже ngrx на сигналах :)

    • @user-tw3ri4uy5b
      @user-tw3ri4uy5b 4 месяца назад

      @@grommaks Посмотрел. Это кстати тема. Спасибо. А то обычный ngrx - это просто помрачение сознания какое-то.

  • @etobaton
    @etobaton 4 месяца назад

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

  • @bohdanmarchenko
    @bohdanmarchenko 4 месяца назад

    Не могу найти плейлист по анимации 🙈

    • @grommaks
      @grommaks 4 месяца назад

      Его нет :)

    • @grommaks
      @grommaks 4 месяца назад

      На данный момент нет новых выпусков на канале

    • @bohdanmarchenko
      @bohdanmarchenko 4 месяца назад

      @@grommaks Очень жаль, но спасибо за уже выпущенный контент. Очень полезно!)

  • @bohdanmarchenko
    @bohdanmarchenko 4 месяца назад

    Отличные уроки! Жалею, что не попались раньше)

  • @H1roHamada
    @H1roHamada 4 месяца назад

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

  • @H1roHamada
    @H1roHamada 4 месяца назад

    Хороший совет - если завис браузер(случился бесконечный цикл), то не нужно пробовать закрыть вкладку, а закройте сам браузер. Он закроется сразу, в отличии от закрытия вкладки

  • @user-on9th4lj3i
    @user-on9th4lj3i 5 месяцев назад

    Огромное спасибо тебе, Макс. На проекте столкнулся с такой проблемой - в укр. и рус. нужно прописывать доп переводы для падежей. Например - англійська/англійської/англійську. Пока написал для пары случаев pipe решение, но таких вариантов может быть множество. Может быть существует более правильное решение чем pipe?

    • @grommaks
      @grommaks 5 месяцев назад

      Типичное решение не автоматизировать падежи а переводить фразы целиком, и поддерживать словарь фраз Условно для заголовка будут строки для каждого из языка

    • @user-on9th4lj3i
      @user-on9th4lj3i 5 месяцев назад

      Спасибо )

  • @sergiim5601
    @sergiim5601 5 месяцев назад

    Класний контент! Є ще зацікавленість проводити код ревю чи це вже в минулому? Маю ангулар пет проект і відчуваю що багато чого можна було зробити краще :)

  • @user-on9th4lj3i
    @user-on9th4lj3i 5 месяцев назад

    Классное объяснение, спасибо. Поставил лайк, хотя пришлось плюсонуть знакомую цифру - 404 )

  • @apristen
    @apristen 5 месяцев назад

    а те кто не хомячок в колесе делают так: делают оценку сроков побольше но чтоб норм выглядело, делают задачу спокойно, но сдают её не вот сразу, а точно в срок! и вот тут сложно ошибиться, так пофиг сколько ты делаешь как быстро - как сдаёшь то точно в срок всегда! ;-)

    • @grommaks
      @grommaks 5 месяцев назад

      Не у всех получается, звучит не сложно, но на практике легко забыть об этой схеме :)

  • @Roger-qj4wu
    @Roger-qj4wu 5 месяцев назад

    Это лучшее, и наиболее полное сравнение из всех что я искал. Вообще, этот канал - находка. Единственное, не соглашусь по поводу верстки на анге) Хрен меня кто верстать заставит, разве что по мелочёвке. Для этого есть отдельные позиции верстальщиков с меньшей зп. Имхо, заставлять верстать ангуляр разраба - это всё равно, что таксовать на болиде. А вот друг у меня на нексте сидит - верстает до посинения 😂 Мелким конторам отдельный верстальщик не по карману 🤷🏻‍♂️