• Как передать параметры в массив?

    @HellWalk
    Там массив с данными, могу ли я передать новые значение с помощью curl?

    Можете, если у них есть API с таким функционалом.

    Есть ли документация?

    Спросите это у владельцев того ресурса, которому вы хотите отправлять данные.
    Ответ написан
    Комментировать
  • Markdown Editor или WYSIWYG?

    @HellWalk
    Какой из них выбрать? Мне всего лишь нужно, чтобы было окошечко, где пользователь мог вписать текст (ну с форматированием конечно ,еще картинку можно было бы чтобы добавить, ну как обычно) для создания новой статьи.

    За кажущейся простотой текстовых редакторов - с ними все довольно не просто. Если требуется четкое соответствие какому-то ТЗ. И часто, самым простым случаем будет написание с нуля того, что нужно.

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

    @HellWalk
    Вам нужны:
    1. Routing - есть компоненты, которые можно использовать независимо
    2. Контроллеры - чтобы в роутах ссылаться на Контроллер@методКонтроллера
    3. И нужная вам задача делается в рамках обычного функционала нормальных роутеров

    Раз у вас велосипед, можно продолжить велописедить, и написать свой роутинг - например, вот хорошее видео, где показывается, как это делать. Автор видео, после множества примеров, в конце показывает, как подключить и использовать сторонний модуль Aura.Router
    Ответ написан
    2 комментария
  • Как из строки получить два параметра?

    @HellWalk
    $_POST['title'] = 'title-desc-2013-04-28';
    $array = explode('-', $_POST['title']);
    $title = $array[0];
    $desc = $array[1];
    
    var_dump($title); // title
    var_dump($desc); // desc


    Если версия php свежая, можно и так:
    [$title, $desc] = $array;
    Ответ написан
    1 комментарий
  • Как ограничить количество попыток для пользователя?

    @HellWalk
    Итак, у вас есть какой-то ресурс, к которому вы хотите сделать ограниченный доступ неавторизованным пользователям (с авторизованными все понятно):

    1. Сразу нужно понимать, что сделать 100% работающий вариант для всех - невозможно, можно только максимально усложнить спамерам (я бы именно к спаму отнес такую задачу) жизнь.
    2. Чтобы реализовать это, нужно собрать максимум информации об анонимном пользователе (сохранить эти данные и по ним пытаться понять, новый это анонимный посетитель, или старый):
    - Самое банальное - куки на фронте
    - Чуть менее банальное, но тоже легко обходится - ip
    - Дальше можно взять такие параметры, как window.navigator.userAgent с фронта
    - На беке брать $_SERVER['PHP_AUTH_USER']
    - И еще есть всякие хитрые способы, например, кешировать картинку в браузере юзера, со специальным токеном, и по нему проверять. На память не вспомню статью на хабре, но поискать можно

    Сохранять эти данные, а потом писать хитрый анализатор, который будет сравнивать данные нового анонимного пользователя, с существующими данными в базе - и решать, что делать (можно считать пользователя зашедшим повторно по 100% соответствию всех параметров, а можно сказать, что если 70-80% совпадает - считаем это совпадением).

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

    @HellWalk
    Начать нужно с того, на чем проект? Велосипед или фреймворк?

    Для популярных фреймворков уже сделаны модули мультиязычности, и стоит использовать их.

    Даже если у вас велосипед - можно использовать Symfony Translations (как отдельный модуль)

    Если же захочется сделать свой велосипед, то конечно, можно, но:

    1) В любом случае, чтобы сделать его хорошо, придется смотреть и вникать в примеры других реализаций
    2) Это долго, нужно сразу готовиться к переделкам в будущем. Хотя, с точки зрения развития, велосипедить полезно

    Пример крайне упрощенного самописного модуля мультиязычности можете посмотреть в этом проекте (src/Battle/Translation/)
    Ответ написан
    Комментировать
  • Как в Doctrine, в DBAL указать PDO::ATTR_PERSISTENT => true?

    @HellWalk Автор вопроса
    Проблема с лимитом подключений к базе в тестах решилась добавлением $this->entityManager->getConnection()->close(); в tearDown()

    /**
    * @throws ConnectionException
    */
    public function tearDown(): void
    {
        parent::tearDown();
        // ...
        $this->entityManager->getConnection()->close();
    }


    Забавно, что в официальной документации (с.м. последний пример):
    https://symfony.com/doc/current/testing/database.html

    Указано:
    protected function tearDown(): void
    {
        parent::tearDown();
    
        // doing this is recommended to avoid memory leaks
        $this->entityManager->close();
        $this->entityManager = null;
    }


    Что, по факту, не помогало решить проблему с лимитом подключений.
    Ответ написан
    2 комментария
  • Куда расти в должности, не бросая программирование?

    @HellWalk
    Я упускаю какое-то направление?

    Как мне кажется, вы упускаете банальный рост в написании кода.

    Возможно, в компаниях, где вы работали, программисты (условно), получали 100-200, тим-лид 300, и вы думаете, что чтобы вырасти по зарплате - нужно обязательно из программистов уходить в менеджмент.

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

    В общем, развивайтесь в своем стеке до senior+, изучайте английский, выходите на американские/европейские компании - будете писать код и получать в разы больше, чем большинство российских тим-лидов и руководителей.

    P.S. Есть низкооплачиваемые языки, если вы находитесь в таком - можно подумать о переходе на другой, более оплачиваемый.
    Ответ написан
    Комментировать
  • Что требуется от junior php разработчика?

    @HellWalk
    У меня нет примеров работ в github, стоит ли начать загружать туда хоть какие-нибудь примеры выполненного кода?

    Да, стоит, и чем раньше, тем лучше.

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

    А если добавите на гитхаб свой блог на Laravel/Symfony на докере + запрос к какому-нибудь API через Guzzle - мне кажется этого будет уже достаточно, для уровня джуна.

    Это хороший подход или что-то можно улучшить?

    Хороший, только помните, что всем нужен опыт фреймворков. Даже компании которые сидят на каком-нибудь Drupal будут спрашивать про опыт фреймворков. Так что примеры сайтов сразу делайте на фреймворках, про CMS и велосипеды забудьте.
    Ответ написан
    Комментировать
  • Codeception - как отключить очистку базы после выполнения тестов?

    @HellWalk Автор вопроса
    Ответ Pavlvdv напомнил о давно забытой проблеме.

    Проблема возникала только на одной работе, на одном проекте, гибриде Falcon и Laravel (да, и такое делают). Нигде больше, используя Codeception, проблем с очисткой базы после тестов не было.

    Спишем на косячный проект той работы.
    Ответ написан
    Комментировать
  • Почему работодатели заостряют внимание на теории?

    @HellWalk
    Поиск кандидата проходит в двух вариантах:

    Первый - Нужен_срочно_работа_горит!!!

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

    Второй - Нужен, но не срочно

    В этом случае, всех несет куда попало. Один начинал программирование с ассемблера - будет спрашивать про низкоуровневое программирование и устройство ПК (и найдет 100500 доводов, почему не зная этого нельзя вообще работать программистом), другой по образованию математик - будет задавать соответствующие вопросы, с соответствующими доводами, что какой программист без математики. Третий - ничего не умеет, попал в ИТ по знакомтсву - будет спрашивать по софт скилам, ведь кроме них, у самого собеседующего, ничего и нет. И так далее.

    Пытаться логикой понять собеседования из второй группы - лишь тратить попросту время. Забейте.

    Что важно: так это понимать, кем вы хотите стать, и развиваться в этом направлении.
    Ответ написан
    Комментировать
  • Возможно ли подружить Symfony + gRPC + Codeception?

    @HellWalk Автор вопроса
    В общем, все оказалось просто (когда знаешь что делать)

    Необходимо в config/services.yaml в существующую строку:
    exclude: '../src/{DependencyInjection,Entity,Tests,Kernel.php}'

    добавить папку, в которой находятся gRPC-классы, в моем случае это папка src/Grpc и строчка в конфиге выглядит так:
    exclude: '../src/{DependencyInjection,Entity,Tests,Grpc,Kernel.php}'


    Спасибо за наводку по решению BoShurik
    Ответ написан
    Комментировать
  • Как найти "разработчика"?

    @HellWalk
    Посмотрите gamedev-ресурсы - там много энтузиастов делают различные проекты (игры) и ищут людей себе в команду (чаще всего также, за бесплатно, на энтузиазме).
    Ответ написан
    Комментировать
  • Что творится на рынке web разработки для junior?

    @HellWalk
    Что творится на рынке web разработки для junior?

    1. Армия желающих войти в ИТ
    2. Иллюзии, что современная веб-разработка это просто и в неё легко влиться
    3. Нежелание действительно серьезно этим заниматься, и серьезно вкладывать силы в свое портфолио на гитхабе. В соседней теме человек уверен, что один файлик с 80 строками это проект!

    Итог: толпы людей с розовыми очками разбиваются о реальность.

    При этом реальных людей с опытом (даже тем, что можно получить сидя дома в одиночку) - на рынке труда очень сильно не хватает.
    Ответ написан
    Комментировать
  • Как реализовать алгоритм преследования игрока с учётом препятствий-полигонов?

    @HellWalk
    Алгоритмы поиска пути называют A star. Да, примеры в основном сделаны на клеточных полях, но, в самом определении алгоритма:

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


    Ничего не сказано про то, что он работает только на клеточном поле. Так что я бы поискал примеры реализации данного алгоритма - наверняка найдется тот, что вам подойдет.
    Ответ написан
    Комментировать
  • В сфере IT для новичков нет перспектив?

    @HellWalk
    В сфере IT для новичков нет перспектив?

    Если эти новички ожидают, что они после полу года курсов начнут получать сотни тысяч - то да, перспектив нет, только одни разочарования.

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

    Ну как начать работу, если никуда не берут

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

    Вообще программирование это одна из немногих специальностей, 90% опыта и знаний в которой можно получить сидя дома. Да, это будет дольше, чем в рабочей команде, но можно.
    Ответ написан
  • Как не попасть в "неправильный" PHP?

    @HellWalk
    как отличить компанию куда следует откликаться, где со старта можно постигать и повышать скилл на профессиональном уровне и не попасть в конторы по клепанию ИМ?

    • Продуктовая компания
    • Проект на современном фреймворке (Symfony/Laravel)
    • Пишут авто-тесты
    • Делают ревью кода
    • Настроен CI/CD (т.е. если кто-то сделал хреновый пулл реквест, из-за которого упали тесты - смержить его просто не получится)
    • Сроки не горят. Практика показывает, что невозможно сделать хороший качественный проект в постоянно горящих дедлайнах
    • Есть команда. Из пунктов выше это и так понятно, но на всякий случай напишу отдельно. Не идите в компании, где вам придется работать в одиночку, или в компании с другим одним программистом.

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

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

    Это значит, что в компании есть как хорошие, так и плохие проекты. Угадайте, кто будет заниматься плохими.
    Ответ написан
    Комментировать
  • Как пишутся подобные текстовые игры? Логика игры?

    @HellWalk
    Может, есть какая-то книга/мануал как создать такие игры?

    Научитесь программировать - сможете без проблем делать такие новеллы (из графики, как понимаю, там только статичные картинки)

    Можно конечно пойти по более простому и быстрому пути - используя чужие движки и библиотеки, но они часто накладывают ряд ограничений. А вот чтобы реализовать именно свои идеи (особенно если они завязаны на уникальные игровые механики), и ни от чего не зависеть - лучше делать свое, с нуля.

    Заодно и хорошая практика в программировании будет.
    Ответ написан
  • Как рискнуть в этом деле?

    @HellWalk
    Однозначно нужно выбирать путь развития. Детей/ипотеки нет - можно и пожертвовать текущим доходом ради перспектив в будущем.

    bc137c8612f36eaf0729bccba54cbbe5.jpg
    Ответ написан
    1 комментарий
  • Куда лучше поступать для обучения на программиста?

    @HellWalk
    какое направление лучше

    Прикладная математика
    Ответ написан
    Комментировать