@JSlang

Страница 2213 из 2237
Дмитрий
17.10.2018
15:35:45
Roman
17.10.2018
15:36:09
в чем вопрос?

то что правило не отлавливает деструктуризацию - это баг

Дмитрий
17.10.2018
15:36:55
в чем вопрос?
Как, по-хорошему, следует работать с методами массивов (forEach, map и т.д.), оставаясь в рамках этого правила?

Google
Roman
17.10.2018
15:36:59
аа

тебе в иммутабельность

надо создавать копии, модифицировать их и возвращать

Roman
17.10.2018
15:37:47
^^ согласен

если в проекте принята иммутабельность - это нормальное линт-правило, чтоб кто-то случайно не мутировал

Дмитрий
17.10.2018
15:39:33
ujeenator
17.10.2018
15:39:53
ну и также в вашем примере вы мутируете DOM изолировать себя от мутации DOM'a можно только если использовать фреймворки по типу React VUE

Сам по себе DOM построен на мутациях

Roman
17.10.2018
15:40:07
^^ опять согласен =) не успеваю с ответами

ujeenator
17.10.2018
15:40:23
?

Андрей
17.10.2018
15:41:01
свой виртуал дом и все дела ?

Google
Андрей
17.10.2018
15:48:34
полно языков транспилирующихся в сабж, при этом с иммутубельными структурами данных из коробки - пурескрипт, эльм, кложаскрипт и т.п. выбирай на вкус. можно при желании посмотреть как там сделаны эффективные датаструкчи. хотя и в иммутабл-жс что-то должно быть наверное

Н
17.10.2018
15:50:09


ujeenator
17.10.2018
15:51:36
Ну ОК. А если бы это был не ДОМ, а некий массив неких объектов?
если объекты имеет 1-2 уровня вложености то используют spread операторы чтобы создавать копии let arr = [{ name: 'John', surname: 'Smith' }, { name: 'Alice', surname: 'Smith' }] arr = arr.map( user => ({ ...user, fullName: `${user.name} ${user.surname}` }) ) если больше - то используют библиотеки для работы с иммутабельными объектами я чаще всего использую immutability-helper

ujeenator
17.10.2018
15:56:56
Так ты же вроде говорил что мутировать не надо, а сам делаешь это.
мутация значения и мутация ссылки две абсолютно разные вещи

все ошибки в основном от мутации значений мутацию ссылок можно избегать если в этом есть реальная потребность

Роман
17.10.2018
15:58:07
ujeenator
17.10.2018
15:58:25
я перезаписываю ссылку на arr

оригинальный arr не меняется

Роман
17.10.2018
15:59:17
оригинальный arr не меняется
Что значит не меняется если ты его перезаписал? ?

Roman
17.10.2018
15:59:22
оригинальный arr не меняется
ну другое правило тебе за это по башке даст =)

ujeenator
17.10.2018
15:59:33
Roman
17.10.2018
15:59:35
Что значит не меняется если ты его перезаписал? ?
операция = не изменяет левую часть

ujeenator
17.10.2018
15:59:58
Что значит не меняется если ты его перезаписал? ?
разницу между ссылкой и значением понимаешь?

Роман
17.10.2018
16:00:09
Roman
17.10.2018
16:00:11
надо проще объяснять)

ujeenator
17.10.2018
16:01:09
Да. Но причём тут это?
Притом что мутация значений очень важна А важность мутации ссылок - зависит от задачи

Google
ujeenator
17.10.2018
16:09:08
только ты меняешь не в нем, а создаешь новую копию массива где есть это изменение

куда эту assign'ить - это уже зависит от задачи)

Дмитрий
17.10.2018
16:12:31
только ты меняешь не в нем, а создаешь новую копию массива где есть это изменение
Вот это печалька же. Я же не этого хотел. Это может вылиться в жесть по памяти.

Роман
17.10.2018
16:13:04
Я вот тоже не понимаю тех кто топит за иммутабельность. Как они работают с большими массивами?

