• Как определить касание объектов?

    Seasle
    @Seasle Куратор тега JavaScript
    То есть Вы упорно не хотите изучать теорию?

    UPD:
    Там же луч

    Открыть лучше в отдельном окне. На ЛКМ можно переместить точку начала луча.
    Ответ написан
    6 комментариев
  • Как решить проблему при проверке статуса Git в терминале VSCode?

    yarkov
    @yarkov
    Помог ответ? Отметь решением.
    А ошибка где? Если вы про то, что у вас больше 10К изменений, о чём вам VSCode говорит, то сами виноваты. Добавьте в .gitignore лишнее и не пихайте всё подряд в репозиторий.
    Ответ написан
    1 комментарий
  • Какой автоматический сканер уязвимостей веб-приложений сейчас наиболее эффективный/популярный?

    r3n0
    @r3n0
    // _ AppSec // Bug Bounty / Legal Hacking
    Привет.

    Burp Pro, особенно с некоторыми плагинами, даст неплохой результат. OWASP Zap можно подтянуть до аналогичного уровня, но он больше FP даёт в процессе работы. В перспективе аналогичной функциональностью может обзавестись Caido - потенциальный конкурент Burp Suite.

    + Acunetix, Intruder.

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

    hint000
    @hint000
    у админа три руки
    VPN-туннели между площадками и подклюние принтеров на сервере. Лучше, если принтеры сетевые и подключение будет сразу по ip-адресам принтеров. Хуже, если расшаривать доступ к принтерам на ПК, но всё равно худо-бедно будет работать.
    Вот всегда придёт поручик Ржевский и всё опошлит... (c)
    Да-да, VPN придуман в 90-х годах не для обхода блокировок, а именно для объединения удалённых офисов. Ну ещё для удалённого доступа сотрудников в командировках.
    Ответ написан
    Комментировать
  • Каким образом upwork узнает мое местоположение?

    XOR2048
    @XOR2048
    Web & Browser extension developer
    Проверьте VPN на различные утечки:
    - DNS
    - IPv6
    - WebRTC

    Если на одном/или всех тестах покажет реальный IP, то исправляйте утечку и ваш реальный IP будет скрыт. Если утечек нет, то проблема может быть глубже, например, как вам указали - язык системы/браузера, часовой пояс и даже gelocation tracking.
    Ответ написан
    1 комментарий
  • Почему при переходе по ссылке браузера иногда скачиватся какой-то файл?

    Steel_Balls
    @Steel_Balls
    0L3QsNGH0LjQvdCw0Lsg0YEgQkFTSUMg0L3QsCDQo9Ca0J3Qpi
    Всё дело в MIME-type. Если в заголовке от сервера передаётся MIME-type, связанный с каким-то расширением файла, на который есть ассоциация в операционной системе клиента, то ОС запустит процесс скачивания
    Ответ написан
    3 комментария
  • Какие шаблоны проектирования js применяются на практике чаще всего?

    sfi0zy
    @sfi0zy Куратор тега JavaScript
    Creative frontend developer
    какие паттерны применяются чаще всего на практике и где

    Сразу отмечу, что все это чисто мое имхо, которое может не совпадать с мнением окружающих. В контексте фронтенда обычно все довольно просто. По моим наблюдениям в среднем сайте могут иметь смысл:
    1. Модули (делим код на независимые части)
    2. Фабрики (для компонентов интерфейса)
    3. Синглтоны (для хранилищ, точек сбора полифиллов / утилит и.т.д.)
    4. Адаптеры (для зависимостей и полифилов, которые могут измениться / выпилиться)
    5. Наблюдатели (для сбора происходящих событий в одном месте)
    6. Хранители (для сохранения действий пользователя и "Ctrl-Z")
    7. Стратегии (если действуем в зависимости от прилетевших данных)

    Другим паттернам применение вижу редко, только если под какую-то замороченную бизнес-логику. Хотя кого я обманываю, на среднем сайте обычно происходит только один паттерн - доширак из костылей. Ну и стоит сказать, что SPA-фреймворки имеют свойство навязывать свои подходы к решению задач, но это отдельная тема.

    Важно понимать, что паттерны проектирования - это просто хорошие идеи по поводу того, как организовать большой объем кода в той или иной ситуации. Это не "изучи тайное знание, запомни, и делай так всегда", не "используй паттерны, потому что великие их используют", это скорее "если не уверен как организовать код, возьми готовую идею, она вроде работает". Если вы будете просто решать задачи, то через N лет практики вы сами их все "изобретете", только не будете знать, что у них есть названия. Эффективно будет организовать себе заметку о том, какие из этих идей для чего примерно применяют, а потом, в процессе работы, в нее подглядывать, если встал вопрос "как организовать этот код".
    Ответ написан
    7 комментариев
  • Почему функция-конструктор срабатывает без `new`, хотя, согласно документации, не должна?

    sfi0zy
    @sfi0zy Куратор тега JavaScript
    Creative frontend developer
    У вас примеры с new и без new не эквивалентны. Вы просто посмотрите, что там на самом деле находится в получаемых переменных:

    function Foo(arg) {
        this.bar = function() {
            return arg;
        };
    
        return this.bar();
    }
    
    const notfoo = Foo('not foo');
    console.log(notfoo); // "not foo", т.е. notfoo - это не новый Foo, это строка текста.
    console.log(notfoo.bar); // undefined, что логично, у стандартной строки никакого bar нет.
    
    const foo = new Foo('foo');
    console.log(foo); // [object Object], т.е. вот это - настоящий новый Foo.
    console.log(foo.bar); // function() { ... }, и метод bar в нем есть.
    console.log(foo.bar()); // "foo"
    Ответ написан
    5 комментариев
  • Почему нету возможности отключить комментарии к вопросу?

    TosterModerator
    @TosterModerator Куратор тега Тостер
    Модератор Хабр Q&A
    Комментарии необходимы для того, чтобы пользователи могли уточнять недостающую информацию и выражать свое мнение о вопросах. Нередко комментарии оказываются гораздо полезнее ответов. Было бы предельно странно, если бы разработчики Q&A-сервиса дали авторам вопросов возможность блокировать комментарии.
    Ответ написан
    1 комментарий
  • Кто-нибудь знает что за неизвестная железка подключена посторонними к роутеру?

    anthtml
    @anthtml
    Системный администратор программист радиолюбитель
    https://www.raspberrypi.com/products/raspberry-pi-5/
    Стявят VPN прокси сервер (выходную TOR-ноду)
    Чтобы потом "товарищи" приходили к Вам, а не к ним или их клиентам
    Ответ написан
    1 комментарий
  • Как организовать локальную разработку микросервисной системы в PyCharm?

    fenrir1121
    @fenrir1121
    Начни с документации
    Засовывать всё в докер, и сразу писать compose-файл? Но можно ли это всё потом интегрировать с IDE?
    Да все верно. В нижней панели, там же где терминал и питон консоль есть вкладка Services, там и логи и управление всеми запущенными (микро)сервисами.
    В compose достаточно стрелку ткнуть, он тебя первый раз попросить конфиг настроить и все.
    66c8250c766ad116037154.png

    Так же можно с ssh работать так что можно хоть локально запускать, хоть на удаленной машине
    66c8269e763a0228875878.png
    Ответ написан
    Комментировать
  • Проблема с жёстким диском?

    CityCat4
    @CityCat4
    //COPY01 EXEC PGM=IEBGENER
    у меня сборка где весь мусор вырезан

    Дальше можно не читать :) Мусор-то вырезан, а где гарантия, что майнер не врезан? Десятка ставится с официального образа, нет там особо ничего шляпного... (это я говорю, как человек, только вот полгода назад пересевший дома на десятку)
    Ответ написан
  • Проблема с жёстким диском?

    Adler_lug
    @Adler_lug
    Ставить винду на hdd это уже давно моветон.
    Купите ssd.
    Ответ написан
    2 комментария
  • Как обойти DOM дерево с поиском нужно класса на JS?

    neuotq
    @neuotq
    Прокрастинация
    Алгоритм:
    0. В любом случае есть родительский контейнер, поэтому работаешь от него. Лучше чтобы у него был id, тогда при работе функции отслеживания ты сможешь её запускать с нужным айди, она будет универсально и поддерживать множество независимых подобных контейнеров с этим меню.
    1. По клику ищешь текущий isActive (с учетом специфичности родительского контейнера) и снимаешь все активные.
    2. Делаешь кликнутый активным.

    Условный пример. Не продашн рэди) Но смысл ясен.

    Ответ написан
    Комментировать
  • Является ли опыт работы в гос. организации плохим знаком в резюме?

    Почему это должно быть каким-то негативным признаком?
    Ответ написан
    2 комментария
  • Как скачать docker image с официального сайта elastic.co?

    deepblack
    @deepblack
    У меня поднят xray (VLESS, Reality - в инете инструкций по настройке полно) на зарубежном хостинге,
    на серверах где нужен доступ к подобным ресурсам стоит все тот-же xray но настроенный как обычный прокси (SOCKS, http, https)
    в настройках Docker указан этот (локальный) прокси, который в свою очередь пересылает запросы на сервер зарубежом.
    Все работает отлично
    66c59f9c7f21b408311176.png
    66c59f3d5ec98392538715.png
    Ответ написан
    1 комментарий
  • Как отслеживать изменения на сайте?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Это сложный вопрос и вобщем на 99% он зависит от дизайна самого сайта.
    Сайт вам вобщем -то ничего не должен предоставлять для трекинга информации.
    Но согласно HTTP-протколу например GET/HEAD может вернуть заголовок документа
    где будет много интересного.

    Например артифакт gravitee-am-repository-api-4.4.4.jar внутри maven repository
    хранит много метаинформации о себе. Например etag (контрольная сумма md5)
    и last-modified метка времени которая показывает как давно обновлялся
    документ.

    $ curl --head https://repo1.maven.org/maven2/io/gravitee/am/repository/gravitee-am-repository-api/4.4.4/gravitee-am-repository-api-4.4.4.jar
    HTTP/2 200
    etag: "3f5e67c1a10ded796a27108ba3756823"
    content-type: application/java-archive
    last-modified: Mon, 19 Aug 2024 13:49:25 GMT
    x-checksum-md5: 3f5e67c1a10ded796a27108ba3756823
    x-checksum-sha1: 4ac91e2e6d1cfd393c505e6a8db6bf0031dcc517
    via: 1.1 varnish, 1.1 varnish
    accept-ranges: bytes
    age: 0
    date: Mon, 19 Aug 2024 22:52:11 GMT
    x-served-by: cache-iad-kcgs7200147-IAD, cache-fra-etou8220101-FRA
    x-cache: HIT, MISS
    x-cache-hits: 2, 0
    x-timer: S1724107932.544121,VS0,VE90
    content-length: 71040


    Если вам повезет - то можете использовать эти атрибуты как метод трекинга обновлений.
    Ответ написан
    Комментировать
  • Тормоза браузера из-за стилей, решение?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    Для начала для нас важно осознать, что у разных фильтров разная вычислительная сложность. Они не все "плохие". Алгоритмы для brightness, grayscale, hue-rotate и других манипуляций с цветом выполняются за O(1) для каждого пикселя. Т.е. нагрузка на железо растет линейно в зависимости от площади элемента на экране. Это не так страшно. А вот фильтры размытия, blur или drop-shadow, имеют сложность где-то в районе O(R^2). Там есть разные варианты оптимизаций, но в среднем мы говорим именно о квадратичной зависимости от радиуса размытия. И это для каждого пикселя. Именно отсюда мы имеем сильные тормоза при попытке что-то большое размыть на пол экрана. Дохлые видеокарты телефонов и ноутбуков не вывозят. Браузеры не умеют такие вещи переиспользовать, так что это переразмытие происходит снова и снова, и мы имеем что имеем.

    При этом фильтры в CSS, в SVG - это все грубо говоря высокоуровневые обертки над одними и теми же универсальными алгоритмами рендеринга. Мы можем в рамках WebGL написать свои шейдеры, которые будут делать то же самое. Обертки разные, но алгоритмы одинаковые. Поэтому замена одной технологии на другую ничего особо не даст в плане производительности. В вопросах оптимизаций нам нужно не по-тупому менять инструменты-обертки, а смотреть в конечные алгоритмы, которые будут задействованы на странице в реальном времени, и по возможности рассчитывать все заранее и переиспользовать.

    В контексте верстки тут есть полтора варианта, что можно сделать. Можно рассчитывать такие вычислительно-сложные штуки еще при разработке и загружать в страницу сразу в виде картинок или видео. Это не идеальный вариант, пропорции получаются фиксированные, но иногда подходит. Есть вариант рассчитывать такие штуки в фоне на WebGL. Т.е. мы грузим интерфейс, смотрим какого там все размера получается, и один раз в фоновом режиме генерируем картинки нужного размера и потом плавно показываем. Такой вариант частенько встречается в рекламно-конкурсных проектах, когда за прелоадером в начале скрывается в том числе и такая генеративная история. Тут мы получаем гибкость в плане размеров и хорошую производительность сайта в целом, потому что все операции проходят только один раз, а дальше у нас все переиспользуется в виде обычных картинок. Каких-то принципиально других вариантов у нас пока нет. Только дизайн менять.
    Ответ написан
    3 комментария
  • Опасно ли не закрыть сокет сервера или клиента в Python?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Python
    Седой и строгий
    Хэндлеры, хоть сокетов, хоть файлов - это конечный ресурс, а ОС и интерпретатор не дают вам никаких гарантий его автоматического освобождения. Так что если у вас интенсивно работающее приложение, то оно может в какой-то момент поставить раком машину, на которой работает. Готовы ли вы принять этот риск ради возможности говнокодить - вопрос к вам.
    Ответ написан
    5 комментариев
  • Почему в Go вакансиях требование знания PHP?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Или это просто такое количество кодовой базы на PHP накопилось, которую все дружно решили переписывать на Go

    Скорее всего.

    если да, то почему именно на Go?

    Если компания решилась вложиться в переписывание продукта на другом языке, то у неё на это точно очень веские причины, вероятнее всего - проблемы производительности. В этом случае Go - очевидный выбор. Python, Ruby и JS не дадут никакого выигрыша относительно PHP. Хоть на языках из мира jvm и .net можно писать высокопроизводительный софт, но они скорее решают проблемы сложности огромных кодовых баз. С++ и Rust очень сложны и для прикладного софта применяются только в крайнем случае. Всякая экзотика, типа Erlang, Elixir и Haskell - это вообще редкий случай в энтерпрайзе. Go же одновременно очень прост и ориентирован на высокую производительности.
    Ответ написан
    7 комментариев