Задать вопрос
  • Почему 0 == null // false?

    @bormor Автор вопроса
    "Значения null и undefined равны == друг другу и не равны чему бы то ни было ещё. Это жёсткое правило буквально прописано в спецификации языка." И.Кантор
    Ответ написан
    Комментировать
  • Как найти номер в массиве по шаблону?

    @eternalfire
    <?php
    $mask = 'abab';
    
    $rgPattern = array(
        'aaaa'   => '/(\d)\1{3}/',
        'aabb'   => array(
            '/(\d)\1(?!\1)([^\1])\2/',
            '/(\d)\1([^\1])\2([^\1\2])\3/'
        ),
        'abab'   => array(
            '/(\d)([^\1])(?:\1(?!\1)\2){1}/',
            '/(\d)([^\1])\1\2\1\2/'
        ),
        'aabbcc' => '/(\d)\1([^\1])\2([^\1\2])\3/',
        'ababab' => '/(\d)([^\1])\1\2\1\2/',
        'abcabc' => '/(\d)([^\1])([^\1\2])\1\2\3/'
    );
    
    $rgNum = array(9096223434, 9096660865, 9096225151);
    
    $pattern = $rgPattern[$mask];
    
    $result = array_filter($rgNum, function($num) use ($pattern) {
       
        $num = preg_replace('/\D/', '', $num);
       
        if(is_array($pattern)) {
            return (preg_match($pattern[0], $num) && !preg_match($pattern[1], $num));    
        }
       
        return !!preg_match($pattern, $num);
    });
    
    print_r($result);
    Ответ написан
    1 комментарий
  • Как распарсить динамическую веб страницу?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Если вы не знаете веб, то никак.

    Нужно разобраться с тем, как работает страница - там должен быть какой-то javascript, который обрабатывает прокрутку, и отправляет запрос на очередную порцию страницы.
    Следовательно можно посмотреть какой запрос он отправляет, и выполнять эти запросы самостоятельно, указывая параметры.
    Но для такого реверс-инженеринга нужно как минимум разобраться в javascript и http/https
    Ответ написан
    Комментировать
  • Стоит ли отправлять документы для удаленной работы?

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

    rockon404
    @rockon404
    Frontend Developer
    Обычная практика. Не хотите отправлять транспортной компанией, едьте лично. По-другому никак.
    Ответ написан
    4 комментария
  • Какой HTML парсер выбрать?

    Bandicoot
    @Bandicoot
    Вась-программист
    Пользуюсь этим уже не первый год и всем доволен: https://github.com/Imangazaliev/DiDOM
    Ответ написан
    Комментировать
  • Как чайнику научиться создавать игры на Unity?

    GavriKos
    @GavriKos Куратор тега Разработка игр
    https://tproger.ru/translations/how-to-learn-gamed... например как то так
    Ответ написан
    Комментировать
  • Как развиваться в программировании не привязываясь к языку?

    myjcom
    @myjcom
    Clean Code: A handbook of software craftsmanship / Чистый код: Создание, анализ и рефакторинг
    Год издания: 2013
    Автор: Robert Martin / Роберт Мартин
    ISBN: 978-5-496-00487-9

    The Clean Coder: A Code of Conduct for Professional Programmers / Идеальный программист. Как стать профессионалом разработки ПО
    Год издания: 2012
    Автор: Robert C. Martin / Роберт Мартин
    ISBN: 978-5-459-01044-2

    Алгоритмы. Справочник с примерами на C, C++, Java и Python
    Год издания: 2017
    Автор: Хайнеман Д., Поллис Г., Селков С.
    ISBN: 978-5-9908910-7-4

    Design Patterns. Elements of Reusable Object-Oriented Software/Приемы объектно-ориентированного проектирования. Паттерны проектирования
    Год издания: 2015
    Автор: Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides/Гамма Э., Хелм Р., Джонсон Р., Влиссидес Дж
    ISBN: 978-5-496-00389-6

    Test-driven development by example / Экстремальное программирование. Разработка через тестирование
    Год издания: 2017
    Автор: Kent Beck / Кент Бек
    ISBN: 978-5-496-02570-6

    Грокаем Алгоритмы. Иллюстрированное пособие для программистов и любопытствущих
    Год издания: 2017
    Автор: Бхаргава А
    ISBN: 978-5-496-02541-6

    Алгоритмы. Теория и практическое применение
    Год издания: 2016
    Автор: Стивенс Род
    ISBN: 978-5-699-81729-0

    прочитать нужно все

    ну и на закуску
    C Unleashed / Искусство программирования на C. Фундаментальные алгоритмы, структуры данных и примеры приложений. Энциклопедия программиста
    Год: 2001
    Автор: Heathfield R., Kirby L. / Хэзфилд Р., Кирби Л.
    ISBN: 0-672-31896-2 / 966-7393-82-8
    Ответ написан
    9 комментариев
  • Symfony 3.4.6 custom validator в чём может быть ошибка?

    BoShurik
    @BoShurik Куратор тега Symfony
    Symfony developer
    /* File AppBundle\Validator\Constraints\ContainsAlphunumeric.php */
    class ContainsAlphanumeric extends Constraint
    Ответ написан
    7 комментариев
  • Как сохранить питание на USB после выключения ПК?

    Astrohas
    @Astrohas
    Python/Django Developer
    Шалом, брат.
    Купи зарядку. 30 рублей стоит
    Ответ написан
    Комментировать
  • Какая верная стратегия обновления refresh_token'а для нескольких устройств?

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

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Центральный показатель для бизнеса, а следовательно и руководителей, как людей представляющих интересы этого самого бизнеса - это коэффициент возврата инвестиций (ROI). Соответственно, сотрудник должен приносить компании больше денег, чем потребляет. Естественно, что чем выше разрыв между затратами и прибылью, тем лучше, поэтому фонд оплаты труда руководитель должен держать на том минимальном уровне, который гарантирует бесперебойную работу сотрудников. Один из факторов этой бесперебойности - низкая текучка. Сотрудников терять нежелательно. И чем ценнее для компании сотрудник, чем более он профессионален и/или чем больше на него завязано, тем дороже обходится его потеря. Натурально в деньгах. Придётся затратить больше, чем обычно, денег на поддержание работы без него. Придётся затратить деньги и время (те же деньги) на поиск, найм, введение в работу, возможно, обучение нового сотрудника. При этом он может оказаться совсем неподходящих и цикл придётся повторить. Или может оказаться просто хуже прошлого и эффективность отдела снизится. Поэтому, когда сотрудник приходит просить прибавку, руководитель оценивает может ли этот сотрудник уйти или только блефует, насколько легко его будет заменить, какой урон компании будет нанесён его уходом. Потом руководитель оценивает стоимость расширения ФОТ - есть ли резервы, какой сейчас ROI, будет ли больший ROI от реинвестиции этих средств во что-то другое? Если уход сотрудника будет стоить меньше, чем увеличение ФОТа, сотруднику откажут.

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

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

    Stalker_RED
    @Stalker_RED
    Вы планируете сперва создать список моделей, а потом показывать таблички типа "по марке superRareWagon ничего не найдено"? Не лучше ли собирать инфу конкретно по машинам, а сам список генерировать на основе того, какие машины у вас уже есть.
    Ответ написан
    1 комментарий
  • Какую СУБД выбрать для высоконагруженного проекта?

    rework
    @rework
    Помог ответ? В благодарность отметь его решением
    Для MySQL указанное вами количество записей в таблицах не является критичным. Ищите узкие места в запросах и индексах. Попробуйте через EXPLAIN подебажить ваш запрос, тут подробнее почитайте об этом - https://habrahabr.ru/post/211022/
    Ответ написан
  • Свойства для getter и setter в PHP?

    artem90
    @artem90
    TeamLead, Developer
    Именование свойств с подчеркиванием это неправильный путь, которому по неизвестной мне причине следует код-стайл от yii2 (https://github.com/yiisoft/yii2-coding-standards). Там предлагается для всех private переменных использовать подчеркивание.

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

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    JWT
    Ответ написан
    Комментировать
  • SPA и REST API - как грамотно построить аутентификацию?

    @motomac
    Делаем два метода аутентификации: Resource Owner Password Credentials Grant и Refresh token grant.

    SPA отправляет логин/пароль юзера на первый endpoint. В ответ получаем access_token (например, JWT), refresh_token и expires_in. Сохраняем все это добро куда-нибудь, например, в Local Storage. Время жизни JWT-токена лучше ставить небольшое (например, 1 час), потому что отозвать его нельзя. Далее SPA при каждом запросе к API проверяет время жизни токена expires_in из Local Storage, и когда оно истекает, отправляет запрос на обновление токена (refresh_token). Все это прозрачно для юзера.

    Stateless, по-моему, и проще, и универсальнее. Если потом делать, например, мобильное приложение, API переписывать не придется.

    Вся фишка JWT по сути только в том, что не нужно дергать БД при каждом запросе к API. Делать это придется, например, только раз в час при refresh'е токена. Больше никаких существенных преимуществ перед традиционными токенами, хранящимися в БД, нет.

    Советую курить именно официальный RFC по oAuth2, а не всякие блогпосты а-ля "OAuth2 простыми словами". Сам через это прошел. RFC - самый понятный и доходчивый источник знаний.
    Ответ написан
    1 комментарий
  • Есть ли в PHP хеш из цифр?

    @choupa
    Архитектор (обычный, который строит)
    hexdec (... ваш хэш... )
    Ответ написан
    Комментировать