• Как узнать свой уровень в кодинге?

    @kirill-93
    Это все в пределах конкретной компании ведь. Тимлид в конторке по разработке сайтов != тимлид большой международной компании. В целом примерно так:
    Джуниор не может сам полностью выполнять таски, ему нужны советы и контроль.
    Мидл может сам выполнять таски без контроля и советов, кроме исключительных случаев.
    Сеньор - тот, на ком все держится и к кому все обращаются.
    Тимлид может быть мидлом или даже джуном в другой компании.
    Что конкретно нужно знать вам никто не скажет, да и всего знать невозможно. Если речь идет именно о каких-то технологиях, то это не важно, важно уметь находить решения, а не знать их наизусть.
    И еще, лучше быть крутым джуниором/мидлом, чем хреновым тимлидом. Очень смешно смотреть, как человек с двумя годами опыта гордо рассказывает всем, что он тимлид. Этим любят пользоваться хитрые начальники, типа: "Давай ка мы тебя тимлидом называть будем, а ты поработай сверхурочно и по выходным, ты ведь теперь сеньор-помидор!", а молодежь ведется.
    Ответ написан
    3 комментария
  • Как работает кэш в Laravel?

    muhammad_97
    @muhammad_97
    PHP-разработчик
    Можно прибавить к ключу идентификаоор пользователя.
    Ответ написан
    1 комментарий
  • Вывод данных на всех страницах?

    DJZT
    @DJZT
    Laravel - code for you
    Вам сюда. Laravel view composer
    Ответ написан
    Комментировать
  • Как обработать именно тот элемент, на который кликнули?

    yarkov
    @yarkov Куратор тега JavaScript
    Помог ответ? Отметь решением.
    jQuery('.wrap').on('click', function(){
      $(this).hide();
    });
    Ответ написан
    3 комментария
  • Как спарсить сразу два значения из строки?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    По-кривому можно и так
    .*">(.*)<\/a>.*">(.*)<\/a>.*href

    (https://regex101.com/r/vU8cU1/1)
    А по нормальному, надо весь html смотреть чтобы не было проблем.
    Но вообще, лучше пользоваться библиотеками для парсинга тегов.
    Ответ написан
    Комментировать
  • ORM отношения в Laravel?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега Laravel
    $forum->topics - это коллекция тем. Сообщения привязаны к каждой конкретной теме, но не к их коллекции. Собственно, именно об этом в ошибке и написано.

    Если вам нужно вывести количество сообщений в конкретной теме, то будет что-то вроде этого:
    @foreach($forum->topics as $topic)
      {{ $topic->messages->count() }}
    @endforeach

    Если вам нужно подсчитать общее количество сообщений во всех темах, у коллекции есть метод sum().
    Ответ написан
    4 комментария
  • Как лучше это сверстать?

    Типа такого? codepen.io

    Всё делается просто через классы.
    $('.filter-btn').toggleClass('open'); и $('.filter-btn').removeClass('open');
    Ответ написан
    8 комментариев
  • Прогресс выполнения php foreach в ajax запросе?

    @Fellowship
    Все варианты, предложенные здесь подразумевают установку дополнительного ПО или использования иных технологий.

    Но на самом деле можно обойтись и без них.

    Смотрите.
    У Laravel есть замечательный механизм кронджобов. Используйте его в связке с mysql.

    Допустим у нас есть таблица с тасками для выполнения в фоне с 4мя полями
    id, task, progress, result
    (я уже правда не помню структуру таблицы laravel у кроновых тасков)

    И ajax запрос первый будет лишь командой на вставку новой задачи, который на js возвращает лишь id таска.

    Далее на клиенте реализовываем второй запрос - проверка статуса. Сам запрос просто запрашивает из базы значение поля progress из базы, а Js, например, рисует красивый прогресс. И пускай он с интервалом раз в секунду или несколько секунд (в зависимости от задачи) опрашивает сервер.

    Далее реализовываем третий запрос - получение результата. Как только на второй запрос получили ответ, что таск выполнен на 100%, отправляем запрос на получение результата который берет его из базы (или из redis, или из сессии, короче из любого хранилища. Если сайт не нагружен можно и в базе хранить в сериализованном виде).

    А сам соответственно таск пускает выполняется себе в фоне и никого не трогает. Если это vds или dedicated то на такие процессы вообще можно поставить ограничения и по памяти и по нагрузки на проц, или вообще вынести на отдельный docker или виртуальный контейнер. Короче, поле для деятельности масса.

    Плюсы такого варианта:
    • не нужно использовать современные технологии типа websoket (по их незнанию или по нежеланию или просто отсутствию возможности)
    • Поддержка браузеров явно больше чем у WebSocket (wikipedia)
    • достаточно использовать только встроенные технологии laravel
    • не требует сторонних библиотек


    Минусы данного подхода:
    • Все таки действительно 21 век на носу и можно уже изучить WebSocket
    • Требует постоянного опроса сервера, хоть нагрузка и небольшая от них, но все таки нагрузка
    • Вопрос с хранением результатов остается открытым для очень больших запросов и при высокой нагрузке
    Ответ написан
    Комментировать
  • Как выдернуть из json значение?

    DevMan
    @DevMan
    $json_decoded->inventory->{5308188287}->classid
    ideone.com/4Sbe0j
    Ответ написан
    Комментировать
  • Как сделать на php использование прокси?

    muzikant777
    @muzikant777
    PHP/Vue разработчик
    $proxyList = [
        ['ip' => '1.2.3.4', 'port' => '1234'],
        ['ip' => '4.3.2.1', 'port' => '5678'],
    ];
    $requestOptions = [
        CURLOPT_RETURNTRANSFER => TRUE,
        CURLOPT_CONNECTTIMEOUT => 3,
        CURLOPT_TIMEOUT        => 7,
    
    ];
    $ch = curl_init('http://test.ru/get?a=1&b=2');
    curl_setopt_array($ch, $requestOptions);
    foreach ($proxyList as $item) {
        curl_setopt($ch, CURLOPT_PROXY, $item['ip']);
        curl_setopt($ch, CURLOPT_PROXYPORT, $item['port']);
        $response = curl_exec($ch);
    }
    
    curl_close($ch);
    Ответ написан
    5 комментариев
  • Почему не отправляется форма в Symfony 3?

    BoShurik
    @BoShurik Куратор тега Symfony
    Symfony developer
    Условие isSubmitted не выполняется при отправке формы.

    Похоже что отправляете форму GET-ом, а $form->handleRequest($request); ждет POST-запрос.
    Либо укажите метод явно
    $this->createForm(SelectedDeviceType::class, $data, array(
        'method' => 'GET'
    ));

    либо отправляйте POST-ом

    + т.к. форма ренедрится через sub-request, то отправка идет на текущую страницу:
    $this->createForm(SelectedDeviceType::class, $data, array(
        'action' => $this->generateUrl('form_submit_route');
    ));
    Ответ написан
    2 комментария
  • Преобразовать строку в base64?

    petermzg
    @petermzg
    Самый лучший программист
    У вас правильно преобразует.
    «=» специальный код суффикса
    Из википедии:
    "Если кодируются только один или два байта, в результате получаются только первые два или три символа строки, а выходная строка дополняется двумя или одним символами «=». Это предотвращает добавление дополнительных битов к восстановленным данным. "
    Ответ написан
    Комментировать
  • Преобразовать строку в base64?

    aminought
    @aminought
    С чего вы взяли, что вам нужно именно "eyJyZXNwb25zZSI6IjIsNCw1In0."? По-моему, всё верно. Если вас смущает хэш, то посмотрите в hex-редакторе, что не так с декодированной строкой.
    Ответ написан
    1 комментарий
  • Как создать сайт вроде спрашивай.ру?

    HoHsi
    @HoHsi
    Не стоит сразу же замахиваться на большой сервис, начните постепенно. Каждый начинающий программист первым своим проектом грезит сделать убийцу ВК / FB. Скажу сразу, это с первого раза не выйдет. Как не выйдет и с 10. Но! Это не повод, что-бы не развиваться и не учиться. Итак если вы все же решили потрать пару месяцев на обучение, или вы уверены, что пойдет меньше, начните так:

    Шаг первый
    Html. Это язык разметки, на котором написано 100% веба, то есть это необходимая вещь де-факто. Он позволит вам разместить текст на странице, оформить ее.
    В базовой аналогии, это ворд для интернета (кышь Ъ праграммысты, это довольно хорошая аналогия для новичка, продолжим...).

    Это займет +- 1 неделю

    Вам помогут:
    * htmlbook

    Шаг второй
    CSS. Это язык стилизации. Перекрасить текст, увеличить отступы, сделать тень у блоков это к нему. Все крависости в интернете делаются на нем. 99% веба использует для стилизации именно его, так что опять же это стандарт.

    Это займет +- 2 недели

    Вам помогут:
    * Sorax

    Шаг третий
    PHP. Это уже язык программирования (плохой, больной, уродливый, но язык. Да начнется холивар). Он поможет вам понять как это работает, как устроена кухня. Поковыряйте его, обучитесь начальной логике и алгоритмам. Он поможет вам выводить HTML более осмыслено, т.е. вы сможете уже составлять динамические страницы, которые могут подстраиваться под пользователя, добавлять посты, вопросы, картинки и т.д.

    Это займет +- 2 месяца

    Вам помогут:
    * php.net

    Шаг четвертый
    Wordpress. Это почти готовый сайт. В нем уже есть все, что вам нужно. Вы можете писать посты, делать обсуждения и т.д. На его основе вы сможете вылепить что угодно, даже тот самый вопросник. Он написан на PHP, так что он будет дополнять ваши знания. Как только научитись ставить WP, попробуйте написать для него шаблон, потом плагин, и еще и еще. Это закрепит и разовьет ваши предыдущие знания.

    Это займет +- 2 месяца

    Вам помогут:
    * wp-kama

    Шаг пятый
    MySQL. И в частности язык запросов SQL. Это база данных. Они нужны, что-бы хранить информацию вашего сайта в удобном виде. Т.е. по своей сути это таблица экселя, в ней есть поля и их значения. Это так же необходимые знания, так как ваши вопросы из вопросника будух храниться именно там.

    Это займет +- 1 месяц

    Переломный момент
    Наступает переломный, это значит что по истечению полу-года вы должны сесть и подумать, нравится ли вам, что вы делали. Это важно. Так как дальше не будет проще, не будет легче. Начнутся такие вещи как Асинхронность, Брокеры сообщений, ООП, MVC, и другие страшные слова, которые ровно как и предыдущие шаги по-началу будут вас пугать, но потом станут лучшими друзьями.

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

    Не спешите так же переходить к шагам ниже, если не уверены в своих силах. Нет ничего плохого, что-бы "посидеть" еще на предыдущих шагах.

    Шаг пятый
    JavaScript. Ура, вы решили, что вы хотите быть программистом, похвально. Этот язык позволит вам сделать ваши страницы более динамичными. Добавить на них анимацию, логику. Этот язык использует 90% веба, так что сомневаться в его значимости нет смысла. Он позволит вам добавить жизнь на ваш сайт.

    Это займет +- 2 месяц

    Вам помогут:
    * Sorax
    * learn.javascript.ru

    Шаг шестой
    Jquery. Это продолжение JS. Это фреймворк (набор готовых функций). Он облегчит вашу работу с JS и позволит делать ее более качественно и быстро.

    Это займет +- 1 месяц

    Шаг седьмой
    Распутье. Вы уже как год программист, отличная работа. Вы уже выросли из яслей и впереди бескрайний океан. И теперь вы должны понять, что вы хотите. Устраивают ли вас сейчас ваши текущие инструменты. Удобные ли они. Не стесняют ли они вас.

    Если вам нравится PHP, он удобен, тогда продолжите изучать именно его, но не стоит бездумно и слепо защищать язык. Если вы чувствуете, что он вас смущает, не противьтесь и просто попробуйте что-то другое. А поверьте этого много.

    Итак развилка:
    Мне нравится PHP, мама я женюсь!
    Ок, тогда вам стоит взглянуть на фреймворки Laravel, Yii 2, вполне хороши. Они довольно мощные и позволят много чего на себе сделать.

    PHP какой-то странный, но мне понравился JavaScript
    Шикарно, значит есть смысл попробовать NodeJS. Это версия языка (Да, я знаю, что нода это среда а не язык, дайте уже объяснить человеку) расчитаная на составление страниц, как PHP. Это очень мощный инструмент, поняв который, вы вряд ли захотите уйти с него. Он поможет вам писать не только сайты, но и приложения для телефонов / планшетов, программы для ПК, возможно игры (но не стоит. По крайней мере с текущим развитием инструментов), демоны, сервисы, консольные приложения и т.д.

    Они оба мне не нравятся
    Что ж, тогда вам могут приглянуться Python, Ruby - эти два языка более близки к PHP, чем JS.
    Или вы за год стали адептом скорости, и не видите большей радости в жизни чем оптимизация и быстрото рендеренга. Ну тогда вам точно понравятся GO и Rust.
    А может быть Dart к тому временем станет мейн стримом, это уже покажет время.

    Что-бы вы не выбрали, это будет хорошим решением.

    Шаг восьмой
    Как говорится, я просто оставлю это здесь. Сейчас нет смысла объяснять, что это, зачем оно и с чем его едет, вы просто взглянете через год на этот список и все поймете.

    CSS:
    * Sass / Less / Stylus

    JS:
    * CoffeeScript / LiveScript / TypeScript
    * Angular
    * Promise

    NodeJS:
    * NPM
    * Express

    Ускорение работы:
    * Gulp
    * Jade
    * Yo

    Остальное:
    * MongoDB
    * MariaDB
    * RabbitMQ

    Шаг 7 и 8 займут у вас всю жизнь
    Это не в коем случае не значит, что язык будет тем же, просто Язык / Технолигия будут заменяться на другую, а смысл будет тем же. Будут новые технологии, будут новые подходы, новые языки. Будет интересно и весело.
    Ответ написан
    15 комментариев
  • Как узнать какая из двух кнопок была нажата?

    finnish
    @finnish
    $('#one,#two').click(function () {
        if (this.id == 'one') {
            ....
        } else {
            ....
        }
    }
    Ответ написан
    Комментировать
  • Как узнать какая из двух кнопок была нажата?

    $('button').click(function () {
        alert($(this).attr('id'));
    }
    Ответ написан
    Комментировать
  • Как правильно прибавить число к имеющемуся числу в span?

    archakov06
    @archakov06
    Frontend-разработчик (ReactJS)
    Вот: http://jsfiddle.net/e9jwfrrt/
    Используй parseFloat, для преобразования текста в число, потом уже манипулируй этим выражением. Все у тебя правильно!
    Ответ написан
    Комментировать
  • Как правильно прибавить число к имеющемуся числу в span?

    @Fr0stDev1
    Единственное, что могу сказать - можно выделить $('#balance') в отдельную переменную, чтоб jquery два раза его не искал. А в остальном все нормально.
    Ответ написан
    Комментировать
  • Как правильно прибавить число к имеющемуся числу в span?

    почему кажется, что неправильно? если это разовая акция, то вполне себе ничего, а если нужно постоянно что-то обновлять, разумней было бы считать отдельно от обновления, хранить #balance в переменной, но саму суть операции это не изменит
    Ответ написан
    Комментировать