• If с проверкой присвоения - приемлемо?

    solotony
    @solotony
    покоряю пик Балмера
    не надо так делать. даже если конкретный язык и позволяет такое делать. это сильно затрудняет читаемость кода.
    Ответ написан
    1 комментарий
  • Где найти сервис для отправки http запросов?

    iiiBird
    @iiiBird
    Пока ты спишь - твой конкурент совершенствуется
    Ответ написан
    Комментировать
  • Как перебирать свойства свойств объекта в php?

    nokimaro
    @nokimaro
    Меня невозможно остановить, если я смогу начать.
    https://www.php.net/manual/ru/class.simplexmlitera...

    но я бы предложил взглянуть на такой вариант
    <?php
    $arr = json_decode(
        json_encode((array) simplexml_load_string($xmlString)), true
    );
    
    print_r($arr);
    Ответ написан
    4 комментария
  • BeONmax - развод или нормальные курсы по программированию?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Нет смысла. Советую вообще курсами не пользоваться, читайте лучше учебники.
    Ответ написан
    1 комментарий
  • Почему sleep не работает в linux хостинге?

    @qid00000000
    Мало что знаю, но информацию найду в гугле
    На хостинге какой веб сервер?

    max_execution_time какой установлен?

    Зачем вам вечный цикл? Большинство хостинг провайдерам, подобный код в основном проблемы доставит (особенно, если запускать через веб сервер в несколько процессах).

    Какой код ответа от сервера вы получаете?

    Есть ли связка из nginx + apache ? Если да, то какие таймауты соединения настроены?

    Через сколько часов/минут хостинг провайдер ваш убивает процессы?

    Что выводиться в errors_log?

    Я могу ещё накидать с десяток правильно поставленных вопросов, на которые вам могут дать ответ.

    На вопрос, почему у меня не работает, а тут нет, можно дать ответ, что вы что-то не так делаете. В чем-то, я понимаю ТП хостинга, к которому вы обращались.

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

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

    DevMan
    @DevMan
    так скрипт не выполняется вообще из-за Parse error, поэтому и отключение ошибок не выполняется.

    это нужно отключать в php.ini.
    Ответ написан
    6 комментариев
  • Что спрашивают на позицию middle/senior php?

    drcrazy
    @drcrazy
    Спрашивают начиная с азов, мало ли что ;)

    Из того, что явно подтверждает senior level в PHP:
    1) SPL
    2) Как работает PHP - opcode cache, garbage collection, zval
    3) ООП: интерфейсы, абстракты, доступ к их членам
    4) SOLID: расшифровать и объяснить каждую букву
    5) Паттерны, и их практическое применение
    Ответ написан
    7 комментариев
  • Что спрашивают на позицию middle/senior php?

    pavel_salauyou
    @pavel_salauyou
    Symfony2 & Angular разработчик
    Спрашивали на senior (всё, что удалось вспомнить):
    можно ли взломать ssl
    для чего нужны интерфейсы и абстрактные классы
    чем отличается сервисно-ориентированная разработка от доменно-ориентированной
    как сделать так, чтобы никто не смог угнать куки через джаваскрипт, как сделать чтобы нельзя было перехватить куки
    кроссдоменные запросы
    как добавить поле в высоконагруженную базу в таблицу на продакшене где 100 миллионов записей, без отказа бля базы
    что такое партиционирование, шардинг, репликация
    как работает http
    что такое rest и soap
    что такое репликация и как передаются данные при репликации между серверами, виды репликаций
    триггеры, процедуры в базе
    про способы кеширования веб приложений
    джоины в базе
    просили написать функцию нахождения ближайшего числа в массиве, для заданного числа
    что такое рефакторинг
    DIC, ServiceLocator
    Какие паттерны знаешь и т.д.
    Ответ написан
    29 комментариев
  • Что дает паттерн билдер по сравнению с обычными сеттерами?

    Maksclub
    @Maksclub
    maksfedorov.ru
    Например то, что билдер собирает не себя, а другой объект/ы опираясь на сконструированные детали

    А сеттеры просто мутируют объект, по сути структура голая с паблик свойствами

    Один паттерн, другой структура — вот и разница
    Ответ написан
  • Можно ли как-нибудь проверить свои знания laravel, symfony или любой другой технологии?

    usdglander
    @usdglander Куратор тега PHP
    Yipee-ki-yay
    Попробуйте реализовать какой то один небольшой проект на этом фреймворке. Там сразу станет понятно где у вас пробелы. Тесты или типовые задачи научат вас только проходить тесты и решать типовые задачи. К сожалению в реальной жизни вам это слабо поможет.
    Ответ написан
    Комментировать
  • Как выполнить задачу через 10 минут?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    ничего не надо выполнять
    надо понять наконец, как работает база данных.

    Записывать надо только время бронирования.
    Если разница междутекущим временем и временем бронирования меньше 10 минут, то статус забронирована. иначе - новая.
    Ответ написан
    2 комментария
  • Какие клавиши он нажимает?

    maxselivanov0
    @maxselivanov0
    Добрый вечер!
    4:11
    Вам нужно перейти в режим редактирования и нажать цифру 3( сверху, не на нам паде).
    После этого вы перейдете в режим выделения граней(полигонов).

    4:12
    После выделения грани (полигона) нажимаем клавишу I (английская "ай").

    Очень надеюсь, что смог помочь вам.
    Удачи!
    Ответ написан
    Комментировать
  • Где научиться/почитать про общие темы backend?

    inoise
    @inoise Куратор тега PHP
    Solution Architect, AWS Certified, Serverless
    Опыт и ещё раз опыт. Нельзя на все ответы однозначно ответить правильным и не правильным вариантом. Есть то что будет работать и укладывается в конкретный контекст или нет. Начинать с изучения сверху вниз: почитать спецификации или посмотреть доклады про протокол http, посмотреть на разные виды контрактов ибо кроме REST давно появилось много чего. Потом идти глубже - в инфраструктуру, масштабирование, twelve factor. Когда это все надоест то можно прочитать и про основы сетей)
    Ответ написан
    Комментировать
  • Где научиться/почитать про общие темы backend?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Купи книжку Котерова РНР7.
    Зумеры от нее воют потому что (там нету видео, а объем текста больше полутора строчек они воспринимать не в состоянии) про собственно РНР там начинается примерно с середины. Как раз потому что сначала там даются именно базовые понятия, без которых нельзя освоить веб-программирование. В том числе что такое НТТР и как оно работает.
    Ответ написан
    1 комментарий
  • Как ускорить импорт CSV файла с 300к записей?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    если файл простой, поля без кавычек и переводов строк, то читай fgets/explode
    будет быстрее в 40 раз чем fgetcsv

    плюс весь процесс заключить в транзакцию. тоже раз в 70 должно ускорить запись в базу

    Но вообще конечно надо профилировать сначала. То есть смотреть, какая часть скрипта занимает сколько времени. чтобы не тыкать пальцем в небо.

    Поэтому
    1. Всё поставить на домашнем компе.
    2. добавить перед циклом $time = time(); а после цикла - echo time() - $time;
    3. Сначала закомментировать всю работу с базой - то есть оставить только чтение из файла, и посмотреть сколько оно занимает
    4. Раскомментировать операторы чтения из БД, и вычесть из результата время на чтение файла - получим сколько времени занимает чтение
    5. Раскомментировать остальное и замерить полное выполнение скрипта, с записью в БД.

    С этими цифрами уже идти сюда.
    И задавать осмысленный вопрос, "как мне ускорить такую-то операцию", а не "как мне прикрутить кривые костыли к моему кривому коду"
    Ответ написан
    7 комментариев
  • Можно ли считать JavaScript полноценным языком программирования?

    SagePtr
    @SagePtr
    Еда - это святое
    Ну как бэ Javascript используется не только на фронте, но и на бэке, а также некоторые десктопные приложения написаны на нём (к примеру, VSCode, Skype, Discord, список можно продолжать и продолжать).
    Потому называть его неполноценным глупо. "Неполноценный" он разве что в браузерах, т.к. код, исполняемый в них, и не должен иметь доступ ни к чему за пределами браузера, было бы очень опасно разрешать ему лазить в файловой системе пользователя.
    Ответ написан
    5 комментариев
  • Почему меня не приглашают на собеседование?

    kshnkvn
    @kshnkvn
    yay ✌️ t.me/kshnkvn
    А ты настойчивый. Все, что додумался сделать - это перевести резюме на русский язык? На да ладно, давай по пунктам разберем твои "навыки":
    1. Git: нигде нет описания, README файлов, в большинстве случаев проекты просто залиты в git, как будто это хостинг, много где есть виртуальные окружения (лол).
    2. Django: куча копипасты и пустых проектов. Своего кода ноль.
    3. Flask: прочитай хотя бы про application factories, все в одном файле мешать - это позор в 2020 году даже для трейни.
    4. HTML/CSS/Bootstrap: где это все? Или по-твоему, если ты стили подключил и парочку форм на html сварганил - всё, этого достаточно, что бы упоминать это в навыках?
    5. PosgreSQL: аналогично предыдущему. Молодец, порастыкивал кучу many-to-one связей по всем моделям, уважаю, но это не повод, что бы писать PostgreSQL в навыках.
    6. Зашел на первый сайт из "опыта работы", debug режим включен. Понимаю. Тебе еще в прошлом вопросе об этом говорили, но ты решил проигнорировать это.
    А теперь посмотрим с позиции HR, которой часто не проверяет твои навыки, а просто подбирает резюме, так вот он увидит:
    1. Орфографические и пунктуационные ошибки. Серьезно, чел, ты резюме пишешь, неужели ворд не подсвечивает ошибки?
    2.
    Хочу разобраться как устроенны веб приложения от и до, писать чистый код и покрывать его тестами

    Так разберись. У тебя резюме на позицию "джуна", ты и так должен знать как писать чистый код и покрывать его тестами.
    3.
    читаю классику и научпоп (Д. Дойч, Р. Докинз, Д. Хофштадтер)

    Че, прям только их и читаешь?

    Как итог: фактически твой максимум - трейни, но тебя никто не рассматривает, так как у тебя все твое резюме состоит из вранья: в большинстве случае ты не умеешь то, что заявляешь в навыках. Более того, ты с самого начала пишешь "Junior Python developer", при этом не проработав ни дня. Ага, самопровозглашенный джун, круто.
    Давай, ждем третьего такого же вопроса, один фиг до тебя не доходит.
    Ответ написан
    2 комментария
  • Как сделать буквенные ID?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Просто 62-ричная позиционная система счисления с алфавитом 0-9a-zA-Z.
    <?php
    $alphabet62 = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
    function toAlphabet(int $decimal, string $alphabet) : string
    {
      $base = mb_strlen($alphabet);
      $result = '';
      do {
        $pos = $decimal % $base;
        $result  = mb_substr($alphabet, $pos, 1) . $result;
        $decimal = intdiv($decimal, $base);
      } while ($decimal > 0);
      return $result;
    }
    var_dump(toAlphabet(12345678, $alphabet62));
    // string(4) "PNFQ"
    var_dump(toAlphabet(12345678, '0aA'));
    // string(15) "AaA0A00A000Aa00"
    Ответ написан
    1 комментарий
  • Как сделать буквенные ID?

    dyuriev
    @dyuriev
    A posteriori
    Не совсем понятно причем тут MySQL)

    10 цифр + 26 букв нижнего регистра + 26 букв вернего регистра - это 62 ричная система счисления.

    через php-gmp можно:

    <?php
      $id = '8472076875';
      echo 'original ' . $id . PHP_EOL;
    
      $id62 = gmp_strval(gmp_init($id, 10),62); // преобразовываем из 10-чной в 62-ричную
      echo '10to62   ' . $id62 . PHP_EOL;
    
      $id2 = gmp_strval(gmp_init($id62, 62),10); // преобразовываем из 62-ричной обратно в 10-чную
      echo '62to10   ' . $id2 . PHP_EOL;
    ?>
    результат:
    original 8472076875
    10to62   9FLyDD
    62to10   8472076875


    если буквы верхнего регистра не очень нужны, то можно через base_convert(); в 36-ричную для этой функции предел как раз 36)

    PS: преимущество gmp над реализацией метода через чистый php - феноменальная скорость. Тот же код что и в моем примере выше с 80-значным числом отработал на мобильно i5 меньше чем за пол секунды:
    $ time php test.php 
    original 23401823413248776823465324564823758974652738496528934652984564235623845698234763
    10to62   3BshjdyAzgaTxTiw0zqLRs58vHoKHBrnQmTdcE9NCRiEl
    62to10   23401823413248776823465324564823758974652738496528934652984564235623845698234763
    
    
    real	0m0.493s
    user	0m0.106s
    sys	0m0.108
    Ответ написан
    4 комментария
  • Почему меня не приглашают на собеседование?

    hottabxp
    @hottabxp
    Сначала мы жили бедно, а потом нас обокрали..
    Почему меня не приглашают на собеседование?

    Может это -
    Что не так с моим резюме?
    5f9d5b4a66355804272017.png
    Ответ написан
    2 комментария