• Как правильно работать со сложной структурой данных в React state?

    @J_K Автор вопроса
    Robur,
    И если вы напрямую что-то в стейте поменяете, или просто в свойстве компонента - каким образом по вашему реакт должен понять что нужно обновлять виртуальный дом, делать реконсиляцию и обновлять реальный дом?


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

    Ниже был приведен реальный случай из жизни с рендерингом DOM-а

    Это был пример как делать не надо. Там явно нужна была декомпозиция.


    Это мне непонятно, о чем вы. Пример был о том, как здорово и легко в Vue было одним только декларативным способом организовать рендеринг DOMa, там все было разбито на компоненты. Тормоза были только когда навешивались какие-то листенеры, и это было сделано неправильно.

    Там речь шла о прописывании строкового поля "пути" для каждого элемента дерева - вот где ничто не поможет и ошибиться элементарно.

    часто когда "ничего не поможет" то можно написать немного по другому и все становится нормально. Сейчас уже крайне мало осталось задач которые реально нельзя типизировать нормально.


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

    А какие еще есть либы-компоненты для работы со стейтом кроме Mobx? Мне не очень понравилось, что там слишком много делается под капотом, хотелось бы большей прозрачности.
  • Сломался Vue-cli, как пофиксить?

    @J_K
    Стас Шмидт, из ошибки неясно, в чем дело?
    Если удалить эту команду из package.json, все соберется или нет?
    Попробуй поиграть с параметрами.
    Файл конфига существует?
  • Сломался Vue-cli, как пофиксить?

    @J_K
    Стас Шмидт, что говорит терминал, если пытаешься выполнить ту команду? Выполняется или ошибку выдает?
  • Сломался Vue-cli, как пофиксить?

    @J_K
    Стас Шмидт, ты можешь сделать очень просто: выполнить эту команду (на которой происходит ошибка) из терминала и посмотреть, что будет. Можно еще полность удалить папку с пакетами, сделать npm install чтобы установились все пакеты и обновились. Может быть, тут тоже что-то посыпется, по крайней мере, увидишь, что.
  • Сломался Vue-cli, как пофиксить?

    @J_K
    Стас Шмидт, в логе ошибки. Внимательно перечитай сообщение об ошибке, там есть ссылка на файл лога, в нем может быть объяснение.

    В самом тексте ошибки есть указание на dev script webpack-dev-server... и так далее. Судя по всему, он пытается выполнить этот скрипт, но по каким-то причинам не может. Может быть, отсутствует указанный файл конфига? Параметры не те? Не хватает каки-нибудь переменных окружения?
  • Как правильно работать со сложной структурой данных в React state?

    @J_K Автор вопроса
    Спасибо за ответ.
    Зачем стейт сделан так как сделан - хорошо описано в доках и всевозможных гайдах.

    К сожалению, внятных объяснений кроме улучшения производительности мне не удалось найти. Но можно же опять поставить вопрос таким образом: "Если изменение объекта так сильно влияет на производительности, может быть, с подходом что-то не так?"
    По какому критерию "неэффективности"? как вы это померяли, какие-то цифры есть?

    20 - это для примера. Ниже был приведен реальный случай из жизни с рендерингом DOM-а - вот там неэффективность была заметна невооруженным глазом (в какой-то момент был неправильно навешен на что-то обработчик, все перерисовывалось заново и медленно).

    Далее - не надо все пихать в гиганский стейт, и как-то его обновлять.
    Если у вас сложный стейт в компоненте - скорее всего вы что-то делаете не так.


    Я догадываюсь! Но как организовать обработку дерева по-другому, я ума не приложу. Можете привести пример? Кроме того, пропсы, которые мы передаем в дочерний компонент, мы ведь их тоже не можем обновлять? или можем? В Vue это было нельзя делать.

    Для хранения данных "вообще" есть сторы уровня приложения, откройте для себя mobx


    Спасибо, я посмотрю. К сожалению, опыта мало еще в React, а информации слишком много, переваривать не успеваю.

    насчет "сложные структуры и легко сделать ошибку" - возьмите тайпскрипт и забудьте о 99% опечаток.


    Там речь шла о прописывании строкового поля "пути" для каждого элемента дерева - вот где ничто не поможет и ошибиться элементарно.
  • Кто сталкивался с такой ошибкой при импорте TensorFlow у Windows?

    @J_K
    Jasicid L, это просто. Удаляешь старую и устанавливаешь новую (в смысле более низкую).
  • Пути к модулям Python - как делать правильно?

    @J_K Автор вопроса
    Евгений, так вот вопрос в том и есть, как использовать относительные импорты? У меня получается только абсолютные и это очень неудобно.
    Спасибо за PyCharm, буду знать.
  • Пути к модулям Python - как делать правильно?

    @J_K Автор вопроса
    Евгений, хорошо, давайте оставим в покое сторонний код.
    Есть у меня собственная внутренняя библиотека, скажем, посвященная работе с картами. Она лежит в папке mapwork, и, следовательно, все импорты внутри нее должны будут содержать ссылку на эту папку, например,
    import mapwork.point
    Но вот по прошествии времени я решаю, что надо все такие либы переложить в одну папку, которая называется, скажем, businesslogic и содержит не только код для работы с картами, но и код для обработки данных.
    И теперь все дружно перестает работать, потому что каждую строку import mapwork.point надо заменить на import businesslogic.mapwork.point

    Какой есть способ избежать этой проблемы, чтобы папки можно было тасовать как угодно и сколько угодно раз без того, чтобы делать кучу лишних телодвижений? Ведь если я перемещу папку, надо опять переименовывать импорты и переменные окружения? Или нет?
  • Пути к модулям Python - как делать правильно?

    @J_K Автор вопроса
    Евгений, спасибо, но разве можно через pip устанавливать произвольный код? Вот у меня есть какие-то файлы на пайтоне, взятые из интернета, где авторы не оформляли их как пакеты и нигде не регистрировали, каким образом я могу выполнить установку?
    В поиске меня не забанили, но там ответ найти не удалось. Везде говорится о том, как устанавливать "стандартные" пакеты, а не произвольные.
  • Пути к модулям Python - как делать правильно?

    @J_K Автор вопроса
    Интересно!
    А устанавливать так можно любой код? Должны они быть как-то оформлены специально, чтобы эта установка могла быть осуществлена?
    И еще вопрос вдогонку - а что, если мне понадобится что-то в чужом коде изменить? Надо будет переустанавливать, или достаточно просто поменять код?
  • Пути к модулям Python - как делать правильно?

    @J_K Автор вопроса
    Спасибо за ответ.
    Пустые файлы __init__.py были созданы.
    Внутри папок - вы имеете в виду, что надо переписывать все существующие импорты? А если файлов под тысячу или больше? Как обойтись без этого?
  • Как сделать робота?

    @J_K
    Какие курсы вы имеете в виду?
  • Зачем использовать pandas и numpy для анализа данных?

    @J_K Автор вопроса
    Спасибо за ответ. Но ведь это получается двойная работа. Сначала - добиться результата на Python, потом переписать на чем-то еще. Тем более, что если языки разные, они используют разные библиотеки, подходы и так далее. Не очень-то экономный способ разработки. Возможно ли написание production кода на самом Python? Тем более, что его можно скомпилировать (не знаю, правда, только ли в экзешники или в библиотеки тоже).
  • Зачем использовать pandas и numpy для анализа данных?

    @J_K Автор вопроса
    Э, речь не шла о распознавании образов! Только об обработке данных, такой, как выборка, группировка и т.д. Просто я вижу, что pandas имеет такие же функции, как SQL, вот и стало интересно, в чем выгода использования Python. Как по мне, как SQL с этой точки зрения органичнее.
  • Зачем использовать pandas и numpy для анализа данных?

    @J_K Автор вопроса
    Спасибо за развернутый ответ.
    Но ведь разные выборки, группировку и т.д. можно делать в том же SQL, а потом уже обрабатывать на любом языке. Мне интересно, почему именно эти функции стоит делать на том же Python.
  • Зачем использовать pandas и numpy для анализа данных?

    @J_K Автор вопроса
    Не знаю, попытка запустить один скрипт на сравнительно небольшом наборе данных заняло 13 секунд! (Может, вранье, но такой мне выдали output).
    Детектор чего? Не надо, пожалуйста, копаться в моей личности, это к делу совершенно не относится. Как уже было сказано, я прохожу курс по анализу данных, следовательно, опыта в подобных вещах не имею, чего и не скрываю. Вопрос абсолютно чайниковский с этой точки зрения, суть его была в том, чтобы мне дали конкретные пример, когда применением Python более оправдано, чем SQL. Вот на этом и сосредоточьтесь. Опять же, если говорите, что не тормознутый, приводите, пожалуйста, конкретные цифры.
  • Какую платформу выбрать для десктопного приложения?

    @J_K Автор вопроса
    Меня не то чтобы потянуло в "эту степь", мне как раз использование веба для программирования десктопного интерфейса не очень нравится, просто как еще один вариант.