• Если из PHP мы будем запускать процесс через exec без задержки исполнения можно ли это считать асинхронным программированием?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    нет

    если палкой ударить по железяке - столяра из вас это не сделает
    Ответ написан
    Комментировать
  • Как правильно составить QueryBuilder запрос?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    Вытягивайте отдельными запросами. Иначе в выборку будут попадать пересечения из каждой связи, что может вернуть реально много данных. Да и пагинацию так выйдет проще сделать.
    Ответ написан
    Комментировать
  • Почему при подключении трейта в два класса, один из этих классов программа перестает видеть?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    Столкнулся с необходимостью применения трейтов PHP, и тут проблема.

    Трейты действительно нужны в очень специфических кейсах, 146% что это не ваш кейс.
    У вас код и так даже не комочками, не стоит его разводить до более жидкого состояния.

    Конструктор в трейте - это, не нахожу подходящего цензурного слова, пусть будет табу.

    Что касается непосредственно вашей ошибки - смотрите в сторону автолодинга.

    https://github.com/index0h/php-conventions почитайте на досуге
    Ответ написан
    23 комментария
  • Есть идея приложения, как найти грамотных специалистов?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    Идея ничего не стоит, возьмите за исходную. Чего-то стоит проработанный бизнес план, реализующий идею. С анализом рынка и схемой монетизации. Стоит начать именно с этого.

    Когда с первым шагом вы порешали возникает вопрос ивестиций, его нужно как-то тоже решить. Учтите венчурное инвестирование очень маловероятно. В случае неудачи (скорее всего) деньги прийдется отдавать со своего кармана.

    Когда вопрос финансирования решен - начинайте поиск исполнителей под свои нужды. Выбор у вас по сути не большой: фриланс/аутсорс, или штат. Что конкретно вам лучше подходит - очень зависит от процесса и самого проекта.
    Ответ написан
    Комментировать
  • Как правильно спроектировать таблицу MYSQL?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    id int unsigned,
    createdAt timestamp,
    startedAt timestamp,
    finishedAt timestamp,
    interval int unsigned -- Я не очень понимаю, что у вас такое интервал, храните лучше в секундах.

    По крону каждую минуту (можно и 10 мин, это не особо важно) вытягиваете записи, у которых startedAt >= CURRENT_TIMESTAMP() и finishedAt < CURRENT_TIMESTAMP(). Интервал и вот это вот все уже на части пыхи обрабатываете. Не забудьте комплексный ключ для startedAt+finishedAt добавить.

    При выборке обязательно добавляйте погрешность, хотя бы секунд 5-10, либо вместо CURRENT_TIMESTAMP подставляйте округленное время, например для времени 10:20:01 используйте 10:20:00
    Ответ написан
  • Типы обменников в rabbitmq и хранение сообщения при неактивном получателе?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    как сохранять сообщения, не привязываясь к очереди в отправителе, чтобы при запуске получателей они стали получать эти сообщения?

    Создать эксчейндж, создать очереди, забиндить очереди на эксчейндж.

    Если способ только декларировать очередь в отправителе, то тогда какой смысл fanout обменника?

    Смысл в том, что распределение идет по очередям, а не консьюмерам. Если нет очередей - распределять некуда.

    fanout вам не нужен
    Ответ написан
    Комментировать
  • Как не попасть в "неправильный" PHP?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    нормальной архитектурой, качеством кода, нормальным современным процессом с CI/CD и т.д.

    От говнопроекта не застрахован никто, вне зависимости, php, java, c#, js, brainfuck...
    Чаще всего архитектура, качество кода и вот это вот все развито там, где это критично для бизнеса и бизнес понимает, либо пишем нормально, либо жопа. Но таких, к сожалению, мало. Можете на собесе спросить, какой даунтайм допускается и как часто они происходят. Если адунтайм в минуту надо согласовывать за неделю и более - скорее всего об качестве пекутся. Если даунтайм в пол часа не особо проблема - всем нас*ать))

    С одной стороны в требованиях были знания стильно-модно-молодежных Redis, Symfony понимания Git-Flow, Agile и т.д. и там же указаны - знание WP 1С-Битрикс. Как это можно понимать?

    Это некомпетентность составившего вакансию, не более.

    Как то, что придется занимать разно плановыми задачами?

    Задайте вопрос рекрутеру))

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

    Задайте несколько вопросов:
    0. Вы продуктовая компания?
    1. Что с их точки зрения легаси, какой его процент в проекте и как часто возвращается технический долг?
    2. Какой процесс разработки от начала и до конца?
    3. Какие стандарты и требования используются?
    4. Какое покрытие тестами?
    Ответ написан
    Комментировать
  • Где учиться веб-разработке?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    Дома.
    Покупаете книгу страниц на 700+ и изучаете.
    Выбирать следует так:
    открыть книгу где-то по срединке, прочитать один абзац, если вообще не ясно о чем, книга - она вам не подходит, ищите следующую. Обращайте внимание на год издания и версию языка, старое учить не имеет смысла так как к моменту, когда вы это изучите оно уже будет не совсем актуально.
    Ответ написан
    3 комментария
  • На каком дистрибутиве linux php сайт будет быстрее работать?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    На каком дистрибутиве linux php сайт будет быстрее работать?

    На том, который вы лучше знаете.

    Будет ли сайт быстрее работать на centos например чем на ubuntu?

    Нет

    Или это зависит от размера дистрибутива,например есть версия с рабочим столом,она будет медленная ,а есть минимальный набор который будет быстрее,и скорость сайта как раз от этого зависит,а не от дистрибутива?

    Вы не с той стороны едите шоколадный рогалик.
    У любого железа есть ограничения. Если вы используете большую часть ресурсов во вред основному предназначению системы - вот это основное предназначение будет тормозить, не важно linux / windows / macos / ...
    Ответ написан
    Комментировать
  • Как лучше проводить поиск по большим объемам полей text?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    Посмотрите ElasticSearch. Хотя у мускуля и есть fulltext индексы, но лучше использовать средства, предназначенные для полнотекстового поиска, со всякими весами и морфологическими разборами.
    Ответ написан
    Комментировать
  • Можете объяснить почему не работают пути в MVC?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    В приведенном коде отсутствует Router. Это как раз тот класс, который по входящему запросу на основании ваших конфигов определяет какой контроллер и какой экшн запускать.
    Ответ написан
  • Регистрация на php mysql, нужна помощь, кто знает?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    Ответ написан
    Комментировать
  • Организация электронного журнала занятий в образовательном учреждении. Что посоветуете?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    moodle
    Ответ написан
    Комментировать
  • Mac OS X или linux?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    потому что работает быстрее чем windows.

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

    Смысл переходить есть, когда другая ОС дает какие-то экстра возможности, по сравнению с текущей.
    У меня например windows - для steam, для всего остального - ubuntu.

    Судя по отзывам моих коллег macOS - это далеко не венец инженерной мысли.
    Ответ написан
    Комментировать
  • Как расшифровать код gzinflate?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    Этот код многократно закодирован через gzinflate(base64_decode(PREVIOUS_DATA_HERE))
    Что бы расшифровать - необходимо пройти обратный путь. Я не знаю, сколько там уровней кодирования, может и сотня и тысяча.
    Ответ написан
    Комментировать
  • Что за магия - npm not found?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    Вероятно в PATH нет пути /usr/local/bin
    Ответ написан
  • Какие вопросы задают на собеседовании по C#?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    Такие, которые помогут в принятии решения о найме соискателя с точки зрения hr, технического интервьюера, менеджера и других людей, которые будут проводить интервью.
    Ответ написан
    Комментировать
  • Регистрация через смс стоит ли делать временную таблицу?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    Заводите отдельную таблицу.
    CREATE TABLE IF NOT EXISTS `phoneAuthorisationCode` (
        `id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
        `phoneId` INT UNSIGNED NOT NULL,
    -- Код используется для авторизации, по этому хранить его в открытом виде очень плохая идея
        `codeHash` CHAR(16) NOT NULL,
        `createdAt` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
    -- Код временный, если expiredAt > CURRENT_TIMESTAMP - он прострочен и использовать его уже нельзя
        `expiredAt` TIMESTAMP NOT NULL,
    -- Дату использования кода необходимо указывать. Если это поле не пустое, использовать этот код уже нельзя
        `processedAt` TIMESTAMP DEFAULT NULL,
        PRIMARY KEY (`id`)
    )
        ENGINE = InnoDB
        DEFAULT CHARSET = `utf8`;
    Ответ написан
    Комментировать
  • Как можно взаимодействовать между js и игрой?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    Вопрос из серии: как к автомобилю прицепить мотор от лодки, что бы получилась амфибия?

    Все зависит от конечной игры, если для нее нет открытого API, либо документации для написания кастомных модов, вам фактически прийдется ее взламывать и раскладывать на аминокислоты.

    Некую эмуляцию юзера вы можете конечно делать, например с помощью таких средств sikulix.com
    Ответ написан
    Комментировать