Задать вопрос
  • Оцените сборку ПК?

    @frrykt
    поменять блок питания на что-то получше и купить 10700к с материнкой на z490
    Ответ написан
    Комментировать
  • Как достать каждый элемент из списка через explode и заключить в теги?

    Stalker_RED
    @Stalker_RED
    https://ideone.com/FYXEUR

    echo implode(' ', array_map(function($d) {
    	return '<span>'.trim($d).'</span>';
    }, explode(',', trim($q, ','))));
    Ответ написан
    Комментировать
  • Что нужно знать современному fullstack девелопером?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Чем больше знаешь, тем больше full stack.
    Ответ написан
    Комментировать
  • Укрепить знания PHP велосипедом или через фреймфорк?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Если есть время (магазин Ваш или заказчику не к спеху), я бы посоветовал начать с самообучения построения архитектуры (без кода!).
    Потом - пробуйте её масштабировать, увидите свои "косяки" и будете снова править. И т.д. пока не поймёте логику.

    Всё это - без единой строчки кода!

    Потом, по каждому блоку - делаете также.
    И только потом, когда готова вся логика - пишите код!
    Ответ написан
    8 комментариев
  • Почему он так делает?

    Aetae
    @Aetae
    Тлен
    Если про формат переносов:
    Settings - Editor - Code Style - HTML - Other > Aligin attributes

    Если про то что автоматически переносит, то либо глобально увеличить количество символов в строке
    Settings - Editor - Code Style > Hard wrap at: <число символов>
    либо запретить переносить конкретно html атрибуты:
    Settings - Editor - Code Style - HTML - Other > Wrap attributes: Do not wrap


    В любом случае не рекомендовал бы менять никаких из этих настроек, так как они действительно способствуют удобству чтения и написания кода.
    Ответ написан
    1 комментарий
  • Как заигнорить часть framework.yaml?

    BoShurik
    @BoShurik Куратор тега Symfony
    Symfony developer
    По-хорошему, это решается через php.ini, как рекомендовано в документации
    Since every developer uses a different IDE, the recommended way to enable this feature is to configure it on a system level. This can be done by setting the xdebug.file_link_format option in your php.ini configuration file.

    Но если очень хочется, то можно сделать так:
    # services.yaml
    imports:
        - { resource: 'local.yaml', ignore_errors: true }


    # local.yaml
    framework:
        ide: 'phpstorm://open?file=%%f&line=%%l'

    # .gitignore
    /config/local.yaml

    local.yaml создаете сами локально и вносите туда все конфиги, которые не надо комитить

    Применимо для всех версий symfony*
    Ответ написан
    1 комментарий
  • Почему на некоторых ОЗУ 3 тайминга, а на других 4?

    CityCat4
    @CityCat4
    Жил да был черный кот за углом...
    На самом деле таймингов примерно восемь, но для выбора памяти обычно имеют значение первые четыре:

    CL (CAS Latency) - время в тактах шины между сигналом Column Access Strobe (адресующим столбец) и собственно началом чтения из него данных, фактически - задержка между командой чтения из памяти и его фактическим началом. Самый важный параметр, если указано одно число - это оно. Чем меньше, тем лучше.

    TRCD (RAS to CAS Delay) - время в тактах шины между сигналами Row Access Strobe (адрес строки) и Column Access Strobe (адрес столбца), фактически - задержка между командой активации строки и командой чтения из нее (задержка чтения - CL, то есть чтение из неактивной строки пройдет за время TRCD + CL). Чем меньше, тем лучше.

    TRP (Row Precharge Delay) - время в тактах шины между сигналом Precharge (закрыть строку) и Row Access Strobe (открыть другую строку), фактически задержка при переключении строк памяти (то есть если поступила команда Precharge, то следующая операция чтения/записи начнется не ранее чем через TRP + TRCD + CL). Чем меньше тем лучше.

    TRAS (Active To Prechagre Delay) - время в тактах шины между сигналом Row Access Strobe (открыть строку) и Precharge (закрыть строку), фактически - время операции со строкой (перейти к операции с другой строкой память сможет не раньше этого времени). Чем меньше тем лучше.

    Если вместо примерной суммы первых трех чисел указано число 1 или 2 - это Command Rate - длительность в тактах любой команды.
    Ответ написан
    Комментировать
  • Альтернативы Ubuntu/Mint для веб разработчика?

    CityCat4
    @CityCat4
    Жил да был черный кот за углом...
    Обычно говорят как - если не знаешь, что ставить - ставь Debian :)
    Ответ написан
    2 комментария
  • Альтернативы Ubuntu/Mint для веб разработчика?

    @KingstonKMS
    Лучше брать что то популярное, например Ubuntu, чтобы большая часть софта работала без шаманских танцев с бубном
    Ответ написан
    4 комментария
  • Как правильно прописать if else?

    nokimaro
    @nokimaro
    Меня невозможно остановить, если я смогу начать.
    <?php if(условие_есть_ли_видео): ?>
        <a class="videofront" href="<?php the_permalink(); ?>"><video src="<?php the_field('video'); ?>" loop="on" autoplay="on" height="110" width="200"/></a>
    <?php else: ?>
        <a class="iconb-game" href="<?php the_permalink(); ?>" title="<?php _e('Play', 'arcadexls'); ?>"><span><?php _e('Play', 'arcadexls'); ?></span></a>
    <?php endif; ?>
    Ответ написан
    Комментировать
  • Какая логика создания новых массивов из уже соществующего путем перебора в цикле?

    @IS-Builder
    ~ PHP-8 & REGEXP - This is a really powerful kit ~
    VladBokov
    $arr = [
        '863|20',
        '863|50',
        '822|100',
        '822|100'
    ];
    
    $out = [];
    
    foreach ($arr as $item) {
        [$k, $v] = explode('|', $item);
        $out[$k][] = $v;
    }
    
    var_dump($out);

    Результат
    array (size=2)
      863 => 
        array (size=2)
          0 => string '20' (length=2)
          1 => string '50' (length=2)
      822 => 
        array (size=2)
          0 => string '100' (length=3)
          1 => string '100' (length=3)

    UPD:
    Дополнил ответ суммированием
    $arr = [
        '863|20',
        '863|50',
        '822|100',
        '822|100'
    ];
    
    $out = [];
    
    foreach ($arr as $item) {
        [$k, $v] = explode('|', $item);
        $out[$k] = ($out[$k] ?? 0) + $v;
    }
    
    var_dump($out);
    /* 
    array (size=2)
      863 => int 70
      822 => int 200
    */
    Ответ написан
    Комментировать
  • Как можно установить нативный Linux-дистрибутив на телефон?

    TrueBers
    @TrueBers
    Гуглю за еду
    For fun на портирование ядра и блобов может уйти нереальное количество времени. Почитать можно на kernel.org. Пары лет должно хватить.
    Если практичекая цель -- ставьте Termux, там все фичи от линуксов есть.
    Чуть менее практичный -- Linux Deploy.
    Ответ написан
    2 комментария
  • Как поменять имя отправителя в письме?

    pavel_ataykin
    @pavel_ataykin
    Верстаю и программирую всякое.
    Привет! Адрес "cb766294545@vh258.timeweb.ru" - это адрес SMTP сервера timeweb(там где ты покупаешь хостинг). То есть, ты купил там shared хост и при отправки письма SMTP сервер ставит свою подпись. В данном случае SMTP 1 для всех клиентом shared хостинга. Если хочешь получить контроль над это строкой, тебе нужен личный SMTP сервер.

    Всё, что ты можешь поменять описано в документации функции mail
    Тебе нужно изучить раздел заголовков. Там есть элемент "From" он поможет тебе отредактировать от кого пришло письмо. Но адрес "cb766294545@vh258.timeweb.ru" останется в письме, как сервер, который подписал письмо.
    Ответ написан
    Комментировать
  • Как вывести данные в html таблицу?

    0xD34F
    @0xD34F
    $headers = array_column($data[0]['pages'], 'name');
    $columns = array_column($data[0]['pages'], 'attribute');
    $rowCount = max(array_map('count', $columns));
    
    $headersHTML = implode('', array_map(function($n) {
      return "<th>$n</th>";
    }, $headers));
    
    $rowsHTML = implode('', array_map(function($i) use($columns) {
      return "
        <tr>".implode('', array_map(function($n) use($i) {
            return "<td>".($n[$i] ?? '')."</td>";
          }, $columns))."
        </tr>";
    }, range(0, $rowCount - 1)));
    
    echo "
      <table>
        <thead>
          <tr>$headersHTML</tr>
        </thead>
        <tbody>$rowsHTML</tbody>
      </table>";
    Ответ написан
    Комментировать
  • Как создать свойство внутри метода?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    1. Делают ли так?
    Делают, но это не хорошая практика. Во первых имеете шанс затереть какие-то настроечные данные объекта и получить непредсказуемость поведения. Во вторых, если у вас там значения из бд или другого хранилища в формате ключ-значение, лучше хранить их в отдельном поле, том же дата, но в виде stdClass, чтобы не путать их при работе с хранилищем с остальными полями, например так:
    public function setData(array $data):void{
      $this->data = (object)$data;
    }

    в идеале у вас должен быть DTO (data transfer object), но в актив рекорд движках он обычно не используется.
    Ответ написан
    4 комментария
  • На каких сайта и для чего можно применить слайдер ДО и ПОСЛЕ?

    approximate_solution
    @approximate_solution
    JS Developer. Angular\React\Vue\Ember
    Любой сайт где есть логика "до и после".
    Например "до сломанного носа | после"(сайт пластической хирургии), или
    "Тупой вопрос | пример рестайлинга вопроса после осознания его тупости"(сайт собрания глупых вопросов с тостера"
    Ответ написан
    2 комментария
  • Как сделать из строки число, а потом опять строку?

    @KingstonKMS
    Уберите х и храните числа. При выборке добавляйте х когда надо с помощью CONCAT функций
    Ответ написан
    Комментировать
  • Вопрос по сборке стационарного ПК?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    1. Памяти много не бывает, ставьте 32Gb.
    2. Брать надо не SATA SSD, а NVMe, например 250 ГБ SSD M.2 накопитель Samsung 970 EVO [MZ-V7E250BW]
    3. Материнскую плату, при прочих равных, лучше брать с четырьмя слотами под память, легче будет расширять в будущем.
    4. При выборе корпуса учитывайте размер блока питания. Многие малогабаритные корпуса идут с малогабаритными же БП, которые труднее найти в продаже при необходимости замены. Также смотрите, чтобы в корпус поместился кулер, хорошие тихие кулеры зачастую имеют внушительные габариты.
    5. При сравнении с ноутом вы почему-то не учли стоимость монитора, клавиатуры, мыши, колонок, веб-камеры и источника бесперебойного питания.
    Ответ написан
    5 комментариев
  • Как правильно сделать пагинацию?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    Из приведенного кода не понятно как происходит
    если я, например, нахожусь на проекте с id=5 (а id=6 еще нет) и при этом я нажимаю на кнопку "Вперед", то меня переносит на страницу с id=6, которой не существует и я просто получаю ошибку.


    Общая идея пагинации: смотрите какие у вас есть данные в базе, исходя из этого формируете ссылки на возможные страницы.
    Если вы хотите сделать цикличную - ну так и сделайте её, добавьте в свою логику проверку "id больше чем текущий не найдено" и корректно обрабатывайте.
    Ответ написан
    Комментировать