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

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

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

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

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

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

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

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

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

Varb

  • 1
    вклад
  • 1
    вопрос
  • 4
    ответа
  • 0%
    решений
Лайки
  • Информация
  • Ответы
  • Вопросы
  • Комментарии
  • Подписки
  • Нравится
  • Намного ли webpack сложнее чем gulp?

    bingo347
    Дмитрий Беляев @bingo347
    Crazy on performance...
    Во-первых, это разные вещи, webpack - это бандлер (сборщик если по-русски), gulp - таскраннер (запускалка задач)
    Во-вторых, их можно использовать как совместно так и раздельно
    В-третьих, gulp потихой теряет актуальность, ибо npm вполне умеет быть таскраннером

    Что проще? все же webpack, тут почти всегда все задается декларативным конфигом в виде js объекта, а в gulp надо писать код в функционально-императивном стиле
    Ответ написан более трёх лет назад
    1 комментарий
    1 комментарий
  • Как разбить число на разряды в input?

    KorsaR-ZN
    KorsaR-ZN @KorsaR-ZN
    Вот так можно сделать,
    var nubmer = 1205345,
        format = String(nubmer).replace(/(\d)(?=(\d{3})+([^\d]|$))/g, '$1 ');
    Ответ написан более трёх лет назад
    4 комментария
    4 комментария
  • Как отрендерить JSON в React.js?

    maxfarseer
    Максим @maxfarseer
    https://maxpfrontend.ru, обучаю реакту и компании
    Всегда когда вам приходит какая-то структура, нужно пробегать ее полностью по каждому элементу, чтобы сгенерировать JSX-элемент. Для массивов обычно используют .map метод, для объектов - например Object.keys (так же подойдут конечно, и цикл forEach для массива, и цикл for in для объекта и т.д.)

    Так как у вас в JSON приходит не массив объектов, а объект объектов то вам нужно пробегать с помощью Object.keys, например, и потом еще применить map к получившемуся массиву ключей. Пример получившегося массива:

    6b13d2ad4f6241f4bb3c378385646082.jpg

    Применяем map:

    const template = Object.keys(data.books).map(item => <span key={data.books[item].id}>{data.books[item].author} - {data.books[item].name}</span>)


    В данном случае в переменной template окажутся 2 JSX-элемента (тэги span с данными). Вам скорее всего нужно, чтобы это было tr. Поменять не трудно)

    А json-loader вам нужен для того, чтобы webpack мог корректно импортировать такие файлы, так как пока json-лоадера нет, вебпак не знает как обрабатывать файлы с расширением .json. По такому же принципу вы подключаете css-loader, например, чтобы webpack мог "импортить цсски"
    Ответ написан более трёх лет назад
    1 комментарий
    1 комментарий
  • Нужно ли использовать CSRF token в Ajax Post запросах без форм и ввода данных?

    sintez
    sintez @sintez
    Я не знаю как конкретно в Laravel, но в принципе CSRF токен должен передаваться при любых POST запросах на сервер.
    UPD:
    Почитал документацию к Laravel, там все доходчиво написано. Получить токен можно с помощью <?php echo csrf_token(); ?>. Т.к. у вас нет форм, то можно сделать следующим образом:
    1. В header добавить тег
    <meta name="_token" content="<?php echo csrf_token(); ?>">

    2. Далее, если вы используете jQuery, то добавление токена в запрос будет выглядеть следующим образом.
    var csrftoken = $('meta[name=_token]').attr('content');
    $.ajaxSetup({
        beforeSend: function (xhr, settings) {
            if (!/^(GET|HEAD|OPTIONS|TRACE)$/i.test(settings.type)) {
                xhr.setRequestHeader("X-CSRFToken", csrftoken)
            }
        }
    });
    Ответ написан более трёх лет назад
    6 комментариев
    6 комментариев
  • Создания меню html/css/js?

    zorro76
    sergey @zorro76
    вы о косых пунктах меню?
    тогда все просто:
    li.active{
        -webkit-transform: skewX(-20deg); //для активно li
        transform: skewX(-20deg);
    }
    a{
        -webkit-transform: skewX(20deg); //для текста
        transform: skewX(20deg);
    }


    вот на скорую руку, дальше сам сможешь jsfiddle
    Ответ написан более трёх лет назад
    2 комментария
    2 комментария
  • Как записать данные из input полей в массив и сохранить их для роботы с другой функцией?

    Stalker_RED
    Stalker_RED @Stalker_RED
    Сейчас вызов console.log() происходит до того, как вы нажали на кнопку, а при нажатии на кнопку ничего не выводится.

    Перенесите его вот сюда:
    fUBhQ8s.png
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Как сказать браузеру, что сайт изменился, и надо обновить кеш?

    xutesayor @xutesayor
    Там где подключается ваш js-файл добавьте в параметрах номер версии. Например так:
    <script src="/my/script.js?v=1"></script>
    При желании можете это дело автоматизировать
    Ответ написан более трёх лет назад
    5 комментариев
    5 комментариев
  • Как реализовать анимации в React?

    iNikNik
    Никита Гущин @iNikNik
    Если вам нужно плавно скрыть элемент - CSSTransitionGroup вполне подойдет. Прочтите документацию - https://facebook.github.io/react/docs/animation.html (не вижу смысла здесь ее переписывать). В общем принцип работы таков - компонент CSSTransitionGroup сохранит элемент в DOM на время перехода (анимации) и сразу после ее завершения - удалит (если речь об удалении DOM).

    Вот так у меня выглядит код для такого меню:

    <CSSTransitionGroup transitionName="ProductCategoriesMenu--submenu-transition" transitionEnter={false}>
              {category.products.length && isCategorySelected ? this.renderSubMenu(category) : null}
            </CSSTransitionGroup>


    .ProductCategoriesMenu--submenu-transition-leave {
      max-height: 1000px;
      overflow: hidden;
    }
    
    .ProductCategoriesMenu--submenu-transition-leave-active {
      max-height: 0;
      transition: max-height 1s cubic-bezier(0.22, 0.61, 0.36, 1);
    }


    c8012d209b4542fc8647e9a1b9b8716d.gif
    Ответ написан более трёх лет назад
    2 комментария
    2 комментария
  • Насколько опасно с точки зрения SEO использовать Angular / React / Meteor?

    RubaXa
    RubaXa @RubaXa
    Для железобетонной работы используйте https://prerender.io/
    Он бесплатен, если развернуть у себя на сервере, это не сложно.

    P.S. Использую больше года, никаких проблем, любой поисковик автоматически и быстро получает статическую версию сайта, которую идеально индексирует.
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Стоить ли оканчивать ВУЗ, чтобы продвигаться в сфере информационной и сетевой безопасности?

    saboteur_kiev
    Saboteur @saboteur_kiev Куратор тега Программирование
    software engineer
    Стив Джобс и Билл Гейтс не заканчивали не потому, что они могли "сами все освоить", а потому что к тому моменту у них уже был свой бизнес, который приносил более чем прилично денег, и времени на учебу уже не хватало.

    Ты сейчас готов бросить учебу, потому что ты уже нашел работу своей мечты на всю жизнь?
    Нет?

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

    Вот и ответы на твои вопросы.
    Ответ написан более трёх лет назад
    5 комментариев
    5 комментариев
  • Хотелось бы узнать как можно реализовать с помощью php временную регистрацию?

    asdz @asdz
    Можно просто отключать питание сервера через 15 минут
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Не применяются стили к тегу p?

    MhMadHamster
    MhMadHamster @MhMadHamster
    Лишняя закрывающая скобка
    #left-side{
      padding: 40px 40px;
      width: 50%;
      
    }
    
      
    }
    #hide{
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • От чего может появляться непонятный маргин, который не виден в разработчике на картинке с отступами но он показывается в окне браузера?

    GreatRash @GreatRash
    От чего угодно, от кривых рук до BOM. А ещё можно вопрос написать по-человечески...
    Ответ написан более трёх лет назад
    1 комментарий
    1 комментарий
  • CSS: как сделать горизонтальную линию?

    IonDen
    Денис Инешин @IonDen
    JavaScript developer. IonDen.com
    Примерно так можно: jsfiddle.net/IonDen/d0LrsdL6
    <div class="line">
        <div class="cont">Йо, какой-то блок</div>
        <div class="cont-line"><div></div></div>
        <div class="cont">Йо, какой-то блок</div>
    </div>

    .line {
        display: table;
        width: 100%;
    }
    .cont {
        vertical-align: middle;
        display: table-cell;
        white-space: nowrap;
        width: 1%;
    }
    .cont-line {
        vertical-align: middle;
        display: table-cell;
        padding: 0 10px;
    }
    .cont-line div {
        height: 2px;
        background: #000;
    }
    Ответ написан более трёх лет назад
    5 комментариев
    5 комментариев
  • Где, как найти книги про создание шаблонов для Opencart с нуля?

    madmages
    sasha @madmages
    Человек прямоходящий
    рассказываю на пальцах
    object pool - он же пул синглтонов - он же registry в опенкарте. Это склад инструментов с двумя главными методами - положить в склад и забрать из склада. Инициализируется он в index.php

    роутер в опенкарте работает через гет переменную route. А еще точнее если в урле нету знака вопроса то опенкарт будет считать такой урл -ЧПУшным и будет прогонять через seo_url контроллер, но это другая история. Через гет переменную route опенкарт понимает какой контроллер вызвать. route переменную разбирает конструктор класса Action (system/engine/action.php)

    По идеологии MVC все запросы сыпятся на контроллер, контроллер содержит логику, модель содержит инструменты для этой логики, вьюха выводит то что наделал контроллер.
    логика така. >index.php ........ $action=new Action($_GET['route']) > $action->execute(); и в этот момент вызывается контроллер в котором происходит все мясо. Сам контроллер в свою очередь тоже является объектом своего класса(это отдельная тема, но каждый контроллер это по сути класс) и внутри него есть переменная $this, к которой если обратиться то будет регистр со всеми синглтонами (работа с базой, работа с валютами, языками и прочее) и будут все модели, которые будут загружены в этот контроллер через синглтон $this->load->model('account/login').

    все оооочень сжато но если че непонятно то мож спрашивать. на работе имею дело с сим чудом
    Ответ написан более трёх лет назад
    2 комментария
    2 комментария
  • Как запретить закрытие меню при клике по одному из его пунктов (элемент button dropdowns в Bootstrap)?

    nicothin
    Николай Громов @nicothin
    веб-разработчик с 2000 г.
    на том же стаке есть хорошее решение:
    $(document).on(
        'click.bs.dropdown.data-api', 
        '[data-toggle="collapse"]', // тут прописываем селектор, который добавляем к тем .dropdown-menu, которые не должна закрываться по клику на внутренних элементах
        function (e) { e.stopPropagation() }
    );

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

    п.с.: решение, которое отмечено сейчас как лучшее, блокирует поведение ссылок по умолчанию (неюзабельно, то есть) и жестко завязано на HTML-структуру (негибко, то есть).
    Ответ написан более трёх лет назад
    3 комментария
    3 комментария
  • Как использовать .less?

    gogolinsky
    Павел Гоголинский @gogolinsky
    Ну тут несколько моментов
    1) Сначала подключите файл .less со стилями, потом библиотеку less
    <link rel="stylesheet/less" href="/css/style.less">
        <script src="/js/less.js"></script>

    2) Обязательно укажите rel для .less файла
    rel="stylesheet/less"
    Все должно быть нормально после этого
    Ответ написан более трёх лет назад
    1 комментарий
    1 комментарий
  • Как запретить закрытие меню при клике по одному из его пунктов (элемент button dropdowns в Bootstrap)?

    Anonym
    Николай Васильчук @Anonym
    Программирую немного )
    jsfiddle.net/46fLc
    Ответ написан более трёх лет назад
    5 комментариев
    5 комментариев
  • PHP - как сделать толковый кэш?

    alexxxst
    Алексей @alexxxst
    Напишу, как я это сделал на одном из своих сайтов.
    У меня все кешируется в memcached по ключам, которые строятся из хеша строки с параметрами (что-то типа id, page, action и т.д.). Страница ПОЛНОСТЬЮ складывается в кеш. Достается все моментально. При написании коммента (и любом другом изменении страницы) запись в memcached убивается и пересоздается при следующем запросе страницы. Раньше все было сделано в файлах на диске. Размер кеша где-то 400-500 мб со сжатием на лету. Странички имеют время жизни разное в зависимости от типа страницы, всякие каунтеры и голосовалки сделаны динамически через подзапрос. Тормозов нет абсолютно, все летает. P.S. сервак выделенный, конечно.

    P.S. по поводу пункта 1 за хард переживать не стоит, если частые обращения к одному и тому же, скорее всего все будет в дисковом кеше в оперативке. Статистика и прочие каунтеры обновлять раз в 5-10 минут и нормуль.
    Ответ написан более трёх лет назад
    2 комментария
    2 комментария
Оценили как «Нравится»
Самые активные сегодня
  • Drno
    • 11 ответов
    • 0 вопросов
  • iMedved2009
    Дмитрий
    • 8 ответов
    • 0 вопросов
  • gogowq
    gogowq
    • 7 ответов
    • 0 вопросов
  • firedragon
    Владимир Коротенко
    • 6 ответов
    • 0 вопросов
  • vabka
    Василий Банников
    • 6 ответов
    • 0 вопросов
  • Dr. Bacon
    • 4 ответа
    • 0 вопросов
  • © Habr
  • О сервисе
  • Обратная связь
  • Блог

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

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