Задать вопрос
  • Можно ли заменить javascript языком dart/flutter?

    Aetae
    @Aetae
    Тлен
    Если заменить кривой язык для которого за годы и годы работы написали столько костылей, что они уже сложились в более-менее стабильный и устойчивый фундамент, на свежие кривые хипстерские языки от той же тусовки, то всё конечно станет стабильно.
    *сарказм.жпг*

    Ну и интересно, что у тебя там меняется, обратная совместимость в js практически абсолютна. Если ничего не трогать - ничего не сломается.
    Ответ написан
    Комментировать
  • Почему Ubuntu не устанавливает пакеты?

    mrusklon
    @mrusklon
    Не получается? Яростно гугли!
    sudo apt-get update

    sudo apt-get clean
    sudo apt-get autoclean

    sudo apt-get --purge remove linux-libc-dev:amd64
    sudo apt-get install linux-libc-dev:amd64
    Ответ написан
    1 комментарий
  • Как перенести строку в ссылке, в php?

    nokimaro
    @nokimaro
    Меня невозможно остановить, если я смогу начать.
    Так как вы передаёте parse_mode=html то и переносы ндао делать html-тегами

    $result = 'Пришло сообщение!! ' . "<br>От: $text" . "<br>Что нужно: $work";
    
    $sendToTelegram = fopen("http://api.telegram.org/bot##################/sendMessage?chat_id=##########&parse_mode=html&text={$result}", "r");
    Ответ написан
    1 комментарий
  • Как перенести строку в ссылке, в php?

    @Drayde
    Вы передаете parse_mode = html, ну так и форматируйте текст согласно передаваемому значению.
    Ответ написан
    Комментировать
  • Не получается установить npm install. требуеться разобрать ошибку?

    Ошибок на скриншоте не видно.
    Ответ написан
    Комментировать
  • Не получается установить npm install. требуеться разобрать ошибку?

    scoffs
    @scoffs
    Fullstack | C# | Student
    Все пакеты установились, но есть предупреждения о том, что в некоторых из них обнаружены уязвимости.

    Тут можно либо обновить пакеты до актуальных версий (что опасно на старых проектах и не факт, что поможет), либо заменить пакеты на другие. Ну или просто не обращать внимание.
    Ответ написан
    Комментировать
  • Хорошая ли сборка для игр в 2-4k и работы?

    xez
    @xez Куратор тега Компьютеры
    TL Junior Roo
    Для игр не нужен i7
    Не нужна мать на старшем чипсете.
    Не нужна вода (потому что никогда не нужна).
    Ответ написан
    1 комментарий
  • Как вынести запросы rest api на постоянное соединение?

    ipatiev
    @ipatiev Куратор тега PHP
    Потомок старинного рода Ипатьевых-Колотитьевых
    Ответ тут очень простой - никак.
    Мало того, что вешать все запросы на одно соединение просто глупо, когда БД может обрабатывать их тыщи. И та же нода, если делается по-уму, то использует пул соединений, а не одно.
    Но, главное, РНР так не работает.

    И проблема здесь не в количестве соединений, а в том, кто писал код.
    Если в коде используется только одно соединение за все время работы скрипта (а не открывает новое соединение на каждый запрос, как у всех гениальных скриптописателей), и база данных устроена по уму (не тормозит), то хватит даже самого дохлого хостинга с лимитом в 5 одновременных подключений. Просто потому что любой запрос к рест апи должен работать не дольше 0.01 секунды. И любые проблемы будут появляться только при частоте обращений больше 100 в секунду.

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

    hottabxp
    @hottabxp
    Сначала мы жили бедно, а потом нас обокрали..
    Нет, но можно по цене банки пива купить флешку на 64 ГБ
    Ответ написан
    Комментировать
  • Нужен ли отдельный linux user для сайта?

    ValdikSS
    @ValdikSS
    Нужны отдельные unix-пользователи на сервис/проект/сайт, иначе в случае взлома сайта А будет возможность читать и модифицировать файлы сайта Б, т.к. все файлы принадлежат www-data.

    Отдельные пользователи нужны всем сервисам, которые так или иначе взаимодействуют с файлами. В случае PHP это php-fpm (или другой исполнитель) — у каждого сайта должен быть свой пул со своим пользователем. Всё, с чем взаимодействие ведётся только по сети/сокету и имеет правильное разделение привилегий (базы данных), должны работать от своего (стандартного) пользователя.

    В случае веб-сервера также уместно разделить статические данные от кода: картинкам и .js-файлам следует назначить www-data, чтобы веб-сервер мог их прочесть и раздать, а php-код любого сайта при этом не мог эти данные модифицировать. Верно и в обратную сторону — веб-сервер не сможет отдать ваши .php-файлы без их исполнения в случае некорректной настройки веб-сервера.
    Ответ написан
    Комментировать
  • Нужен ли отдельный linux user для сайта?

    Какой существует бестпрактис при разворачивании lemp стека с точки зрения пользователей.

    Обязательно нужен отдельный пользователь для работы веб-сервера, субд, php-fpm, redis итд - каждому из них выдать доступ только к тем директориям и файлам, к которым им доступ необходим.

    Нельзя чтобы они работали от рута или имени обычного пользователя, тк таким образом ты увеличиваешь площадь для атаки.

    А одном тг чатике сказали, что делают своего юзера, пусть будет app, через него запускают nginx и php-fpm и его же назначают владельцем и группой для файлов сайта (var/www/app), дают ssh авторизацию.

    Не вижу смысла выдавать app-юзеру права на логин по ssh. Все настройки можно делать и от имени административного пользователя - главное потом проверить что права выданы корректно.

    НО и надо помнить, что теперь нет нигде www-data и копипаст каких-то решений\конфингов может не завестись.

    Не вижу в этом никаких проблем - лишний раз включишь мозг чтобы понять, что ты там в конфигах воротишь => будешь сам знать где может быть потенциальная дыра или ошибка.

    у меня все работает, но, возможно, я не вижу какой-то ошибки, которая потом, в ci\cd, jenkinse, ansible или еще где-то мне ногу отстреллит.

    Значит потом для cicd / jenkins / ansible также заведёшь пользователя с нужными правами, как и у тебя, чтобы ворочать конфиги и файлы.
    Ответ написан
    2 комментария
  • Перешёл на PHP8.2 с PHP7.4 как обойти ошибку [TypeError] Cannot access offset of type string on string (0)?

    Adamos
    @Adamos
    Судя по пути, вы прописывали свой кастомный шаблон одному из компонентов.
    Ошибка тычет вас носом в ту строчку, куда приходят данные не в том виде, как вы ожидали (судя по тому, что проблема только в новых версиях - немного не в том, раньше оно просто преобразовывалось и все работало).
    Отлаживайте, что именно там в данных (поставьте перед этой строчкой запись в файл, как самое простое) или уберите свой кастомный шаблон, вернув тот, который идет из коробки (скорее всего, страшненький и поперек дизайна - но без подобных ошибок).
    А можно попробовать сравнить шаблон из коробки с вашим, чтобы понять, как нужно обращаться к данным.
    Ответ написан
    Комментировать
  • Поможете выбрать процессор доя ноутбука?

    Райзен мощнее.
    Процессор - за счёт того что у него 6 полноценных ядер против 4B+4L на интеле.
    Видео - 660m сама по себе мощнее чем iris xe процентов на 30.

    Беда только в том что TDP делят между собой процессор и видео => максимальную мощность одновременно из обоих нельзя будет получить.

    Интел в некоторых задачах, вероятно, будет дольше держать батарею благодаря использованию энергоэффективных ядер (но точно не в играх, и не продуктах jb)
    Ответ написан
    1 комментарий
  • Как сделать сделать поиск по строке php?

    ipatiev
    @ipatiev Куратор тега PHP
    Потомок старинного рода Ипатьевых-Колотитьевых
    stripos и strpos работают правильно

    А если вам вдруг кажется, что они работают неправильно, то надо привести пример.
    И тогда вам сразу объяснят, что вы делаете неправильно
    Ответ написан
    4 комментария
  • Почему PHP контейнер в docker-compose начинает очень медленно работать после некоторого времени бездействия?

    @humoured
    Вы всё на свете найдёте в коробке с карандашами
    С учётом предоставленных данных — потому что почему угодно.

    Что значит "медленно работать"? Какие метрики и чем измерялись? Где код docker-compose.yml? Какие образы используются? Кто и зачем отключает интернет?
    Ответ написан
    Комментировать
  • Будет ли справляться кулер "Thermalright Silver Arrow T8" (заявленная рассеиваемая мощность 320 Вт) с процом i9-13900K?

    nidalee
    @nidalee
    А я возражу, ради разнообразия.
    Не будет справляться.
    Цифры TDP от производителя кулера и производителя процессора считаются по разному и не могут сравниваться напрямую. В любом случае, 320ВТ для башни - нонсенс. Таких цифр даже Noctua не обещает.
    Бог с ней, с Noctua. Даже Wraith Ripper, сделанный специально для печи-Threadripper 2990WX, обещает всего 250. Как Thermalright собирается наколдовать 320 - вопрос открытый, и уже должен ставить под сомнение покупку такого кулера.

    Что касается реальной эффективности кулера, то
    Даже 11700К уже почти перегревается при загрузке на все ядра, если верить сторонним тестам.
    rezultaty-testirovaniya-kulera-thermalright-silver-arrow-t8-96719.png
    А это те же самые расчетные "125W" (200 реальных).

    Есть вполне современные и не дорогие варианты, которые должны справиться. Например.
    И всегда смотрите обзоры. У комбо из современного процессора и кулера всегда будут реальные обзоры "с полей".
    Ответ написан
    1 комментарий
  • Как следить за версионностью в клиент-серверном приложении, в выпускаемых фичах продукта?

    Вы пытаетесь решить несуществующую проблему.
    1. Нет никакой проблемы в том что два разных приложения (клиент и сервер) имеют разную нумерацию.
    2. semver нужен только если у тебя есть какой-то контракт, который тебе нужно соблюдать. Если контракта нет - можно использовать просто номера релизов.
    Ответ написан
    3 комментария
  • Как восстановить файлы после reset --hard?

    sergey-kuznetsov
    @sergey-kuznetsov Куратор тега Git
    Автоматизатор
    Восстановить очень легко, так как гит ничего не удаляет из репозитория, по крайней мере сразу.
    Команда reset лишь переместила указатель ветки. Полностью удалить что-то крайне сложно.
    Вы можете посмотреть через git reflog где был указатель до этого и вернуть его туда обратно.
    git reset --hard HEAD@{1}
    Данная команда вернёт ветку на состояние, помеченное на вашем скрине как HEAD@{1}
    Либо можно скопировать непосредственно sha-хэш места, куда хотите вернуться.

    Затем повторить отмену последнего коммита, но уже правильно:
    git reset HEAD~1
    Такая команда не будет изменять рабочий каталог, а значит ничего из него не удалит.
    Ответ написан
    1 комментарий
  • С чего начать изучение Linux?

    hottabxp
    @hottabxp
    Сначала мы жили бедно, а потом нас обокрали..
    Ответ написан
    Комментировать
  • Как написать регулярное выражение для обработки разметки из ckeditor?

    ipatiev
    @ipatiev Куратор тега PHP
    Потомок старинного рода Ипатьевых-Колотитьевых
    1. Никогда не используйте регулярки для парсинга HTML
    2. Никогда не задавайте вопрос про свой вариант решения проблемы. Всегда задавайте вопрос про саму проблему.
    3. Htmlpurifier, HtmlSanitizer
    Ответ написан
    Комментировать