Size: a a a

JavaScript — русскоговорящее сообщество

2020 December 09

DS

Dmytro Svyrydenko in JavaScript — русскоговорящее сообщество
Vlad
можно через serve консольную утилиту поднимать
Не очень понял в чем смысл этого пакета для моего случая)
источник

V

Vlad in JavaScript — русскоговорящее сообщество
Dmytro Svyrydenko
Не очень понял в чем смысл этого пакета для моего случая)
значит я не понял твой случай
источник

SS

Sergiy Shatunov in JavaScript — русскоговорящее сообщество
Dmytro Svyrydenko
У меня заказчик хочет делать рассчеты в Qlik Sense (не уверен что знаешь, но просто дал вводную) с 10+ миллионами данных на машине с 8Гб оперативы и 4х ядерном проце на 2.6 ггрц (при этом с запущенной рядом нодой и windows-server)
В итоге весь бекенд обсасывает рассчеты секунд 20-30, а заказчик хочет за 1-2

Заказчик долбоеб, увы и ах, но как-то проект из дна доставать нужно
можно в нескольких словах пояснить что такое Qlik Sense?
источник

DS

Dmytro Svyrydenko in JavaScript — русскоговорящее сообщество
Vlad
значит я не понял твой случай
Есть рантайм бандл, нужно его на чанки разбить чтоб клиент грузил не огромный файл, а только нужную часть
Пока что смотрю в сторону нескольких entry points react app и отдавать только тот код, который нужен на странице
источник

SS

Sergiy Shatunov in JavaScript — русскоговорящее сообщество
Dmytro Svyrydenko
Есть рантайм бандл, нужно его на чанки разбить чтоб клиент грузил не огромный файл, а только нужную часть
Пока что смотрю в сторону нескольких entry points react app и отдавать только тот код, который нужен на странице
я тут внезапно подумал в сторону вебсокета
источник

DS

Dmytro Svyrydenko in JavaScript — русскоговорящее сообщество
Sergiy Shatunov
можно в нескольких словах пояснить что такое Qlik Sense?
Тулза для рассчетов и аналитики больших объемов данных
Может выступать в роли бекенда (как у меня) и отдавать данные, либо как независимое приложение
источник

V

Vlad in JavaScript — русскоговорящее сообщество
Dmytro Svyrydenko
Есть рантайм бандл, нужно его на чанки разбить чтоб клиент грузил не огромный файл, а только нужную часть
Пока что смотрю в сторону нескольких entry points react app и отдавать только тот код, который нужен на странице
а, тоесть на каждый запрос собирать сборку? Твой заказчик долбаеб
источник

V

Vlad in JavaScript — русскоговорящее сообщество
пусть лучше объяснит в чем проблема сервить файлы
источник

SS

Sergiy Shatunov in JavaScript — русскоговорящее сообщество
Vlad
а, тоесть на каждый запрос собирать сборку? Твой заказчик долбаеб
вдруг можно запилить меморизацию и кеширование
источник

DS

Dmytro Svyrydenko in JavaScript — русскоговорящее сообщество
Vlad
а, тоесть на каждый запрос собирать сборку? Твой заказчик долбаеб
Та не, всм
Он хочет на сервере поднять инстанс реакт-апп и просто дать ссылку на него
Статик-файлы хранить не хочет (хер знает почему, у меня тут цепочка из 5 йоба-менеджеров)
источник

DS

Dmytro Svyrydenko in JavaScript — русскоговорящее сообщество
Считай как в реакте обычно делает npm start и запускается webpack-dev-server, только то же самое на сервере будет
И никакой статики
источник

SS

Sergiy Shatunov in JavaScript — русскоговорящее сообщество
код хранить в БД это нормально, вот только каким алгоритмов разбивать его на фрагменты?
источник

DS

Dmytro Svyrydenko in JavaScript — русскоговорящее сообщество
Sergiy Shatunov
код хранить в БД это нормально, вот только каким алгоритмов разбивать его на фрагменты?
Тебя явно куда-то занесло)
источник

EA

Evgeny Abramov in JavaScript — русскоговорящее сообщество
Ребят, подскажите как правильно сделать проверку maxDistance чтоб код  также не превышал сложность O(n):

