• Насколько забивает память "const self = this" в методах классов?

    Robur
    @Robur
    Знаю больше чем это необходимо
    Даже если вы уберете self - вы каждый раз создете новую функцию, и это займет куда больше памяти.

    Вы не о том переживаете. С одной стороны вам правильно сказали - не стоит беспокоиться о self, с другой - это не значит что беспокоиться вообще не стоит. И это не зависит от того как вы пишете код - с классами или без. в функциональном стиле можно легко памяти израсходовать в разы больше не заметив.

    Если по сути примера - self у вас будет в замыкании, останется там висеть пока где-то есть живая ссылка на это замыкание, то есть пока где-то есть ссылка на функцию которую вы передаете в helper.method. как только сборщик мусора сможет это все собрать - память освободится. Если ссылки не умирают и вы вызываете эту функцию раз за разом - память закончится даже если вы уберете self вообще.

    Тут важно убедиться что у вас нигде нет утечек памяти. Если код такой что должен работать долго, упорно и хорошо, например большие и сложные математические вычисления или важен реалтайм (чтобы сборщик мусора не ставил все внезапно на паузу) - то тут нужны специальные техники, чтобы по максимуму избежать создания любого нового объекта в памяти.

    Читайте про сборщик мусора, как он работает и откуда берутся утечки памяти в node.
    Ответ написан
  • Symbol и перегрузка for of в js?

    Robur
    @Robur
    Знаю больше чем это необходимо
    Ну, можно и так назвать. Фактически это использование средств языка для прохода по итератору. В JS нет формального понятия "перегрузка" а неформально - называйте как вам нравится.
    В чем именно вопрос-то?
    Ответ написан
  • Как Google разрабатывает на Angular?

    Robur
    @Robur
    Знаю больше чем это необходимо
    Библиотеки/компоненты/добавления к чему?
    Как устроена сборка и прочее вы можете посмотреть в самом angular. https://github.com/angular/angular.
    Скачайте, запустите, почитайте https://github.com/angular/angular/blob/master/doc...
    А как разработчики свое личное рабочее место настраивают чтобы им было удобнее - это только они сами скажут, да и какая в общем-то разница?
    Ответ написан
  • Как правильно сделать аутентификацию?

    Robur
    @Robur
    Знаю больше чем это необходимо
    Правильность должен проверять сервер когда вы с этим токеном что-то от него хотите. На клиенте все просто - есть токен, считаем что пользователь залогинен, рисуем ему кнопки и идем с этим токеном на сервер - если что-то не так, сервер нам скажет, например вернет 401, в таком случае удаляем токен на клиенте и отправляем пользователя на /login.
    Ответ написан
    2 комментария
  • Cколько стоит отрисовка многостраничного сайта?

    Robur
    @Robur
    Знаю больше чем это необходимо
    Стоит столько на сколько вы согласны.
    Я бы за такой проект взялся как минимум за 200к например, но вряд ли нашелся бы такой заказчик. Видимо поэтому и не делаю таких сайтов :)
    Вам правильно выше сказали, если у вас действительно 0 опыта, пустое портфолио - то вы получаете намного больше чем эти 2к рублей и оно стоит того. Когда у вас будет 10 таких сайтов сделанных - то вы получите только 2к рублей и ничего не больше и оно уже не будет этого стоить (но к тому моменту у вас уже будут большие суммы заказов изначально)

    Если вы уверены что прямо сейчас найдете и получше заказы за много больше денег, можете делать как Константин Б. предлагает. Но только до того как согласились на эти условия.
    Ответ написан
    Комментировать
  • Возможен ли автоматический drag&drop при загрузке страницы?

    Robur
    @Robur
    Знаю больше чем это необходимо
    Можно.
    Думаю следующий вопрос будет "как" - но для ответа на него крайне мало информации в вопросе.
    Страница и скрипты ваши вы их писали, или вам просто достались и с ними "что-то надо сделать"?
    Ответ написан
  • Как избавиться от дублирования кода в javascript?

    Robur
    @Robur
    Знаю больше чем это необходимо
    function temp() {
        modal.style.display = "block";
    }
    btn.onclick = temp
    btn2.onclick = temp
    Ответ написан
    Комментировать
  • Как структурировать базу данных?

    Robur
    @Robur
    Знаю больше чем это необходимо
    Вот тут описано: https://docs.mongodb.com/manual/core/data-model-design/

    Вам подойдет более прицельно: https://docs.mongodb.com/manual/tutorial/model-ref...
    и https://mongoosejs.com/docs/populate.html

    вкратце - вам надо у поста сделать ссылку на автора, комментарии сделать отдельным документом, и в нем ссылку на пост, потом все это можно собирать например через populate в mongoose, чтобы загружать в массив постов для пользователя и массив комментариев для поста.
    Ответ написан
    3 комментария
  • Как сохранить на странице динамически добавленные элементы HTML?

    Robur
    @Robur
    Знаю больше чем это необходимо
    Правильно - не сохранять HTML элементы. Но если сильно хочется - возьмите innerHTML и сохраните в localStorage. Конечно все что программно туда привязано - типа обработчиков событий и так далее вы потеряете. Чтобы не терять - смотрите начало моего ответа.
    Ответ написан
    Комментировать
  • Как сделать подгрузку статей в Node JS?

    Robur
    @Robur
    Знаю больше чем это необходимо
    Есть разные способы - зависит от того как сделано у вас. Это называется pagination есть разные способы это сделать вообще и в монго в частности и хорошо расписано много где.
    Например, можно использовать skip и при клике "загрузить еще", ставить его в 6, 12, 18 и так далее.
    Или взять что-то вроде https://github.com/edwardhotchkiss/mongoose-paginate если не хочется изобретать свое.
    Ответ написан
  • Как просто конкатенировать файлы в Webpack?

    Robur
    @Robur
    Знаю больше чем это необходимо
    Он не то что "может" это его основной вариант использования. Возьмите самый простой пример из документации или гугла и там будет именно это. Если у вас не модули а просто кучка файлов накидана, то подойдет какой-нибудь плагин, можете начать с webpack-concat-plugin.
    Ответ написан
  • Взломали мой сайт .А там код.Что это?

    Robur
    @Robur
    Знаю больше чем это необходимо
    Что за код? - заставляет пользователя который зашел на ваш сайт загрузить еще и www.e-partner.ru. Зачем - кто ж их знает, может просто просмотры накручивают, может трекают пользователей.
    Как он к вам попал? - вы хотите чтобы люди по звездам угадали? Ищите того кто разбирается и пусть он смотрит на ваш сайт/сервер.
    Ответ написан
    Комментировать
  • Почему не работает nmp run eject?

    Robur
    @Robur
    Знаю больше чем это необходимо
    Так и быть я прочитаю за вас сообщение об ошибке
    Remove untracked files, stash or commit any changes, and try again.

    Могу и перевести что нужно сделать, но тут уж давайте попробуйте самостоятельно.
    Ответ написан
  • Мутации объекта js - как не стать ситхом?

    Robur
    @Robur
    Знаю больше чем это необходимо
    Не читайте до обеда всякой ерунды. Особенно статей как в вашей ссылке, написаных для драмы и пиара на пустом месте.
    Если вы вообще задаетесь вопросом стоит ли избегать мутации - значит вам её избегать не стоит.
    Мутируйте.
    Ответ написан
    3 комментария
  • Почему JQ не работает в Safari?

    Robur
    @Robur
    Знаю больше чем это необходимо
    Лучше div сделайте и его двигайте. body и тем более html анимировать не стоит.
    А так - попробуйте body дать position:relative
    Ответ написан
    Комментировать
  • Как правильно задать событие для элемента, сгенерированного программно?

    Robur
    @Robur
    Знаю больше чем это необходимо
    Используйте event delegation. Один раз вешаете обработчик и создавайте элементы сколько хотите.
    Ответ написан
    Комментировать
  • Где найти стартап?

    Robur
    @Robur
    Знаю больше чем это необходимо
    Например у нас в стартапе. Я ищу кого-то себе в помощь на простые задачки и взамен научу всему что умею и дам возможность набраться опыта в реальном проекте.
    https://t.me/karabur
    Ответ написан
    Комментировать
  • Как сделать прелоадер для ожидания пока загрузятся скрипты в head?

    Robur
    @Robur
    Знаю больше чем это необходимо
    Загружайте скрипты не в head а в конце body или асинхронно с defer. В самом body нарисуйте индикатор загрузки, как скрипты загрузятся - убирайте индикатор.
    Ответ написан
  • Как сопоставить значение ключа с элементом?

    Robur
    @Robur
    Знаю больше чем это необходимо
    Правильно будет не сохранять ключ компонента в сторе, а сохранять данные из которых можно понять какой компоненте рендерить. Если это один из списка каких-то значений например - id или индекс элемента списка.
    Если сложно думать в таком ключе - самый простой способ - дайте каждому компоненту свой уникальный id и его и сохраняйте в сторе. Типа
    activeComponent: "component1"

    {store.activeComponent === "component1" && <Component1/>}
    Ответ написан
    Комментировать
  • Как такое решить?

    Robur
    @Robur
    Знаю больше чем это необходимо
    Если есть возможность переделать, лучше клиента в url передавать.
    Куки общие, скорее всего отсюда все проблемы.
    Если именно куки хочется - можно попробовать установку куки и открытие окна в один setTimeout поставить и увеличить задержку между ними, и у вас там разница в 5 милисекунд - а надо чтобы окно полностью успело загрузиться. Если окно грузится 2 секунды, то должно быть "2500*index" например. А так к тому моменту как первое окно только начинает загружаться - значение в куке уже с последнего окна.
    Ответ написан
    1 комментарий