Задать вопрос
  • Как импортировать js библиотеку?

    rockon404
    @rockon404 Куратор тега React
    Frontend Developer
    А зачем в модульном коде манкипатчить window?
    Импортируйте библиотеку в тот файл(модуль) в котором используете.
    import libraryName from 'libraryName';
    
    libraryName.someMethod();

    или:
    import { someMethod } from 'libraryName';
    
    someMethod();


    Почитайте документацию к библиотеке, там все есть.
    Ответ написан
    Комментировать
  • Как грамотно настроить локальную среду разработки?

    rockon404
    @rockon404
    Frontend Developer
    node то зачем в docker? Если уж возникло желание использовать разные версии, можно использовать nvm. Если вы работаете преимущественно с JavaScript, то node, имхо, гораздо удобней использовать если он установлен в системе.
    php, DB и подобное в docker
    Стоит оговориться, что если работаете в проекте со специфичной версией node и docker контейнерами, то ей, конечно, в docker самое место.
    Ответ написан
    6 комментариев
  • Как правильно маршрутизировать сеть в квартире?

    Jump
    @Jump
    Системный администратор со стажем.
    Насколько я понял вашу схему в щиток приходит 5 кабелей.
    1 от провайдера, и четыре с квартиры.
    Вам нужно поставить роутер, который будет подключаться к провайдеру и раздавать интернет по квартире.

    Например такой - роутер
    Его размеры 113 x 28 x 89 мм

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

    бросить туда маршрутизатор, а на выходе на одном из кабелей уже поставить роутер
    Маршрутизатор это роутер.

    не так что бы шибко дорогим
    ценники на тот же микротик (он наиболее компактный) начинаются от 1300рублей.
    Ответ написан
    7 комментариев
  • Полезно ли изучать React/Redux, если хочешь работать с VueJS?

    bingo347
    @bingo347 Куратор тега JavaScript
    Crazy on performance...
    Начать следует с JS и встроенного в браузер api
    Фреймворк/библиотека - лишь инструмент, который лишь решает определенный круг массовых задач. Без знания основ, настанет момент, когда у библиотеки не будет готового решения/плагина - и Ваша работа встанет из-за этого.
    Имея же хотя бы базовые принципы, как библиотека/фреймворк работают внутри, изучить его станет гораздо более простым делом.

    По сабжу:
    Зная React+Redux освоить Vue+Vuex - дело 2-3 дней
    Работая с Vue возвращаться на React уже не хочется
    Выводы делайте сами
    Ответ написан
    2 комментария
  • Статус сервера/сайта в виде светофора/лампочки?

    webinar
    @webinar
    Учим yii: https://youtu.be/-WRMlGHLgRg
    Как бы это делалось на крупной компании:
    Нанимаем маляра, даем ему краски, он сидит и слушает работает ли сервер, как только перестал - бежит перекрашивает лампочку.
    Плюсы метода:
    можно использовать обычные лампочки на 60 w
    простая интеграция и масштабирование
    Минусы:
    скорость отклика

    Далее можно постепенно автоматизировать проект:
    1 этап: маляр (красит) + слушатель (слушает и отправляет смс маляру). Серьезно увеличит скорость отклика, но и затраты.
    2 этап: создание шаблона смс сообщения. Еще увеличит скорость отклика без затрат. Понадобится специалист знакомый с ОС телефона, что бы создать шаблон, оптимально привлечь оутсорс.
    3 этап. Мобильное приложение, которое слушает сервер, через микрофон и отправляет смс маляру.
    ......
    87 этап. Arduino/rasberyPi
    Ответ написан
    4 комментария
  • Как вы боретесь со слабой типизацией и зачем ее придумали?

    И самое главное: кто придумал слабую типизацию?

    Для начала разберитесь с классическим заблуждением, и не путайте слабую типизацию и динамическую типизацию. Сейчас из вашего вопроса можно подумать, что это одно и то же.

    Динамическую типизацию придумали для того, чтобы было легче писать обобщённые алгоритмы и мета-алгоритмы, в дин. языке для обобщения кода не нужны ухищрения типа дженериков (TypeScript, C# и много чего ещё) или шаблонов/макросов (C++). В ОО-языках часто доступны и другие удобства, например смена интерфейса объекта в зависимости от его состояния (т.к. решение о возможности вызова метода/свойства объект может принимать сам).

    Слабую типизацию придумали чтобы заставить людей страдать (да, я не знаю кому такое нужно вообще).

    Как вы пишете код на жс?

    Мы не пишем код на JS, мы пишем код на TypeScript. Да, такие сейчас странные времена, когда язык со статической типизацией компилится в язык с динамической, т.к. исполнять на клиенте (в браузере) больше нечего пока.

    Он же не должен быть напичкан parseInt() и !== undefined.

    Не должен. Если писать на голом JS, можно а) использовать JSDoc для аннотаций о типах, и работать с типами на уровне документации и договорённостей; б) писать алгоритмы в максимально обобщенной манере, и требовать по возможности не конкретных типов данных, а значений, над которыми допустимы нужные вам операции; в) покрывать код тестами, что и спасает в динамических языках.

    Чем больше проект, тем важнее статическая типизация, это нормально. JS - это язык который популярен по техническим причинам и по стечению обстоятельств, а не потому что он этого заслуживает (имхо). Очень неглупые дяди и тёти не стали бы тратить годы своего времени и кучу денег на разработку TypeScript и Flow, если бы это было ненужно.
    Ответ написан
    1 комментарий
  • Как можно определить устройство?

    @Sayto
    Смотреть User-Agent.
    mobile-detect
    Ответ написан
    Комментировать
  • Как сделать правильное проксирование вебсокета?

    nuykon
    @nuykon
    Full Stack Developer
    Ответ написан
    Комментировать
  • Как запомнить url для каждого поситителя на своем сайте?

    402d
    @402d
    начинал с бейсика на УКНЦ в 1988
    куки можно ставить на любой срок. 1000 дней в условиях интернета - можно считать как ВЕЧНО.
    Ответ написан
    Комментировать
  • Как запомнить url для каждого поситителя на своем сайте?

    @frees2
    Строка браузера посетителя, в частности после #

    var location = window.location.href.split('#')[1];
     localStorage.setItem('history',location);  	
    
    
    
    
    
    //window.localStorage.clear();
    
    if (localStorage.getItem('history') === null) { document.getElementById("hidetext666").innerHTML ='Добро пожаловать! ' ;   }
    else{ document.getElementById( 'result' ).innerHTML =localStorage.getItem('history'); };
    Ответ написан
    Комментировать
  • Как побороть вагон if'ов?

    Если не нравится идея с циклом по какой-то причине (например, хочется явно указать список параметров) - можно создать анонимную функцию

    function saveParam (title) {
      var param = req.body.queryResult.parameters[title];
      if (param) {
        transportationData[title] = param;
      }
    }
    
    saveParam('places-count');
    saveParam('contact-person');
    saveParam('stowing-type');
    saveParam('cargo-type');
    Ответ написан
    2 комментария
  • Document.addEventListener - плохая практика?

    @holymotion
    Таким образом появляется возможность делегировать обработчики события
    Ответ написан
    Комментировать
  • Агрессивное собирание инфы о пользователе через браузерный js?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Сбор инфы - только для троллинга ЦА к покупке вашего продукта (Или нет?!)
    Не нужно тратить время на тех, кто пришёл просто, чтобы потролить вас.

    Как делаю я:
    вешаю краткое назначение продукта и текст:
    "Мы продаём только тем, кому это нужно. Всем остальным - просьба не беспокоить.
    Если Вы заинтересованы и Вам это реально нужно - заполните следующие поля формы:"
    и тут форма на 2 поля и кнопка "Без вопросов".

    Всё остальное - нах не сдалось!
    Задача, не насобирать бесполезной инфы, а сразу получить АДЕКВАТНЫХ ЦЕЛЕВЫХ клиентов, которые купят с вероятностью более 80% ваш РЕАЛЬНО НУЖНЫЙ ПРОДУКТ/УСЛУГУ!
    (Или я что-то путаю?!)

    PS: мне вообще не интересно его: имя, ник, пол, возраст, друзья и кол-во ласт, если он вдруг пингвин) Купил? Отлично! -> Я - в прибыли!
    Ответ написан
    1 комментарий
  • Как изменить горячую клавишу смены языка на Ctrl+Shift в Ubuntu 18.04?

    Надо установить gnome-tweaks:
    sudo apt-get install gnome-tweak-tool
    Далее вызываете gnome-tweaks, с левой стороны выбираете "Клавиатура и мышь".
    Под "Комбинация клавиш ... " есть кнопка "Дополнительные параметры раскладки" нажимаете и в окне выбираете "Переключение на другую раскладку". Там можно выбрать любую комбинацию от Alt+Shift и т.д.
    Ответ написан
    15 комментариев
  • Какой выбрать СМС сервис?

    Расскажу как это делается руками. У меня есть модем GSM, с 8 слотами для сим-карт и с них идет отправка. Оборудование такое вам вряд ли нужно, просто вместо него подключите телефон, желательно 4G, если вы в Москве хотите делать рассылку, поскольку есть безлимитные дешевые тарифы. Ну и потом пишете программу например на C# для общения с симкой посредством AT команд, и веб сервис (АПИ). Вот самый дешевый вариант.
    Ответ написан
    Комментировать
  • Хотите задать вопрос администрации Тостера?

    rockon404
    @rockon404
    Frontend Developer
    Сервису не хватает минусов для ответов. Бывает не очень опытный человек публикует плохой ответ, который вроде работает, но является очень плохим решением. Самое интересное, что такие ответы часто набирают плюсы. Если бы была возможность поставить минус, уверен они бы были заминусованы и не сбивали с толку людей столкнувшихся с похожей проблемой.

    UPD: По поводу вкладки Избранное еще в комментариях к вопросу написал.
    Ответ написан
    54 комментария
  • Как определить, что строка начинается с определенного символа?

    pavelkarinin
    @pavelkarinin
    Full Stack Web Developer
    if ('^\+7'.test('строка для проверки')) {
    // действие, если начало с +7
    }
    else
    {
    // в противном случае
    }
    Ответ написан
    Комментировать
  • Разграничение API приложения и тяжелых вычислений?

    2 варианта:
    1. вычисления вынести на отдельный сервер
    2. любым способом "затормозить" вычисления, чтобы они не мешали остальному. Если это Ваш сервер, то виртуализация поможет


    Выигрыш, думаю, в отдельном сервере очевиден
    Ответ написан
    Комментировать
  • Как научиться работать с VDS?

    Что на эту тему можно почитать или посмотреть на русском языке?

    0) Живую систему на виртуалке. Можно с gui по началу. Одну. Разница относительно дистрибутивов, как правило, в аргументах менеджера пакетов и/или расположении конфигов. Сдуру можно все сломать, лучше потренироваться на кошках.
    1) Маны ко всему требуемому софту, хотя бы раз.
    2)Знать/слышать от товарища/на тостере/на хабре/пробовать самому оптимальные кейсы использования комбинаций софта и как эти кейсы развернуть. Знания из пункта выше, приправленные гуглом - лучший помощник.
    3) Только после этого смотреть на какую-нибудь панель управления (webmin/isp manager/тысячи их).
    Ответ написан
    2 комментария