• Почему стоит использовать CentOS или fedora вместо Ubuntu?

    @Vasily_Pechersky
    Системщик с опытом
    Тут в вопросах чего или кого - очень много своей специфики.
    Например как сказал Ivan Bogachev - доступность репозиториев.

    С другой стороны - версии, личные предпочтения и доступные версии ПО.
    На пример - я люблю использовать CentOS 6 из за классической системы старта. Я считаю CentOS 7 очень не удачной сборкой. Там по умолчанию нет привычного мне инструментария. На стороне CentOS - стабильность но не самые новые версии софта по умолчанию. Puias в помощь всем Красношапочникам. Но и там иногда лезут косяки.

    Ubuntu (я рассматривяю только LTS сборки) представляет стабилизированный выбор более свежего софта. Плюс некоторые вещи там собраны удачнее (К примеру strongswan - все плагины в отдельных пакетах) . Та же Edubuntu предоставляет допиленный LTSP.

    Тут выбор целе-ориентированный. Что лучше решает задачу - то и больше подходит.
    Ответ написан
    Комментировать
  • Почему phpDocumentor не подхватывает документацию в файле?

    AlekseyNemiro
    @AlekseyNemiro
    full-stack developer
    /**
     * @see CommonModule::onLoad()
     * CommonModule constructor. 
    * You can not change the constructor directly, but you can use onLoad function instead.
     */
    final function __construct()

    Указывать @see перед описанием (summary) неправильно.

    https://www.phpdoc.org/docs/latest/guides/docblock...

    be57b9047f6548b1822476458e094357.png
    Нужно изменить порядок, сначала должно идти summary, затем может идти description и только потом tags (@see - относится к tags):

    /**
     * CommonModule constructor. 
     * You can not change the constructor directly, but you can use onLoad function instead.
     *
     * @see CommonModule::onLoad()
     */
    final function __construct()
    Ответ написан
    Комментировать
  • Git Flow. Как удалить коммиты после удаления ветки?

    Конечно коммиты видны будут, при мёрже просто создаётся новый мёрж-коммит, "сцепляющий" две ветки, и этот коммит помещается в ту ветку, в которую вы мержите.

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

    Если уж вы действительно считаете, что некоторые коммиты "лишние" и их можно было бы объединить, почитайте про git squash. Только это желательно делать до пуша бранча, и уж точно до мёржа - сейчас мёрж-коммит намертво прицеплен к последнему коммиту из фичебранча.

    Вообще почитайте лучше еще про Git и про ваш UI к нему, удаление коммитов из середины смёрженного бранча с точки зрения Git - абсолютно бредовая затея. В частности, почитайте про то, что такое ветки: это всего лишь перемещающиеся указатели на коммит, и при удалении ветки коммиты удалятся только в том случае, если они не были никуда зацеплены (смёржены). После мёржа удаление ветки - это лишь удаление указателя, которое как бы говорит нам, что разработка этого бранча закончена, и дальнейших коммитов в рамках этого бранча уже не будет.
    Ответ написан
  • Как получить содержимое комментария в Js?

    CyberHost
    @CyberHost
    jsfiddle.net/yjkmxmtt/3

    для того чтобы твое воображение позволило тебе делать все что вздумаеться
    Ответ написан
    Комментировать
  • Как настроить 100 серверов?

    Denormalization
    @Denormalization
    Ansible
    Ответ написан
    Комментировать
  • Как лучше мерить скорость интернета?

    Jump
    @Jump
    Системный администратор со стажем.
    Перед тем как что то измерять, надо четко представлять что мы измеряем.
    Нет никакой "скорости интернета"
    Есть скорость с которой провайдер обеспечивает вам доступ к сети интернет.
    Тут есть несколько маленьких тонкостей-

    1)Если у вас в тарифе написано скорость 50Мб/с это значит что максимальная скорость которую будет обеспечивать вам провайдер равна этой цифре.
    Т.е вы будете на этом тарифе получать доступ со скоростью не более 50Мб/с, как правило меньше.
    Это ни в коем случае не значит что провайдер вам гарантирует скорость 50Мб/с всегда!

    2)Если провайдер реально обеспечивает вам скорость 50Мб/с это совсем не значит что у вас со всех сайтов будет все загружаться со скоростью 50МБ/с.
    Скорость будет зависеть от расположения сайта, скорости отдачи сервера, и загруженности магистральных каналов.

    Т.е ваш провайдер при всем желании не может вам гарантировать что вы будете качать с какого-то ресурса со скоростью 50Мб/с.
    Он может обеспечить скорость только внутри своей сети, не более того!

    По поводу тестов -
    Тест скорости на Speedtest показывает скорость до конкретного сервера Speedtest в данный момент времени.
    Выберите другой сервер - и скорость будет другой. Сделайте тест в другое время и скорость тоже будет другой.
    Ответ написан
    Комментировать
  • Почему управляющие конструкции в php и других языках именно такие?

    Denormalization
    @Denormalization
    Циклы\условия и т.д - это обычные конструкции которые необходимы в любом коде. Их просто не могли не придумать.

    Посмотри как пример функциональные языки (Haskell, Erlang), там другая философия.
    Ответ написан
    Комментировать
  • Как вызвать переменную предка класса?

    Sanasol
    @Sanasol Куратор тега PHP
    нельзя просто так взять и загуглить ошибку
    parent::data;

    Почему вы так-то вызываете? Это же не константа.

    parent::$data;
    Ответ написан
  • Как спарсить цену?

    AloneCoder
    @AloneCoder
    [object Object]
    echo filter_var('1 990', FILTER_SANITIZE_NUMBER_INT);
    Ответ написан
    Комментировать
  • Какой способ следует использовать для защиты от csrf атак?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега Веб-разработка
    Токен можно передавать и в заголовке, не обязательно выводить его в формы. Но в целом - это самый распространённый способ, который прост как тапок и работает.
    Ответ написан
    Комментировать
  • Как обернуть тэгами код в phpstorm?

    pashted
    @pashted
    тыжпрограммист
    8afb701e3ecd40ebaa1a7a7ff6848346.jpg
    1ce4c9b40860494583405ac3e4d40431.jpg
    fc9cabd758a2476ab3e6f681f98a5f13.jpg

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

    обратите внимание на подчеркивания в меню ctrl+alt+j. если нажать на клавиатуре первую букву аббревиатуры шаблона, будет применён конкретный шаблон из списка. так что название выбирайте так, чтобы было удобно нажимать его первую букву.
    Ответ написан
    3 комментария
  • Делает ли Яндекс бэкапы?

    Jump
    @Jump
    Системный администратор со стажем.
    Не делают бэкапы те у кого нет ценных данных.
    Любые грамотные люди имеющие ценные данные делают бэкапы.
    В яндексе работают грамотные люди, поэтому они делают бэкапы.
    А как все устроено - спросите у них, возможно ответят если это не закрытая информация.
    Ответ написан
    Комментировать
  • Как сделать необязательное выполнение команды python?

    EreminD
    @EreminD
    Кое-что умею
    Используйте селениумовские ожидания
    https://habrahabr.ru/post/273089/
    selenium-python.readthedocs.io/waits.html
    Ответ написан
    Комментировать
  • Почему mysql_query отдаёт только одно значение?

    romy4
    @romy4
    Exception handler
    как бэ
    > LIMIT 1

    > Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in /home/sanerix/domains/sanerix.tk/public_html/serverhome.php on line 49
    всегда проверяйте ресурс не равен ли он !== false перед тем как отдать fetch_*
    Ответ написан
    Комментировать
  • Можно ли определить метод хеширования по строке хеша?

    romy4
    @romy4
    Exception handler
    Да. 2y - метод
    А вообще читайте мануал. там чёрным по-русски написано про это
    Ответ написан
    Комментировать
  • На чем selenium будет работать быстрее python vs Java?

    @deliro
    Горлышко бутылки - это сам Selenium. То, что на питоне и джаве - это обвязка, которая, хоть и будет работать на джаве быстрее, не даст никакого прироста.
    Согласись, разницы нет, сработает обвязка за 50 микросекунд или за 10 микросекунд, если сам Selenium будет грузить страницу 1 секунду?
    Ответ написан
    Комментировать
  • Несколько IP на одном сервере?

    alsopub
    @alsopub
    Создаете несколько разделов server, в одном listen ip1:80; а во втором listen ip2:80;
    Ну и для SSL соответственно, если используется.
    Ответ написан
    Комментировать
  • Где найти человека способного быстро и качественно научить основам JS за деньги?

    zoonman
    @zoonman
    ⋆⋆⋆⋆⋆
    Чувак, идешь сначала сюда https://learn.javascript.ru/
    Пока Илья с товарищами по команде тебе надоедают, учишь английский.
    Потом переключаешься на бритоголового https://egghead.io/
    Потом, если покажется мало, начнешь курить спеки. К этому времени уже освоишь гугл и сможешь сам их найти.

    Лучшие практики SPA

    1. KISS - использовать только то, что действительно нужно. Например вам не нужен Javascript, если нужно просто сделать выпадающее меню. Достаточно просто CSS. Тоже самое применяется и к JS, вам не нужен Angular, если есть просто форма обратной связи. Такая задача решается на vanillajs.
    2. Использование фреймворков, например bootstrap, foundation и т.д. Обычно из них берется типография и сетки. Иногда формы. Я обычно беру bootstrap-stylus и собираю из него.
    3. Critical rendering path - минимальный набор CSS, который требуется для отображения первого экрана страницы, который потом будет встроен внутрь html-файла. Пример.
    4. Применение систем сборки, например gulp. Основной смысл заключается в том, что сначала вы дробите SPA на множество мелких компонентов/модулей/блоков. Затем унифицируете их. В итоге получается набор небольших файлов. Затем из этого набора собирается два больших файла (css, js) и они прогоняются через оптимизатор и минификатор.
    5. Использование CDN. CDN позволяет ускорить загрузку для часто-посещаемых и популярных страниц за счет уменьшения времени доставки контента. Особенно актуально для SPA, поскольку они представляют собой статический контент, который можно кэшировать без последствий.
    Системы сборки

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

    Модули AMD, CJS, UMD

    Они предназначены для управления зависимостями. Например, когда у вас есть два десятка компонентов и один зависит от другого. Суть их в том, чтобы просто объявлять зависимости в компонентах используя тот или иной способ описанный в документации. Начните отсюда.

    Сборка и подключение css

    Здесь и так ясно, что нужно сначала освоить сборщики. postcss - это когда обычный css скармливается фильтру, который разбирает его, добавляет префиксы к свойствам, оптимизирует наименования цветов и т.д. Убирает дублирующие свойства.

    В целом очень толково про оптимизацию расписано здесь https://developers.google.com/web/?hl=ru
    Ответ написан
    4 комментария