Full-stack
Контакты

Достижения

Все достижения (1)

Наибольший вклад в теги

Все теги (5)

Лучшие ответы пользователя

Все ответы (11)
  • Что нужно знать в javascript что-бы начать изучать react?

    fakey0u
    @fakey0u
    (javascript) => ['Node.js', 'React']
    • базовый синтаксис, встроенные методы массивов, синтаксический сахар в виде классов, es6 +-
    • как функционирует DOM,
    • событийную модель,
    • зачем нужно SPA
    • базовое понимание REST архитектуры
    Ответ написан
    6 комментариев
  • Что можно считать глубокими знаниями в js?

    fakey0u
    @fakey0u
    (javascript) => ['Node.js', 'React']
    Я бы конечно определился, что такое более глубокое понимание. Для себя я бы обозначил глубокое понимание, как умение решать "бизнес-задачи" на языке JavaScript, наиболее эффективным образом.

    Глубокое понимание, уже перестает относиться только к JavaScript, а начинает очень тесно взаимодействовать с общими паттернами которые есть в программировании.

    Знать и уметь применять паттерны проектирования:

    - Singleton
    - publish/subscribe
    - factory
    - proxy
    - facade
    - strategy

    Понимать структуры данных и понимать для чего эти структуры предназначены, сложности алгорит:

    - Список, связанный список
    - Деревья, бинарные деревья
    - Очередь/Стек
    - Графы

    Уметь писать в ООП парадигме и в функциональном стиле, просто чистый код:

    - SOLID
    - fp (pipe, compose, curry, functor, monads, etc)
    - SOA, понимание Service-oriented architecture

    Понимание работы компилятора и интерпретатора, MaxKorz хорошо уточнил.
    Ответ написан
    Комментировать
  • Может кто-то объяснить насчет зависимостей в node_modules?

    fakey0u
    @fakey0u
    (javascript) => ['Node.js', 'React']
    можно написать patch над модулем.

    Каждый модуль в момент require('some-module') попадает в require.cache и далее данный модуль можно пропатчить.
    Например:
    // first.js
    const add = (a,b) => a +b;
    module.exports.add = add
    
    // patched.js
    const MODULENAME = './first';
    const moduleToPatch = require(MODULENAME); // здесь мы кешировали нужный нам модуль
    
    require.cache[require.resolve(MODULETOPATCH)].exports.add = (a,b) => {
     console.log('PATCHED ! ! ! ! ')
     return a + b;
    }
    
    // second.js
    require('./patched');
    const { add } = require('./first');
    
    console.log(add(10, 20)) 
    // PATCHED ! ! ! !
    // 30


    Естественно первым нужно подключать модуль для патча, чтобы он сделал первый require у себя
    Ответ написан
    1 комментарий