Як працює узгоджувач Fiber у React?

pic

React Fiber Reconciler

У цій статті я занурюся в світ React і розгляну, що є основною цінністю React, що таке механізм узгодження (Reconciler), як він працював до версії 16 і як працює зараз.

1- Що таке узгодження?

Перш за все, давайте з’ясуємо, що означає термін "узгодження". Згідно з перекладом, це означає:

“Дія узгодження одного погляду або переконання з іншим”

Це відображає основну мету самого React у створенні односторінкових додатків (Single-Page Applications).
Пам’ятаєте, як раніше, до появи односторінкових додатків (Single-Page Applications, SPAs), ми стикалися з проблемами через повільну маршрутизацію та те, як браузери обробляли переходи між сторінками? Щоб покращити швидкість переходів … Читати далі

Після п’яти років роботи з React я нарешті зрозумів справжню суть useMemo (підказка: це не про кешування)

pic

Фото Randy Laybourne на Unsplash

Коли я вперше зіткнувся з useMemo у React, я подумав, що це лише про кешування. Як і багато інших розробників, я припускав, що його основна мета — це оптимізація продуктивності шляхом уникнення зайвих повторних обчислень у компоненті React. Але після п’яти років роботи з React я зрозумів, що справжня сила цього хука зовсім в іншому — у забезпеченні стабільності та передбачуваної поведінки.

Чому useMemo — це не лише про кешування

Поширена помилка полягає в тому, що useMemo — це чарівна паличка для підвищення продуктивності за рахунок мемоізації значень. Хоча це технічно вірно, справжня перевага useMemoЧитати далі

Архітектура програмного забезпечення — це мистецтво складності.

Я живу в одному з передмість Тель-Авіва. Якось я прокинувся від шаленої буркотливої роботи свердла. Розпочалося! Почалися будівельні роботи зі зведення фіолетової гілки легкого метро. "Як сильно це вплине на наше життя?" — подумав я...
Минуло кілька тижнів, і я час від часу прокидався о 5 ранку, залежно від того, коли починали будівельні роботи. Моя дружина сказала, що настав час нам переїхати. Відчайдушно намагаючись довести, що ми маємо залишитися (я люблю цей район!), я вирішив знайти плани будівництва, припускаючи, що буріння не триватиме довго.

Коли я переглянув плани будівництва, то як програміст був вражений. У них були … Читати далі

Чому я більше не пишу перевірки на null

Null — це тихий убивця підтримуваності програмного забезпечення. Він проникає у ваш код як безпечне значення за замовчуванням, але швидко стає загрозою, що руйнує логіку, ускладнює обробку помилок і заплутує робочий потік.

pic

Довгий час я писав if (obj == null) просто за звичкою, думаючи, що це правильний підхід. Але згодом я зрозумів: перевірки на null не вирішують проблеми — вони вказують на недоліки в дизайні.

Завдяки впровадженню патернів Null Object та типів результатів (Result Types) я перестав боротися з null і почав проектувати систему так, щоб обійти його. Результат? Чистіший і передбачуваніший код з меншою когнітивною перевантаженістю.

Null — це

Читати далі

OpenSUSE Tumbleweed: Вступ для новачків

Про OpenSUSE

OpenSUSE Tumbleweed — це дистрибутив GNU/Linux з постійним оновленням, заснований на SUSE Linux Enterprise. OpenSUSE також має більш традиційну версію з випусками, що виходять точково, під назвою Leap. Хоча Leap не є частиною цього матеріалу, більшість інформації, поданої тут, також стосується й нього. Tumbleweed проходить ретельне тестування через набір інструментів OpenQA (який зараз також використовується Fedora), що дає змогу швидко випускати передові версії пакетів без компромісів у стабільності.

Початок роботи

