Крутий контент. Цей канал, якщо продовжуватиме такими темпами вийде на флагманський рівень за декілька років. Ніша не освоєна, а ті що стартують у ній не розвиваються так як цей. Хочеться побажати успіху автору. А також попрацювати з картинкою (хотілось би бачити щось в стилі colorcode, або подібне) і з діалектизмами. Успіхів! Щиро.
Дякую. Приємно чути. З приводу темпів то тут можу посперечатися. Уже понад 3 роки веду канал і з такими темпами до флагманських рівнів рости до пенсії)) Дякую за поради з приводу картинки, буду працювати. Завжди радий коли хтось може щось підказати, щоб покращити якість.
@@MaksymRudnyi Це важка праця вести такі канали на декількох платформах одночасно і робити це якісно, тримаючи планку високо. Дуже просто тримаючи ритм залишатись якісно і технічно ( в подачі матеріалу) на рівні "вічного аматора-початківця". Красива картинка, зрежисована подача, певний "флоу" відео і все що з цим пов'язане це важливо не тільки для власної справи, але також це орієнтир і критерій для інших у цій ніші. Творіть свій контент творячи загальний стандарт, щоб квітнув український ютуб ! Бажаю Вам в цьому всіляких успіхів, везіння і витримки! Кажу це знаючи як це важко, але ми у Вас віримо.
Ще нормально не користувався, лише ознайомлююсь. З недоліків, що перше спадає на думку, проблему підтримки даного стейту, його структури. Уявімо що у вас є складних обєкт з багатьма полями. В Redux, наприклад, щоб змінити поле потрібно викликати action, він запустить редюсер який має доступ до стейту і змінить лише одне визначене поле. Ви не переживаєте що структура стейту зміниться. Тут же ваш обєкт може миттєво перетворитись в рядок або число. Способів запобігти цьому нема. Але якщо використовувати як заміну useState, то вроді виглядає цікаво.
@@MaksymRudnyi Хотів зробити проєкт з цією бібліотекою, але ці сигнали не працювали в мене з асинхронними функціями. Довго мучився, але не зміг знайти рішення, дуже мало про неї інформації. Був би дуже вдячний за приклад коректної роботи з асинхронною функцією чи API, аби зрозуміти чи це якась моя помилка, чи бібліотека кривенька.
Було б цікаво дізнатись поглиблено про reconciliation алгоритм. Тобто як відбувається порівняння станів virtual dom, рендер безпосередньо в DOM і так далі, дякую!
@@liubovgolovach9148 в цьому й перевага react. Завдяки virtual dom і reconciliation, при зміні стейту відбувається порівняння старого virtual dom і нового virtual dom. В результаті в реальний DOM вносяться лише відмінності, тобто оновлюються/видаляються/додаються лише потрібні ноди (елементи dom). У випадку, наприклад, з нативним js, відбувався б повний ререндер всього DOM дерева, що вже є відносно важкою операцію в порівнянні зі створенням virtual dom Загалом в Інтернеті досить багато інформації саме про reconciliation і вцілому про переваги virtual dom. Але хотілось би подивитись розбір даної теми від автора відео)
Як ви боритесь з тим, що коли використовуюєш будь-який стейт менеджер, і всі дані в дочірних компонентах витягаєш з сховища, то треба у всіх цих компонентах перевіряти дані на пустоту (оскільки дані могли ще не з'явитися там), але перевага що не треба прокидати пропси. А коли прокидаєш пропси, то в батьківському компоненті, поки йде завантаження даних, можна становити лоадер, і рендерити дочірні компоненти вже з готовими даними (без перевірки на пустоту). Зрозуміло що йде річ про малу кількість даних (об'єкт чи масив), але все ж таки, постійно задумуюсь, що в конкретному випадку використовувати. Думаю коректно описав питання, якщо не зрозуміло - дайте знати. Завчасно дякую
Усе круто, але рендерінг реального ДОМ на декілька порядків повільніший... Поклади 10 лейбів з однаковим Сігналом - строкою яка зміньє розмір, та подивись перформанс :)
вірно я розумію що ці стейти які були показані у відео це сінглтони? А як робити на реальному проєкт, щоб це не був сінглтон не при виконанні js не алокейтилась памʼять під сигнал, а виділялась памʼять при рендері компонента
Можна спробувати створювати сигнали через useSignal хук. Тоді він буде в компоненті створений. Можна мабуть і напряму в компоненті створити сигнал, теж має працювати.
Ну там дока для PReact, це все таки інша бібліотека. А в React працювало з старішою версією. В усіх відео можна побачити що все працює з коробки. Мене дуже дратувало коли я поставив сигнали а воно не працює. Перерив пів інета щоб знайти потрібні зміни для нової версії.
Зрозумів чому Реакт одразу таке не зробив. Тому що signals поза межами компонента, а це небезпечно. Якщо хочеш, щоб signal був в компоненті, прийдеться обгортати його в старий добрий хук (що занадто). Для безпеки краще вже store юзати, він принаймні один, а цих сигналів можна цілий рій накидати.
Цікаве питання. Теж бачив що часто викликається. Треба уважніше розібратися, можливо десь неправильного його використав, але наврядчи. Там дуже просте використання.
Тут ще писали такий комєнт, але через наявність великої кількості посилань, TH-cam його видалив. Продублюю: * Юрій Ткач www.youtube.com/@java-tkach * Головач - Досить старий канал про джава - www.youtube.com/@KharkovITCourses - не оновлюється з 2014-2016 але у автора фундаментальний підхід - і викладені java основи на пристойному рівні
Корисна інформація, дякую😊 Коротко і головне, без води. Цікаво дивитись, особливо з лайвкодінгом.
Дякую
Як завжди корисне та цікаве відео. Дякую.
Дуже приємно.
Крутий контент. Цей канал, якщо продовжуватиме такими темпами вийде на флагманський рівень за декілька років. Ніша не освоєна, а ті що стартують у ній не розвиваються так як цей. Хочеться побажати успіху автору. А також попрацювати з картинкою (хотілось би бачити щось в стилі colorcode, або подібне) і з діалектизмами. Успіхів! Щиро.
Дякую. Приємно чути. З приводу темпів то тут можу посперечатися. Уже понад 3 роки веду канал і з такими темпами до флагманських рівнів рости до пенсії)) Дякую за поради з приводу картинки, буду працювати. Завжди радий коли хтось може щось підказати, щоб покращити якість.
@@MaksymRudnyi Це важка праця вести такі канали на декількох платформах одночасно і робити це якісно, тримаючи планку високо. Дуже просто тримаючи ритм залишатись якісно і технічно ( в подачі матеріалу) на рівні "вічного аматора-початківця". Красива картинка, зрежисована подача, певний "флоу" відео і все що з цим пов'язане це важливо не тільки для власної справи, але також це орієнтир і критерій для інших у цій ніші. Творіть свій контент творячи загальний стандарт, щоб квітнув український ютуб ! Бажаю Вам в цьому всіляких успіхів, везіння і витримки! Кажу це знаючи як це важко, але ми у Вас віримо.
Дякую за відео, цікава бібліотека
Будь ласка.
Для організації простого і максимально зрозумілого стейту менеджера підійде zustand
Чув про нього, але ні разу не використовував. Може назва відштовхує. Хто так називає бібліотеки?)
@@MaksymRudnyi це німецьке слово Цуштанд, означає State :)
Дякую за відео, бачив раніше також згадки за цю бібліотеку, якщо ви можливо нею трохи покиристувались, можете сказати про недоліки її використання ?
Ще нормально не користувався, лише ознайомлююсь. З недоліків, що перше спадає на думку, проблему підтримки даного стейту, його структури. Уявімо що у вас є складних обєкт з багатьма полями. В Redux, наприклад, щоб змінити поле потрібно викликати action, він запустить редюсер який має доступ до стейту і змінить лише одне визначене поле. Ви не переживаєте що структура стейту зміниться. Тут же ваш обєкт може миттєво перетворитись в рядок або число. Способів запобігти цьому нема. Але якщо використовувати як заміну useState, то вроді виглядає цікаво.
@@MaksymRudnyi Дякую !
@@MaksymRudnyi Хотів зробити проєкт з цією бібліотекою, але ці сигнали не працювали в мене з асинхронними функціями.
Довго мучився, але не зміг знайти рішення, дуже мало про неї інформації. Був би дуже вдячний за приклад коректної роботи з асинхронною функцією чи API, аби зрозуміти чи це якась моя помилка, чи бібліотека кривенька.
Було б цікаво дізнатись поглиблено про reconciliation алгоритм. Тобто як відбувається порівняння станів virtual dom, рендер безпосередньо в DOM і так далі, дякую!
Додам в список наступних відео.
Цікаво, як рендер безпосередньо в DOM може бути вигідним. Це ж далеко не дешева операція. Чи багато ререндерів виходить іще дорожче?
@@liubovgolovach9148 в цьому й перевага react. Завдяки virtual dom і reconciliation, при зміні стейту відбувається порівняння старого virtual dom і нового virtual dom. В результаті в реальний DOM вносяться лише відмінності, тобто оновлюються/видаляються/додаються лише потрібні ноди (елементи dom). У випадку, наприклад, з нативним js, відбувався б повний ререндер всього DOM дерева, що вже є відносно важкою операцію в порівнянні зі створенням virtual dom
Загалом в Інтернеті досить багато інформації саме про reconciliation і вцілому про переваги virtual dom. Але хотілось би подивитись розбір даної теми від автора відео)
Цікаве відео про React Signals. Дякую.
Приємно чути.
Як ви боритесь з тим, що коли використовуюєш будь-який стейт менеджер, і всі дані в дочірних компонентах витягаєш з сховища, то треба у всіх цих компонентах перевіряти дані на пустоту (оскільки дані могли ще не з'явитися там), але перевага що не треба прокидати пропси. А коли прокидаєш пропси, то в батьківському компоненті, поки йде завантаження даних, можна становити лоадер, і рендерити дочірні компоненти вже з готовими даними (без перевірки на пустоту). Зрозуміло що йде річ про малу кількість даних (об'єкт чи масив), але все ж таки, постійно задумуюсь, що в конкретному випадку використовувати.
Думаю коректно описав питання, якщо не зрозуміло - дайте знати. Завчасно дякую
Optional chaining
Використовую Optional chaining. Наприклад, data?.user?.username
Optional chaining то зрозуміло, щоб замість помилки повернути undefined, але від перевірки на undefined не відійти
Ну звісно, а як тут інакше? Треба завжди перевіряти на falsy значення перед виведенням на екран.
Усе круто, але рендерінг реального ДОМ на декілька порядків повільніший...
Поклади 10 лейбів з однаковим Сігналом - строкою яка зміньє розмір, та подивись перформанс :)
вірно я розумію що ці стейти які були показані у відео це сінглтони? А як робити на реальному проєкт, щоб це не був сінглтон не при виконанні js не алокейтилась памʼять під сигнал, а виділялась памʼять при рендері компонента
Можна спробувати створювати сигнали через useSignal хук. Тоді він буде в компоненті створений. Можна мабуть і напряму в компоненті створити сигнал, теж має працювати.
@@MaksymRudnyiякщо хуки є то це те що потрібно, бо глобальний стейт не завжди потрібен
забути в доці написати про необхіднсть імпорту це топ)))
Ну там дока для PReact, це все таки інша бібліотека. А в React працювало з старішою версією. В усіх відео можна побачити що все працює з коробки. Мене дуже дратувало коли я поставив сигнали а воно не працює. Перерив пів інета щоб знайти потрібні зміни для нової версії.
Цікаво було б почути про P React
Зробимо.
Зрозумів чому Реакт одразу таке не зробив. Тому що signals поза межами компонента, а це небезпечно. Якщо хочеш, щоб signal був в компоненті, прийдеться обгортати його в старий добрий хук (що занадто). Для безпеки краще вже store юзати, він принаймні один, а цих сигналів можна цілий рій накидати.
Чому ефект спрацював 4 рази?
Цікаве питання. Теж бачив що часто викликається. Треба уважніше розібратися, можливо десь неправильного його використав, але наврядчи. Там дуже просте використання.
2:00 Спам)
Вона то так, але патерн програмування назвати спамом нікому не прийшло в голову, тому використовують різні PubSub або Sibscribers.
проєкт а не проект. Ніхто не каже субект, обект, інект...
Можливо хтось може порекомендувати український ютюб канал про java?
Можна глянути на мініфесті, там є список усіх каналів про ІТ українською - manifest.in.ua/rt/it/ Може щось є.
www.youtube.com/@FoxOwlet-IT
Тут ще писали такий комєнт, але через наявність великої кількості посилань, TH-cam його видалив. Продублюю: * Юрій Ткач www.youtube.com/@java-tkach * Головач - Досить старий канал про джава - www.youtube.com/@KharkovITCourses - не оновлюється з 2014-2016 але у автора фундаментальний підхід - і викладені java основи на пристойному рівні