function findWordDistance(text, wordA, wordB) {
   let words = text.split(' '),
   wordAIndex = null,
    wordBIndex = null,
    minDinstance = null,
    maxDistance = null;
   
   for (let i = 0, length = words.length; i < length; i++ ) {
     if (words[i] === wordA) {
       wordAIndex = i;
     
     }
     
     if (words[i] === wordB) {
       wordBIndex = i;
     }
 
     if ( wordAIndex !== null && wordBIndex !== null ) {
       let distance = Math.abs(wordAIndex - wordBIndex);
       if (minDinstance === null || minDinstance > distance) {
         minDinstance = distance;
       } else if (maxDistance === null || maxDistance < distance) {
           maxDistance = distance;
       }
     }
   }
   return [minDinstance, maxDistance];
 }

findWordDistance('one asd two dd aaa ddd dd dd dd ddd two ddd ff ggg fff asd one', 'one', 'two');


ошибка в том что maxDistance должен быть 14 а не 10...
источник

SS

Sergiy Shatunov in JavaScript — русскоговорящее сообщество
Dmytro Svyrydenko
Тебя явно куда-то занесло)
твой заказчик хочет странного, и я пытаюсь осознать его мотивы
источник

MB

Maxim Belousov in JavaScript — русскоговорящее сообщество
Maxim Belousov
Приветствую коллеги. Подсобите с fetch запросами.

Просто не могу понять как эта шайтан машина работает.

если делать запрос через curl

curl -H 'Authorization:Basic BASE64_string' --url 'http://exemple.net/?query=string' --verbose

То все норм, получаю ответ с сервера. В заголовках Access-Control-Allow-Origin: *

То есть, сервер не должен ругаться на запросы с любого ресурса. Но если я посылаю fetch запрос через страницу, то он ругается что сервер не доступен.

let response = fetch(url, {
     method: 'GET',
     mode: 'cors',
     headers: {
       'Authorization': 'Basic ************'
     }
   });
   
   console.log(response.text)

Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.

Но сервер отдает Access-Control-Allow-Origin: *
Не понимаю как это работает. Если поменять  на mode: 'no-cors' то получаю 504 ошибку
В принципе fetch запрос правильный? Если, да, то пойду с серваком разбираться.

Просто очень уж не хочется оставлять прослойку из php который будет просто трансфером между сервером и js
Возвращаюсь к своим баранам.

Написал запрос на node, он тоже работает ок, данные получает. То есть получается, что web-server и api-server друг-друга понимают, а вот через клиента напрямую направить запрос к api никак 😔 видимо, клиент при запросе отправляет свой ip (компа, а не сайта)

Где-нибудь можно почитать какие данные отправляет браузер при http запросе?

Думал через клиент все сделать, но, видимо, придется все же писать какую-то прослойку для общения клиент - сервер - апи
источник

DS

Dmytro Svyrydenko in JavaScript — русскоговорящее сообщество
Sergiy Shatunov
твой заказчик хочет странного, и я пытаюсь осознать его мотивы
Скорее-всего он хочет в рантайме какие-то переменные прокидывать дополнительно
Я вот честно хз
У меня только есть говно-приложение, которое при 15Мбит/с грузится секунд 12-15 и мне это нужно оптимизировать
источник

SS

Sergiy Shatunov in JavaScript — русскоговорящее сообщество
Dmytro Svyrydenko
Скорее-всего он хочет в рантайме какие-то переменные прокидывать дополнительно
Я вот честно хз
У меня только есть говно-приложение, которое при 15Мбит/с грузится секунд 12-15 и мне это нужно оптимизировать
я пытался практиковаться в modx, так там шаблонизация и разбиение на фрагменты, есть предположение что от тебя требуется обеспечить аналогичное поведение
источник

SS

Sergiy Shatunov in JavaScript — русскоговорящее сообщество
Maxim Belousov
Возвращаюсь к своим баранам.

Написал запрос на node, он тоже работает ок, данные получает. То есть получается, что web-server и api-server друг-друга понимают, а вот через клиента напрямую направить запрос к api никак 😔 видимо, клиент при запросе отправляет свой ip (компа, а не сайта)

Где-нибудь можно почитать какие данные отправляет браузер при http запросе?

Думал через клиент все сделать, но, видимо, придется все же писать какую-то прослойку для общения клиент - сервер - апи
нажми F12 и выбери вкладку "network" или "xhr"
источник

КН

Котяй Негодяй... in JavaScript — русскоговорящее сообщество
Кто-нить знает готовое решение для обхода нормализованного дерева вот такого типа?

type Tree = { [key: string]: Node }
type Node = {
 key: string
 parentKey?: string
}
источник