• Как правильно сделать привязку к this в react?

    lastuniverse
    @lastuniverse
    Очень странно что реакт так себя ведет, поскольку нативный js уже давно позволяет определять методы класса как method(...){...}
  • Как настроить материал в программе Блендер?

    lastuniverse
    @lastuniverse
    Эдвин Петрович, ну так наличие uv развертки подразумевалась изначально)))
  • Как заполнить пустой массив со своими значениями?

    lastuniverse
    @lastuniverse
    прочитаете про:
    циклы - https://learn.javascript.ru/while-for#propusk-chas...
    массивы - https://learn.javascript.ru/array

    и решение вашего вопроса придет к вам само.
  • Как настроить материал в программе Блендер?

    lastuniverse
    @lastuniverse
    Эдвин Петрович, я если честно вообще не пойму почему меня предложило в качестве эксперта по блендеру. У меня на теге блендер от силы пару ответов есть))))
  • Как сделать локализацию бота?

    lastuniverse
    @lastuniverse
    хорошие варианты, но мой мне нравится больше))))
    хотя должен признать, что мой этого (https://www.projectfluent.org/) не умеет.
  • Как настроить материал в программе Блендер?

    lastuniverse
    @lastuniverse
    Эдвин Петрович, воспроизвел)))
    итак:

    1. берем 4 шпалы
    2. настраиваем материал (один на все 4 шпалы). Сам материал и привязку текстуры для примера я сделал по простому
    5f8c2544cb8ce956884553.png
    3. накладываем на шпалы этот материал (один и тот же на все)
    4. на каждой шпале отсоединяем наложенный материал, делая его самостоятельным, и для каждого выбираем свои текстуры
    смотри картинки

    5f8c2a98e5255482127240.png

    5f8c2aa3079cd142924560.png

    5f8c2ab46430e828436948.png

    5f8c2ac02d556204892565.png

    5f8c2acccfac0501187711.png


    5. в конечном итоге должно получится так5f8c2b065f4e4845238793.png

    6. теперь выделяем наши шпалы и жмем ctrl+j
    результат будет такой
    5f8c2b3731466432505453.png
  • Как настроить материал в программе Блендер?

    lastuniverse
    @lastuniverse
    Эдвин Петрович, стыдно признаться, тоже установил себе блендер с последней модификацией интерфейса и как оказалось, в нем я уже не могу добавить текстуру к материалу так как я это делал раньше. Поэтому примера не будет, пока не разберусь с новым интерфейсом.
  • API для мессенджера, REST + WS или чистый WebSocket?

    lastuniverse
    @lastuniverse
    упаковал готовый сервис со смешанным API в электрон и получил "нативные" приложения для разных операционок?
    С остальным согласен)
  • Как сделать хотспоты на 360 слайдере?

    lastuniverse
    @lastuniverse
    скинь свой код слайдера в песочницу (jsfiddle или codepen) глянем, может даже подскажем.
  • Как упростить код?

    lastuniverse
    @lastuniverse
    Reactive Extensions это же древность древняя, я уже забыть успел как с этим работать)
    Поддерживаете какой то винтажный проект?
  • Как запретить кеширование данных, полученных через API?

    lastuniverse
    @lastuniverse
    N, просто выставлять цену на блк с учетом кеширования (подороже)
  • Как запретить кеширование данных, полученных через API?

    lastuniverse
    @lastuniverse
    N, любые манипуляции на стороне сервера не пресекут возможность получить и сохранить информацию.

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

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

    Остается только продавать инфу за такую цену, чтобы ее кеширование и перепродажа не несла убытков. А это плохо, не каждый купит. Ну еще можно продовать инфу блоками (заплатил - купил новый блок инфы). Другого на ум не приходит.
  • Как запретить кеширование данных, полученных через API?

    lastuniverse
    @lastuniverse
    НО, мне нужно знать, сколько было запросов через эти методы...
    А, если эти методы кэшировать будет тот партнёр...то я теряю выгоду...
    Так ясно?))


    Да я понял подноготную проблемы. Описал выше один из вариантов. На второй уже сил нет. Он еще веселее)))
  • Как запретить кеширование данных, полученных через API?

    lastuniverse
    @lastuniverse
    N, ок, тогда так. Главный затык, по сути это п.9 и п.13. Все остальное реализуемо посредством API.
    Полноценных вариантов не вижу, но есть пару полумер, позволяющих затруднить п.9.
    первый вариант
    Вы делаете не только API но и некоторую встраиваемую в браузер библиотеку, которая будет являтся программным интерфейсом к вашему API, так же данная библиотека должна иметь функционал для заполнения нужной информацией указанный блок/блоки. Тоесть по запросу к API через нее она не выдает json (или любой другой формат) с данными, а самостоятельно эти данные вносит в указанных создателем партнерского сайта блок/блоки. При этом библиотека должна пройти жесткую обфускацию для того чтобы максимально затруднить реверсинженеринг. API сервиса, для того чтобы затруднить перехват информации на стадии доставки до клиента с помощью сниферов должно передавать данные в зашифрованном виде а библиотека должна обеспечивать дешифровку этих данных.
    API сервиса, для того чтобы затруднить определение своих роутеров, должно обеспечивать некоторое маскирование роутеров (например все запросы идут не на https://site/authors/get а на некий, одноразовый https://site/jdhf74cbfd7fwfue4) Это достигается следующим образом: клиентская библиотека должна загружаться с вашего сервиса, и при этом при каждой загрузке в нее встраивается временная информация о уникальных, временных псевдонимах вида https://site/jdhf74cbfd7fwfue4 для каждого роутера вашего сервиса, на само же сервисе временно создаются роутеры, соответствующие псевдонимам. Данную механику проще организовать на WS нежели на http.
    Все эти меры в совокупности серьезно затруднят реверс инженеринг библиотеки и исследование структуры роутеров вашего сервиса, тем самым максимально затруднят написание автоматизированной системы выкачивания данных из вашего сервиса.

    Пример использования такой библиотеки на клиенте[сайт партнера] (достаточно убогий, призванный лишь продемонстрировать подход)

    Пусть serviceAPI - это данная библиотека
    Пусть serviceAPI.getData(source, targets); - метод, получающий данные от API сервиса

    например мы хотим получить список авторов который приходит в виде json следующего содержания (данный json не попадает в доступ к партнеру, но его структура описана и ему известна)
    {
      head: "текст заголовка",
      list: [ // массив с данными авторов
         {name: "Дем Михайлов", info: "какаято инфа",  id: "id автора"},
         {name: "Дем Михайлов", info: "какаято инфа",  id: "id автора"},
      ],
      footer: "текст под списком",
    }


    тогда используем либу как то так

    const authors = serviceAPI.getData("authors");
    
    authors.insert("head", "id блока в который засунуть инфу");
    authors.foreach("list", (item)=>{
      // тут партнер создает блоки для размещения инфы об очередном авторе и заполняет их
      item.insert("name", "id блока для имени");
      item.insert("info", "id блока для инфы");
      item.link("id", "id блока для создания ссылки");
    });


    то есть объекты типа authors и item содержат методы:
    .insert("наименование ключа", "id блока для вставки данных из данного ключа");
    .foreach("наименование ключа", (item)=>{
    // функция получающая для каждой записи из массива "наименование ключа" объект item, имеющий те же методы что и authors а так же доступ к полям/ключам текущего автора/или чего еще
    });
    .link("наименование ключа", "id блока для создания ссылки");


    все эти методы весьма условны и плохо прдуманы (а как же react, angular и vue), просто демонстрация подхода.
    Основная их цель не дать партнеру доступа к данным, но при этом позволить разместить эти данные на странице в подготовленных партнером блоках (div-ах).

    таким образом, партнер не имеет прямого доступа к информации, но может размещать ее на своем сайте, оформляя блоки так как ему нравится

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

    lastuniverse
    @lastuniverse
    N,
    3. ваш сервис содержит собственный вэб интерфейс для предоставления этих данных

    Имеется виду что помимо API вы содержите и сайт с интерфейсом для доступа к данным через браузер
  • Как запретить кеширование данных, полученных через API?

    lastuniverse
    @lastuniverse
    и вот еще
    13. партнер в праве кэшировать у себя списковую информацию и предоставлять ссылки на нее на свой сервис
    14. партнер в праве кэшировать у себя файловую информацию и предоставлять ссылки на нее на свой сервис
  • Как запретить кеширование данных, полученных через API?

    lastuniverse
    @lastuniverse
    Ну смотри...
    Я дал тебе API...
    А какие там у тебя пользователи - мне не интересно...))
    Понимаешь?)

    Ты имеешь отношения со мной.
    А твои пользователи - с тобой.

    И мне хотелось побеспокоится о ТВОИХ пользователях в конечном итоге, если в идеале...


    N, так, давай иначе, я перечислю требования как я их понял, ты проставишь для них да нет.

    1. сервис содержит API выдающее некую информацию
    2. информация хранится на сервисе в виде данных в БД и файлов
    3. ваш сервис содержит собственный вэб интерфейс для предоставления этих данных
    4. партнеры должны посредством API получать данные и ссылки на файлы, которыми могут делится через свои сайты
    5. каждый партнер полностью свободен в реализации своего сайта
    6. ссылки, которые предоставляют партнеры третьим лицам должны вести на сайт партнера
    7. ссылки, которые предоставляют партнеры третьим лицам должны вести на ваш сайт
    8. при этом ссылки не должны препятствовать SEO
    9. при этом вы хотите максимально затруднить автоматизированное создание копии предоставляемой информации для партнеров
    10. при этом вы хотите максимально затруднить ручное создание копии предоставляемой информации для партнеров
    11. при этом вы хотите максимально затруднить автоматизированное создание копии предоставляемой информации для третьих лиц
    12. при этом вы хотите максимально затруднить ручное создание копии предоставляемой информации для третьих лиц

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

    lastuniverse
    @lastuniverse
    если копаться по сайтам могут только зарегистрированные а делится можно вообще с любыми то у зареганных показывает список чего либо и у каждого пункта есть кнопка [поделится] по нажатию которой генерится разовая ссылка вида https://domain.blabla/hash/7cxc8212x3n872cx
  • Как запретить кеширование данных, полученных через API?

    lastuniverse
    @lastuniverse
    N, зависит от того, идет речь о зарегистрированных пользователях или о вообще любых пользователях
  • Как запретить кеширование данных, полученных через API?

    lastuniverse
    @lastuniverse
    N, и все способы защиты которые я могу предложить напрочь убьют SEO