Задать вопрос
  • Как сохранить файл в терменале ubuntu?

    @pfg21
    ex-турист
    стоит посоветовать установить консольный файл менеджер midnight commander
    sudo apt install mc
    в комплекте будет текстовый редактор mcedit
    Ответ написан
    Комментировать
  • Как сохранить файл в терменале ubuntu?

    vaut
    @vaut
    Есть два популярных варианта:
    1. echo "text" > output
    2. nano output

    Так же можно использовать другой редактор вместо nano...
    Ответ написан
    2 комментария
  • Должен ли front-end уметь верстать?

    Psixodelik
    @Psixodelik
    Преподаватель на Hexlet
    Фронт это всё, что видит пользователь. В том числе и вёрстка. В принципе не очень ясно, как можно адекватно заниматься фронтом, если не понимаешь, а с чем вообще имеешь дело. Куда вставляются данные, как они будут отображаться и так далее.

    Может конечно нет прям особой нужды знать всё до последнего свойства, но хорошо владеть всей базой фронт должен, иначе какая-то фигня получается.
    Ответ написан
    Комментировать
  • Как решить задачу с массивом?

    @sagechild
    программист php
    Как еще один вариант.
    $arr = [1, 1, 2, 4, 3, 1, 1, 0, 1, 5, 8, 9, 1, 1, 2];
    $direction = null;
    $last = null;
    $countMonotony = array_reduce(
        $arr,
        function ($total, $item) use (&$direction, &$last) {
            if (is_numeric($last)) {
                if ($item > $last && $direction != 'up') {
                    $total++;
                    $direction = 'up';
                } elseif ($item < $last && $direction != 'down') {
                    $total++;
                    $direction = 'down';
                } elseif ($item == $last) {
                    $direction = null;
                }
            }
    
            $last = $item;
    
            return $total;
        }
    );
    
    var_dump($countMonotony); // int(6)
    Ответ написан
    Комментировать
  • На ubuntu не ставится pip, что делать?

    smorman
    @smorman
    When In Rome do as The Romans do...
    Так в 20.04 Python3 only (только), а значит не pip (он для python2), а pip3...
    И, я так полагаю, что репы Бубунты не подключены от слова совсем...
    Ответ написан
    Комментировать
  • После замены термопасты ноутбук начал цвиринькать. Почему?

    skapunker
    @skapunker
    Умный
    надо смазать кулер маслом, это его рук дело
    Ответ написан
    5 комментариев
  • Почему не передаются параметры?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Садись, будем с тобой учиться программированию.

    То что у тебя здесь написано - это не программирование.
    Написать в столбик несколько операторов можно и обезьяну научить.

    Программирование начинается тогда, когда твой код престаёт работать.
    Процесс выявления участка, который не работает, и что надо исправить, называется отладкой. И это и есть на самом деле программирование.
    Для отладки нужно две вещи:
    1. В принципе понимать, что делает твой код. причём не в целом, а каждый оператор в отдельности. Какие данные он должен получать на вход, что с ними делать, что должно быть на выходе.
    2. Трассировка. Которая заключается тупо в выводе промежуточных результатов.

    поэтому после кода добавляем строчку
    var_dump($_SERVER['QUERY_STRING'], $addGet,$config['http_home_url'],$_SERVER['REDIRECT_SCRIPT_URL']);

    и смотрим, где чего не хватает.

    И только после этого идём на тостер задавать конкретный вопрос, "а почему у меня такая-то переменная пустая"
    Ответ написан
    Комментировать
  • Личный кабинет для пользователей, админка?

    Sanes
    @Sanes
    Что первое, что второе придется учить. Laravel проще и актуальней.
    Ответ написан
    Комментировать
  • Как лучше написать такой запрос в php + mysql?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    возможно есть короткий способ?

    Нет, короткого способа нету.

    Как лучше написать такой запрос в php + mysql?

    Лучше такой запрос вообще не писать.
    Ответ написан
    7 комментариев
  • Как правильно устнавить две убунты, чтобы у них не было общих разделов?

    Zoominger
    @Zoominger
    System Integrator
    Просто рубите жёсткий диск на несколько разделов и ставите Линуксы на них. Загрузчик сам найдёт обе ОС и пропишет в GRUB. Не вижу проблемы.
    Ответ написан
    Комментировать
  • Какой проект вы бы посоветовали сделать начинающему бекенду программисту на PHP?

    @jamtuson
    интернет - магазин. Там много чего интересного есть:
    каталог (фильтры, пагинация, скидки, оптимизация запросов), страница товара, чекаут, лк пользователя, авторизация, регистрация, просмотр заказов, загрузка/выгрузка товаров, кабинет менеджера, статистика продаж, оптимизация нагрузки, разбиение заказа на склады и можно еще много чего интересного придумать
    Ответ написан
    1 комментарий
  • Как проверить работу формы обратной связи?

    YavaDev
    @YavaDev
    Используя OpenServer надо просто заполнить и отправить форму. В таком случае создается текстовый файл с телом письма. Эти файлы лежат по адресу openserver/userdata/temp/email
    Другие локальные сервера, думаю, работают похожим образом.
    Ответ написан
    Комментировать
  • Что означает конструкция static:: в PHP?

    Комментировать
  • Является ли данный код нарушением принципа Dependency Inversion?

    glaphire
    @glaphire Куратор тега PHP
    PHP developer
    Тут нет нарушения, потому что нет дополнительной бизнес логики в виде разных подвидов поста, поэтому можно ограничиться созданием поста локально, в пределах экшена контроллера. Нарушение DI присутствует, когда явно видно, что классы зависят от реализации там, где пора создавать абстракцию
    Ответ написан
    2 комментария
  • Как без цикла сделать действие после появления файла в директории?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Как всегда - вопрос 100% "ниачем"...
    Во первых - зачем? Явно вы пытаетесь решить какую-то типичную задачу чисто вашими "воображаемо-оптимальными" способами, вместо того чтобы четко сформулировать реальную задачу.
    Во вторых - именно озвученный функционал на php делать глупо. Это не его задача и специфика. Обычно это решают средствами ОС.
    В третьих - никак, можно конечно запустить рекурсивно функцию с проверкой наличия файла в папке, но по сути это будет тот же вечный цикл с выходом по условию, только описанный в функциональном стиле.

    Повторюсь - наверняка вы решаете более общую и вполне прозаичную задачу, для которой уже придуман миллион решений проще и эффективнее.
    Ответ написан
    3 комментария
  • Не могу исправить create_function() is deprecated warning. Что можно сделать?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Комментировать
  • Можно-ли улучшить этот код?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    1. выкинуть все локейшены с ошибками. это дикость, ни один нормальный сайт так не делает. ошибки надо показывать либо сразу, либо через сессию. локейшены с ошибками встречаются только у дебилов, которые делают видео на ютубе для других дебилов. не надо так палиться сразу.
    2. выкинуть домен из ссылок. ты серьёзно собираешься переписывать все ссылки, когда у тебя сайт с временного домена переедет на постоянный? а потом обратно - когда надо будет потестить локально? header('Location: /AUTH-2/Sign_In/'); достаточно для единственного локейшена, который нужен в этом коде
    3. убрать всю эту лестницу иф-ов, делать все проверки на одном уровне. ошибки собирать в массив. перед вставкой в БД проверить массив на пустоту.
    4. if ($row->Email != $email) - масло масляное. ты УЖЕ проверил емейл в базе, зачем еще раз проверять?
    5. else if($row->Email == $email) { - это уже какой-то совсем адок. Ты УЖЕ проверил, что емейл не совпадает. причем два раза. В else мы попадём, если емейлы совпдают. Ещё раз проверять не надо. Два алкоголика садятся на трамвай, один спрашивает водителя - я этом номере до вокзала доеду? Водитель - нет. Второй алкаш - а я?
    6. внизу у тебя ссылка на password_verify, но хэшируешь ты все равно кривым алгоритмом. Не осилил?
    7. все эти куличики в песочнице с $client_Code $server_Code - это какой-то адок с точки зрения безопасности. Любой школьник, который не тупее дауна, поломает все твои "сессии" за 5 минут.
    8. setcookie("PHPSESSID", $_COOKIE['PHPSESSID'], 0, '/', '.tsecret.net'); - опять совершенно бессмысленная строчка. К чему она? Зачем? Что ты хотел тут сказать? И кому?
    9. Разбей это простыню хотя бы на функции. Никакой солид у тебя конечно не получится, как и у Георгий Котов который сам не понимает что это значит. Но хотя бы разделить проверки, запись в бд, и отправку емейла можно.

    В целом - из плюсов только нормальная работа с БД, в остальном на троечку, и местами - кол (за дыры в безопасности и отсутствие логики)
    Ответ написан
    5 комментариев
  • Примеры проектов PHP(прокомментированных). Где найти?

    glaphire
    @glaphire Куратор тега PHP
    PHP developer
    Для популярных фреймворков обычно есть демо приложение, нп. Symfony demo app. У Laravel был курс "как был создан Laracasts", т.е. есть живой проект Laracasts и скринкаст по его созданию в целях обучения. В целом на гитхабе есть море готовых приложений разного качества и сложности, главное погуглить основательно)

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

    0xD34F
    @0xD34F
    $grouped = [];
    
    foreach ($arr as $key => $val) {
      $grouped[explode('_', $key)[0]][$key] = $val;
    }
    Ответ написан
    2 комментария