Профиль пользователя заблокирован сроком с 17 мая 2024 г. по 17 мая 2025 г. по причине: нарушение правил сайта
  • Почему PHP отдает дату, которая не совпадает с системной?

    @neolink
    Версия php, какая система?
    что выводит:
    <?php
    
    echo "Default TZ: ", date_default_timezone_get();
    
    $r = new \ReflectionExtension('date');
    echo $r->info();
    Ответ написан
    3 комментария
  • Раскритикуйте архитектуру доставки видео контента?

    vvpoloskin
    @vvpoloskin
    Инженер связи
    Раскритиковать так раскритиковать) Почему так не сделали до тебя.
    1. При выпадении пары нод вы получаете глюк по ВСЕМУ имеющемуся контенту.
    2. При работе с CDN тебе надо будет либо переходить на классическую систему с одним сервером (мб с резервом), либо тащить все созданные тобой ноды в другую точку мира. Тебе ведь захочется быть ближе к клиенту?
    3. Каждые 10 сек будут создаваться новое TCP-соединение с другим сервером, будет (ли?) закрываться старое, keepalive ты уже не сделаешь, в udp-передавать стремно. В результате будешь получать микросекундные задержки при переключении кусочка.
    4. Заливка и хранение контента - отдельная песня. Придется хранить весь контент на всех серверах. И синхронизировать их через торенты.
    5. Представь - высоконагруженные железки, каждый момент обращение к абсолютно произвольному сегменту памяти. В случае хранения на одной железке, доступ к контенту был более предсказуем в рамках одной машины

    Идея прикольна, но уже есть более интересные реализации для этих целей - распределенные файловые системы (если все оборудование находится относительно близко) или CDN (если далеко)
    Ответ написан
    3 комментария
  • Давайте поговорим о sql_mode в MySQL?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    оукей, давайте соберем базу знаний. Действительно полезное дело сделаем... А хотя нет. Можно просто почитать в документации к mysql что за что отвечает
    dev.mysql.com/doc/refman/5.0/en/sql-mode.html
    причем с примерами. По большей части это неплохие ограничения для разработчика, которые позволяют избежать потенциальных ошибок.

    Начиная с 5.7.5

    что?
    Ответ написан
    8 комментариев
  • Новичок в php, неправильно отображается код, что делать?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    учусь по видеоурокам, все сделала как надо

    если что-то пошло не так, то значит не все как надо.

    Выражу свое личное мнение: видеоуроки по языкам программирования это дичайший бред. Просто полнейший. Заплатите каких баксов 5 за онлайн курсы в виде лекций или просто поищите в сети бесплатные лекции. Будет намного полезнее. Все остальное - php.net - там есть документация на русском. Для начала ее более чем хватает.

    Для более углубленного понимания стоит так же почитать спеку по языку: https://github.com/php/php-langspec/tree/master/spec но это когда в голове базовые вещи сформируются.

    Что до вашей ошибки - это не ошибка. Посмотрите на строку в браузере. Видите там file:// ? Это значит что вы просто открыли файл в браузере. Вот когда там будет http и запрос будет обрабатываться web-сервером (apache, nginx или встроенный в сам php - решать вам. Рекомендую последний вариант так как ничего ставить не нужно будет) - тогда все будет хорошо.

    По этому видеоуроки отстой. Советую перед началом изучения PHP почитать про клиент-серверную архитектуру и HTTP хотя бы на википедии. Так же про PHP SAPI. В голове должно сформироваться хотя бы базовое представление о том как это работает, потом зато будет намного меньше проблем и вопросов.
    Ответ написан
    Комментировать
  • Как сделать простенькую MVC модель в php?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Итак, займемся переводом для начала

    на главной создаю объект:

    В точке входа/во фронт контроллере. Объект этот завется маршрутизатор или раутер. Имеет отношение к MVC - нет.

    вот что в файле hello.class.php:

    Такое именование файлов и классов было модным во времена php4. Отройте для себя PSR0 (и еще отдельно про PSR-4 можете почитать).

    Т.е. при обращении по url: site.localhost/hello я вижу hello!!!! на экране.

    Поздравляю вас с первым контроллером... хоть и убогим слегка. Читаем про контроллеры в контексте GRASP

    ну в htaccess я прописал нужную конструкцию

    Верни мне мой 2007-ой, когда все было круто и все хвастались своими ЧПУ на модреврайтах. Подумайте в сторону единой точки входа и перенаправления всех запросов, для которых не нашлось файлов на эту точку входа. Но это так... просто... совет. Это упростит жизнь при миграции скажем на nginx или черокки какой.

    Вот я и поплыл в этих терминах.

    Заходим на википедию и выплываем.

    Model-view-controller - схема использования нескольких шаблонов проектирования, с помощью которых модель данных приложения, пользовательский интерфейс и взаимодействие с пользователем разделены на три отдельных компонента таким образом, чтобы модификация одного из компонентов оказывала минимальное воздействие на остальные.


    Советую почитать полную статью и пройтись по ссылкам. Особенно по части модели данных. Это должно прояснить для вас такой момент что модель это модель данных. То есть у вас есть данные, например блог-пост, есть его модель (просто класс Post который имеет поля id, title, body и т.д.). Проще говоря модель это представления данных в приложении. А view - это слой который занимается тем что переводит данные из формата модели в формат запрашиваемый пользователем. Причем вам не запрещается работать из контроллера с базой. Ну то есть как, есть такие вещи как сервисный слой и тонкие контроллеры, но мы же пока только учимся да?). В любом случае модель не должна знать ничего о том где и как она хранится.

    Теперь по поводу view. Давайте вспомним что такое запрос в контексте WEB-приложений. Это старый добрый HTTP запрос. У запроса есть заголовок - Accept который говорит что хочет получить пользователь (пользователи могут быть не живыми и хотеть что-то другое, например JSON). Через него браузер говорит что хочет получить. Например он говорит "хочу text/html" и мы должны выполнить следующие стэпы:
    - вызвать контроллер
    - контроллер достает из закрамов модельки которые хочет пользователь и отдает их во view.
    - view переводит данные из формата приложения в формат который хочет увидеть пользователь.

    В очень грубой форме view может быть таким:
    PostView {
        
        private $post;    
    
        public function __construct(Post $post) {
            $this->post = $post;
        }
    
        public function renderTitle() {
             return sprintf("<h1>%s</h1>", $this->post->getTitle());
        }
        // и еще пара методов    
        public function render() {
             $this->renderTitle();
             $this->renderBody();
        }
    }


    И по одному таком классу на каждую модель и в каждом классе придется реализовывать сложную логику по формированию вьюшек для наших моделей. Согласитесь, это не удобно. Потому придумали фигачить все в шаблонах и разруливать это движками для шаблонизации (да, одна единственная функция render которая просто инклудит php файл это тоже движек шаблонов).

    Практическое задание:
    Если все что делает контроллер это отдает отрендренный шаблон без какой либо переменной в нем.... Это MVC? Где тут модель?
    Ответ написан
    3 комментария
  • Насколько корректно делать в bootstrap3 больше колонок чем максимально возможно в строке?

    @askhat
    Абсолютно некорректно. Обратите внимание на имя класса .row, не .two-rows и не .2rows, а именно .row. Однако вы можете вынести .col-xs-12 за пределы .row, насколько я помню в послених Бутстрапах это не возбраняется.
    Ответ написан
    Комментировать
  • Какой мощности должен быть сервер?

    @larrabee
    Возьми что нибудь на 4+ ядра от интела, оперативки 32 гига, если матка позволяет, то можно и 64 (дешевая, а лишней не будет и работу ускорит). По дискам- не понятно какой у тебя объем данных и нагрузки. Если нет серьезных нагрузок, то возьми 4 диска по 2 Тб и их в raid 5 или 10 или 6 (тут сам смотри, что больше подходит). Если нагрузки приличные (например БД), то к дискам возьми пару ссд нужного объема. Такой сервер из небрендовых комплектующих (супермикро и подобное) будет стоить около 100-120 к.
    П.С. Да, карта сможет работать в 2х сетях.
    Ответ написан
    Комментировать
  • Почасовая работа: уволить фрилансера или оставить и провести разъяснительные беседы?

    buttersmai
    @buttersmai
    С одной стороны, на мой взгляд, отвлекающие факторы снижают продуктивность при программировании. Музыку послушать еще ладно, а вот видео смотреть или методички читать-наверное, перебор. Это мое мнение, как программиста. Я, когда включаю тайм-трекер, привык полностью погружаться в работу.

    С другой стороны, если бы мне заказчик вот именно таким языком написал, а потом еще на тостере бы выкладывал переписку, скриншоты, и писал фразы "гнать в шею" и "воспитательные беседы", я бы сто раз подумал, хочется ли мне с таким работать. Почасовая оплата это хорошо, конечно, но должно быть обоюдное уважение. Стоило бы уточнить, может на его продуктивность это влияет положительно(как пишут многие выше)
    Ответ написан
    3 комментария
  • Почасовая работа: уволить фрилансера или оставить и провести разъяснительные беседы?

    opium
    @opium
    Просто люблю качественно работать
    Если это было на трех скринах из тысячи то не стоит заморачиваться, если такой каждый второй то да стоит задуматься, информации для однозначного ответа в вопросе нет.
    Ответ написан
    Комментировать
  • Почасовая работа: уволить фрилансера или оставить и провести разъяснительные беседы?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    А с чего вы взяли, что вам лучше знать, как ему продуктивнее работать? У меня есть кодер, который колбасит свою работу и параллельно смотрит сериалы в оригинале на английском - учит язык. У него в углу экрана поверх всего маленькое окошко с видео. На скорость и качество его работы вообще никак не влияет. Ему так комфортно. С чего я должен ему что-то запрещать? Кто-то параллельно с работой будет слушать музыку. Кто-то на планшете какую-то игрулю будет проверять каждые 30 минут - вы этого всего не отследите, да и зачем? Не надо драконить людей, вы что, рабовладелец?

    UPD: По большому счету, вот эти ваши придирки и разборки как раз и снижают продуктивность. Вы сами себе вредите. Как правильно коллеги пишут - гнать в шею такого заказчика :)
    Ответ написан
    5 комментариев
  • Как сохранить результат foreach как переменную ?

    $c = [];
    foreach ( $t as $p ) {
          $c[] = $p->id;
    }
    $c = join( ', ', $c );
    Ответ написан
    Комментировать
  • Post c домена на другой домен?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    можно. указывайте в action нужную ссылку и все.
    Ответ написан
    Комментировать
  • Как принять поля с неизвестным названием?

    @eresik
    Очень давно не брался за PHP, но насколько помню, вот так удобнее (дополнительные квадратные скобки):
    <input type="text" class="text_add" name="_from_where_[' + i + ']" id="_from_where" value="">


    ну и в программе получаете массив значений - $fromWhere=$_POST['_from_where_'];

    Возможно в синтаксисе ошибся, но принцип такой.
    Ответ написан
    Комментировать
  • В чем же сила Node.js ?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Сила в том что все знают JS. Кто может писать на PHP/Ruby/Python? Те кто пишут на PHP/Ruby/Python соответственно (и скажем по 10%-15% от количества каждых кто может писать хотя бы на двух из трех языков. Кто может писать на JS? Все фронтэндеры + добрых каких 60%-70% от всех этих php/ruby/python/java/c# разработчиков...

    Что это дает? ОГРОМНЕЙШЕЕ комьюнити... большая часть быдло конечно но засчет огромнейшего количества разработчиков инструментарий начал просто очень быстро развиваться. Кому нужен инструмент написанный на Ruby если его можно написать на JS и его сможет поддерживать на порядок больше людей?

    Вопрос производительности по началу стоял как основная фишка языка. Все кричали наконец-то, V8 на сервере, асинхронность! Самый быстрый интерпритируемый язык на планете и все такое. Но на деле все чуть сложнее. JS реально быстрый. По сравнению с тем же Ruby он в разы быстрее! Но по большому счету на это адекватным людям плевать с высокой колокольни, так как js нифига не асиинхронный. JS работает в один поток. Причем в этом же потоке работает и сборщик мусора. Если он начнет все чистить - все замрет. Обычно это не сильно большая проблема но как-то забавно. Асинхронное в JS только работа с IO которая на плюсах/си реализована...

    Революционности так же нету. JS на сервере не новая идея и практиковался еще лет за 5 до. Просто это была очень удачная реализация да ктому же если бы не V8 то так же все было бы не так круто.

    Что до сравнения с PHP и т.д. - это инструменты для разных сфер. PHP - разработка web-сайтов. node.js - демоны, инструменты разработки, шины данных, доставка данных и т.д. Для всего остального PHP подходит больше. Есть правда пара интересных проектов главная цель которой устранить дублирование кода на сервере и на клиенте.... но подходят эти наработки пока только для очень простых проектов (хотя все относительно).

    Если вас прям плющит от нового, быстрого, современного, с клевым дизайном и тоже где повлиял гугл - golang.
    Ответ написан
    11 комментариев
  • Постер из видео как Вконтакте на php, как сделать?

    Нужно использовать что-нибудь, что позволяет работать с видео. Например, ffmpeg умеет делать очень многое. Для PHP есть обертка FFMpeg-php. Кадр им сохраняется как-то так:
    $video->frame(FFMpeg\Coordinate\TimeCode::fromSeconds(10))->save('frame.jpg');

    Время, соответственно, брать вам нужно, исходя из продолжительности видео.
    Ответ написан
    4 комментария
  • Как правильно составить такое условие в PHP?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Мне кажется вам пока рано писать плагины/компоненты для joomla...
    Ответ написан
    Комментировать