OpenSUSE має деякі особливості, про які навіть досвідчений користувач GNU/Linux, що використовує інші дистрибутиви, може не знати, і які не завжди очевидні без дослідження:

  1. [Через різні патентні/ліцензійні питання](https://en.opensuse.
Читати далі

Використання cloud-init з vSphere та openSUSE 15.4

Швидке розгортання серверів Linux для задоволення миттєвих потреб є суттю діяльності домашньої лабораторії, але ми витрачаємо багато часу на налаштування та конфігурацію машин відповідно до наших вимог.

Ще гірше, ми витрачаємо багато часу на підтримку їх належного стану та оновлення, і жодна з них не має привілею необмеженого часу для лабораторії.

Давайте розглянемо спосіб створення базового шаблону в vSphere 7 і налаштуємо машину для завантаження з такими параметрами, як ім’я хоста, IP-адреса, скрипти запуску тощо.

Створення шаблону віртуальної машини

Для початку давайте завантажимо свіжий ISO-образ установника операційної системи з opensuse.org. Оскільки це розгортання для домашньої лабораторії або серверів, я … Читати далі

Як встановити snapd на openSuse Tumbleweed

Мені потрібно встановити snapd на openSUSE Tumbleweed. Я зрозумів, що інструкції на https://snapcraft.io/docs/installing-snap-on-opensuse не працюють, але ті, що на https://en.opensuse.org/Snap, працюють.

Кроки

Виконайте наступні команди:

sudo zypper ar [https://download.opensuse.org/repositories/system:/snappy/openSUSE\_Tumbleweed/](https://download.opensuse.org/repositories/system:/snappy/openSUSE\_Tumbleweed/) snappy  
sudo zypper --gpg-auto-import-keys refresh  
sudo zypper dup --from snappy  
sudo zypper install snapd  
sudo systemctl enable --now snapd  
sudo systemctl enable --now snapd.apparmor  
source /etc/profile

Тепер ви можете встановлювати додатки за допомогою команди

sudo snap install app\_name

Посилання

Перекладено з: How to install snapd on openSuse TumbleweedЧитати далі

Від OpenSUSE до Fedora

Перед тим, як ви запитаєте:

pic

Моя поточна конфігурація

Як бачите, все не так погано. Хоча вона досить стара, цей комп’ютер був моїм вірним супутником багато років і є єдиним пристроєм.

Що стосується пошуків ідеальної дистрибутиви, то я займаюсь цим з самого початку використання Linux, і я це роблю на металевому обладнанні, тому процес встановлення для мене важливий. Оскільки я використовую тільки цей ноутбук (до речі), я хочу залишатися на стабільній основі або хоча б на надійній базі для всіх моїх операцій, і період дистрохопінгу насправді вже завершився. Вже давно все це померло.

Я перепробував усе: Arch, Debian, Fedora, їхні форки … Читати далі

OpenSUSE Tumbleweed

text
Нещодавно я встановив OpenSUSE Tumbleweed на старий ноутбук, що валявся у мене вдома. Я зробив це, щоб протестувати свій новий скрипт для встановлення (https://github.com/danieljaouen/dotfiles/blob/main/install.sh), який ще мав кілька недоліків (і ще має). Я вирішив написати блог-пост про процес налаштування разом з деякими коментарями.

По-перше, мені здалося, що інсталятор дуже інтуїтивно зрозумілий. Я не зберіг старий розділ Windows, тому розподіл диска пройшов без проблем. Кілька кліків — і все розділено. Загалом, процес зайняв близько півгодини. Не так вже й погано!

Мені також подобається, що SUSE пропонує rolling release у вигляді Tumbleweed. Я маю деякий досвід з Arch, тому … Читати далі

Як налаштувати робочу середу для науки про дані в OpenSuse

openSUSE — це чудова операційна система на базі Linux, яка легко встановлюється і працює відразу після встановлення. Це стабільна та функціональна система Linux. Вона має графічний інсталятор, і процес встановлення дуже простий. Ви можете встановити її поряд з іншими операційними системами, але я встановив її на старому комп'ютері X220i з SSD на 256 ГБ і 8 ГБ оперативної пам'яті, і вона працює дуже добре, без жодних проблем. Ось кілька покрокових приміток щодо налаштування робочої системи для науки про дані, аналітики та продуктивності.

Перш за все, завантажте ISO-інсталятор з наступного джерела, оберіть версію OpenSuse Tumbleweed для вашого настільного комп'ютера або ноутбука, … Читати далі