• Как вылечить [Browsersync] Reloading Browsers... (buffered 4 events)?

    Код некорректный, отслеживание изменений не нужно раскидывать по разным местам, обновление браузера прописывается в series, а-не в задаче. В gulp 4 версии обновление будет корректно работать с таким вариантом написания:
    gulp.task('browser-sync', function() {
        browserSync.init({
            server: {
                baseDir: 'app'
            }
        });
    });
    
    gulp.task('html', function () {
        return gulp.src(path.src.html) 
            .pipe(gulp.dest(path.app.html));
    });
    
    gulp.task('watch', function () {
        gulp.watch('app/**/*.*').on('change', browserSync.reload);
        gulp.watch(path.src.html).on('change', gulp.series(html, browserSync.reload));
    });
    
    gulp.task('default', gulp.series(
        gulp.parallel('watch', 'browser-sync') //запускаем паралельно слежку за файлами и синхронизацию браузера
    ));
    Ответ написан
    Комментировать
  • Что такое apply_filter в хуках и как используется?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Apply_filters не в хуках, это и есть хук :)

    Если не вдаваться в разъяснения в виде кода (это уже хорошо сделал WP_Panda), то человеческими словами это работает так:

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

    2. Чтобы дать возможность другим изменить ваше значение, вы оборачиваете его в функцию apply_filters, даете этому фильтру какое-то название (в примере панды - change_vasya_name), и передаете в эту функцию саму переменную, которая содержит ваше значение (Vasya).

    3. Другой разработчик пишет свою функцию, которая подключается к этому фильтру по его имени - add_filter( 'change_vasya_name', $text ) - и эта функция на лету примет на входе то значение, которое определили вы (Vasya), может его заменить/изменить (например, на Petya) и вернуть обратно.

    4. WordPress когда читает код всех файлов собирает все фильтры в одну стопочку, и их коллбеки (см. п. 3) раскладывает тоже по стопочкам, каждому фильтру свои коллбеки. На одном фильтре может быть много коллбеков (функций). Далее он сортирует их по приоритетам и выполняет по очереди. Таким образом, вместо того, чтобы просто взять ваше значение (Vasya) и использовать дальше его, WP посмотрит, есть ли на этом фильтре функции, если да - выполнит их и вместо Vasya уже будет использовать то значение, которое вернет последний фильтр (в нашем случае он один и возвращает Petya).
    Ответ написан
    2 комментария
  • Кто начинал программировать с 20-ти лет и старше?

    @InstaRobot
    Программировать никогда не поздно начать! Я начал около 27 лет и занимаюсь этим по сей день! Никого не слушайте, поздно или не поздно - главное Ваше желание!
    Ответ написан
    Комментировать
  • Каков план личностного развития PHP программиста с нуля?

    konst20
    @konst20
    Программист, преподаватель, немного электронщик
    Есть опыт помощи таким начинающим.
    реальный срок до запуска джуниора - полгода, никого не слушайте.

    Важные моменты
    веб-программирование на базе PHP - это стек технологий: PHP/SQL/CSS/HTML/JS + Linux хотя бы азы + знание важных инструментариев (FTP, Git/SVN, работа с БД)
    чистый PHP плюс даже все перечисленное выше - не особо нужно и не интересно. Нужно знание конкретных платформ: фреймворков и/или CMS. (Почитайте вакансии на Хантиме по запросу PHP, обратите на это внимание). Навскидку самые востребованные (спорно конечно): Yii фреймворк, CMS Битрикс и Wordpress.

    Как начать?
    Смело на амбразуру!
    1) Установите у себя рабочую среду LAMP/WAMP - Apache, PHP, MySQL. Для этого возьмите пакет Denwer или OpenServer, что больше понравится. Сделайте Hello World просто как HTML, потом на PHP, потом алертом на JS. Порадуйтесь.
    Установите все редакторы кода. Кто там вам будет рекомендовать блокнот или notepad++ - не слушайте. Варианты: если машина мощная (4+ Гб памяти и пр.), берите редактор phpStorm (для php/html/css/js). Если не очень мощная - берите komodo edit. Для работы с БД инструмент встроен в Denwer/OpenServer, это phpMyAdmin
    2) Идеально, если вы договоритесь сделать кому-нибудь сайт. Бесплатно или за небольшую плату. Если нет - сами себе поставьте задачу: сайт про котиков/про детей etc. Красивый сайт, с галереей, с эффектами, с материалами
    Возьмите CMS Wordpress и попытайтесь сделать сайт у себя на компьтере. Настоящий сайт, во всей красе, как вы хотите. Правьте его, смотрите код, экспериментируйте. Сообщество огромное, вы найдете ответы на все свои вопросы
    Потратьте чуть денег, купите себе домен и хостинг, залейте сайт на хостинг.
    Порадуйтесь. Похвастайтесь.
    3) Ищите в сети тестовые задачи и решайте их, изучайте материалы собеседований, вопросы - их много.
    4) Зарегистрируйтесь на odesk.com под каким-то фейковым email, пройдите тесты по PHP, CSS, HTML, jQuery, Wordpress, а во время прохождения делайте скриншоты вопросов. Потом изучайте эти вопросы, ищите ответы, далеко не обязательно на все. Тесты вы, конечно, не пройдете, но вам нужны только вопросы.
    5) Постоянно следите за вакансиями "PHP-программист", "веб-программист" на Хантиме, на hh.ru и подобных ресурсах.

    И да, как только напишете первую строку кода - начните читать про Git. Как будете готовы - сразу внедрите у себя Git, вы будете очарованы его возможностями.

    Вот как раз на полгода.
    После этого у вас появится масса информации, и дальше вы сами сориентируетесь.
    Ответ написан
    11 комментариев
  • ASP.NET или PHP? Или что перспективнее изучать веб-разработчику?

    С PHP будет явно проще найти работу, да и порог вхождения ниже.
    Правда выбор странный, в web-разработке не 2 языка :-)
    Ответ написан
    Комментировать
  • Можно ли восстановить базы данных, имея файлы frm?

    @AntonDrelin
    Нет, в файла .frm описана сама структура таблица, сами же данные хранятся в файле ibdata, если он был удален или поврежден, то прощай данные.
    Ответ написан
    5 комментариев