• Стоит ли так оптимизировать?

    zo0m
    @zo0m
    full stack developer
    Переписывать под свой велосипед - плохое решение.
    Хорошим решением может быть: заняться настройкой yii, или профилировать свой код, чтобы найти узкие места.

    Главный вопрос: проект хоть как-то в продакшене? у тебя есть хотя бы 100 пользователей онлайн, что ты переживаешь о 5мб? 1GB оперативки стоит 10 баксов в месяц на DigitalOcean, если что.

    Свой велосипед почти 100% выйдет боком. Если прямо дико хочется оптимизировать, поищи какой-нибудь более производительный фреймворк, чем Yii и переползай на него. Мне когда-то нравился Phalcon.
    Ответ написан
    Комментировать
  • Как форматировать дату?

    iiifx
    @iiifx
    PHP, OOP, SOLID, Yii2, Composer, PHPStorm
    echo DateTime::createFromFormat( 'Y-m-d H:i:s', '2015-10-28 13:03:12' )->format( 'r' );
    // Wen, 28 Oct 2015 13:03:12 +0200
    
    echo DateTime::createFromFormat( 'Y-m-d H:i:s', '2015-10-28 13:03:12' )->format( DateTime::RFC2822 );
    // Wen, 28 Oct 2015 13:03:12 +0200
    
    echo DateTime::createFromFormat( 'Y-m-d H:i:s', '2015-10-28 13:03:12' )->format( 'D, d M Y H:i:s O' );
    // Wen, 28 Oct 2015 13:03:12 +0200

    или

    echo date( 'r', strtotime( '2015-10-28 13:03:12' ) );
    // Wen, 28 Oct 2015 13:03:12 +0200


    php.net/manual/ru/datetime.createfromformat.php
    php.net/manual/ru/function.strtotime.php
    php.net/manual/ru/function.date.php
    Ответ написан
    1 комментарий
  • Проблема с клиентом на фрилансе?

    Jump
    @Jump
    Системный администратор со стажем.
    Это никак не проблема с клиентом, это явная проблема с исполнителем.
    Работа оплачена, а исполнитель шантажирует заказчика.
    За такое отрицательный отзыв он просто обязан поставить.
    Чтобы другие не нарвались.
    Ответ написан
    Комментировать
  • Проблема с клиентом на фрилансе?

    IonDen
    @IonDen
    JavaScript developer. IonDen.com
    Раз он всё оплатил, то с чего это вы не шлёте ему PSD? Высылайте, приносите извинения.
    Ответ написан
    Комментировать
  • Какие есть варианты компиляции less автоматически при деплое?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    лучше всего организовать автоматическую сборку исходников на сервере?


    Лучше всего исходники собирать не на сервере. Разве что на CI-сервере. Делаем билд, и деплоим только артефакты билда.
    Ответ написан
    Комментировать
  • Есть ли смысл в нативных связях в БД, если relation в active record их дублируют?

    Не стоит, если для вас сейчас это очевидно, это не значит, что оно останется очевидным через год или будет очевидным для того, кто в будущем вместо вас будет поддерживть код. В дополнение к этому вам придется написать подробную документацию к своему коду (проставить внешние ключи гораздо проще, чем описать 100 кусков кода, которые нужно учитывать просто потому, что ключи не проставлены), а вашему сменщику ее тщательным образом изучить перед началом работы и более того - постоянно держать в памяти. Не знаю как в yii, но в laravel с базой можно работать посредством Orm eloquent и query builder. В eloquent я еще могу описать некоторые правила, но у меня нет гарантий, что программист, который будет работать над проектом после меня не решит использовать query builder, обойдя стороной все всю логику, записанную в моделях. И и в случае с целостностью базы это проблемы не только программиста, это проблемы в первую очередь проекта. Php не надает по рукам такому программисту, а вот база данных запросто.
    Ответ написан
  • Как выполнить скрипт независимо от готовности страницы?

    27cm
    @27cm
    TODO: Написать статус
    А как же JS найдёт эти самые элементы с классом success-pay, если страница ещё не готова? Как минимум должен загрузиться HTML DOM, а в вашем случае ещё и jquery. Чтобы найти и разобраться с другими причинами задержек, смотрите вкладку DevTools Network.

    И это $('.success-pay').click(); не обработчик, а триггер события.

    Если хотите максимальной скорости, то можно переписать на JavaScript и разместить код перед закрывающим тегом body:
    <script>
    var el = document.getElementsByClassName('success-pay');
    for (var i = 0; i < el.length; i++) {
        el[i].click();
    }
    </script>
    <!-- Дальше уже подключайте jquery и прочее -->
    <script src="//code.jquery.com/jquery-2.1.4.min.js"></script>
    </body>
    Ответ написан
    1 комментарий
  • Ошибка в регулярном выражении?

    stackoverflow.com/questions/1732348/regex-match-op...

    Используйте любой доступный xml-парсер, например, simple_html_dom. С ним ваша конструкция будет простая и читаемая:
    foreach($html->find('img') as $img) {
          echo "Адрес страницы: " . $img->src . "\n";
          echo "Название: " . $img->title . "\n";
          echo "Описание: " . $img->alt . "\n";
    }

    Вариант с регулярным выражением корректнее было бы записать в виде получения пар ключ-значение и дальнейшей обработкой полученных данных: https://regex101.com/r/aS7qG0/1. Вам никто не гарантирует как наличие, так и порядок аттрибутов в тэге.
    Ответ написан
    Комментировать
  • Есть ли альтернативные пакеты для html шаблонов(написал свой)?

    Taraflex
    @Taraflex
    Ищу работу. Контакты в профиле.
    почему бы не использовать их - ИМХО: <> - для тэгов, {{}} - для логики - гораздно читабельнее

    Из вашего же README
    {{for key,val := range data { }} //<- кучка скобок в одном месте
         <div><b>{{=key}}</b>:<i>{{=val}}</i></div>
    {{ } }} //<- еще большая кучка скобок в одном месте

    Не так уж и наглядно получается.
    Ответ написан
    6 комментариев
  • Udp через Http прокси?

    chumayu
    @chumayu
    Если в башне по*бень. То что еб*нь, что не еб*нь.
    HTTP PROXY - NO
    SOCKS 5 - YES
    Ответ написан
    Комментировать
  • Почему cookie можно создавать только в начале?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    для начала вам надо разобраться что такое куки. Как куки передаются на клиент. Что такое заголовки и тело HTTP запросов и ответов. И тогда все встанет на свои места. Ну а что бы небыло проблем - почитать про управление буферизацией вывода в PHP.

    Чем куки отличаются от сессии в PHP?
    Ответ написан
    Комментировать
  • Для совсем новичка в программировании php или ruby?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Ruby - надо знать английский и переходить на unix-like операционки (linux, bsd, mac os).

    PHP - можно ничего не знать, задачи всеравно будут.

    Профит учить Ruby если все же хватит сил - у Ruby комьюнити есть определенная культура, в частности это самое любящее тестирование и TDD техники комьюнити из всех. В PHP с этим в среднем гораздо хуже... Так что решайте сами.

    С Ruby есть риск надолго стать пленником RoR, с PHP - стать пленником устаревших статей, разных CMS-кой аля джумлы или друпалы, словом... фильтровать информацию от треша сложнее.
    Ответ написан
    3 комментария
  • Что брать для графического дизайна: MacBook Pro Retina 13" или 15"?

    sayber
    @sayber
    Да, я программирую на PHP и еще асинхронно!
    Добавлю - что 13 что 15, это только под микроскопом работать.
    Надо хотя бы 27, но это уже естественно надо монитор или полноценный imac.
    Ответ написан
    Комментировать
  • Как быстро начать изучать python?

    @arciomau
    Вообще первое, что я посоветую - забыть на время про программирование и учить английский. Для понимания большинства книг тебе будет достаточно уровня Intermediate (B1, словарный запас 2-3 тысячи слов + общее понимание грамматики). Ибо все равно без английского ты достаточно быстро замучаешься. Точнее скажу, ты замучаешься при первой попытке погуглить любое нетривиальное решение возникшей проблемы (ибо многие подходящие решения будут объяснены по-английски на StackOverflow и подобных сайтах). Ну и при возникновении ошибок в ходе выполнения программы интерпретатор тоже будет "ругаться" по-английски. Если ты никогда не учил английский, пару лет на это уйдет, если заниматься не слишком интенсивно. Если взяться интенсивно, можно и за год, в принципе, достичь этого. Это не совсем просто. Но оно того стоит, 100%.

    После этого можно идти на coursera и записываться на курс для новичков по интересующему тебя ЯП. Например, для питона это что-то такое. Ну необязательно, конечно, coursera, есть и другие образовательные сайты (пример) - тут уже гугл тебе в руки.

    Просто без знания английского ты всегда будешь позади на пару лет: книги пишутся и переводятся на русский небыстро. Ну и как я уже сказал выше, уже средние знания английского сильно облегчат твою дальнейшую жизнь в смысле поиска решений в Сети. Это не зависит от выбранных технологий - такая же ситуация будет и с Java, Ruby, Go и любыми другими ЯП.

    Разумеется, можно параллельно учить английский и читать книги по питону. На этот случай тебе уже присоветовали книги. Я бы рекомендовал начать с Доусона. Книга Лутца, конечно, более универсальная, но уж очень она подробная для начала: можно и запутаться в таком объеме информации (хотя ничего действительно сложного там нет). Еще для быстрого старта подойдет эта книга. Но английский все равно в первую очередь учить, без него беда.

    Ну и в качестве лирического отступления. Я бы лично задумался на твоем месте: а нужно ли мне вообще программирование (безотносительно к питону)? Ибо если тебе быстро становится скучно уже во время изучения основ и хочется убыстрить процесс обучения... Ну вряд ли дальнейшее обучение будет в радость. Программирование вообще-то не самый веселый и разнообразный процесс. Особенно нудно проходит отладка, вылавливание ошибок в программах. Я сам, хоть и не программист по образованию, неоднократно тратил долгие часы и дни в поиске трудноуловимых ошибок в уже написанной программе. Нередко бывало, что процесс тестирования программы занимал в разы больше времени, чем, собственно, написание кода. И это вполне типичная ситуация, независимо от ЯП. А уж когда ты выучишь, наконец, более-менее синтаксис любого языка и начнешь углубляться в алгоритмы - тут уже веселья вообще будет минимум. А вот внимательности, педантичности и настойчивости потребуется немало.

    Поэтому если уж ни в какую не хочется тратить долгие месяцы на изучение английского и одновременное изучение синтаксиса языка программирования, введения в алгоритмы и т.п. - займись чем-то другим.
    Ответ написан
    2 комментария
  • Может ли как то Кука навредить сайту?

    mahoho
    @mahoho
    Full stack certified PHP developer.
    Цитата из документации:
    С версии PHP 5.5.2 доступна опция session.use_strict_mode. При ее включении и при условии, что модуль сохранения сессий ее поддерживает, неинициализированный сессионный ID отвергается и создается новый. Это защищает от атак, которые принуждают пользователя использовать заранее известный ID. Атакующий может размещать ссылки или отправлять письма, которые содержат сессионный ID. Например example.com/page.php?PHPSESSID=123456789 . Если опция session.use_trans_sid включена, то жертва откроет сессию с этим идентификатором. Опция session.use_strict_mode уменьшает этот риск.

    Так вот эта настройка по умолчанию выключена. Это означает, что если при таком раскладе вам начнут присылать несколько таких запросов в секунду, каждый из которых открывает новую сессию, вы очень быстро упретесь в предел количества открытых файлов (потому что session.save_handler по умолчанию files):
    cat /proc/sys/fs/file-max
    Почитайте раздел PHP про безопасность сессий, там много интересного.
    Ответ написан
    1 комментарий
  • Какими опциями ini_set в php рекомендуете пользоваться для упрощения работы и увеличения защищенности сайта?

    mahoho
    @mahoho
    Full stack certified PHP developer.
    Начните с документации: php.net/manual/ru/security.php. там очень подробно описано, на что следует обращать внимание, уделяя внимание безопасности в PHP, не только насчет ini_set(). Там и XSS, и SQL Injection, и session highjacking и все-все-все.
    Ответ написан
    Комментировать
  • Работает ли 4G в Санкт-Петербурге для iPad Mini (1-го поколения)?

    dimonchik2013
    @dimonchik2013
    non progredi est regredi
    Ответ написан
    Комментировать
  • Как это зашифровано?

    @vilgeforce
    Раздолбай и программист
    Это не зашифровано, а судя по всему, захэшировано.
    Ответ написан
    3 комментария
  • Какими опциями ini_set в php рекомендуете пользоваться для упрощения работы и увеличения защищенности сайта?

    Sanasol
    @Sanasol Куратор тега PHP
    нельзя просто так взять и загуглить ошибку
    b-bezopasnost-B79dJT.jpg
    Ответ написан
    Комментировать
  • Как сделать патент?

    @vilgeforce
    Раздолбай и программист
    Если вы ноль - обращайтесь к юристам, которые занимаются патентным правом.
    Ответ написан
    3 комментария