Задать вопрос
  • Как в битриксе узнать количество товаров на сайте?

    alexyarik
    @alexyarik
    Битрикс разработчик
    Первым делом всегда нужно начинать с документации
    https://dev.1c-bitrix.ru/api_help/iblock/classes/c...
    Посмотреть можно так
    5f7efd4196751583989011.png
    Ответ написан
    Комментировать
  • Как работает crontab?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега PHP
    > Можно ли поставить крон на 1 минуту
    Можно.

    > и проверять есть ли задание, для скрипта, в бд
    Можно.

    > и если есть выполнять его,
    Можно

    > а это не быстро?
    А это не вопрос.

    > В основном интересует нагрузка на сервер.
    От крона нагрузка будет несущественная. От вашего скрипта - зависит от вашего скрипта.

    > И что будет если в одно время, через крон, несколько раз обратиться к одному скрипту
    Скрипт будет выполнен несколько раз.

    > не получится, что запросы будут конфликтовать друг с другом?
    Если вы эту ситуацию обработаете в своём скрипте, то не будут. В кроне никаких встроенных механизмов для этого нет.
    Ответ написан
    Комментировать
  • Как выводить ответ API в таблице каждую секунду?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    По уму надо делать репликацию на уровне БД
    Всё остальное будет извращения
    Ответ написан
    Комментировать
  • Как выводить ответ API в таблице каждую секунду?

    Adamos
    @Adamos
    Про "каждую секунду" просто несерьезно, учитывая задержки API и задержки между сайтом и пользователями. Все равно актуальность превращается в тыкву. Можно же при запросах пользователей, если им критична актуальность, обращаться не к этой копии информации, а к тому же API.
    Ответ написан
    Комментировать
  • Почему не работает preg_replace в другой версии PHP?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    <?php
    $str = '12$34%56';
    var_dump(preg_replace('~[^-a-z0-9_]+~u', '-', $str));
    // 7.1.0: string(8) "12-34-56"
    // 7.2.4: string(8) "12-34-56"
    // 7.3.5: string(8) "12-34-56"
    // 7.4.7: string(8) "12-34-56"

    Где-то не там копаете, не в версии PHP дело.
    Ответ написан
    1 комментарий
  • Почему при подключении трейта в два класса, один из этих классов программа перестает видеть?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    Столкнулся с необходимостью применения трейтов PHP, и тут проблема.

    Трейты действительно нужны в очень специфических кейсах, 146% что это не ваш кейс.
    У вас код и так даже не комочками, не стоит его разводить до более жидкого состояния.

    Конструктор в трейте - это, не нахожу подходящего цензурного слова, пусть будет табу.

    Что касается непосредственно вашей ошибки - смотрите в сторону автолодинга.

    https://github.com/index0h/php-conventions почитайте на досуге
    Ответ написан
    23 комментария
  • Превращение int в boolean при return из функции класса?

    @Vitsliputsli
    if (isset($id)) {
                var_dump($id);
                return $id;
            } else {
                return 0;
            }

    если $id выше этого кода получит значение false, то return вернет false, как у вас и получилось.
    А вообще, приведите код, а то можно только гадать.
    Ответ написан
    Комментировать
  • Какое самое наилучшее приложение для чтения книг на android?

    milssky
    @milssky
    Координатор племени фиолетовых обезьянок
    Я пользуюсь fbreader
    Ответ написан
    1 комментарий
  • Как отфильтровать массив php через foreach?

    @alexalexes
    Вы еще извращеннее вывод могли придумать, чтобы избегать накопления вывода в отдельной переменной, чтобы код был максимально неподдерживаемый для разработки?
    Вот решение:
    <?foreach ($arResult["PARTNERS"] as $partners) {if($partners['NAME']=='test')continue;?>
    Ответ написан
    1 комментарий
  • Как программисту стать биоинформатиком?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    А теперь, тщательно изучив существующие сферы программирования, поняла, что мне просто НЕОБХОДИМО стать биоинформатиком!


    Поэтому, программисты-биоинформатики, поделитесь, пожалуйста, своим опытом и ответьте на вопросы:
    1. Чем именно вы занимаетесь на своей работе?
    2. Какое у вас образование?
    3. В каком объеме вы изучали биологию, генетику, биотехнологии и прочее? Или не изучали совсем?
    4. Что вообще нужно знать и уметь?
    5. Где можно найти работу или хотя бы стажировку? Вакансий днем с огнем не сыщешь, особенно для начинающего биоинформатика (а ведь я в Москве!). А если вдруг что-то попадается, то для биологов, а не программистов.
    6. На какую зарплату можно рассчитывать начинающему биоинформатику и на какую опытному специалисту?


    Сори что я влезаю, но если вы ТЩАТЕЛЬНО изучили, то откуда у вас такие вопросы?
    Ведь если вы даже не знаете есть ли вообще такая работа в Мск, и чем там занимаются люди, то откуда вы решили, что знаете что такое биоинформатик? И что такое вообще существует?
    Ответ написан
    1 комментарий
  • Как можно создавать таблицу на инициализации Docker Postgres Image?

    @q2digger
    никого не трогаю, починяю примус
    Все очень просто. Идете в документацию контейнера, вот адрес https://hub.docker.com/_/postgres
    там ищите пункт Initialization scripts , там все расписано
    Вкратце (без деталей, прримеры в доке посмотрите), вы пишите скрипт, например на bash, описываете в скрипте что надо сделать при первом запуске контейнера и помещаете его в определенное место контейнера (монтируете как volume), стартуете контейнера, там создается база, после контейнер запускает ваш скрипт - создает пользователей, таблицы, права, заливает данные и т.п.
    Ответ написан
    Комментировать
  • Можно-ли улучшить этот код?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    1. выкинуть все локейшены с ошибками. это дикость, ни один нормальный сайт так не делает. ошибки надо показывать либо сразу, либо через сессию. локейшены с ошибками встречаются только у дебилов, которые делают видео на ютубе для других дебилов. не надо так палиться сразу.
    2. выкинуть домен из ссылок. ты серьёзно собираешься переписывать все ссылки, когда у тебя сайт с временного домена переедет на постоянный? а потом обратно - когда надо будет потестить локально? header('Location: /AUTH-2/Sign_In/'); достаточно для единственного локейшена, который нужен в этом коде
    3. убрать всю эту лестницу иф-ов, делать все проверки на одном уровне. ошибки собирать в массив. перед вставкой в БД проверить массив на пустоту.
    4. if ($row->Email != $email) - масло масляное. ты УЖЕ проверил емейл в базе, зачем еще раз проверять?
    5. else if($row->Email == $email) { - это уже какой-то совсем адок. Ты УЖЕ проверил, что емейл не совпадает. причем два раза. В else мы попадём, если емейлы совпдают. Ещё раз проверять не надо. Два алкоголика садятся на трамвай, один спрашивает водителя - я этом номере до вокзала доеду? Водитель - нет. Второй алкаш - а я?
    6. внизу у тебя ссылка на password_verify, но хэшируешь ты все равно кривым алгоритмом. Не осилил?
    7. все эти куличики в песочнице с $client_Code $server_Code - это какой-то адок с точки зрения безопасности. Любой школьник, который не тупее дауна, поломает все твои "сессии" за 5 минут.
    8. setcookie("PHPSESSID", $_COOKIE['PHPSESSID'], 0, '/', '.tsecret.net'); - опять совершенно бессмысленная строчка. К чему она? Зачем? Что ты хотел тут сказать? И кому?
    9. Разбей это простыню хотя бы на функции. Никакой солид у тебя конечно не получится, как и у Георгий Котов который сам не понимает что это значит. Но хотя бы разделить проверки, запись в бд, и отправку емейла можно.

    В целом - из плюсов только нормальная работа с БД, в остальном на троечку, и местами - кол (за дыры в безопасности и отсутствие логики)
    Ответ написан
    5 комментариев
  • Как сделать это при помощи grid?

    JamesHatfield
    @JamesHatfield
    Front-end developer
    Выровнял блоки как на примере, бэкграунды сами определите.
    <div class="main">
              <div class="main-gourmet"></div>
              <div class="main-carhartt"></div>
              <div class="main-adidas"></div>
              <div class="main-deep"></div>
              <div class="main-palace"></div>
              <div class="main-nike"></div>
          </div>


    .main {
    	height: 100vh;
      display: grid;
      grid-template-areas: 
          "gourmet gourmet carhartt" 
          "gourmet gourmet adidas"
          "deep palace nike";
      grid-template-columns: 3fr 3fr 3fr;
      grid-template-rows: 3fr 3fr 4fr;
      grid-gap: 15px;
      background-color: green;
    }
    .main-gourmet {
      grid-area: gourmet;
      opacity: 0.9;
      background-color: red;
    }
    .main-carhartt {
      grid-area: carhartt;
      opacity: 0.9;
        background-color: gray;
    }
    .main-adidas {
      grid-area: adidas;
      background-blend-mode: multiply, ;
      background-color: black;
    }
    .main-deep {
      grid-area: deep;
      opacity: 0.9;
        background-color: white;
    }
    .main-palace {
      grid-area: palace;
      opacity: 0.9;
        background-color: black;
    }
    .main-nike {
      grid-area: nike;
      opacity: 0.9;
      background-color: red;
    }
    Ответ написан
    1 комментарий
  • Как заставить MutationObserver адекватно срабатывать?

    Aetae
    @Aetae Куратор тега JavaScript
    Тлен
    Именно из-за таких как ты отказались от удобного слушателя событий изменения элементов, и придумали наблюдатель.
    Разница? Наблюдатель наблюдает и изредка, когда это не повлияет на скорость работы страницы, сбрасывает весь список изменений. В отличии от слушателя, который слушает каждое событие изменения.

    Так делать нельзя, категорически. Это бессмысленная тяжёлая нагрузка. Ты вызываешь изменения стиля своей функцией, вот из этой функции и производи иные изменения. Тебе не нужны наблюдатели и события для этого.
    Ответ написан
    2 комментария
  • Как разбить массив на части PHP?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    в цикле
    все операции над массивами производятся в цикле
    для перебора массивов в РНР используется оператор foreach
    Ответ написан
    Комментировать
  • Как выравнять img по вертикали в grid?

    Ankhena
    @Ankhena Куратор тега HTML
    Нежно люблю верстку
    Уберите у картинок display grid, у них нет содержимого, не из чего строить сетку.
    А родителю задайте display flex.

    p.s. id это идентификатор, его нельзя применять к разным элементам.
    id="border-grid" вы используете много раз, а можно только 1.
    Используйте для этого классы.
    id для стилизации лучше вообще не использовать.
    Ответ написан
    Комментировать
  • Почему во Vue.js не отображается разметка Schema.org?

    Kozack
    @Kozack Куратор тега Vue.js
    Thinking about a11y
    Потому, что сервер возвращает пустую страницу (то что видят боты) а интерфейс регенируется уже на клиенте средствами JavaScript. Чтобы боты видели интерфейс, его желательно сгенерировать на сервере и уже после отправлять в браузер.
    Читайте про Server Side Rendering Vue
    Ответ написан
    3 комментария
  • Зачем требуются различные СУБД, если можно использовать структуры данных языка, например словари и списки в питоне?

    @zexer
    1. Ядро СУБД работает с данными в иной структуре, нежели вы работаете со списками и всякими кортежами.
    СУБД может обрабатывать сильно больше данных и сильно быстрее, чем вы делаете это в питоне, как минимум благодаря индексам (почитайте про индексы).
    2. Кроме того, ваши множества и кортежи надо где-то хранить, где? В виде .txt или .json файлика на компе? Не кажется ли вам, что это немного не надежно?
    3. В БД можно выставить множество ограничений и проверок, например на уникальность данных (чтобы у каждого человека был свой id), на то, чтобы поступающие данные соответствовали нужным типам, проверки на NULL значения, как вы все это будете делать через файлики .txt?
    4. В БД есть понятие транзакции, чего ваши файлики вам разумеется тоже не дадут.
    5. Данные с помощью СУБД легко читать, так как они представлены в табличной форме, к ним удобно применять фильтрации, сортировки, различные соединения таблиц между собой.
    6. И еще десяток различных преимуществ, о которых даже нет смысла рассказывать.
    Ответ написан
    Комментировать
  • Как правильно подключить свой класс через конструкцию use?

    @PetrPo
    // здесь я думаю не правильно указано имя класса ORM с которым работает DayorderHelper в методе GetElement

    Правильно думаешь))
    5f6c89996a4d8519558914.jpeg
    Ответ написан
    Комментировать