• Почему в input number в safari можно вводить всё?

    modelair
    @modelair
    unsocial
    ответить на этот вопрос могут разработчики safari
    а решить можно так:
    <input type="text" oninput="this.value=this.value.replace(/[^0-9]/g,'');" id="mytext"/>
    Ответ написан
    3 комментария
  • А в чем минусы node.js?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    В том же в чем его и плюсы.

    Асинхронность... ее там нет. Там есть event loop что позволяет писать крайне эффективные программы в плане работы с I/O (что для web очень неплохо) и не париться о таких вещях как потокобезопасность, блокировки и т.д. А если еще и несколько инстансов приложения запусть - по одному на ядро скажем, то утилизация вычислительных мощностей выйдет неплохой. Но распаралелить что-то в рамках одного процесса воркера мы уже не можем. Мы не можем посчитать что-то, проанализировать, заняться обработкой жирной картинки прямо при обработке запроса потому что наш процесс воркер так же обрабатываете еще пару десятков запросов, и пока мы будем удовлетворять нужды одного простаивать будут все. Нода хороша когда у нас все состоит из элементарных операций которые не занимают много времени, все жирное надо выносить из основного процесса и разруливать очередями и т.д. Эта проблема имеет массу решений на самом деле, но все уже усложняется и нода теряет свою красоту. Лучше взять Java/c#/Python для этого (и не надо тут вспоминать про шутки с многопоточностью в CPython).

    callback-hell. Собственно наличие event loop диктует так же правила о том, как должна писаться программа. Кучи колбэков, невозможность дебажить нормально и получить четкий стэктрейс из ошибки. Да, есть промисы которые решают первую проблему, да есть либы вроде zone.js которые решают вторую и частично первую проблему... но все это не тривиальное дело.

    Собственно... разработка больших и сложных проектов на ноде возможна... но требует от разработчика хорошие знания и понимание того, как работает его платформа. А это увеличивает стоимость разработки в то время как можно взять более эффективные в этом плане инструменты.
    Ответ написан
    10 комментариев
  • Как составить букмарклет для поиска в Google из Yandex?

    @risejs
    javascript:(function(){var a=window,b=document,c=encodeURIComponent,d=a.open("https://www.google.ru/search?q="+c(b.getElementsByName('text')[0].value));})();
    Ответ написан
    1 комментарий
  • На чем дешево и долго хранить десятки Тб информации сейчас?

    @alexalexes
    Я думаю, 10 дисков с технологией записи CMR и без гелиевого наполнения по 8 Тбайт, запертые в сейфе в негорючем помещении с постоянным микроклиматом, будут куда дешевле и проще в эксплуатации, и пролежат 15 лет. Чем возиться с ленточным накопителем и лентами.
    Ответ написан
    Комментировать
  • Подходит ли мой ноутбук для веб / мобильной разработки?

    @kalapanga
    Да что же это за разработчики пошли, которые не могут посмотреть на системные требования программ, которые они используют (или собираются использовать)?
    Ответ написан
    Комментировать
  • Можно ли сказать, что Гит работает на блокчейне?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Нет. Гит не является блокчейном потому-как в него не закладывались требования по кворуму и гарантий уникальности и нефальсифицируемости истории.

    В git нет понятия блок. И нет алгоритмов POW для подтверждения потраченной работы.

    В git владелец может убить master-бранч что само по себе - принципиально невозможно в криптовалютных проектах

    UPD: Почему я привлекаю именно юзкейс криптовалют. Потому что в наше время блокчейн плотно ассоциирован именно с этой технологией. Хотя само по себе определение блокчейна может быть либеральнее чем я описал. Например POW может и не быть. Просто рассматривая git надо обозначить его сравнительные недостатки чтоб не было в теме попыток спекулировать просто на похожести этих двух технологий. Да они в чем-то похожи но блокчейн во много раз строже по безопасности. Ведь хранение журнала фин-операций - особая и деликатная задача.
    Ответ написан
    3 комментария
  • Xeon e5 2670 v3 в after effects?

    xez
    @xez Куратор тега Железо
    TL Junior Roo
    Работать будет
    Ответ написан
    Комментировать
  • Как открыть консоль браузера на Андроид смартфоне?

    yarkov
    @yarkov
    Помог ответ? Отметь решением.
    https://developer.chrome.com/docs/devtools/remote-...
    Подключаем телефон к компу, открываем на телефоне сайт и на компьютере видим что в консоли телефона.
    Ответ написан
    Комментировать
  • Как отправлять уведомление с Nest на клиент?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Вариантов пока всего два (четыре):
    1) Websockets - для этого нужно на стороне сервера иметь websocket сервис. Реализуется на много чем, начиная от nodejs, и заканчивая С
    2) SSE (Server Sent Events) - для этого почти ничего не нужно, но сервер должен это уметь.
    3) Long Pooling - вообще ничего не нужно, просто нужно уметь в эту технологию
    4) Просто опрос по времени - заводите таймер и по таймеру смотрите приход новых сообщений.

    Первые две технологии используются в так называемых push-сервисах.
    Ответ написан
    1 комментарий
  • Возможно ли выбрать другой браузер в puppeteer?

    @thesirvlad
    Puppeteer может работать с несколькими браузерами, включая Google Chrome, Chromium и Firefox. При запуске браузера в Puppeteer вы можете указать путь к исполняемому файлу браузера, а также опции командной строки.

    Например, чтобы использовать Firefox вместо Chrome, вы можете установить соответствующий бинарный файл и указать его путь в опциях запуска браузера:
    const puppeteer = require('puppeteer-firefox');
    
    const browser = await puppeteer.launch({
      executablePath: '/path/to/firefox',
      headless: true,
    });

    Также может потребоваться установить соответствующий драйвер для Firefox, если он не установлен по умолчанию.
    Ответ написан
    Комментировать
  • Почему такой разброс цен в VPS/VDS?

    @Drno
    потому что яндекс и мейл это уже госкомпании.
    потому что в РФ хорошая прибыль считает 500%, а не 20%-50%....
    ну и плюс всякие сертификации фсб, фстэк итд итп... которые нахер никому не нужны по сути.
    так же размещение сереров в РФ в ДЦ рф, ну по большей части...

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

    UPD - ты еще Селектел посмотри...)) с их ценами... я за треть цены на хетзнер серваки беру...
    Ответ написан
    3 комментария
  • Память SSD накопителя меньше заявленной?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    1. Проверить, что разделы занимают весь диск, а не его часть. Например средством управления диском или любым менеджером разделов.
    2. Проверить маркировку диска - та ли это модель или не совсем.
    Ответ написан
    Комментировать
  • Как балансировать рассылку сообщений в Kafka на примере микросервисов на Nest.js?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Любой Kafka-consumer имеет атрибут group.id. И если у нескольких консюмеров он совпадает
    то они начинают делить топик поровну (по round-robin). В более расширенном варианте - нужно
    настраивать поля самого сообщения чтоб был более умный партишенинг.

    Несмотря на то что Кафка работает быстро, сам процесс включения и перебалансировки консюмеров
    может быть не очень быстрым поэтому такие манипуляции следует делать не очень часто.
    Ответ написан
    6 комментариев
  • Что нужно знать чтоб стать Джуном в бэкэнде python?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    То же самое, что и раньше - Лутца вплоть до 37-й главы и руководство Django. Но надо понимать, что конкуренция среди джунов огромная, так что за место придётся бороться с людьми, которые могут отлично знать SQL, теорию реляционных баз данных, принципы работы сетей, алгоритмы и шаблоны проектирования, могут свободно чувствовать себя в консоли Linux, могут разбираться в виртуализации, уметь тонко настраивать сервера, разбираться в железе и т.д. и т.п.
    Ответ написан
    1 комментарий
  • В чем разница между flex-basis и width?

    vetero4eg
    @vetero4eg
    Frontend
    Flex-basis задает начальный размер элемента относительно главной оси флекс-контейнера. В зависимости от направления оси может быть похожим и на width, и на height. Скорее даже на min-width и min-height. Меньше чем flex-basis элемент не будет, но может быть больше, в зависимости от размеров контейнера, окна...

    Flex-basis дает гораздо больше возможностей для красивой адаптации макета на мобильные разрешения, например когда контейнер перестает быть row и становится column, или наоборот.

    P.S. Как меня справедливо поправили ниже, flex-basis ведет себя не так как min-width/height в том случае, когда не помещается в контейнер, не "вылазит".
    Ответ написан
    5 комментариев
  • Как дописывать + вместо %20?

    sergiks
    @sergiks Куратор тега JavaScript
    ♬♬
    Используйте URLSearchParams() — они кодируют пробел в плюс. В отличие от encodeURIComponent()

    (new URLSearchParams({q: 'QnA Habr'})).toString()
    // "q=QnA+Habr"
    Ответ написан
    Комментировать
  • Как проксировать запросы только если хост доступен?

    chupasaurus
    @chupasaurus
    Сею рефлекторное, злое, временное
    Именнованный location в помощь
    location / {
      root /var/www/html;
      try_files @upstream $uri =404;
    }
    location @upstream {
      proxy_pass http://127.0.0.1:3000;
      proxy_intercept_errors on;
      recursive_error_pages on;
      error_page 404 = @local;
    }
    location @local {
      try_files $uri =404
    }
    Ответ написан
    5 комментариев
  • Как защитить админку?

    rozhnev
    @rozhnev
    Fullstack programmer, DBA, медленно, дорого
    Любая авторизация должна выполнятся на строне сервера, всё что на стороне клиета обходится на раз!
    Как именно - дело Вашею Есть десятки систем авторизациию Имя + пароль - самая распостраненная
    Ответ написан
    1 комментарий
  • Как получить текст тега?

    MrDecoy
    @MrDecoy Куратор тега JavaScript
    Верставший фронтендер
    Вы были близки.
    .closest() ищет исключительно вверх по дереву, начиная с самого элемента. А .text не является родительским элементом для картинки.

    Таким образом, нужно сначала найти общего родителя между картинкой и .text, и в этом общем родителе найти .text:
    -const message = event.target.closest('.text').textContent;
    + const message = event.target.closest('.message_container').querySelector('.text').textContent;
    Ответ написан
    Комментировать
  • Как можно заменить цвет #a8a3a0 на пример на квадратик белого цвета?

    0xD34F
    @0xD34F Куратор тега JavaScript
    const regex = /#[a-f\d]+;$/i;
    const replacement = '<span class="color" style="background: $&"></span>';
    
    document.querySelectorAll('селектор сами сообразите').forEach(n => {
      n.innerHTML = n.innerText.replace(regex, replacement);
    });
    Ответ написан
    2 комментария