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

    dyuriev
    @dyuriev
    A posteriori
    По Gitlab'у - в корне проекта файл .gitlab-ci.yml содержит список всех пайплайнов (линий сборки). Подробнее читать вот тут
    Ответ написан
    2 комментария
  • Почему файл не подключаеться через require?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Сейчас я объясню тебе Самую Главную Вещь, которую должен знать любой пользователь пхп.

    Если у перед тобой стоит выбор, кому верить - собственным фантазиям или сообщению об ошибке - то всегда выбирай второе.

    Тебе надо твердо запомнить это правило. И пересмотреть свой вопрос с его учетом.

    И в итоге у тебя получится совсем другой вопрос.
    Во-первых, мы узнаем, что файл не подключаетсячерез require по осовершенно банальной причине - он не найден.
    Во-вторых - следуя вышеприведенному правилу - что файла такого на диске нет
    (тут важно понимать, что файл всегда включает в себя путь. Если тебя послали на кухню за чайником, а ты пошел за ним в туалет, то в туалете чайника нет. потому что важно, куда ты за ним пошел. то же и с файлами. у тебя может быть милилон файло в н диске, нодо тех пор пока ты будеш ьуказывать неправиьный путь, ни один не будет найден)
    И вот дальше у нас возникают совсем другие вопросы::
    По какому пути композер пытается зкгрузить файл?
    и почему композер пытается загрузить файл не из той папки, в которой файл на самом деле лежит?

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

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега PHP
    В примере ниже, метод makeInterviewer(): Interviewer возвращает тип интерфейса Interviewer.
    Этот метод ничего не возвращает, а только объявляет требования к наследникам - они должны реализовать этот абстрактный метод и уже вернуть конкретный объект, реализующий интерфейс Interviewer.

    Соответственно, никакой магии тут нет, просто в вашем примере не хватает классов-наследников с конкретной реализацией.

    interface Interviewer {
        public function askQuestions();
    }
    
    abstract class HiringManager {
        abstract public function makeInterviewer(): Interviewer;
    
        public function takeInterview() {
            $interviewer = $this->makeInterviewer();
            $interviewer->askQuestions();
        }
    }
    
    class TeamLead implements Interviewer {
      public function askQuestions() {
        ...
      }
    }
    
    class Boss extends HiringManager {
      public function makeInterviewer(): Interviewer {
        return new TeamLead();
      }
    }


    https://www.php.net/manual/ru/language.oop5.abstra...
    Ответ написан
    Комментировать
  • Как правильно составить сложный запрос к db?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    GROUP BY, COUNT(), ORDER BY, LIMIT
    Ответ написан
    4 комментария
  • Как спрятать exe который не взаимодействует с игрой от обнаружения античитами?

    maaGames
    @maaGames
    Погроммирую программы
    Убирание отдачи - аим ассистент. Античит работает правильно, бан адекватный.
    Вот когда за оверлей с фпс от Afterburner банят, то это же неадекватный бан, например.
    Ответ написан
    Комментировать
  • Как спрятать exe который не взаимодействует с игрой от обнаружения античитами?

    @antonwx
    Допустим пусть это будет exe который убирает отдачу в игре, то есть с игрой никакого взаимодействия

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

    dyuriev
    @dyuriev
    A posteriori
    в начало crontab'а (sudo -u %username% crontab -e) добавьте строку
    MAILTO=
    с нужным мылом.

    А вывод STDOUT команды занулите в /dev/null, чтобы успешные выполнения вам не прилетали.

    MAILTO=email@example.com
    0 */2 * * * /bin/backup.sh > /dev/null


    PS: запускайте не через wget, а перепишите на php-cli и вынесите за пределы document_root сайта, чтобы из вне нельзя было до него достучаться.
    Ответ написан
  • ВЕБ студия с сотрудниками фрилансерами?

    catdesign
    @catdesign
    Веб-разработчик
    1. Фрилансер - это черная дыра. Нет никаких гарантий, что вы с первого раза найдете хорошего специалиста. Вы потратите массу времени походив по рукам как портовая путана, потеряете массу времени и сил. В итоге скорее всего специалиста вы найдете, но какой ценой?

    2. Нет слово бесплатно. Бесплатно будут работать только молодые специалисты, которых вы воспитаете. И то не долго, постепенно их интерес и отеческие симпатии пропадают, люди имеют свойство развиваться.

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

    Вывод: Строить свою веб-студию можно только из своих коллег по цеху с которыми вы уже работали. Для этого желательно самому побыть фрилансером или же поработать в студии. Однако помимо кадровой работы у вас должна быть тонна знаний из разряда всего понемногу. Иначе вы останетесь без денег с лапшой на ушах
    Ответ написан
    1 комментарий
  • Как добавить в массив с json строкой еще одну строку?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Не хранить никакой джейсон в БД
    Добавлять строку в таблицу обычным порядком, запросом INSERT
    Ответ написан
    2 комментария
  • Как передать сообщение от бота телеграм обратно на сайт?

    levi-german
    @levi-german
    ...
    Организовать пользователей по telegram ID. Затем в коде бота пишется обработчик. У вас на сайте соответственно должен быть API для обработчика бота, чтобы тот писал сообщения и делил их по пользователям.
    Ответ написан
    Комментировать
  • Как сделать 2d мир на canvas?

    Robur
    @Robur
    Знаю больше чем это необходимо
    Какой есть простой и эффективный способ?


    Заплатить тому кто умеет.
    Ответ написан
    4 комментария
  • Как создать таблицу умножения от 1 до 10 с помощью цикла for?

    GavriKos
    @GavriKos
    Если вы изучаете - то написанный кем то код вам будет только во вред.
    Напишите сами, напишите алгоритм, и т.д. А тут если что подскажут.
    Но писать код тому кто УЧИТСЯ - медвежья услуга
    Ответ написан
    1 комментарий
  • Как скачать файл с сервера находясь на сервере?

    jamakasi666
    @jamakasi666 Куратор тега Linux
    Просто IT'шник.
    Можно такое сделать. Если я все правильно понял из вопроса.
    При подключении по SSH делаете через него port forwarding.
    А ваш ПК.
    Б сервер.
    подключаетесь по ssh от А к Б, делаете проброс порта от Б(условно 222) к А(порт ssh). Это указывается при подключении.
    После подключения уже находясь на машине Б сможете дать
    scp foobar.txt usernameA@localhost:222:/some/remote/directory

    Т.е. вы находясь на удаленном сервере через ssh тунель пробрасываете порт до ssh вашего ПК и сможете подключаться по ssh\scp к нему обратно.

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

    babarun
    @babarun Куратор тега 1С-Битрикс
    Безумный план моих идей в руках больных людей
    Можно в админере поправить типы полей или копируете это

    5f90b7e0c18d3413939401.pngи поочередно выполняете в sql консоле (/bitrix/admin/sql.php?lang=ru&del_query=Y).

    *на случай если испортится содержимое полей сделайте полный бэкап всего сайта, плюс по возможности бэкап БД одним файлом без компрессии, плюс для верности mysqldump
    Ответ написан
    1 комментарий
  • Как заставить работать видеокарту на полную мощность в ноутбуке?

    gbg
    @gbg
    Любые ответы на любые вопросы
    Слова "ноутбук" и "игровой" не должны стоять в одном предложении.

    Ноутбук это всегда компромисс между энергетикой, весом и производительностью. Современные игры не терпят компромиссов.

    Посмотрите, задействованы ли для вашей видеокарты все 16 линий PCI-E. Это можно сделать в доке nvidia.
    Ответ написан
    6 комментариев
  • Как установить пакет libsndfile1 для librosa без прав sudo?

    @AVKor
    Очень легко. Арендовать VPS (обойдётся максимум в $5 в месяц) и перестать заниматься ерундой, вырезая гланды через ж...
    Ответ написан
    5 комментариев
  • Как получить полный адрес поста и добавить его в базу?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Нет, нельзя получить idшник поста, еще до того, ка пост был создан.

    В данном случае сама задача получения "полного адреса поста" абсолютно бессмысленная.
    Мало того что ссылка может со временем поменяться - например вместо ламерского протокола http будет настроен нормальный https - но, главное, это сама по себе бессмысленная операция - сохранять те данные, которые уже есть в базе. То есть этот урл легко генерируется при получении данных из базы.

    Непонятно только, почему в коде отсутствует сохранение ид юзера.
    Ответ написан
    2 комментария
  • Какие файлы и папки проекта заливать на GitHub?

    sfi0zy
    @sfi0zy
    Creative frontend developer
    Вопрос даже не столько про GitHub, сколько про систему контроля версий. Что в нее должно попадать, а что - нет. По идее там должны быть все текстовые файлы, которые мы правим руками, и все, что нужно для сборки проекта. Чтобы можно было себе репозиторий склонировать, нажать кнопочку, и все недостающее собралось.

    Если по типам файлов:
    • Исходники с вашим кодом - однозначно да. Это самое главное.
    • Все конфиги для сборки - да. Иначе без них проект не собрать. Исключение - какие-то ситуативно-локальные конфиги с ключами, паролями, и всем тем, что не должно попасть к другим людям. Но тогда это нужно описать в доках, что и где должно быть.
    • Картинки - зависит от. SVG - скорее да, т.к. это текст. Растровые, особенно большие, может быть стоит хранить отдельно. Но это зависит от проекта и соглашений, главное избегать крайностей, чтобы репозиторий с лендингом не весил по пол гигабайта из-за исходников картинок или макетов. И это к любым бинарникам имеет отношение.
    • node_modules - нет. Зависимости и зависимости зависимостей - это обычно тысячи файлов, которые вы никогда (ну почти никогда) не будете править своими руками. Они могут скачиваться при сборке проекта, в репозитории им делать нечего.
    • Собранный и минифицированный проект - может быть. Зависит от применения. Обычно это не нужно хранить в системе контроля версий в том смысле, что минифицированные файлы мы все равно получаем при сборке и руками их не правим. Но иногда могут возникать ситуации вроде "хочу использовать репозиторий на GitHub как зеркало для моего NPM пакета" или "хочу захостить что-то на GitHub Pages", или "хочу, чтобы любая домохозяйка могла скопировать мой скрипт в свой бложик на wordpress и не парилась со сборкой", или еще что-то в этом духе. Иными словами, минифицированные файлы могут туда попасть, если вы понимаете, зачем это вам, какую задачу это решит. В общем случае пользы от этого никакой.
    Ответ написан
    Комментировать
  • Какой вид лучше придать ссылкам на сайте для СЕО? Лучше использовать кириллицу, транслит или английский язык?

    @archelon
    Кириллицу лучше не использовать. Особого вреда нет, но и пользы никакой: Кириллица в URL — полезно ли для SEO?
    Из приведенных вариантов лучше:
    mysite.com/service/alarm-installation или mysite.com/uslugi/ustanovka-signalizacii
    при условии, что страница service или, соответственно, uslugi существует.
    Если в структуре сайта вложенности нет, то mysite.com/service-alarm-installation
    Транслит или перевод — дело вкуса.
    Ответ написан
    Комментировать
  • Как реализовать такой слайдер на GSAP?

    profesor08
    @profesor08 Куратор тега JavaScript
    gsap это библиотека для анимации циферок. Не самая лучшая, не самая легкая, не самая бесплатная.

    Лично меня заинтересовала https://animejs.com/

    Что касается твоей задачи, не понятно в чем проблема? Тебе надо сверстать сначала все. Потом инициализируешь scrollmagic и добавляешь нужные блоки к сцене, указываешь когда и сколько их показывать. Если хочешь что-то делать с блоком, менять картинки например, то подписываешься на события от scrollmagic и делаешь что надо основываясь на значении прокрутки.
    Ответ написан
    Комментировать