• Как работать с очень длинными списками в JavaScript (angular, react, vuejs)?

    alvvi
    @alvvi
    export default apathy;
    (angular не использует vdom, для него история другая)
    перерисует целиком свой виртуальный dom

    Давайте немного проясним: виртуальный DOM - это грубо говоря js объект содержащий другие объекты.
    При добавлении нового сообщения туда добавится новый объект и весь DOM сравнится со старой версией с помощью diff-алгоритма специфичного для конкретного фреймворка.
    И только результат этого сравнения добавится в реальный DOM.
    Работа с объектом значительно быстрее работы с самим DOM-ом, поэтому чтобы оно начало работать заметно медленее у вас должен быть дикий уровень вложенности или очень большой DOM.

    100 сообщений и 50 контактов - это небольшие цифры, с таким любой из упомянутых фреймворков справится без просадок.

    Вот пример бенчмарков с большим количеством объектов(1000+) для многих фреймворков на примере незамысловатой таблицы:
    www.stefankrause.net/js-frameworks-benchmark6/webd...
    (там же есть ссылка на репо чтобы увидеть как она выглядит)
    Как видите, там в таблицу уже содержащую 10 000 добавляется еще 1000(!) объектов, и многие фреймворки впонле с этим справляются.

    В реальности же, вам вряд-ли придется добавлять такие цифры, потому что подгружают изначально обычно меньшее количество: такое, которое пользователь сможет увидеть в одном экране, все остальное догружается постепенно по мере надобности. То же самое касается вашей истории чата, ее стоит подгружать только за тот период, за который она необходима пользвателю.
    Ответ написан
    1 комментарий
  • Как лучше всего изучать webpack 4?

    kuzvac
    @kuzvac
    Попробуйте официальную академию вебпака :) https://webpack.academy/
    Ответ написан
    Комментировать
  • Как использовать vue js + django?

    lavezzi1
    @lavezzi1
    data - всегда функция возвращающая объект.

    var app3 = new Vue({
      el: '#app-3',
      data() {
        return {
          seen: true
        }
      }
    })
    Ответ написан
    2 комментария
  • Как легко перейти с jQuery на VUE?

    delphinpro
    @delphinpro Куратор тега JavaScript
    frontend developer
    Конкретно здесь проще, и я бы даже сказал, нужно сделать страницу на jquery =))

    ------------------------

    Если же вас интересует как в принципе заменить jquery на vue, то постараюсь ответить.

    1. Как и в случае jquery, ищем подключаем подходящий пакет. Например этот.

    2. Аккордеон реализуется вручную парой строчек

    <div>
      <h2 @click="toggle"></h2>
      <div v-if="stateOpen">
        Скрытое содержимое
      </div>
    </div>

    {
      data() {
        return {
          stateOpen: false,
        }
      },
      methods: {
        toggle(){
          this.stateOpen = !this.stateOpen;
        }
      }
    }

    Анимации раскрытия по вкусу, с помощью обёртки transition

    3. Аналогично предыдущему пункту. 10 минут на реализацию.
    4. Аналогично первому пункту.
    5. Аналогично первому пункту.
    6. Блин, ну тут то же самое =)) Мне нравится этот пакет: vue-form

    Вот и всё. jQuery можно не подключать.
    Ответ написан
    2 комментария
  • Python и фриланс, что учить?

    Jump
    @Jump
    Системный администратор со стажем.
    Хочу пойти фрилансить на python
    Без проблем - берите задачи, решайте, получайте деньги.

    и зарабатывать в районе 1000 долларов в месяц
    А вот это уже под вопросом.
    На заработок мало влияют ваши познания в пайтоне и тип работы.
    В первую очередь на заработок влияет ваше умение зарабатывать деньги - если оно есть, без проблем будете зарабатывать и больше, если его нет - увы, тут пайтон ничем не поможет.
    Ответ написан
    1 комментарий
  • Нейронная сеть на python - стоит ли браться?

    nikolay_karelin
    @nikolay_karelin
    Ведущий разработчик, пишу на Python, Tcl, Matlab
    Присоединюсь с предыдущему ответу - сначала надо понять задачу (желательно вместе с преподом).

    Что касается Питона и машинного обучения: этот язык сейчас очень популярен в задачах машинного обучения, как "язык-клей". Идея в том, что берется готовая библиотека (или несколько) и пишется небольшой скрипт - загрузка данных, конфигурация сети, параметры оптимизации, постобработка, визуализация и все такое. Сами вычисления при это делает скомпилированный код (лучше всего на видеокарте). И не надо быть супер-крутым программистом, чтобы учить сеть.

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

    Кстати, вместо TensorFlow советую смотреть на Keras - он более высокоуровневый. Еще популярный фреймворк Caffe - на нем много задач по компьютерному зрению делают.

    И напоследок - есть очень хорошие курсы от Стэнфорда: CS 20SI: Tensorflow for Deep Learning Research - web.stanford.edu/class/cs20si/index.html и CS231n: Convolutional Neural Networks for Visual Recognition - cs231n.github.io и cs231n.stanford.edu

    Там и презентации и видео и примеры.

    А что за тема магистратуры?
    Ответ написан
    5 комментариев
  • Как подстроить блоки по высоте?

    hvdd
    @hvdd
    Кратко о себе
    Если в макете только 2 колонки, то так:
    <section class="section"></section>
    <section class="section"></section>
    <section class="section"></section>
    <section class="section"></section>

    .section:nth-child(2n + 1) {
        float: left;
        clear: left;
    }
    
    .section:nth-child(2n) {
        float: right;
        clear: right;
    }

    Скриншот
    495ac0667002408ab2e5902f778fee09.JPG
    Демо на codepen



    Если колонок много, то с помощью multicolumn:
    .container {
      column-width: 250px; /* Ширина колонки */
      column-gap: 10px;  /* Расстояние между колонками */
    }
    
    .item {
      break-inside: avoid; /* Запрещает разрыв блока */
    }

    Скриншот
    878c7317d722403bb2560542d97c6b46.JPG
    Демо на codepen
    Ответ написан
    4 комментария
  • Заказчик хочет получить проект до оплаты?

    Denormalization
    @Denormalization
    Заказчик же написал:
    This looks great now. Please send the code files. I will release the payment soon after receiving the code files.


    Т.е проект funded, и стало быть деньги уже внесены. Значит ничего боятся не надо.
    Я как делаю:
    - Показываю работу у себя на сервере или на сервере у заказчика
    - Заказчик одобряет
    - Я высылаю ему файлы по email/skype или через сообщения на upwork.
    - Сразу же жму закончить проект, и туда же прикрепляю те же самые файлы. (там специальное поле для файлов есть, когда жмешь завершить проект)
    - ???
    - Profit

    Зачем отсылать файлы 2 раза?
    1) Заказчику удобнее получить файлы сразу на почту\skype, он не хочет заморачиваться и искать их где-то. Поэтому отсылаем ему напрямую.
    2) Во время завершения заказа нужно прикрепить файлы, чтобы в случае чего, саппорт видел что я сделал, и почему я должен получить за это оплату.
    Ответ написан
    2 комментария