• Какая разница между public function и public static function?

    @alexalexes
    Если делать статику:
    class any_class
    {
      public static function add()
      {
      }
    }

    ... то, чтобы воспользоваться методом, не надо создавать объект, классу которого принадлежит этот метод, он доступен, если есть описание класса.
    any_class::add()
    А так лишний раз создавать объект по любому поводу, чтобы воспользоваться методом add().
    class any_class
    {
      public function add()
      {
      }
    }

    $any_class_object = new any_class;
    $any_class_object->add();

    Если методы общеупотребительные, и используются на каждый чих, конечно, их выгодно делать статичными.
    Ответ написан
    Комментировать
  • Использование виртуальной среды в веб-разработке

    sad
    @sad
    Мы используем Vagrant с VirtualBox для разработки. Хост: Mac OS, гость: Ubuntu. Удобно по нескольким причинам:
    — все настройки виртуальной машины собраны в один файл в папке проекта;
    — легко обнулить среду разработки, так как эталонный образ всегда нетронут;
    — настройка и установка софта отдана на откуп сценариям (bash, puppet etc.).

    Из минусов:
    — под Windows не заработал NFS;
    — встроненный в VirtualBox механизм синхронизации файлов почему-то игнорирует права доступа к файлам.
    Ответ написан
    1 комментарий
  • Composer не видит переменную PATH?

    @Dimon-zmey
    Все дело в использовании Open Server в котором уже установлен composer. Зайдите в \OpenServer\modules\php\ выберите версию php которую вы используете и удалите файлы composer.bat и composer.phar. После перезагрузки сервера команда composer сразу заработает.
    Ответ написан
    4 комментария
  • По какому принципу работает CSRF Token защита и чем она отличается от Api Token?

    tkutru
    @tkutru
    A programming cat.
    Во-первых, наверное все-таки CSRF Token.
    Во-вторых, CSRF токен никуда руками вводить не надо, его обычно прицепляют в качестве доп. скрытого поля при отправке форм. Смысл в том, чтобы злоумышленник не мог дать ссыль или сделать на своем сайте форму, переход по которой заставил бы залогиненного на атакуемом ресурсе пользователя сделать какие-то неявные действия (сменить пароль, емаил, написать сообщения, перевести средства и т.п.).
    Ответ написан
  • Откуда продавцы на plati.ru берут ключи для steam игр?

    @Xilian
    Программист 1С, сетевые технологии, SQL
    1) Краденные кредитки
    2) Акции от продавцов
    3) Баги в клиенте
    4) Вывод денег от продажи всяких карточек / шмота.
    Ответ написан
    Комментировать
  • Как вывести таблицу с обращениями из логов к множеству сайтов по IP / Useragent?

    fox_12
    @fox_12
    Расставляю биты, управляю заряженными частицами
    Ну примерно как-то так:
    find ./ -type f -name "<домен>*" -mtime <время последнего изменения файла (в днях)> -exec grep googlebot-image {} \; | awk '{print $9}' | sort | uniq -c | sort -nr | awk '{print "<домен>", $1, $2 }'


    Если доменов несколько - то предварительно выполнить поиск по маске домена, вывести уникальные записи в текстовый файл, и обернуть выше приведенную строку скрипта в цикл по домену.
    Тогда вместо <домен> будет просто переменная из цикла

    while read domain; do
        find ./ -type f -name "${domain}*" -mtime <время последнего изменения файла (в днях)> -exec grep googlebot-image {} \; | awk '{print $9}' | sort | uniq -c | sort -nr | awk '{print "${domain}", $1, $2 }'
    done <domains_list.txt


    З.Ы. Под рукой консоли нет проверить
    Ответ написан
    1 комментарий
  • Как снизить нагрузку на MySQL?

    @MechanID
    Админ хостинг провайдера
    Исходя из того что у вас Reads / Writes: 99% / 1%
    то стоит попробывать включить Query cache, если запросы на чтение повторяющиеся то вам это поможет.
    все остальное из MySQLTuner выглядит нормально
    Ответ написан
    2 комментария
  • За и против использования bootstrap?

    nepster-web
    @nepster-web
    Ну во первых ошибка многих в том, что подключают бутстрап по любому чиху, даже если нужно просто грид сетка. В первую очередь bootstrap это компоненты, поэтому лучше всего взять только то, что нужно: getbootstrap.com/customize

    А так вообще плюсы и минусы следующие:
    + стандартизация. Все кто работают с bootstrap понимают вашу верстку, что и как делать.
    + экономия времени
    - в любом случае под свой кастомный дизайн придется перекрывать стили
    - полная зависимость в js компонентах от jquery (ну это такое)
    - некоторые неловкости при работе с методологиями.

    Соответственно если у вас большая компания, мы делаете серьезный высококачественный продукт, то вы вполне должны обойтись без bootstrap.

    И б, если вы фрилансер и делаете обычные средние или мелкие проекты, то bootstrap отличный выбор, я бы даже сказал обязательный выбор в пользу некой стандартизации.
    Ответ написан
    16 комментариев
  • Как скрыть PHP код на сервере при условии что надо его править?

    @Sowander
    От рута не спрятаться
    1. Даем другого юзера клиенту
    2. Пишем новый скрипт который на действия юзера. создает какойнить файлик в системе
    3. В основной скрипт добавляем условие проверки существования файлика и удаления при успешном/неуспешном выполнении скрипта.
    4. ставим основной скрипт на выполнение в крон каждую минуту из под рута
    Ответ написан
    Комментировать
  • Как скрыть PHP код на сервере при условии что надо его править?

    @rPman
    К сожалению в общем случае если вам нужно запускать скрипты под рутом, то злонамеренный программист может в конфигурационных файлах вставить свой код, который просканирует компьютер на наличие других файлов и скопирует их для изучения в каталог с доступом (или отправит по сети).

    Если запускаемое приложение может работать без доступа к сети, то можно делать запуск в контролируемом окружении (виртуальная машина или lxc/docker контейнер), пусть он там что угодно делает, по окончании работы забираем ожидаемый результат и откатываем изменения.

    p.s. есть способ, если все файлы проекта, которые вы хотите скрыть, не хранятся на компьютере совсем, а подгружаются через пайпы или перенаправления stdin с другой машины (по ssh например), все интерпретаторы позволяют это делать с помощью ключей командной строки... это не даст абсолютной защиты но сильно усложнит жизнь злоумышленнику, так как для изучения ему понадобится анализировать дампы памяти.
    Ответ написан
    Комментировать
  • Как скрыть PHP код на сервере при условии что надо его править?

    @metajiji
    На вкус и цвет по вашим возможностям и степени паранои вот варианты:
    Selinux/Apparmor
    Docker/lxc/systemd-nspawn
    KVM/VirtualBOX/etc
    Chroot/cgroups/chroot+cgroups
    Так же не забываем про простые вещи типа open_basedir

    По опыту скажу, что сейчас обернуть это в контейнер проще простого, тот же systemd есть везде.
    Если боитесь контейнеров, сделайте chroot и для верности помажьте сверху cgroup (получите +- тот же контейнер) ну и конечно же всегда есть kvm но это оверкилл, зато просто и надёжно.
    Ответ написан
    Комментировать
  • Как придумать алгоритм - заменить слова в HTML на синонимы из массива при каждом вхождении?

    Robur
    @Robur
    Знаю больше чем это необходимо
    разбейте все на массив слов - и пробегите по нему циклом или map собрав обратно, попутно заменяя слова как вам хочется
    Ответ написан
    3 комментария
  • Как создать таблицы MYSQL на другом диске?

    wagoodoogoo
    @wagoodoogoo
    prestashop, webix, phalcon, vue, slim, craft cms
    нет привилегий на команды FILE
    GRANT FILE ON *.* TO 'admin_wedding11u@localhost';
    Ответ написан
    3 комментария
  • Почему SSD загружается на 100% при INSERT в Mysql?

    @Swartalf
    0. Я бы не переходил бы с innodb на myisam, обычно переходят наоборот. В Myisam много проблем решенных в innodb.
    1. Делать множественные одиночные инсерты = зло. Транзакции и куски по 1/10/20/etc строк правильней.
    2. Какое значение innodb_flush_log_at_trx_commit ? попробуте выставить значение 2, про риски см. линк.
    3. Так же есть innodb_doublewrite . Что бы снизить нагрузку на диск, можете попробовать отключить, но тут же опять на ваш страх и риск.
    Ответ написан
    1 комментарий
  • Как удобно править сайт на удаленном сервере?

    AotD
    @AotD
    PHP, Redis, Postgresql
    1) phpStorm,
    2) "New project from Existing files",
    3) "Web server is on remote host, files are accessible via FTP/SFTP/FTPS"
    4) ...
    5) Tools > Deployment > Automatic Upload (always)

    Итого имеем локальную копию и удалённую. Правим локально - автоматически заливается на удаленный сервер, проверяем там.
    Уж пару лет так работаю - полёт нормальный
    Ответ написан
    3 комментария
  • Можно ли раскрутив аккаунт на SO и других сайтах получать заказы?

    rockon404
    @rockon404
    Frontend Developer
    Если представить, что вы будете вкладывать время в профили SO, Toster, Quora, etc только из с целью получить выхлоп в виде заказов и закрыть глаза на потенциальную пользу от ваших ответов, то время потраченное на раскачку и поддержание на плаву профиля можно приравнять к бездарно потраченному, так как есть множество других куда более эффективных путей для привлечения клиентов. Люди регистрируются на подобных сервисах не ради заказов. При этом участие в IT сообществах будет хорошим приложением к вашим основным рабочим профилям.

    Вы бы лучше наконец свой профиль в Мой Круг заполнили, LinkedIn завели и профили на фриланс биржах в порядок привели. Потому что в текущем виде с вами вряд ли кто иметь дело захочет.
    Ответ написан
    2 комментария
  • Скопировал фрагмент js кода, угражают судом, возможно ли?

    angrySCV
    @angrySCV
    machine learning, programming, startuping
    >Это нарушение авторских прав.
    обычная пустая туфта, никак у них не офорленны эти авторские права.
    тем более программы у вас разные, хоть и похожие - уже можете не переживать.

    мне тоже регулярно всякого рода угрозы поступают, давно уже привык, что у нас полно ряженных клоунов, которые любят всякую ерунду городить пытаясь на испуг брать (вы же понимаете что если бы они ХОТЬ КАК-ТО могли с вас пол лимона срубить, вы бы уже в суде сидели, а не туфту их по почте читали)
    На калькулятор им нужно патент оформлять, и вообще тогда всем запрещать какие-либо вариации "калькуляторов"))) сомневаюсь что это вообще возможно сделать обьектом авторских прав.
    мой совет потролить их скопировать им их же письмо с требованием удалить их калькулятор, который ворует ваш, и все слово в слово короче, с такимиже угрозами))))
    да и вобще, вы бизнесом занимаетесь, нужно быть более дерзким и наглым, иначе вас задавят.
    Ответ написан
    2 комментария
  • Вкладка Gmail потребляет 700 МБ оперативки - почему?

    mikes
    @mikes
    Думаешь тематические картинки появились на настом месте? :)
    В качестве альтернативы используй любой imap клиент
    Ответ написан
    2 комментария
  • Как поделить большую mysql базу?

    opium
    @opium
    Просто люблю качественно работать
    Наверное, стоит лучше использовать партиционирование вместо ручного биения по таблицам
    Ответ написан
    5 комментариев