• Как совместить elasticsearch и php 7.0?

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

    Но даже в таком случае первый вариант должен быть в приоритете - на актуализацию кодовой базы закрывали глаза уже 4 года, не стоит усугублять ситуацию.
    Ответ написан
    Комментировать
  • Как совместить elasticsearch и php 7.0?

    ipatiev
    @ipatiev Куратор тега PHP
    Потомок старинного рода Ипатьевых-Колотитьевых
    > хочется понять насколько сложно сделать апдейт на 3 версии.

    Несложно. Отличия минимальны. В рамках одной мажорной версии вообще никаких проблем. Тут вопрос даже не в трудностях, а в том, что оставаться на 7.0 это вообще не вариант.
    Только переезжать надо на 7.4, потому что поддержка 7.3 прекращается через месяц.

    И вообще, версию надо подтягивать не когда жареный петух в зад клюнет, а планово.
    Ответ написан
    1 комментарий
  • Безопасность кода php -> mysql?

    @d-sem
    "select password from users_all where name='".$_SESSION['login']."'"


    https://owasp.org/www-community/attacks/SQL_Injection

    $_SESSION['password']
    https://stackoverflow.com/questions/19594202/is-it...
    Ответ написан
    Комментировать
  • Сидеть и парсить документы — это нормально?

    @AndromedaStar
    .Net - monkey
    У вас все более чем отлично. Уже есть полгода опыта в коммерческой разработке на Java. Если вы занимаетесь самообразованием в свободное время, то можете начинать претендовать на вакансии с более интересными и сложными задачами. Так что, если вам тут уже скучно и вы тянете что-то более интересное, то начинайте ходить по собесам.
    Ответ написан
    3 комментария
  • Чем отличается EntityManager->clear() от Doctrine->resetManager()?

    Maksclub
    @Maksclub
    maksfedorov.ru
    Я вспомнил, течь в Доктрине может из-за SQL Logger, который в Connection
    Когда вы делаете resetManager() — вы убиваете и этот SQL Logger с его объектами в памяти

    Вам нужно сделать что-то типа
    $this->em->getConnection()->getConfiguration()->setSQLLogger(null);


    Это можно сделать на уровне настройки всего контейнера или сервиса, или в команде
    Но попробуйте для начала в своей консольной команде!
    Ответ написан
    Комментировать
  • Возможно ли создать хорошую игру одному?

    @mlyamasov
    IMHO, лучшие вещи создаются именно в одиночку. Нужны идеи и желание.
    Пример: https://ru.wikipedia.org/wiki/Braid
    Ответ написан
    Комментировать
  • Почему выбивает 502 ошибку при заходе на php страницу?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Потому что php-fpm не ответил. А почему не ответил, ищите в его логах.
    Ответ написан
    2 комментария
  • Почему бы вместо абстрактного класса не делать обычный, но с пустыми методами?

    samodum
    @samodum
    Какой вопрос - такой и ответ
    Абстрактный класс нужен для того, чтобы не было возможности создавать его экземпляры, а только его классов-наследников.
    Простой пример. Пусть у нас будет абстрактный класс Фигура с методом Нарисовать; и есть его классы-наследники Круг и Квадрат.
    Так вот. Экземпляры классов Круг и Квадрат мы имеем право создавать, а вот экземпляр Фигуры создавать не имеем права, т.к. это не имеет физического смысла. И уж тем более мы никак не можем реализовать метод Нарисовать у Фигуры. Поэтому и сделан такой запрет на абстрактные классы.
    Это необходимо, чтобы код был надёжным и защищённым от кривых рук других программистов
    Ответ написан
    5 комментариев
  • Что делать, если тяжело работать?

    alexgp13
    @alexgp13
    Руководитель ИТ-проектов
    Вы работаете на позиции как минимум мидла-сеньора, а не джуна. Поэтому и тяжело работать. Архитектурные решения уж точно не должны принимать. Работа джуна - написание кода по четкому ТЗ, при этом этот код обязательно должен проходить код-ревью.

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

    Опять же, если Вас держат и не ругают за качество кода, значит, контору все устраивает и именно на такой уровень они и рассчитывали, можете смело учиться за их счет и не надо мучить свою совесть.
    Ответ написан
    Комментировать
  • Из-за чего возникает ошибка The EntityManager is closed?

    fenric
    @fenric
    EntityManager закрывается сам при любой ошибке связанной с ORM, например если запрос к БД некорректный, это большая проблема в проектах где используется демонизация PHP процессов. Если ваше приложение базируется на PSR-15 и PHP-DI, вы можете поддерживать EntityManager всегда открытым используя следующее промежуточное ПО:
    https://github.com/autorusltd/doctrine-persistent-...

    В любом случае, даже если это не ваш стек, вы можете, как минимум, понять, как его переоткрывать. Но самое важное, контролируйте ошибки в вашем приложении, не усложняйте его, постарайтесь писать так, чтобы работа с БД происходила только в endpoint-ах (репозиториях, которые вызываются в endpoint-ах), а не была размазана по проекту...
    Ответ написан
    1 комментарий
  • Как использовать Symfony\Messenger без фреймворка?

    grabbee
    @grabbee Автор вопроса
    По статье всё верно описано. Там в контейнер добавляется
    * Container->addCompilerPass(new MessengerPass());

    Я просто забыл вызвать компиляцию контейнера
    * Container->compile();
    Ответ написан
    Комментировать
  • Как оформить оплату с QIWI на PHP?

    alexeyshi
    @alexeyshi
    Вы хотите что бы за вас написали или вам нужна помощь в гуглении документации?

    Вот дока:

    https://developer.qiwi.com/ru/pull-payments/#payme...

    Вот реализация sdk на php

    https://github.com/QIWI-API/bill-payments-php-sdk
    Ответ написан
    Комментировать
  • Как сджойнить несвязанные сущности в QueryBuilder?

    BoShurik
    @BoShurik
    Symfony developer
    return $this->createQueryBuilder('p')
        ->join(View::class, 'v', 'WITH', 'p.title = v.post')
        ->where('v.views > 0')
        ->getQuery()
        ->getResult()
    ;
    Ответ написан
    3 комментария
  • Почему перестал работать array_unique?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    А вся проблема в том, что ты не понимаешь, что делает "твой" код.
    И следовательно, не можешь его отлаживать.

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

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

    Поэтому тебе надо сейчас либо собраться и решить задачу самостоятельно, продумав алгоритм и реализовав его простыми средствами - циклами и условными переходами. Без всяких красивых слов типа array_diff, array_filter и прочих. Потому что использовать синтаксический сахар можно только тогда, когда ты понимаешь, как он работает внутри. Если не понимаешь - то код надо писать руками, а не волшебными функциями.
    И после этого, понимая как работает твой код, ты сможешь заняться отладкой, запуская его, и выводя промежуточные результаты.
    Либо, если не выйдет, то продать компьютер и идти работать в макдональдс.

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

    что такое array_filter? Это реализация примитивного цикла,
    foreach ($array as $key => $value) {
        if (!условие фильтра) {
            unset($array[$key]);
        }
    }

    что такое array_diff? Это реализация чуть более сложного алгоритма, когда мы перебираем первый массив, и смотрим, есть ли такой же элемент во втором. Если нет - то записываем это значение в третий.
    И так далее.
    Ответ написан
    1 комментарий
  • Почему у меня меняется ip при входе на сайт?

    BoriHagen
    @BoriHagen Автор вопроса
    На сервере стоял обратный прокси, поэтому получить реальный Ip удалось используя $_SERVER['HTTP_X_FORWARDED_FOR']
    Ответ написан
    Комментировать
  • Стоит ли представлять на собеседовании написанные тобой игры в консольном варианте?

    sabramovskikh
    @sabramovskikh
    Выложи на гитхаб и приложи ссылку в резюме. Кому нужно будет - посмотрят
    Ответ написан
    Комментировать
  • Как понять, что пора повышать зарплату?

    approximate_solution
    @approximate_solution
    JS Developer. Angular\React\Vue\Ember
    Я Junior Full-stack разработчик

    Опыт работы у меня примерно полгода

    уже год преподаю Java на одних курсах для людей, что хотят профессию сменить.

    Это не слезы, просто дождь течет по лицу :) Все абзацы смехотворны, если честно. Сам пишу с 2011 года на JS + бэк на PHP\Python, могу ли я себя назвать фуллстэком - наверное нет. Но ок - >

    Или может быть тут есть знающие люди и могут подсказать реальную зп, на которую можно претендовать.

    Как понять что можно просить больше(и заслужил) = опыт коммерческой разработки(всем пофиг сколько пет проектов вы написали до этого) от года + решение бизнес задач без помощи сеньора\мидла + регион.

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

    Для джуна даже московского запрлата в 800-900 долларов = это хорошая зарплата, при условии того что вы обращаетесь за частой помощью к своим товарищам, и пока не можете выполнять серьезные таски сами.
    Ответ написан
    2 комментария
  • Где в web-интерфейсе GitLab задается "maximum artifacts size"?

    Находится ровно там где описано в мане. В Admin Area, не в настройках репы.
    60b4a157d5e04527458116.png
    60b4a15febf3f723269790.png
    Ответ написан
    3 комментария
  • Что отвечать на собеседование когда спрашивают про нарушение сроков задачи?

    php666
    @php666
    PHP-макака
    Какой ответ ждут от разработчика?
    примерно такой:
    Ваше благородие! Виноват! Исправлюсь! Не велите казнить! Обязуюсь не спать трое суток, а решать задачу!

    А знаешь почему? Потому, что 95% из вас - терпилы по жизни.
    Я вообще не понимаю, как в мире IT, в разработке, можно говорить о каких-то сроках. Тривиальная ошибка может стать ступором на неделю - легко!
    Это землекоп или укладчик кирпича может объективно говорить о сроках, там +/- процессы длятся одинаково. В IT - нет.

    Не работайте там, где сроки горят. Полно мест, где нет никаких горящих сроков, где вас не заставляют лезть вон из кожи. Читай: ebanoe-it.ru/2020/12/28/right-way/
    Ответ написан
    3 комментария
  • Существует ли тенденция на неадекватные требования на позиции Automation QA?

    1) Сложность проектов постепенно растет, так как системы становятся все более обширными, многоканальными, интерактивными и так далее.

    2) Сложные системы требуют более опытных и способных специалистов. Поэтому начальный уровень человека, который может войти в индустрацию повышается.

    3) Большинство владельцев бизнеса думают, что новичкам можно мало платить. Но тут проблема в том, что текущие новички, это мидлы года 4-5 тому назада. Отсюда недопонимание.

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

    5) Всегда есть жопные проекты и жопные позицию, поэтому надо стремиться понять, где трахают, а где можно работать комфортно и занимать комфортные позиции.
    Ответ написан
    Комментировать