• Откуда ошибка Uncaught TypeError: Cannot read property 'addEventListener' of null?

    Stalker_RED
    @Stalker_RED
    Вероятно, код срабатывал до загрузки элемента id="inked-painted".
    Ответ написан
    4 комментария
  • Выбор фреймворка для нового проекта - Angular? React? Vue?

    Mamboking
    @Mamboking Автор вопроса
    Наверное самый мощный аргумент - GitLab использует vue.js - https://about.gitlab.com/2016/10/20/why-we-chose-vue/
    Ответ написан
    1 комментарий
  • Как отправляли запросы в JS до AJAX?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    До того как поддержка XMLHTTPRequest появилась во всех браузерах использовали скрытый ифрейм, в котором и выполнялись все запросы. Дешево и сердито ) Ну и куча асспейн в нагрузку )
    Ответ написан
    Комментировать
  • Как отправляли запросы в JS до AJAX?

    sim3x
    @sim3x
    Впервые термин AJAX был публично использован 18 февраля 2005 года в статье Джесси Джеймса Гарретта (Jesse James Garrett) «Новый подход к веб-приложениям»[4]. Гарретт придумал термин, когда ему пришлось как-то назвать новый набор технологий, предлагаемый им клиенту.

    Однако в той или иной форме многие технологии были доступны и использовались гораздо раньше, например в подходе «Remote Scripting», предложенном компанией Microsoft в 1998 году


    более новым способ - fetch.
    https://learn.javascript.ru/fetch
    Поддержка в браузерах пока не очень распространена


    Есть вебсокет для двустороннего взаимодействия
    Есть eventsourse для пуша сообщений с сервера

    Но пока аякса хватает всем
    Ответ написан
    5 комментариев
  • Как опубликовать Angular SPA приложение?

    KickeRocK
    @KickeRocK
    FrontFinish
    Drovosek01,
    м?
    или запрос "github pages angular deploy"
    Есть вероятность что без интернета оно будет так себе работать, а если с, то на гитхабе вполне прилично можно показать
    Ответ написан
    Комментировать
  • Как опубликовать Angular SPA приложение?

    @p1plop
    Для публикации Angular приложения необходимо, для начала этот проект собрать. Для этого необходимо выполнить команду ng build в консоли после чего в появившейся папке dist должна сохраниться сборка, которую вы уже можете опубликовать
    Ответ написан
    Комментировать
  • Как Telegram Desktop нормально работает из коробки без прокси?

    @grinat
    Читал что на телеграмм новые сервера приходят через пуши. Если сто серверов пришло, то прочекать успешные дело техники, те которые отвалились отправляем на сервер, т.к. у телеграмма amazon, то там чтобы новый ip получить, достаточно остановить и снова запустить инстанс, соответственно те которые отвалились просто перезапускаем.
    Ответ написан
    5 комментариев
  • Что такое CORS?

    @DrVolk
    Все ответы из серии лучше бы молчал... Смысл повторять то, что написано в википедии. Вам в вопросе человек явно указал - НА ПАЛЬЦАХ, а они ему про стандарты... Дали бы просто ссылку на MDN - там самая лучшая документация обо всём: https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS
    На русском тоже есть статьи: https://grishaev.me/cors

    Вот моя текущая проблема, объсняю на её примере:

    На нашем сервере (Сервер А) размещается Ангуляр приложение (DAPP), представляющее собой интерфейс к Ethernet смарт-контракту, который грубо говоря является нашим бэкендом.

    На стороннем сервисе (Сервер Б) запущен http-интерфейс для доступа к нашему контракту (фактически это шлюз в сеть Ethereum). Это бесплатный сервис, к которому у нас нет доступа (Infura).

    Мне нужно из моего DAPP, запущенного в браузере пользователя и которое загрузилось с Сервера А, делать http-запросы на Сервер Б, и тут в браузере выскакивает CORS и кричит НИИИИЗЯЯЯЯЯЯЯЯ! Причём в Chrome всё ок, а в долбаном тормозном Firefox (господи, сократи число пользующиегося им идиотов, чтобы он скорее издох) вылетает ошибка. Ибо, как завещает CORS, негоже JS коду, загруженному с одного адреса, делать http запросы на другой. Причём CORS устроен так, что эта ошибка не дебажится с помощью JS - типа для того чтобы это ограничение не смогли никак обойти. Поэтому какие бы я не прописывал Серверу А заголовки 'Allow-Origin', это ничего не меняет. В Гугле уже осознали весь идиотизм ситуации и в новых версиях Хрома уже не блочат всё подряд, как раньше, пропуская “простые” запросы (GET/POST), остальный браузеры пока тупят.

    ПС. Проблему решили запуском прокси сервера, который добавляет в ответы от Сервера 2 заголовки Access-Controll-Allow-Origin с адресом Сервера 1. Тоесть Сервер 2 должен сказать браузеру, что он доверяет коду, загруженному с Сервера 1. Вот и весь CORS.
    Ответ написан
    1 комментарий
  • Как Telegram Desktop нормально работает из коробки без прокси?

    Moskus
    @Moskus
    Сдались вам эти proxy.

    Для успешной работы клиентского приложения мессенджера в условиях блокировок не обязательно, чтобы соединение было через proxy, VPN или что-то еще. Достаточно, чтобы хотя бы один сервер не был заблокирован. Когда серверы меняются постоянно, это условие достаточно просто выполняется. Для поддержания работы приложения в долговременной перспективе, достаточно менять IP серверов быстрее, чем их блокируют. Что и происходит с Телеграмом.

    Вероятно, вы спросите, а как же тогда сайт Телеграма? А очень просто: сайт заблокировать на порядок легче, так как DNS сходу отдает все IP, на которых он хостится. Потому, для доступа к сайту вам и нужен VPN или proxy, так как у блокирующей стороны в этой ситуации - преимущество.

    Что касается SMS с кодом - их блокировка также затруднена, как и блокировка клиентского приложения, потому что слать эти SMS можно, используя самые разные шлюзы, так что по исходящему номеру заблокировать их нельзя. По содержимому их тоже не так просто заблокировать, потому что "коды подтверждения" приходят и от других сервисов.
    Ответ написан
    Комментировать
  • Как Telegram Desktop нормально работает из коробки без прокси?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Например, такая нехитрая схема, которая напрашивается первой.

    Пусть у нас есть 1000 прокси в разных частях света.
    Делим всех юзеров РФ на 100 частей и каждой части даём свой прокси.
    Некоторые из этих прокси блокируются, но не все, потому что РКН тогда должен запариться подключением из разных частей.
    Каждую часть юзеров, в которой спалили прокси, мы снова делим на 100 частей и раздаем им свои прокси.
    Таким образом, постепенно вымываем аккаунты и ipшники, с которых РКН ищет прокси.

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

    В общем, это война пули и брони. Как ты понимаешь, выигрышной стратегии нет. Но придумать можно много чего.
    Ответ написан
    Комментировать
  • Есть ли в VSCode горячая клавиша для отображения справки по функции?

    @alexstup
    Оркестр
    Тогда CTRL+K и за ним же CTRL+I (это i)
    В keyboards shortcuts называется Show hover, можете перебиндить
    Ответ написан
    Комментировать
  • В чём разница между транслятором и транспилятором?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    transpiler следует не переводить, а принимать как устоявшийся термин для трансляции кода между двумя языками, у которых примерно одинаковый уровень абстракции или другие зависимости.

    Грубо говоря, каждый транспилер - транслятор, но не каждый транслятор - транспилер.
    Ответ написан
    Комментировать
  • В чем разница между live-server и http-server?

    Xuxicheta
    @Xuxicheta
    инженер
    http-server - просто http сервер, минимум лишнего. Берет файлы и отправляет их по запросу браузера. Аналог apache, nginx, просто упрощенные, на ноде. Удобен чтобы быстро открыть содержимое папки в браузере.

    live-server, lite-server релоадят страничку, если изменились файлы. Сервер инжектит свой скрипт, который поднимает вебсокет соединение с сервером, что позволяет серверу отдать команду страничке на релоад.

    webpack-dev-server - вебпак собирает код из исходников в оперативе, дальше все тоже самое что у предыдущих двух. Встроен в Ангуляр и запускается командой ng serve

    Все вышеизложенное используется только в целях разработки. http-server еще можно втулить на боевой проект, но зачем, если есть nginx.
    Похожие сервачки есть у любого почти языка для бэкенда сейчас.
    Ответ написан
    2 комментария
  • Как запустить скомпилированное Angular2+ приложение и почему для этого нужен сервер?

    Xuxicheta
    @Xuxicheta Куратор тега Angular
    инженер
    Запустить для чего и где?
    sudo npm i -g http-server
    В папке с index.html
    http-server
    localhost:8080
    Ответ написан
    Комментировать
  • Почему не работают относительные пути в html файле?

    <base href="https://[username].github.io/[repo]/">

    Это можно изменять при сборке, указав в специальном флаге:
    ng build --prod --base-href https://[username].github.io/[repo]/
    Ответ написан
    2 комментария
  • Сокращение команд (автозаполнение) scss в vs code - как?

    MDiMaI666
    @MDiMaI666
    Талантливый программист
    да, нажми F1. и введиде snippets
    Ответ написан
    Комментировать
  • Почему не стартует clover?

    @Niter43
    >Что ему надо?
    >Ноутбук на атоме.
    Ему надо заменить вот это на что-то с SSE 4.1 и поддерживаемой графикой (GT2+ — свежие Core i3/5/7; в атомах/пентиумах GT1 https://en.wikipedia.org/wiki/Intel_Graphics_Technology )
    Ответ написан
    1 комментарий
  • Как сделать нормальный tooltip?

    svistiboshka
    @svistiboshka
    живые веб интерфейсы
    вот так будет правильней
    https://codepen.io/anon/pen/BMKBjy
    Ответ написан
    23 комментария
  • Атрибут Image::crossOrigin?

    twobomb
    @twobomb
    Я как -то писал что - то на canvas, там была попиксельная обработка изображений. То есть я брал холст с помощью функции getImageData и что- то там делал. Так вот если изображение находилось не на том же сервере что и мой сайт, то выскакивала какая - то ошибка, это типа защита такая. Так вот я вычитал на одном забугорном форуме, чтобы избежать этой ошибки (обойти эту защиту), то свойству crossOrigin объекта Image() , нужно присвоить 'Anonymous'. Может бред какой-то я написал, это давно было...
    Ответ написан
    Комментировать