• Ворота против телеграм-бота. Как защититься?

    ValdikSS
    @ValdikSS
    Не понимаю, каких ответов вы ожидаете.
    Очевидный — реализовать более безопасный метод аутентификации и авторизации, который нельзя обойти простым телеграм-ботом.
    Юридическо-хулиганский — положить кирпич на капот, обмазать дверь автомобиля говном + обоссать, пригрозить судом, засудить.
    Ответ написан
    Комментировать
  • Почему не видит переменную?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    INSERT - это запись данных в таблицу.
    Вам нужен SELECT.
    Изучайте SQL.
    Ответ написан
    Комментировать
  • Почему выдает 55?

    Stalker_RED
    @Stalker_RED
    Потому что 1+2+3+4+5+6+7+8+9+10=55
    А вы чего ожидали?
    Ответ написан
    Комментировать
  • Какую дополнительную клавиатуру с программируемыми клавишами посоветуете?

    Avis-HQ
    @Avis-HQ
    Engineering (subsea), CAD/CAM/CAE, design
    Это называется кейпад (keypad). По этому слову гуглится намного лучше. В вашем случае "programmable keypad". Есть даже наборные со сменными вставками на клавиши. А то и с экранчиками (Optimus Aux). Вопрос цены.

    Я в своё время для похожих целей купил Razer Nostromo (ныне снят с производства, заменен на Orbweaver). Купил, потому что кейпад для CAD нужен был позарез, а этот был самый дешевый. Фишка Razer на тот момент была в том, что ей не нужны дрова для работы клавиш (нужны только для записи) - они писались в устройство имитацией нажатия и просто воспроизводились везде. Спасало, если таскал с собой и было глупо накатывать дрова ради дня копания в компе. Не знаю как такое поведет себя на разных семействах ОС, но не думаю что слишком там различные протоколы на тему сигналов с клавиатуры. Чего не скажешь о дровах для работы макросов из самой ОС.

    Ныне переехал на продукцию 3D Connexion в виде SpacePilot Pro + CadMouse + обычная клавиатура ноутбучного типа. В итоге половина поместилась на мышку внутри их софта. Удобный инструмент, который даже отслеживает активное окно и автоматически щелкает профилями и наборами макросов + целый SDK, чтобы дружить софт с контроллером на более низком уровне. Однако они требуют установку ПО для работы личных настроек в любом случае. Ну и, конечно, они заточены под 3D CAD/CAM-системы и графические редакторы в первую очередь, а потом уже всё остальное.

    Ещё одно из пройденных решений попроще: сразу клавиатура с программируемыми мультимедиа-клавишами. Это у меня домашний вариант - SS Apex. Там тоже есть интересный момент: у клавиатуры есть "слои", которые можно переключать по ходу дела. Т.е. там 136 клавиш, которые можно настроить как угодно вообще, а по нажатию одной из них или сочетания переключить на другую, тоже кастомизированную раскладку, получив ещё 135 функций..а потом ещё. Предел не искал - остановился на двух слоях, хотя чаще хватает второго ряда над F1-F12 и блока слева. Без ПО тоже не пашет, правда.
    Ответ написан
    Комментировать
  • Есть ли какие-то сервисы для натяжки html на WP?

    iiiBird
    @iiiBird Куратор тега HTML
    Пока ты спишь - твой конкурент совершенствуется
    такой сервис называется фриланс https://freelance.habr.com/
    Ответ написан
    Комментировать
  • Стоит ли стажироваться на php разработчика, если у них cms Битрикс?

    approximate_solution
    @approximate_solution
    JS Developer. Angular\React\Vue\Ember
    Какая разница куда и на чем стажироваться. Пока вы новичок, ваша главная задача залезть на поезд, и остаться на нем. Битрикс - это бизнес продукт, никто не запрещает вам по мимо битрикса изучать дома лару либо симфони, вы не должны быть заложником одного фреймворка.
    Ответ написан
    13 комментариев
  • Стоит ли стажироваться на php разработчика, если у них cms Битрикс?

    1) Есть возможность пойти на Symfony/Laravel, а не на Битрикс - хорошо, иди на них.
    2) Нет ничего кроме Битрикса, иди на битрикс.

    Лучше сидеть на работе, получать деньги, качать резюме и свои скиллы, чем сидеть дома и ждать годами "работу мечты", которой может и не будет.
    Ответ написан
    Комментировать
  • Чем заменить ReadBeanPHP?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Надо понимать что полноценной замены не существует.
    Данная программа - это два тупые молодца, одинаковые с лица, из мультика про Вовку в тридевятом царстве.
    Которые честно пытаются делать то что хозяин им велит, но в силу врожденного слабоумия всё делают не так.
    А всё от того что она хочет быть нянькой для программиста.
    Но если программисту нужна нянька, то такого "специалиста" надо гнать из профессии поганой метлой.
    А если хочет остаться - то да, надо учиться что-то делать самому. руками.
    ЗАРАНЕЕ продумывать и создавать схему БД. И менять только в случае осознанной необходимости, а не потому что вдруг передал в БД не тот параметр, который хотел.
    ЗАРАНЕЕ продумывать и писать SQL запросы. А не ждать что все их за тебя напишет тупая нянька.
    Понимать то как работает пхп с базой данных.

    Поэтому в качестве прививки от говнокода я порекомендую сначала
    - учить устройство БД. Создавать все свои схемы руками
    - учить SQL. Писать все свои запросы руками
    - освоить работу с БД из РНР на базовом уровне, через нативный ПДО.

    После того как это все будет от зубов отскакивать, и после пары выполненных проектов будет очевидно видна некоторая избыточность и повторяемость кода - ничинать писать свой первый Table Gateway. Ну, или если совсем нипалусяися - то осваивать что-нибудь хайповое, но хотя бы не такое маргинальное, например Елоквент.
    Ответ написан
  • Как мне это сверстать?

    approximate_solution
    @approximate_solution
    JS Developer. Angular\React\Vue\Ember
    Вариант 1: блочный



    Вариант 2: более правильный, так как нижние блоки это элемент украшения, и фактически в верстке присутствовать не должны

    Ответ написан
    5 комментариев
  • Почему многие крупные сайты тормозят по самые помидоры?

    approximate_solution
    @approximate_solution
    JS Developer. Angular\React\Vue\Ember
    7 баллов из 100. Я такого еще не встречал

    Потому что это крупный бизнес. А не ИП или средний бизнес где основная логика - дрочь с баллами page speed insight.
    Ответ написан
    12 комментариев
  • Как получить значение из protected свойств?

    delphinpro
    @delphinpro Куратор тега PHP
    frontend developer
    Написать геттер
    class Count {
      // ...
      public function getCount(){
        return $this->count;
      }
    }
    Ответ написан
    1 комментарий
  • Что делать если после установки и перезагрузки Deepin OS, установка начинается заново?

    @ivan_shevchenko
    Извлечь установочный диск из привода виртуалбокс)
    Ответ написан
    Комментировать
  • Как запатентовать дизайн или идею продукта?

    CityCat4
    @CityCat4
    Внимание! Изменился адрес почты!
    Идею запатентовать нельзя, можно только конкретное решение. Дох.. таких желающих.
    Ответ написан
    Комментировать
  • Как запатентовать дизайн или идею продукта?

    Jump
    @Jump
    Системный администратор со стажем.
    Ни дизайн, ни идеи не патентуются.
    Дизайн защищен законом об авторских правах.
    Идея ничем не защищена - любой совершенно законно может использовать ваши идеи в любое время.
    Единственный способ защитить идею - молчать!
    Ответ написан
    5 комментариев
  • Как запатентовать дизайн или идею продукта?

    nki
    @nki
    bezkart.ru готовая система лояльности
    Идеи нельзя запатентовать.
    Ответ написан
    Комментировать
  • Какую CMS использует habrahabr или какое рабочее окружение у Хабр?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Самописанную.
    Ответ написан
    Комментировать
  • Зачем в вакансии PHP разработчика знание 1C?

    anton_reut
    @anton_reut
    Начинающий веб-разработчик
    Потому что 90% бизнеса в России использует 1С и когда тебе надо подружить интернет магазин (на любом php фреймворке) и учетную систему (без этого онлайн продажи по серьезному не имеют смысла) то может потребоваться какое то знание 1С, хотя бы базовое.
    Ответ написан
    Комментировать
  • Почему в базу данных попадает путь без слэшей?

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

    Данные в БД надо всегда отправлять отдельно от самого запроса. Это непреложное правило, которое надо соблюдать всегда.
    Для этого надо
    • Заменить все переменные в запросе на специальные маркеры, которые называются плейсхолдеры или параметры, а по сути - просто знаки вопроса
    • Подготовить запрос к исполнению с помощью функции prepare(). Эта функция принимает строку запроса и возвращает экземпляр специального класса stmt, с которым в дальнейшем и производятся все манипуляции
    • Привязать переменные к запросу.
    • Выполнить подготовленный ранее запрос с помощью с помощью execute()

    В mysqli это будет так
    $sql = "INSERT INTO `events` (`title`, `discription`, `date`, `img`) VALUES (?,?,?,?)";
    $stmt = $link->prepare($sql);
    $stmt->bind_param("sssss", $title, $discription, $date, $path);
    $stmt->execute();

    bind_param() принимает в качестве параметров все переменные, которые должны попасть в запрос, в том же самом порядке, в котором стоят плейсхолдеры в запросе. Но кроме того, сначала в этой функции должны быть указаны типы для всех переменных, в виде строки, где тип переменной обозначается одной буквой. То есть букв в этой строке должно быть ровно столько, сколько дальше будет переменных. К счастью, можно особо не париться с типами и для всех переменных указывать тип "s".

    Но по-хорошему для работы с БД в РНР лучше использовать PDO, Тем более что там колупаться с bind_param не нужно, а можно сразу отправить все данные в execute
    $sql = "INSERT INTO `events` (`title`, `discription`, `date`, `img`) VALUES (?,?,?,?)";
    $stmt = $link->prepare($sql);
    $stmt->execute([$title, $discription, $date, $path]);

    И скажи спасибо что у тебя просто слеши пропали, а не всю базу шутники удалили
    Ответ написан
  • Как понять входит дата в интервал или нет?

    nokimaro
    @nokimaro
    Меня невозможно остановить, если я смогу начать.
    <?php
    $checkDate1 = new DateTime("2020-06-25");
    $checkDate2 = new DateTime("2020-01-30");
    $startDate = new DateTime("2020-06-20 00:00:00");
    $endDate = new DateTime("2020-06-30 23:59:59");
    
    //bool(true)
    var_dump(
        isDateBetweenDates($checkDate1, $startDate, $endDate)
    );
    
    //bool(false)
    var_dump(
        isDateBetweenDates($checkDate2, $startDate, $endDate)
    );
    
    function isDateBetweenDates(DateTime $date, DateTime $startDate, DateTime $endDate) {
        return $date > $startDate && $date < $endDate;
    }
    Ответ написан
    3 комментария