ujeenator
17.10.2018
16:13:27
Вот это печалька же. Я же не этого хотел. Это может вылиться в жесть по памяти.
это верно иммутабельность неэффективно использует память но в большинстве задач памяти хватает

Я вот тоже не понимаю тех кто топит за иммутабельность. Как они работают с большими массивами?
Создаем изолированные части приложения которые работают с мутабельностью

Например я писал на React Native рисовалку для ios android

у меня был отдельный компонент который работал с байт массивом imageData но всю эту логику он полностью скрывал внутри себя

ujeenator
17.10.2018
16:15:47
копируешь, сортируешь

а если проект маленький - то иммутабельность вам и не нужна

Роман
17.10.2018
16:16:42
копируешь, сортируешь
> Копируешь А там 10к элементов. И всё ради чего? Если мы дальше планируем работать с отсортированным массивом только.

Роман
17.10.2018
16:16:59
там это где?
Пример это.

Задача отсортировать массив и работать с ним. Зачем нам копия?

ujeenator
17.10.2018
16:17:18
ну так если есть конкретный пример - то давай конкретно разбирать

Google
Роман
17.10.2018
16:18:34
Так сортировка и есть конкретный пример. По памяти я уже понял. Но не понимаю логику, зачем хранить оригинал, если мы работать планируем с модифицированной версией? И только с ней. Как в этом случае поступают?

ujeenator
17.10.2018
16:19:53
есть вот шкала такая на одной стороне ты получаешь простотой в понимании проект, легкий в откладке и отлове ошибок на другой стороне ты получаешь проект быстро работающий и эффективно использующий память

на этой шкале ты выбираешь для себя подходящую точку)

для своей задачи

Admin
ERROR: S client not available

ujeenator
17.10.2018
16:20:55
иммутабельность это инструмент который позволяет контроллировать сложность проекта, взамен на некоторую долю памяти и времени процессора

Влад
17.10.2018
16:22:48
Вечер добрый, есть идея создать веб приложения с множеством динамических веб форм, начал писать на фласке, но там с динамиком чет тяжко, подскажите пожалуйста какой выбрать вреймворк ?

Kirill
17.10.2018
16:44:25
Ребята, всем привет, такой вопрос: У меня есть кнопка и на нее навешано событие по классу на клик, потом удаляю этот класс у ней и добавляю новый и хочу реализовать уже другое событие, а оно все равно делает и старое и новое( как быть, подскажите пожалуйста?)

Дмитрий
17.10.2018
16:46:16
иммутабельность это инструмент который позволяет контроллировать сложность проекта, взамен на некоторую долю памяти и времени процессора
Спасибо за информацию - буду осмыслять. Подытожим изначальный пример: для DOM без фреймворка и в малых масштабах на это правило можно забить. Верно?

Kirill
17.10.2018
16:53:31
Roman
17.10.2018
17:57:17
кто работал с react-native? можно вообще не работать с xcode? то есть понятно, он нужен для билда, но писать можно в чем-то другом?

alex
17.10.2018
17:58:50
Всем привет. Нужен программист для одного дела, прибыль 50-50. Опишите.

Roman
17.10.2018
18:00:43
Google
Roman
17.10.2018
18:01:59
и да Если проект сложный я бы не брал RN
мне чисто для себя, поиграться

хочу подружить с encfs облаке

Kirill
17.10.2018
18:38:12
Александр
18.10.2018
06:28:38
Коллеги, всем привет! Подскажите плиз, как можно разместить в <select> вкладки?



Сасный
18.10.2018
06:41:22
Никак

Кастомный селект делается на дивах отдельно от селекта и его оптион

а связь между ними создается через жс

Взгляните на selectize или select2

Александр
18.10.2018
06:51:43
я пробовал select2 юзать

но видимо внутри селекта нельзя вкладки поместить

или тут один вариант - писать с нуля, чистый инпут прикрутить

? ethorz
18.10.2018
07:26:24
хэлп плиз

Страница 2213 из 2237