• Как лучше организовать поиск сотрудников?

    Mike_Ro
    @Mike_Ro Куратор тега JavaScript
    Python, JS, WordPress, SEO, Bots, Adversting
    Подскажите, как лучше организовать поиск сотрудников, если их больше 2000, делать один запрос к API и получать сразу всех из БД(mysql) и среди них искать нужного или каждый раз делать поиск конкретного пользователя?

    Если данные сотрудников не изменяются и часто необходимо итерироваться по массиву с объектами всех сотрудников, то имеет смысл единоразово получить с бэка весь массив и сохранить его в store для дальнейшего взаимодействия с ним. В ином случае, лучше запрашивать данные с бэка о конкретном сотруднике.

    Вернуть объект сотрудника, id которого равно 2:
    employees

    const employees = [
        {
            "id": 1,
            "name": "Leanne Graham",
            "username": "Bret",
            "email": "Sincere@april.biz",
            "address": {
                "street": "Kulas Light",
                "suite": "Apt. 556",
                "city": "Gwenborough",
                "zipcode": "92998-3874",
                "geo": {
                    "lat": "-37.3159",
                    "lng": "81.1496"
                }
            },
            "phone": "1-770-736-8031 x56442",
            "website": "hildegard.org",
            "company": {
                "name": "Romaguera-Crona",
                "catchPhrase": "Multi-layered client-server neural-net",
                "bs": "harness real-time e-markets"
            }
        },
        {
            "id": 2,
            "name": "Ervin Howell",
            "username": "Antonette",
            "email": "Shanna@melissa.tv",
            "address": {
                "street": "Victor Plains",
                "suite": "Suite 879",
                "city": "Wisokyburgh",
                "zipcode": "90566-7771",
                "geo": {
                    "lat": "-43.9509",
                    "lng": "-34.4618"
                }
            },
            "phone": "010-692-6593 x09125",
            "website": "anastasia.net",
            "company": {
                "name": "Deckow-Crist",
                "catchPhrase": "Proactive didactic contingency",
                "bs": "synergize scalable supply-chains"
            }
        },
    ]


    const employee = employees.find(emp => emp.id === 2);
    Ответ написан
    Комментировать
  • Как скачать шрифт из онлайн Figma?

    lukoie
    @lukoie
    В браузерной фигме Ф12 жмите, и там будет шрифт. Он же отображается в браузере. Значит скачивается на локалхост. Вот и берите оттуда.
    Ответ написан
    Комментировать
  • Как решить проблему с загрузкой через Composer на OpenServer?

    @Kripto77 Автор вопроса
    Проблема все-таки оказалась в Касперском 19.

    В основном списке composer.bat в Доверенных.

    Пришлось добавить дополнительно в
    Настройки - Дополнительно - Угрозы и исключения - Указать доверенные программы - composer.bat - Не наследовать ограничения родительского процесса (программы)
    Ответ написан
    Комментировать
  • Как выложить сайт на хостинг на js?

    Noizefan
    @Noizefan
    ngrok.com, тебе не нужна впска пока учишься и чисто потыкать хочешь.
    ну или если денег не жалко то да возьми серв на линухе и домен
    Ответ написан
    Комментировать
  • Как выложить сайт на хостинг на js?

    @Israfil22
    Вам нужен выделенный сервер: VPD/VDS.
    Из самых дешевых, для 'попробовать' - firstvds.ru. Рекомендую его не первый раз. Цен ниже с качественным обслуживанием вряд ли найдете.
    Либо если это тестовый нетяжелый проект, попробуйте Heroku.
    Ответ написан
    2 комментария
  • Как сделать фильтрацию элементов по дням?

    vmakhnyuk
    @vmakhnyuk
    Frontend developer
    вы можете воспользоваться библиотекой date-fns. А именно методами:


    Реализация
    const lastBusinessWeekStart = subBusinessDays(new Date(), 7);
    const lastBusinessMonthStart = subBusinessDays(new Date(), 30);
    // фильтр неделя:
    test.filter(({ date }) => isWithinInterval(
      new Date(date),
      { start: lastBusinessWeekStart, end: new Date() }
    ));
    
    //фильтр месяц:
    test.filter(({ date }) => isWithinInterval(
      new Date(date),
      { start: lastBusinessMonthStart, end: new Date() }
    ));
    Ответ написан
    Комментировать
  • Как убрать данную подсказку в Sublime Text 3?

    @dzhebrak
    Preferences -> Package Settings -> Emmet -> Settings

    В блоке справа (где настройки пользователя) добавьте "abbreviation_preview": false
    {
    	"abbreviation_preview": false,
    }
    Ответ написан
    Комментировать
  • Как написать функцию шифрования методом подстановки encode?

    @AbramovKS
    function encode(text, openAlph, secureAlph) {
        let result = ""
        text = text.split("") //превращаем строку в массив
         text.forEach(char => { //бежим по массиву
            let upper = false
            if(char != char.toLowerCase()){ //превращаем в строчную и запоминаем
                upper = true
                char = char.toLowerCase()
            }
            
            if(char.match(/^[A-Za-z]$/)){ 
                let oIndex = openAlph.indexOf(char) //индекс в открытом алфавите алфавите
                if( oIndex == -1){ //если индекс не нашелся
                    throw new Error('Не найден символ "'+char+'" в открытом алфавите'); 
                } 
                if( !secureAlph[oIndex] ){
                    throw new Error('Не найден индекс "'+oIndex+'" в закрытом алфавите'); 
                }
                char = secureAlph[oIndex] //по индексу берем букву в закрытом алфавите 
            } 
            if(upper){
                char = char.toUpperCase()
            }
            result += char
         }); 
      return result;
    }
    Ответ написан
    1 комментарий
  • Как проверить элементы массива делятся на отрицательное число или нет?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    sign = Math.sign(number)
    abs = Math.abs(number)
    for (let i = 0; i <= abs; i += 3) {
      three.push(i * sign)
    }
    for (let i = 0; i <= abs; i += 5) {
      five.push(i * sign)
    }

    Или так:
    const step3 = number < 0 ? -3 : 3
    const three = Array.from(Array(Math.floor(number / step3) + 1), (_, x) => x * step3)
    const step5 = number < 0 ? -5 : 5
    const five = Array.from(Array(Math.floor(number / step5) + 1), (_, x) => x * step5)
    Ответ написан
    1 комментарий