Задать вопрос
  • Как с помощью JavaScript можно определить скорость интернета пользователя?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Может лучше протестировать скорость обработки WebGL ?
    Объём данных то - не особо различается в обычном и в 3D-формате.
    Поэтому, скорость канала - здесь не самая критическая и определяющая величина.
    Более важно: сможет ли он эту красоту увидеть так, как Вы задумывали?!

    А в плане упаковки - можно ещё доставить на клиент в виде zip-архива, а там - распаковать: всё это на JS делается.
    Ответ написан
  • Apache: как "отдавать" файл только уникальным пользователям?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Включить кэширование контента или использовать CDN.
    Ответ написан
    3 комментария
  • Поможет ли моем случает multi_curl улучить быстродействие и какие есть пути оптимизации парсинга?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Уважаемые знатоки, а какие еще методы оптимизации быстродействия можно провести?

    1. Можно оптимизировать парсинг для бэкграунд режима на основе предсказания. Т.е. если запросили товар с определёнными характеристиками, то все линки с этим товаром для всех магазинов - ставим в приоритет!

    2. Используйте круговую очерёдность доменов (round-robin) при обработке урлов из очереди, чтобы увеличить интервалы между запросами к одному сайту и тем самым, уменьшить риск бана.

    3. Создайте API для своего сервиса, к которому будут подключаться клиенты, а в клиентах - сделайте возможность получения информации о товарных предложениях с других сайтов минуя Ваш сервер (только это укажите явно!). Т.е., превратите клиентов в прайс-консолидаторы. Таким образом, Вы распределите нагрузку парсинга среди клиентов. А когда клиенты будут собирать информацию по конкретному товару сразу с нескольких URL - пусть автоматически отсылается информация через API на ваш сервер.

    4. (всё нижеописанное - для одного домена, который необходимо парсить!)
    Периодичность парсинга для конкретного магазина - зависит только от ширины вашего канала, вычислительных мощностей на вашей стороне и соблюдения АДЕКВАТНОГО интервала между последовательными запросами к этому (одному) магазину. Т.е. при "round-robin" следите, чтобы запросы были не чаще, чем раз в 5-10 минут.

    Или можно просто чередовать "пакет"/"период":
    "пакет": 100 запросов с периодом 2 минуты и пауза 3 часа,
    "период": 100 запросов на протяжении 3-х часов, и снова "пакет",
    и т.д. по-кругу (или в случайной последовательности).
    Ответ написан
    Комментировать
  • Как отпарсить сайт на PHP с авторизацией и отправлять уведомления?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Как считаете, уважаемые?
    Спамить нехорошо!
    Двигайтесь в сторону этого.
    Ответ написан
  • Как правильно настроить вывод статей из БД?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    clear:both;
    float:left;
    display:inline-block;
    Ответ написан
  • Какая книга по php является самой полной?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Ответ написан
    Комментировать
  • Three.js как использовать физику?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Раньше думал, что это мега сложно, но это обычный js. )
    Рад, что Вы, зная язык кода фреймворка, сразу можете определять сложность разработки на этом фреймворке.

    Ответ на вопрос: знание архитектуры фреймворка, API и всех форматов данных, которыми он может манипулировать.
    Технологии: Web
    Средства достижения знаний: Документация, понимание, практика.
    Ответ написан
    6 комментариев
  • Есть ли смысл подписывать REST API запросы?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    1. Сервер создаёт (генерирует случайно) при регистрации пользователя REST-token и затем, постоянно хранит в своей базе данных связку REST-token'а с клиентом (1-к-1): clientID => REST-token
    2. REST-token - сервер передаёт клиенту через E-MAIL или SMS сразу после регистрации и просит ввести выданный код в поле, находящееся внутри запущенного приложения.
    Или же, активировать переходом по ссылке, если это - web-приложение в браузере, открываемое по линку (а не stand-alone, запускаемое с ярлыка мобильного интерфейса).
    3. Клиент подписывает каждый запрос к серверу этим токеном.

    REST-token - клиент никогда не передаёт!

    4. Сервер при поступлении запроса от клиента - подписывает все данные запроса токеном того же клиента на своей стороне.
    5. Сервер сразу же сверяет: если подписи совпадают - запрос принимается к исполнению.

    Для предотвращения подбора ключа REST-token - вводится случайно-генерируемая переменная в перечень полезных параметров при запросах к API: r,rand,random и т.д.
    Ответ написан
    Комментировать
  • Что то по лучше чем TimeTracker в Upwork?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Ответ написан
    Комментировать
  • Font-size можно сделать автоматическим?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    1. fittextjs.com
    2. https://github.com/freqdec/slabText
    3. ещё на css: font-size:calc(20px - 3vw); и подобные вещи...
    Ответ написан
    Комментировать
  • Возможно ли реализовать такое приложение?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Los-clientes-hablan-en-%E2%80%9Cpositivo
    1. Составляем список получаемых критериев для каждого из отзывов (т.е., для одного).
    2. Делаем морфологический разбор по сущностям и их взаимосвязям для каждого из отзывов.
    3. Анализируем полученное дерево связей для каждого из отзывов.
    4. Получаем коэффициенты интересующих нас критериев.
    5. По совокупности весов (или на основе своего заранее подготовленного (НС) "дерева" весов) различных критериев для каждого из отзывов - определяем вес нашего целевого критерия (совокупного) для каждого конкретного отзыва.
    6. Делаем сортировку по убыванию всех целевых весов в соответствии с отзывами и выводим максимальный или их кластеры в процентном соотношении (для визуального сравнения).
    7. Profit! и (ещё раз) Profit!
    Ответ написан
    Комментировать
  • Какой 3D редактор самый простой?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Проще - это сделать через искажения проекции в 2D-редакторе.
    Ответ написан
    Комментировать
  • Как создать хорошее портфолио на позицию верстальщика?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    ...и какие технологии лучше использовать?
    лучше используйте нестандартный подход, красивый анимированный ("живой") интерфейс, режим шаблона SPA. (html5+валидная по w3c - это само собой!)
    Ответ написан
    Комментировать
  • Какие варианты монетизации различных сайтов вы встречали?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Google: Перепродажа востребованного контента (рекламы/приложений/статей/и т.д.), продажа доступа к API с различными условиями.
    Ответ написан
    Комментировать
  • Как вы обрабатываете нестандарные порты при разработке JS приложений?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    роутинг заранее прописывается в настройках сервера.
    Ответ написан
    Комментировать
  • Как создать бота который будет описывать картинку на JS или PHP?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    НС - это фильтрация по признакам входных данных.
    Для картинки: это цвет основного центрального пикселя и цвета соседних (окружающих его) пикселей.
    Распознавание по-шагам:
    1. Находим уникальные области изображения (ограниченные прямоугольником или кругом), составляющие топологический "скелет" всего изображения.
    2. Находим максимальное сопоставление "скелетов" на эталонных и на распознаваемом изображении.
    3. Выполняем сравнение этих областей с эталонными в процентном соотношении с учётом корректности топологии: линий, процентов расстояний и углов направлений каждой уникальной области относительно другим уникальным областям одного изображения.
    4. Профит!
    Ответ написан
  • Что свидетельствует о том, что машина обучается, а не собирает новые данные и не сравнивает их с уже загруженными?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Обучение - установка "весов" в узлах нейросети по заранее заданным входным и выходным параметрам.

    Пример, обучения (ребёнка):
    Итерация1: показываем кубик (вход) -> говорим "это кубик" (выход)
    Действие НС: сравнивать пока не с чем - просто создаём узел: "кубик". (вес нейрона: 1.0)
    Итерация2: показываем шарик (вход) -> говорим "это шарик" (выход)
    Действие НС: сравнивается с кубиком: нейронами формируются отклонения визуального контура предмета на основе большой разницы визуальной и звуковой информации и, на основе полного несовпадения ни с какими предметами (похожесть узлов 1-го уровня), появляется новый "узел" в НС: "шарик". (вес нейрона: 1/[общее кол-во связей в пределах текущего узла]=1/2=0.5)
    Итерация3: показываем параллелепипед (брусок) (вход) -> говорим "это кирпичик, как кубик, только вытянутый" (выход)
    Действие НС: сравнивается с кубиком и шариком: нейронами сравниваются совокупности "весов" узлов кубика и шарика, определяется, что максимальное совпадение - это кубик, формируется разница признаков и снова появляется новая ветка от узла "кубик".

    Делаем сравнение: на сколько кирпичик отличается от остальных предметов?

    Допустим, результат сравнения на совпадение контурных линий и звуковой информации:
    1. кирпичик vs шарик: <50%
    2. кирпичик vs кубик: >=50%, (НО! СТРОГО МЕНЬШЕ 100%)
    Т.е., мы видим, что кирпичик - вовсе не шарик, а больше похож на "недокубик") и в связи с этим, строим новую ветку от узла "кубик".

    Было:
    1-й уровень (1=100%): 0.5(шарик), 0.5(кубик).
    Стало:
    1-й уровень (1=100%): шарик: 0.5, кубик: 0.5
    2-й уровень (0.5=100%): кирпичик: 0.5
    (3-й: 0.25=100% и т.д.)
    Сумма весов от любого из "узлов" 1-го уровня до любого "листа" в "дереве" - всегда равна единице!

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

    Сами связи - привязываем к времени с постепенным вычитание весов узлов дерева до нуля и получаем эффект забывания (или "высвобождения" узлов = памяти), если информация периодически не обновляется. При обновлении информации - обновляем всю ветку до листа максимальным весом: "повторенье - мать ученья".
    Ответ написан
    Комментировать