Все сервисы Хабра

Сообщество IT-специалистов

Ответы на любые вопросы об IT

Профессиональное развитие в IT

Удаленная работа для IT-специалистов

Войти на сайт
  • Все вопросы
  • Все теги
  • Пользователи

Хабр Q&A — вопросы и ответы для IT-специалистов

Получайте ответы на вопросы по любой теме из области IT от специалистов в этой теме.

Узнать больше
другие проекты хабра
  • Хабр
  • Карьера
  • Фриланс
Задать вопрос

vgbege

  • 5
    вклад
  • 2
    вопроса
  • 11
    ответов
  • 27%
    решений
Ответы
  • Информация
  • Ответы
  • Вопросы
  • Комментарии
  • Подписки
  • Нравится
  • Достижения
  • Какие существуют стеки в Web API для выполнения асинхронных js операций?

    vgbege @vgbege
    автор молодец, картинка красивая. теперь о грустном :)

    call stack это обычный стек вызовов, как и в других языках программирования. в javascript call stack один, поскольку javascript это single threaded language. вопрос сколько стеков смысла не имеет.

    к вопросам
    1. ну а какая разница, честно говоря? есть i/o, timers, observers, завтра еще что-нибудь возникнет, достаточно считать, что колбэки попадают в очередь по мере поступления, а дальше FIFO и все такое

    2. в едином. он же один :) вообще, вопрос выглядит не имеющим смысла. есть операции, а есть их колбэки. предположим, что стек и очереди попутаны местами, тогда ответ возможно. возможно колбэки попадают в разные очереди, но это такая тонкость, которая реальную разработку практически не затрагивает. при желании можно почитать https://www.w3.org/TR/2014/REC-html5-20141028/weba... - там все тонкости.

    3. они (операции) уже никуда не попадают, они завершаются и убираются из стека вызовов. если речь об их колбэках, см. пункт 2.

    предлагаю сначала почитать статью с картинкой попроще, например https://developer.mozilla.org/en-US/docs/Web/JavaS...

    еще можно поиграться с latentflip.com/loupe
    Ответ написан более трёх лет назад
    2 комментария
    2 комментария
  • Какие принципы SOLID здесь нарушены?

    vgbege @vgbege
    сразу бросается в глаза O+I я бы сказал
    представь, что после нужно будет считать площадь только маленьких фигур (area < 3) или добавится интерфейс с текстурой и нужно будет считать только пушистые.

    не, формально принцип O пока еще не нарушен, и класс Box можно расширять, добавляя в потомках getTotalAreaSmall и getTotalAreaFluffy. но Box уже сейчас выглядит не просто как Box (который просто хранит фигуры), а как BoxThatCountsColored, а его потомки будут называться BoxThatCountsColoredAndSmallAndFluffy например :)
    Ответ написан более трёх лет назад
    4 комментария
    4 комментария
  • Зачем нужны абстрактные классы и интерфейсы в php?

    vgbege @vgbege
    я бы тоже посоветовал начинать не с конца (зачем в языке высокого уровня абстрактные классы и интерфейсы), а с начала - как программирование развивалось от ассемблера/бейсика с кучей переменных и jmp/goto в структурную парадигму, а потом в ооп и зачем там понадобились абстрактные классы и интерфейсы. более того, я в php не спец и не знаю, как в этом слабо типизированном языке эти самые классы и интерфейсы реализованы :)

    прямой ответ на вопрос "зачем" - чтобы реализовать композицию объектов. гуглить dependency injection, inheritance vs composition. вообще, вопрос зачем уже не стоит, сейчас это проверенные временем основы, которые нужно просто знать.

    если на пальцах - в строго типизированных языках переменная типа IMyInterface может хранить экземпляры классов, реализующих IMyInterface. переменная типа MyAbstractClass может хранить экземпляры классов, порожденных от MyAbstractClass.
    к примеру, от абстрактного класса Logger с методом log(s: string) мы можем породить реальные классы Console Logger, EmailLogger, DBLogger, SMSLogger и т.д., а потом подкидывать в девелоперском окружении консольный, а в боевом емейл и т.д.

    надеюсь, я ответил на прямой вопрос и не слишком напряг отсылкой к базовым знаниям :D
    Ответ написан более трёх лет назад
    2 комментария
    2 комментария
  • Sequelize численные тип возвращает как строку?

    vgbege @vgbege
    числа там большие ожидаются?
    SELECT cast(SUM("Statistics"."quantityPrinted") as integer) AS "quantityPrinted" не прокатит?
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • XMLHttpRequest в полученном ответе не работает JS?

    vgbege @vgbege
    в jq где-то внутри вызывается eval()

    вроде делали как-то так
    commentNew.innerHTML = xhr.responseText;
    var scripts = commentNew.getElementsByTagName("script");
    for (var i = 0; i < scripts.length; i++) {
        eval(scripts[i].innerText);
    }
    Ответ написан более трёх лет назад
    1 комментарий
    1 комментарий
  • Возможно ли Nginx для контроля раздачи файлов?

    vgbege @vgbege
    если речь просто о настройке nginx как reverse proxy, вот пример
    (внутри папки с приложением есть папка audio, которую хотим отдавать через nginx)
    server {
    server_name example.com;
    
        location /audio/ {
           root /path/to/appfolder;
         }
    
        location / {
    
            proxy_pass http://localhost:3000;
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection 'upgrade';
            proxy_set_header Host $host;
            proxy_cache_bypass $http_upgrade;
    
        }
    }
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Можно ли вставить свой атрибут в HTML-тег?

    vgbege @vgbege
    в this в этом случае будет не элемент, а window

    можно так, если без jquery
    first <input type="radio" id="qwerty1" group="1" onClick="myclick(this);"><br>
    second <input type="radio" id="qwerty2" group="2" onClick="myclick(this);"><br>
    third <input type="radio" id="qwerty3" group="3" onClick="myclick(this);"><br>
    
    <script>
    function myclick(elem) {
      alert(elem.getAttribute("group"));
    }
    </script>
    Ответ написан более трёх лет назад
    2 комментария
    2 комментария
  • Как написать свой парсер на js с нуля?

    vgbege @vgbege
    что хоть парсить нужно? :)
    вот тут немного на пальцах про лексический/синтаксический анализ - www.html5rocks.com/ru/tutorials/internals/howbrows...
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Удалить dom узел с переменой?

    vgbege @vgbege
    tbl.find("td:first").remove();
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Как добавить Юникод строку в HTML через JavaScript?

    vgbege @vgbege
    div.setAttribute('title', "\u0026");
    Ответ написан более трёх лет назад
    10 комментариев
    10 комментариев
  • Почему не подхватывается переменная внутри json?

    vgbege @vgbege
    Имена пропертей должны быть в двойных кавычках.

    JSON.parse('{a:1}'); // ругнется
    JSON.parse('{"a":1}'); //сработает
    Ответ написан более трёх лет назад
    3 комментария
    3 комментария
Оценили как «Нравится»
Самые активные сегодня
  • Alexandroppolus
    Alexandroppolus
    • 5 ответов
    • 0 вопросов
  • dimonchik2013
    Dimonchik
    • 5 ответов
    • 0 вопросов
  • tyxeo
    • 2 ответа
    • 2 вопроса
  • Yukan Mukimura
    • 1 ответ
    • 3 вопроса
  • Drno
    • 3 ответа
    • 1 вопрос
  • emekhanikov
    Евгений Механиков
    • 3 ответа
    • 0 вопросов
  • © Habr
  • О сервисе
  • Правила
  • Обратная связь
  • Блог

Войдите на сайт

Чтобы задать вопрос и получить на него квалифицированный ответ.
Войти через центр авторизации