• Есть ли книга по PHP где создается гостевая книга?

    KorsaR-ZN
    @KorsaR-ZN
    @FanatPHP: Ну Вы уж простите меня, но если у человека возникает вопрос, о том, как написать форму для сохранения текста и дальнейшего его вывода на страницу, то тут какая-либо книга или статья не помогут. Человек просто из не весь код перепишет, а полезности от это ноль.

    Так что самый дельным советом будет, пойти и подучить сам язык и его возможности, а попутно прихватить немного HTML
  • Ценится ли IT-специалист, который умеет все?

    KorsaR-ZN
    @KorsaR-ZN
    @CAMOKPYT: Ну так про узкого специалиста ник-то и не говорит, я уже написал в ответе выше, что каждая специализация тянет за собой другие смежные области. и отсюда получается уже не узко направленный специалист, а основная специализация, то одна. Например, разработчик различных веб-решений, отсюда и познания в программирование, как бэкенд, так и фронт, верстка, немного сео, графики. А мой изначальный ответ был, на, то что автор вопроса сильно разрбрасаться хотел по специализациям. Как бы группы все-равно есть. Дизайн, графика, 3d это одно и т.д.
  • Ценится ли IT-специалист, который умеет все?

    KorsaR-ZN
    @KorsaR-ZN
    @victorvsk: Ну я в изначально ответе писал, что разбираться во всем, это нормально. Я тоже во многих областях разбираюсь, на специализируюсь на одной, и она за собой тянет знания из других, но основная одна. Вот, что я хотел сказать своим ответом. Ну просто, то, что написал автор вопроса, это слишком много, и оно все из разных областей. Так что, тут я думаю и так понятно, когда изучаешь одну область знаний, она по любому потянет за собой другие и т.д, но распыляться, как написал автор не стоит, лучше что-то выбрать одно и это довести до хорошего уровня, а но за собой потянет другое, потом, как овладеешь одним, можно приступить к другому и т.д. Так и рождаются специалисты широкого профиля, но не сразу, как хочет автор вопроса, по чуть-чуть там и там, так получится только обрывки знаний и из-этого хорошего ничего не выйдет. Ну это мое мнение))
  • Ценится ли IT-специалист, который умеет все?

    KorsaR-ZN
    @KorsaR-ZN
    @victorvsk: ну тут вы же все таки специалист в чем-то определённом бекенд вон, а сервер вы просто умеете настраивать, но не так хорошо, как бы это сделал администратор занимающийся только этим, маркетинг вы можете посоветовать, но не так хорошо, как бы это сделал профисианальный копирайтер, дизан делает под свой фкус, но не так же хорошо, как это сделал бы хороший дизайнер. Так, что я не в коем случаи не хочу сказать, что вы плохо во всем этом разбираетесь, вы не примерно круты, но все равно не так круто, как бы если это были отдельные люди, которые этим только и занимаются. Но я в своем ответе написал. Что это только мое мнение, и люди бывают разные. Так, что я не кого не хотел обидеть или задеть, а просто высказал своей точку зрения :)
  • Ценится ли IT-специалист, который умеет все?

    KorsaR-ZN
    @KorsaR-ZN
    @grixis: ну так вы про мини сайты говорите, которые сделал и забыл, да такой там то, что надо. А вот на крупном проекте с длительной поддержкой, такой мастер налепит там на друпали, так чтоб работала да и ладно, а через год такой поддержки проект дешевле будет выкинуть и снуля написать. Так что бывают разные задачи и они решаются разными подходами, где-то эни-кещика хватит, а где то нужны специалисты проектировщики, фронтедн и бекенд, тестировщики и администраторы... Так что исходя из требований и подбирается разработчики...
  • Curl, вместо кукисов передается путь к файлу с ними, что я делаю неверно ?

    KorsaR-ZN
    @KorsaR-ZN
    @Mussi Ваш пример, у меня полностью работает,

    Вот первый ответ, когда файл куков еще не создна...
    POST / HTTP/1.1
    User-Agent: Mozilla/4.0 (Windows; U; Windows NT 5.0; En; rv:1.8.0.2) Gecko/20070306 Firefox/1.0.0.4
    Host: yanadex.ru
    Accept: application/json, text/javascript, */*; q=0.01
    Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3
    Accept-Encoding: gzip, deflate
    Content-Type: application/x-www-form-urlencoded; charset=UTF-8
    X-Requested-With: XMLHttpRequest
    Connection: keep-alive
    Pragma: no-cache
    Cache-Control: no-cache
    Content-Length: 15


    Вот второй
    POST / HTTP/1.1
    User-Agent: Mozilla/4.0 (Windows; U; Windows NT 5.0; En; rv:1.8.0.2) Gecko/20070306 Firefox/1.0.0.4
    Host: yanadex.ru
    Cookie: sid=9e7d57af7e81fdf0dfedb441712970d3
    Accept: application/json, text/javascript, */*; q=0.01
    Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3
    Accept-Encoding: gzip, deflate
    Content-Type: application/x-www-form-urlencoded; charset=UTF-8
    X-Requested-With: XMLHttpRequest
    Connection: keep-alive
    Pragma: no-cache
    Cache-Control: no-cache
    Content-Length: 15


    В Вашем коде немного поменял
    curl_setopt($ch, CURLOPT_COOKIEFILE, __DIR__ .'/cookie1.txt');
    curl_setopt($ch, CURLOPT_COOKIEJAR, __DIR__.'/cookie1.txt');


    и убрал
    curl_setopt($ch, CURLOPT_COOKIE, $_SERVER['DOCUMENT_ROOT'].'/cookie1.txt');
  • Curl, вместо кукисов передается путь к файлу с ними, что я делаю неверно ?

    KorsaR-ZN
    @KorsaR-ZN
    @Mussi Файл, который передаете в CURLOPT_COOKIEFILE не пустой?
    Нет ли случаем там cookies, которые httpsOnly и может ли этот файл curl прочитать? нужен абсолютный путь до файла.
  • Как получить такую последовательность из чисел?

    KorsaR-ZN
    @KorsaR-ZN
    @devilus Просто по примерам выше, как раз можно предположить, что это всего-лишь идентификатор, т.к в последовательностях есть пересечения по числам, а эти числа, что в ряде, как я понял и есть предметы, которые выпадают?
  • Как получить такую последовательность из чисел?

    KorsaR-ZN
    @KorsaR-ZN
    @devilus Так выложите хоть обфусцированный куда-нибудь, на rghost.ru в txt,
    А есть гарантия, что система из этого числа получает такой набор?, может это просто ID, по которому система на основание другой скрытой штуки или запроса получает такой набор, и это число ни как не связано с набором.

    Игра, на нее глянуть можно?
  • Почему composer не обновляет yii2?

    KorsaR-ZN
    @KorsaR-ZN
    @Fesor Ну так я про install писал, моя ошибка, что не уточнил в ответе.
  • Почему composer не обновляет yii2?

    KorsaR-ZN
    @KorsaR-ZN
    @ryzhak Ну тогда точно укажите версию, как описано нижу в другом ответе, удалите файл composer.lock и пакет yiisoft/yii2 из vendor и выполните install
  • Почему composer не обновляет yii2?

    KorsaR-ZN
    @KorsaR-ZN
    @ryzhak наберите composer selfupdate, и добавьте версию, как ниже предлагают
  • Как объединить массивы?

    KorsaR-ZN
    @KorsaR-ZN
    @maxloyko Вот мой вариант оптимизированный, без вызовов array_merge, и убрал передачу по ссылки и проверку по типу, они кушают время...

    Average execution time: 234 ms
    Min execution time: 219 ms
    Max execution time: 270 ms

    function mergeAfterSort($left, $right)
    {
        $result = [];
    
        $rightIndex = 0;
        $leftIndex  = 0;
    
        $cLeft  = count($left);
        $cRight = count($right);
    
        while ($leftIndex < $cLeft && $rightIndex < $cRight) {
    
            if ($left[$leftIndex] < $right[$rightIndex]) {
                $result[] = $left[$leftIndex];
                $leftIndex++;
            } else {
                $result[] = $right[$rightIndex];
                $rightIndex++;
            }
        }
    
        for (; $leftIndex < $cLeft; $leftIndex++) {
            $result[] = $left[$leftIndex];
        }
    
        for (; $rightIndex < $cRight; $rightIndex++) {
            $result[] = $right[$rightIndex];
        }
    
        return $result;
    }
  • Как объединить массивы?

    KorsaR-ZN
    @KorsaR-ZN
    @maxloyko Держите...

    function mergeSort(Array $arr)
    {
        $count = count($arr);
    
        if ($count < 2.) {
            return $arr;
        } else {
    
            $mIndex = ceil($count / 2.);
            return mergeAfterSort(mergeSort(array_slice($arr, 0, $mIndex)), mergeSort(array_slice($arr, $mIndex)));
        }
    }
    
    function mergeAfterSort(Array $left, Array $right)
    {
        $result = [];
    
        while (($cLeft = count($left)) | ($cRight = count($right))) {
    
            if (!$cLeft) {
                $result = array_merge($result, $right);
                break;
            }
    
            if (!$cRight) {
                $result = array_merge($result, $left);
                break;
            }
    
            if ($left[0] < $right[0]) {
                $result[] = array_shift($left);
            } else {
                $result[] = array_shift($right);
            }
    
        }
    
        return $result;
    }


    P.S т.к у Вас уже два отсортированных массива, то можно часть алгоритма пропустить, и сразу приступить к слиянию "mergeAfterSort()"
  • Как объединить массивы?

    KorsaR-ZN
    @KorsaR-ZN
    @maxloyko Не вопрос, чуть позже пришлю, сюда...
  • Как сделать номер телефона ссылкой для набора номера на мобильных?

    KorsaR-ZN
    @KorsaR-ZN
    @eprivalov По стандарту URI, часть после : относится уже к источнику, так что //, тут не нужно.
  • Как сделать номер телефона ссылкой для набора номера на мобильных?

    KorsaR-ZN
    @KorsaR-ZN
    @eprivalov С чего вы взяли, что так правильнее? тут принцип такой же, как и с mailto:
  • Как сортировать массив по количеству символов?

    KorsaR-ZN
    @KorsaR-ZN
    @tnorman Если быть точным, то не обязательно 1 или -1, тут важен знак, т.е

    Функция сравнения должна возвращать целое число, которое меньше, равно или больше нуля, если первый аргумент (a) является соответственно меньшим, равным или большим чем второй (b).
  • Как сортировать массив по количеству символов?

    KorsaR-ZN
    @KorsaR-ZN
    @tnorman Да, только про 0 при равенстве объектов тоже не забудьте, а то получится фигня, а не сортировка.

    При сортировки по возрастанию:
    a < b; //retrun -1;
    a > b; //return 1;
    a == b; //return 0;

    При сортировки по убыванию:
    a > b; //retrun -1;
    a < b; //return 1;
    a == b; //return 0;
  • Как сортировать массив по количеству символов?

    KorsaR-ZN
    @KorsaR-ZN
    @tnorman Все очень просто, если элементы равны по какому-то принципу, то необходимо вернуть 0, если элемент а < b, то возвращаем -1, если a > b, то необходимо вернуть 1.

    принцип сравнивания может быть любым, все, что в голову придет.
    к примеру отсортировать массив по возрастанию, если один элемент больше другого на величину равную 5, то функция сортировки примет вид:

    arr.sort(function (a, b) {
       var aa = a + 5;
    
        if (aa > b) {
            return -1;
        }
    
        if (aa < b) {
            return 1;
        }
    
        return 0;
    });


    Для сортировки в обратном порядке, т.е от большего к меньшему, нужно просто поменять местами знаки < >