Задать вопрос
  • Что за flat, как это работает?

    TommyV888
    @TommyV888
    -
    Переменная flat хранит промежуточный результат.
    Вот тут можно почитать про reduce подробнее.
    Ответ написан
    Комментировать
  • Лучшая замена Vue.js?

    Vlad_IT
    @Vlad_IT
    Front-end разработчик
    Ну, ReactJS почти замена :-)
    Но непонятно, зачем вам замена? Вам нужны какие-то конкретные требования, которых нет в Vue? Или вы просто хотите "идти за трендом", плохая затея, рискуете изучить много неперспективных технологий. Ищите инструмент, выполняющий ваши задачи, а не трендовый.
    Ответ написан
    Комментировать
  • Как пофиксить такой текст?

    Moskus
    @Moskus
    Текст изначально сохранен в кодировке UTF-8, а показывать вы его пытаетесь так, будто он в Windows-1251. Показывайте в правильной кодировке.
    Ответ написан
    4 комментария
  • Какая технология использовалась для создания картинок указанных в теле моего вопроса?

    Moskus
    @Moskus
    Это чистое 2D, потому что множество деталей имеют неправильную (гипертрофированную или условную) форму, например - детали с перспективными искажениями и очень многие тени. Использование градиентов для имитации освещения - старый и надёжный прием, которым хорошие художники отлично владеют, и который даёт результат, выглядящий чище и чётче, чем рендеринг трехмерных объектов.

    Любой художник, который действительно умеет рисовать, а не просто пользоваться векторным редактором, нарисует такое быстрее, чем моделер сделает это в 3D.
    Ответ написан
    6 комментариев
  • Как деструктуризовать массив как мне надо?

    potapchino
    @potapchino
    customAttributes: asset.customAttributes.reduce((r, i) => ({...r, [i.attrId]: i.value}), {})
    Ответ написан
    1 комментарий
  • Как получить читаемые русские строки (вместо ASCII) в ответе сurl?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    JSON text exchanged between systems that are not part of a closed ecosystem MUST be encoded using UTF-8

    Попробуйте утилиту ascii2uni
    curl -v -H "Content-Type: application/json" some_url | ascii2uni -aU
    Ответ написан
    3 комментария
  • Как лучше добавлять новые элементы на страницу через js?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Когда бэкенд хорошо работает, пользователь не способен заметить ajax-запрос. В крайнем случае спокойно отнесётся к секундному появлению спинера. Так что нет, в третьем варианте страница не замедлится. Зато она замедлится в первых двух случаях, если у вас в базе станет не 200 элементов, а хотя бы 2000, не говоря уж о 20 миллиардах. А ещё веселее то, что такая выборка из базы может колом поставить вообще всех пользователей.
    Ответ написан
    Комментировать
  • Как динамически создать элементы?

    hzzzzl
    @hzzzzl
    потому что asks это не массив, у него нет length

    https://codepen.io/anon/pen/Rmpvzy

    а вообще questions :p
    Ответ написан
    Комментировать
  • Простой векторный графический редактор?

    RabraBabr
    @RabraBabr
    Вот вам политеховская методичка по которой студенты делают лабы (и я когда то делал)
    vt.samgtu.ru/%2Fattachments%2Farticle%2F233%2F%D0%...
    Ее вполне вам хватит. Рисование прямых, кривых Безье, раскраска многоугольников, тмо, матрицы вращения, масштабирования и сдвига там есть.
    Ответ написан
    Комментировать
  • Простой векторный графический редактор?

    Vlad_IT
    @Vlad_IT
    Front-end разработчик
    Ну, если бы на все задачи можно было найти точные инструкции, было бы скучно.
    Пробуйте написать начиная с малого, например:
    1) Создайте холст, просто объект, который будет помещать в себя фигуры. Это будет некий viewport.
    2) Сделайте скролл этого холста мышкой, во все стороны.
    3) Сделайте возможность динамически добавлять объекты на холст, сначала определите базовый объект, например прямоугольник или линию. Легче на этом моменте сразу определить интерфейс IShape, таким образом дальше будет легче унифицировать все объекты при добавлении их на холст, да и холст ничего не должен знать об этих объектах, только об интерфейсе.
    4) Сделайте drag&drop добавленных объектов, чтобы их можно было тащить.
    5) Добавьте зум, это не простой шаг, тут нужно многое учитывать, особенно часто на этой задаче ломается позиционирование drag&drop объектов.
    6) Сделайте трансформатор объектов, который будет изменять их размер (для прямоугольников и.т.д.), менять точки (для линий), вращать и.т.д.
    7) Сделайте редактор свойств, через который будете назначать атрибуты вашим объектам, такие как цвет заливки, цвет рамки, ширина рамки, непрозрачность и.т.д.
    8) Добавляйте потихоньку различные объекты. Можете подглядывать в другие редакторы, например inkscape.
    9) Реализуйте сохранение и загрузку холста. Тут лучше не изобретать свой формат данных, а использовать открытый, например svg.
    10) Буфер обмена. Тут либо свой формат в бинарник, либо тот же самый svg в текстовом виде (что куда лучше, так сделано в фигме).
    11) Отменить/вернуть - важная штука, и на первый взгляд простая. Но простая она только в том случае, если запоминать шаги путем снимка всех текущих объектов, но этот способ плохой. По нормальному нужно при любой операции над объектами на холсте делать снимок изменений. Например подвинули кубик на 10px влево, и записали в память значение
    { id: 'id кубика', x: -10 }
    и потом при нажатии отмена, будете просто делать обратную операцию, добавлять эти 10px. Тут у вас возникнут сложность с операцией "возврат", но думаю, если вы дошли до этого шага, упорство у вас уже есть. Пригодятся паттерны: command и memento
    12) Ну, тут уже по мелочи, различные киллер фичи, новые объекты, свойства, различные меню и.т.д.
    Ответ написан
    1 комментарий
  • Прграмные реализации методов/алгоритмов многомерной интерполяции по нерегулярной сетке?

    LaRN
    @LaRN
    Senior Developer
    Вот тут реализация на Python.
    https://github.com/bsmurphy/PyKrige

    А вот по такому запросу находиться на c++
    kriging interpolation c++
    Ответ написан
    1 комментарий
  • Node js асинхронность при вызове функции, как?

    rockon404
    @rockon404
    Frontend Developer
    Я немного не понимаю как Node js, функцию сделать асинхронной?

    Вариант 1:
    const asyncFn = () => new Promise((resolve, reject) => {
      // do some async call and resolve or reject
    });


    Пример:
    const delay = duration => new Promise(res => setTimeout(res, duration));
    
    delay(200).then(() => {
      // do something after delay
    });


    Вариант 2:
    const asyncFn = async () => {
      // do something with awaiting async call result or not
      // and return result or not
    });


    Пример:
    const getSomeData = async () => {
      const result = await someAsyncCall();
      return someOtherAsyncCall(result);
    };


    Вариант 3:
    const asyncFn = cb => {
      // do some async call and call cb
    }


    Пример:
    const delay = (duration, cb) => setTimeout(cb, duration));
    
    delay(200, () => {
      // do something after delay
    });


    Во всех вариантах вам придется использовать коде какой-либо встроенный асинхронный вызов, таймер или стороннюю библиотеку.

    как определить функция которую вызываю она синхронная или асинхронная ?

    Обычно такая функция возвращает Promise или принимает колбек.

    Почитать:
    Методы асинхронного программирования
    Понимание асинхронного программирования
    Ответ написан
  • Как получать данные со стороннего сайта имея API?

    wppanda5
    @wppanda5 Куратор тега WordPress
    WordPress Mедведь
    В документации к АPI которое вы собираетесь использовать все есть. Универсального рецепта нет
    Ответ написан
    Комментировать
  • Стоит ли делать супер-навороченный персональный сайт-портфолио?

    Robur
    @Robur
    Знаю больше чем это необходимо
    Вообще сайта нет, без работы не сижу и дня, выбирать приходится. Иногда хочется сделать хотя бы одностраничник - но возникает вопрос "зачем?" на который нет ответа и сайт так и остается в планах. Все закончилось покупкой домена годы назад.

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

    Если цель - больше заказов, то, мое непроверенное на себе имхо - сайт-одностраничник сделанный по делу с парой оригинальных фишек для привлечения внимания оптимален. Это дизайнерам нужен вау-эффект, фронтэндеру нужен эффект "серьезный человек, большой опыт, сделает быстро, четко и качественно".
    Ответ написан
    2 комментария
  • Как лучше организовать рабочее окружение для веб разработчика?

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

    Если хотите серьезно в разработку - переезжайте на linux/mac. Все можно делать и на винде, но в какой-то момент станет жалко времени на постоянное решение мелких и не очень проблем. Да и держать в голове две системы на хорошем уровне понимания незачем, есть и более полезные навыки которыми можно это место занять.
    Ответ написан
    Комментировать
  • Как сделать такой бэкграунд футеру?

    Robur
    @Robur
    Знаю больше чем это необходимо
    Вам кажется. Период массовых отказов от картинок в пользу новых и молодежных возможностей CSS давно прошел, если картинка маленькая и удобная - почему нет? Вряд ли она у вас займет половину трафика страницы.
    Ответ написан
    3 комментария
  • Как принимать https запросы на node, поверх nginx?

    @Mysterion
    Если в качестве прокси-сервера выступает nginx, а nodejs за ним спрятан, то для nodejs сертификат не нужен.
    Просто в конфиге nginx для нужного локейшена добавить:
    proxy_pass http://127.0.0.1:3000;
    Ответ написан
    3 комментария
  • Как настроить node в паре с nginx?

    nginx (443) -> node(3000)
    собственно от такой схемы Вам проще будет искать инфо
    потом переходим сюда
    и берем первую ссылку
    после этого жизнь налаживается и решение находится просто влет :)
    Ответ написан
    Комментировать
  • Как оптимизировать подгрузку содержимого?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Если пользователи так много "крутят" колесо мыши, то может лучше сделать нормальный поиск по комментариям? Или фильтр с гибкими условиями. Тогда будут меньше крутить, и миллион сократится до 100 штук внезапно.

    В общем случае надо понять, из-за чего фризы. И это место оптимизировать. Может быть, у вас просто памяти не хватает, и своп начинается. Или у вас каждую секунду происходит перебор всех комментариев (зачем-то, это пример).

    То есть надо понять, в каком месте у вас сложность алгоритма O(N) или не дай бог O(N2).
    Ответ написан
    Комментировать