• Выносить ли переменные в начало кода?

    Vlad_IT
    @Vlad_IT Куратор тега JavaScript
    Front-end разработчик
    Ответ для глобальных и локальных - да. Переменные, которые используются внутри функции, желательно описывать вначале функции. Как и пропсы для классов (пока только в последних стандартах).
    Это делается для того, чтобы сразу понимать, какие переменные используются в функции. Временные переменные можно не выносить.
    Ответ написан
    Комментировать
  • Хочу стать реверс-инженером. Что изучать для этого?

    Adamos
    @Adamos
    "Хочу стать мастером спорта. Посоветуйте, что почитать".
    Ответ написан
    15 комментариев
  • Что изучить дальше?

    Изучай Go. Я говорю как разработчик на Node. Я уже заколебался с этим конструктором на JS
    Ответ написан
    5 комментариев
  • Windows на KVM, или запуск игр на виртуальной машине?

    CityCat4
    @CityCat4
    //COPY01 EXEC PGM=IEBGENER
    Проброс видеокарты в винду возможен только если Вы знакомы с линухом на уровне чуть-чуть хуже разработчика ядра :) Я перечитал множество success story про проброс видеокарты, но все обычно упирается в два момента:
    - невозможно выделить устройство из группы устройств для проброса
    - NVIdia намеренно не запускает дрова проброшенного устройства.

    Естественно, все сказанное относится к наиболее типовой конфигурации - мать с интеграхой и картой от NVidia на проброс. Вопрос с выделением устройства можно решить, преставляя карту в другой слот (физически, если конечно он есть). Вопрос с тем, что NVidia намеренно препятствует работе дров для проброшенного таким образом устройства так и не решился - какие бы я квик-хаки не применял - винда упорно репортит, что устройство не может быть запущено. И это я еще не решал вопроса о пробросе мыши и клавы - а говорят там тоже есть некие проблемы.

    Линух и современные игры несовместимы. Точка. Только те, что писались под него. Все эти "запускаторы" - они все основаны на Wine, а как работает wine - я знаю хорошо - ему не по зубам даже игры 10-ти летней давности.

    Не, Вы можете упереться рогом. Читать форумы, разбираться в вопросе, анализировать логи, собирать и пересобирать что-нибудь в линухе и ставить и переставлять в винде. Вохможно, даже получится. Возможно, у Вас будет комбинация железа, которое взлетит - говорят ATI-шные карты пробрасываются просто. У меня не было столько времени, чтобы его потратить...
    Ответ написан
    6 комментариев
  • Как настроить git на проверку var_dump в коде перед коммитом?

    @AlexndrNovikov
    Solution Architect in Spiral Scout
    1) Подключить phpcs для проверки code style (конкретно настроить https://github.com/squizlabs/PHP_CodeSniffer/wiki/... секция Generic.PHP.ForbiddenFunctions)
    2) Автоматизировать проверку на стороне гита - precommit hook (например https://habr.com/post/111977/ тут пример)
    3) В идеале если разработчик не один - то в процесс CI тоже добавить запуск этой таски phpcs (например, в Jenkins).

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

    Т.е оптимальный вариант такой
    1) добавить phpcs в composer
    2) написать нужный ruleset (в вашем случае - с указанием genericphpforbiddenfunctions)
    3) добавить в сборщик (напимер phing) таску на запуск phpcs с конфигами нужного ruleset
    4) добавить локально хук на запуск phing phpcs
    5) добавить запуск phing phpcs в билд дженкинса
    Ответ написан
    Комментировать
  • В чем суть SPA?

    @marsdenden
    Суть в том, что вместо перехода по ссылкам и загрузки новой страницы при каждом клике по ссылке происходит подгрузка некоторых данных через тот же axios во vue. И тот же vue отвечает за отображение этих данных. То есть SPA - это самое что ни на есть разделение на бэкенд и фронтенд - серверную и клиентскую часть. Ничего сложного.
    SPA - single page application, то есть одностраничное приложение. Загрузка страницы происходит один раз, а дальше - запрос-ответ. Благодаря этой схеме при первоначальной загрузке грузятся все стили и скрипты (которые уже содержат шаблоны в себе) и дальнейший обмен с сервером получается достаточно экономичным с точки зрения трафика, что положительно влияет на загрузку сервера и скорость получения данных.
    Ответ написан
    7 комментариев
  • Как 1) перехватить обработчик submit у плагина, 2) запустить свою функцию и 3) вернуть управление плагину?

    miraage
    @miraage
    Старый прогер
    Что-то мне подсказывает, что истина где-то рядом.
    https://docs.gravityforms.com/category/extending-g...
    Ответ написан
    Комментировать
  • Как выработать уверенность при взаимодействии с более сильным руководителем чем вы?

    Exploding
    @Exploding
    wtf?
    Вы не сказали чего именно вы боитесь.
    сильнее меня (не физически, а психологически, духовно что-ли)

    Так "налить воды" в вопросе - такую-же "воду" в ответах и получили.
    Разберите "на молекулы" ситуации, в которые вы боитесь попасть и определите четко хотя-бы для себя, что конкретно вас пугает.

    Пару универсальных советов для большинства ситуаций:
    - Никогда(!) не завершайте дискуссию, если вам есть еще что сказать/спросить/выяснить, даже если в процессе кому-нибудь, что-то кажется смешным.
    - Если все-таки дискуссия просрана и все что вы спрашивали/выясняли и т.д. грозит снизить вашу репутацию до уровня "плебея" - извинитесь перед учасниками за то, что отняли у них время и признайте свои ошибки или неправоту. Смех и шутки над вами после этого, будут просто неуместны.
    Ответ написан
    2 комментария
  • Лучший текстовый редактор?

    Konstantin18ko
    @Konstantin18ko
    Стоматолог
    Купите один раз за 5'000 рублей на сайте на всю жизнь.
    Ответ написан
    Комментировать
  • Как узнать самое частое значение по формуле (value*frequency)?

    0xD34F
    @0xD34F
    SELECT value, SUM(value * frequency) AS value_sum
    FROM table
    GROUP BY value
    ORDER BY value_sum DESC
    LIMIT 1
    Ответ написан
    Комментировать
  • Что не так с php?

    RomaZveR
    @RomaZveR
    CEO AlertMoney, PHP/Golang Developer
    $a = 0;
    if ($a == 1) {
       echo "yes";
    } else {
       echo "no";
    }
    Ответ написан
    Комментировать
  • Что не так с php?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега PHP
    В первом случае не сравнение, а присваивание. В итоге в условии используется значение переменной a, которое равно 1, которое приводится к true.

    Во втором случае в первой строке вы производите сравнение, а не присваивание значения. Поэтому во второй строке у переменной $a нет значения, то есть она точно не равна 1.

    С php всё ок, проблема с вашим кодом.
    Ответ написан
    1 комментарий
  • Актуально ли изучать nodejs для бекенда или лучше оставаться на php?

    @asd111
    Одно другому не мешает. Часто бывают проекты где основная часть на php и небольшая часть с вебсокетами на nodejs(например чат или оповещения).
    Javascript развивается, поэтому nodejs актуален для вебсокетов. Для обычных сайтов он конечно почти не используется.
    Ответ написан
    6 комментариев
  • На чем зарабатывают сайты без рекламы?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Услуги: SaaS-сервисы, консультации/репетиторство, возможность платной публикации материалов, доступ к закрытым статьям и сообществам, и т.д.

    Товары: продажа софта/программ, скриптов, баз, электронных книг, видео-курсов, он-лайн курсов, музыкальных произведений, графики, 3D-моделей, видео-роликов, продажа лицензий к софту, доступы к игровым сетям (PSN, Xbox Live), prоxy/VPN, кодов к играм, продажа игровых предметов, доменных имён.

    Продажа приоритетов и акцентов перед другими пользователями: выделить сообщение/объявление/проект, поставить VIP-статус на месяц, получить дополнительные функции: подсказки (для игр) или "усилители" достижения цели на ресурсе.
    Ответ написан
    1 комментарий
  • Почему ie11 ругается на эти две функции?

    freislot
    @freislot
    Frontend-разработчик
    Используйте babel или полифилы
    Ответ написан
    Комментировать
  • Не срабатывает скрипт, как исправить?

    Vlad_IT
    @Vlad_IT Куратор тега JavaScript
    Front-end разработчик
    Ребят, какие таймеры? Есть же api
    $('.w-dropdown-list').delay(100).show(300).delay(800).hide(400);

    где в delay передается кол-во миллисекунд паузы.
    UPD: кстати, ваш пример работает https://jsfiddle.net/n4036ku1/ возможно вы либо не успеваете доскролить до вашего элемента и он прячется, либо у вас такого элемента нет. Сделайте задержку таймеру по больше. Ну и лучше в таймер не передавать строку Js, а писать в функции.
    Ответ написан
  • Хороший пример структурированного CSS файла?

    delphinpro
    @delphinpro Куратор тега CSS
    frontend developer
    Вот реальный файл
    /*!
     * Main styles
     *
     * @author     delphinpro <delphinpro@gmail.com>
     * @copyright  copyright © 2018 delphinpro
     * @license    licensed under the MIT license
     */
    //==
    //== Config & mixins
    //== ======================================= ==//
    $DEV_MODE: true;
    @import "vrhythm.cfg.scss";
    @import "grid.cfg.scss";
    @import "../../node_modules/bs-grid-system/source/scss/bs-grid";
    @import "../../node_modules/vrhythm/source/mixins/rhythm";
    @import "main.cfg.scss";
    @import "mixins.scss";
    @import "../../node_modules/tiny-slider/src/tiny-slider";
    //==
    //== Global styles
    //== ======================================= ==//
    @import "webfonts.scss";
    @import "vendor/normalize";
    @import "base/global.scss";
    @import "base/grid-system.scss";
    @import "base/page.scss";
    @import "base/site.scss";
    @import "base/table.scss";
    @import "base/input.scss";
    @import "base/uploadbox.scss";
    @import "base/buttons.scss";
    @import "base/checkbox.scss";
    @import "base/radio.scss";
    @import "base/radio-button.scss";
    @import "base/radio-panel.scss";
    @import "base/controls-group.scss";
    @import "base/form-field.scss";
    @import "base/auto-height.scss";
    @import "base/transitions.scss";
    //==
    //== Blocks
    //== ======================================= ==//
    @import "blocks/availability.scss";
    @import "blocks/availability-details.scss";
    @import "blocks/back-link.scss";
    @import "blocks/benefit-block.scss";
    @import "blocks/block-heading.scss";
    @import "blocks/breadcrumb.scss";
    @import "blocks/btn-close.scss";
    @import "blocks/callback-link.scss";
    @import "blocks/checked-list.scss";
    @import "blocks/ci.scss";
    @import "blocks/clear-link.scss";
    @import "blocks/document-list.scss";
    @import "blocks/download-link.scss";
    @import "blocks/email-link.scss";
    @import "blocks/entry-item.scss";
    @import "blocks/expert-consult.scss";
    @import "blocks/goods-attributes.scss";
    @import "blocks/heading.scss";
    @import "blocks/icons.scss";
    @import "blocks/info-text.scss";
    @import "blocks/logo.scss";
    @import "blocks/paginate.scss";
    @import "blocks/phone-link.scss";
    @import "blocks/phone-with-icon.scss";
    @import "blocks/phone.scss";
    @import "blocks/popular-links.scss";
    @import "blocks/price.scss";
    @import "blocks/print-link.scss";
    @import "blocks/section.scss";
    @import "blocks/service-description.scss";
    @import "blocks/services.scss";
    @import "blocks/share-block.scss";
    @import "blocks/show-all.scss";
    @import "blocks/smenu-box.scss";
    @import "blocks/smenu.scss";
    @import "blocks/tags.scss";
    @import "blocks/unordered-list.scss";
    @import "blocks/worktime.scss";
    @import "blocks/zoom.scss";
    //==
    //== Blocks
    //== ======================================= ==//
    @import "blocks/about-us-section.scss";
    @import "blocks/article-section.scss";
    @import "blocks/benefits.scss";
    @import "blocks/carousel.scss";
    @import "blocks/cart.scss";
    @import "blocks/delivery-map.scss";
    @import "blocks/delivery-partners.scss";
    @import "blocks/delivery.scss";
    @import "blocks/footer.scss";
    @import "blocks/header.scss";
    @import "blocks/help-me.scss";
    @import "blocks/load-more.scss";
    @import "blocks/nav-catalog.scss";
    @import "blocks/nav.scss";
    @import "blocks/navbar.scss";
    @import "blocks/news-section.scss";
    @import "blocks/panel.scss";
    @import "blocks/params-panel.scss";
    @import "blocks/payment-block.scss";
    @import "blocks/search.scss";
    @import "blocks/catalog-table.scss";
    @import "blocks/catalog-grid.scss";
    @import "blocks/time-range.scss";
    //==
    //== Components
    //== ======================================= ==//
    @import "components/spin.scss";
    @import "components/selector.scss";
    @import "components/tabs.scss";
    @import "components/hamburger.scss";
    @import "components/fixed-bar.scss";
    @import "components/step-indicator.scss";
    @import "components/complete-screen.scss";
    @import "components/ordering.scss";
    @import "components/order-complete.scss";
    @import "components/summary.scss";
    @import "components/goods.scss";
    @import "components/basket-contains.scss";
    @import "components/basket-goods.scss";
    @import "components/basket.scss";
    @import "components/icon-complete.scss";
    @import "components/big-order-form.scss";
    @import "components/feedback-form.scss";
    @import "components/modal.scss";
    @import "components/vue-scrollbar.scss";
    @import "components/mobile-menu.scss";
    @import "components/gallery.scss";
    //==
    //== Page specific classes
    //== ======================================= ==//
    @import "pages/home.scss";
    @import "pages/articles.scss";
    @import "pages/catalog.scss";
    @import "pages/product.scss";
    @import "pages/terms.scss";
    @import "pages/services.scss";
    @import "pages/news.scss";
    @import "pages/feedback.scss";
    @import "pages/page404.scss";
    //==
    //== Helpers & other classes
    //== ======================================= ==//
    @import "base/helpers.scss";
    @import "base/printer.scss";
    Ответ написан
    5 комментариев
  • Как уронить PHP интерпретатор?

    VladimirAndreev
    @VladimirAndreev
    php web dev
    а смысл? он все равно 99% запущен как fpm, так что уроните вы максимум воркер, так мастер тут же вместо него поднимет другой.
    если предположить теоретически, что вы уроните мастер - так его systemd поднимет обратно.
    Ответ написан
    9 комментариев