Задать вопрос
  • Что означает правило про фиксированный шрифт?

    dom1n1k
    @dom1n1k
    Это правило давно уже устарело и потеряло актуальность.
    Ноги у него растут из времен примерно 6-7 эксплорера, когда пользователь мог в настройках браузера менять размер шрифта (правда, 99.9% пользователей этим всё равно не заморачивались, но разговор не об этом). Именно размер шрифта менялся, отдельно от других элементов страницы.
    Сегодня этот подход выброшен на свалку истории - браузеры масштабируют страницу (ну или параметры вьюпорта, как посмотреть) целиком. И размер шрифта, указанный в пикселях или чем угодно, им в этом никак не помешает. Если пользователь захочет увеличить - он увеличит без проблем. Потому что в современных браузерах пиксели уже не привязаны жестко к физическим пикселям экрана, это логические единицы.
    В общем, можно забить.
    P. S. Разумеется, это не отменяет того, что исходный размер шрифта должен быть выбран разумный. Причем для разных устройств свой, через media-запросы.
    Ответ написан
    Комментировать
  • Плохо ли создавать проекты с нуля? Что значит быть про?

    @Plus3x
    c10c573f52694badb316d1aa222bc323.png
    Ответ написан
    Комментировать
  • Как итерировать в операторе WHERE используя данные из второй таблицы?

    ShelestovAnt
    @ShelestovAnt
    Верстаю и программирую
    SELECT * FROM `USER_META` WHERE 
         `payment_system` in (SELECT `payment_system` FROM payment_methods)
         AND USER_ID = 736;
    Ответ написан
    1 комментарий
  • Как итерировать в операторе WHERE используя данные из второй таблицы?

    Beshere
    @Beshere
    Разработчик
    Конечно, сделано неправильно. В таблице user_meta поле payment system должно указывать на payment_methods.id.

    А так примерно

    SELECT * FROM `USER_META` WHERE USER_ID = 736 AND `META_KEY` IN (SELECT 'PAYMENT_SYSTEM' FROM 'PAYMENTS_METHODS')
    Ответ написан
    1 комментарий
  • Как правильно написать условие php?

    gobananas
    @gobananas
    finishhim.ru
    Если английский текст:
    if(strlen($item['text'])  < 150){
    
    }

    Если русский текст:
    if(mb_strlen($item['text'])  < 150){
    
    }
    Ответ написан
    2 комментария
  • Как правильно выразить вероятность успешности в коде?

    Kozack
    @Kozack
    Thinking about a11y
    В случае JavaScript. (chance в диапазоне [0; 1))
    function getResult(chance) {
        return Math.random() < chance
    }
    Ответ написан
  • Как построить график функции в excel?

    NeiroNx
    @NeiroNx
    Программист
    Область опредления тебе дали, шаг дали, формулы дали. Делаешь таблицу - вписываешь формулы, делаешь две строки с шагом(чтобы значение само менялось при копированиии) и дальше копируешь формулы и строку.
    Получится таблица значений X и Y - вставляешь диаграмму указываешь ей значения и готово.
    Работы на 10 минут.
    5c73e78074baa633313718.png
    Ответ написан
    2 комментария
  • Как наиболее элегантно вырезать из строки всё кроме цифр?

    0xD34F
    @0xD34F
    preg_replace("/[^\d]/", "", "+7(999) 111-53-66)")
    Ответ написан
    Комментировать
  • Как наиболее элегантно вырезать из строки всё кроме цифр?

    gobananas
    @gobananas
    finishhim.ru
    preg_replace('/[^0-9]/', '', $string)
    Ответ написан
    Комментировать
  • Какой вид нейросети брать для прогнозирования выхода из строя элементов?

    @CHolfield
    для прогнозирования выхода из строя элементов есть такая наука "Надежность и управление качеством продукции", в ней рассматриваются такие показатели надежности как "Средняя наработка на отказ", "Средняя наработка на сбой", "Средний срок службы", "Среднее время работы между ремонтами". Какая нафиг сетка, откуда вы лезете со своими нейронными сетями? Вы думаете, что в мире существуют какие-то кнопки, позволяющие получать результат в подобных областях знаний, без изучения этих самых знаний? Тьфу на вас, неучи.
    Ответ написан
    4 комментария
  • Как выполнить PHP код из строки?

    SilenceOfWinter
    @SilenceOfWinter Куратор тега PHP
    та еще зажигалка...
    смотри семейство ob_* функций
    <?php
    ob_start();
    echo "Привет мир";
    $out = ob_get_clean();
    var_dump($out);
    Ответ написан
    1 комментарий
  • Обрезание строки на куски с id?

    Sanasol
    @Sanasol Куратор тега PHP
    нельзя просто так взять и загуглить ошибку
    explode(' ', $string);

    РЕГУЛЯРНЫЕ ВЫРАЖЕНИЯ

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

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    У вашего вопроса мало конкретики, но думаю у вас либо не верный подход(в виду отсутствия системного мышления и опыта), либо задача слишком специфична(скорее всего нет).
    Предполагаю что вам нужно раз в сутки начислять бонусы или что-то вроде этого. По этому у вас сразу первой мыслью - сделать это скриптом и запускать раз в сутки. Это вполне рабочий вариант, единственный недостаток - нужен внешний скрипт который будет делать это самостоятельно.
    В целом крон мог бы решить данную проблему, но во первых у вас нет желания разбираться, а во вторых есть более простое и верное решение.
    Если бонусы начисляются за все дни одинаково, вам просто нужно знать дату начала начисления высчитывать количество бонусов по прошедшим дням.
    Что дальше делать - уже другой вариант, например более простое(но и более кривое) решение - при заходе любого пользователя апдейтить базу вашим скриптом, рассчитав количество прошедших дней для каждой записи.
    Более верный вариант - считать количество дней как количество бонусов. Тогда запись в базу не понадобится вообще, это сильно сэкономит ресурсы сервера при большом объеме данных.
    Ответ написан
    Комментировать
  • Как разделить деньги между рекламными кампаниями в яндекс директ?

    DeoZ
    @DeoZ Куратор тега Яндекс.Директ
    Веб-разработка и Реклама
    Никак. Таких инструментов в Яндекс.Директ уже нет. Поэтому для каждого клиента важно заводить отдельный аккаунт.
    Ответ написан
    Комментировать
  • Сильно ли print тормозит выполнение программы?

    @mefutu
    Тормозить будет, а вот заметно это станет, только если у вас 'долгие' операции либо же миллионы 'быстрых' операций. Любой вывод на экран/жд/ другой носитель по определению не моментален.
    Ответ написан
    Комментировать
  • Как отправить POST в этот же файл ajax?

    Minifets
    @Minifets
    Hello world!!!
    post - это метод, а не тип.

    $.ajax({
        method: 'POST',
        data: {'var': 'val' }
    });
    Ответ написан
    Комментировать
  • Как получить процент от числа в интервале?

    @crazywu
    Для удобства сдвигаете границы и значение к 0
    60 - 40 = 20
    50 - 40 = 10
    После чего считаете процент числа от верхней границы 10/20 *100% = 50%
    Ответ написан
    Комментировать
  • Зачем использовать private static в методах PHP?

    Vlad_IT
    @Vlad_IT
    Front-end разработчик
    Он будет работать в пределах класса MyClass.
    Ответ написан
    8 комментариев
  • Как деплоить небольшие проекты?

    @Stqs
    senior software developer
    вопросы у вас философские, на каждый можно отвести часы обсуждения
    Полноценный CI/CD поднимать не вижу смысла ввиду размеров

    вы ж все равно собираетесь какие-то скрипты мутить и чото выдумывать,
    какая разница это будут крон скрипты на сервере или джоба в дженкинсе? по-скорости написания - одно и тоже будет. так что по-моему размер тут не имеет значение
    единственное что имеет значение - насколько явно у вас описан процесс(алгоритм) билда/разворачивания приложений
    с этой точки зрения мое видение примерно такое:

    1) git не есть инструмент для развертывания по, git лишь для версионирования кода
    и по-идее результатом вашей работы должен быть не код в гитхабе, а какой-то вменяемый артефакт, готовый к деплою (docker-image, pip пакет, npm пакет, deb пакет, jar, war, zip в крайнем случае, и тд и тп). Если производить артефакты то вопрос с тегами отпадет сам собой - у вас будет артефакт какой-то версии и все
    сервер не должен знать ни про какие гиты и ни про какие-то теги в нем
    Здесь я бы рекомендовал паковать все в докер-имеджи хотя бы только потому, что сервер в итоге не будет знать ничего о зависимостях приложения, нужных библиотеках, ниочем вообще, вам нужно установить только докер
    Огромное преимущество использование докера - в Dockerfile вы вынуждены волей/неволей описать точно и явно все шаги требуемые для установки приложения. И что самое замечательное - это все будет храниться в том же репозитории, под контролем гит - шикарно.
    Артефакты желательно хранить в каком-то артефактории,
    но если реально все просто - то можно хранить несколько последних версий прямо на сервере в какой-нибудь папочке

    2) как только вы получили артефакт - его можно деплоить
    неплохо было б знать особенности вашего проекта, но грубо говоря допустим что достаточно его зааплоадить на сервер, положить в нужное место
    опять же с этим дженкинс справится на ура и займет у вас это все дело 10 минут . Если вы опишете логику в Jenkinsfile вы выиграете еще раз потому что процесс развертывания(алгоритм) будет описан опять же ЯВНО. И будет тоже под контролем гита. (Jenkins должен знать только в каком репозитарии и в каком месте ему искать Jenkinsfile)
    Если же вы будете крутить какой-то спрятанный cron скрипт на сервере - о нем никому ничего не будет известно. Поверьте уже через короткое время все это дело начнет усложнятся, что-то забудется, что-то измениться и это все вместе больно ударит вас по яйцам.

    В чем еще преимущество такого подхода: если вам нужно сделать roll-back на предыдущую версию вам не нужно собирать проект заново выкачивая все с гита, ведь у вас есть предыдущие артефакты, ролбек в таком случае вообще не проблема - просто указываем предыдущую версию артефакта и деплоим еще раз и все

    3) Env Variables
    когда приложение стартует - считывает все что ему нужно из переменных окружения
    деплой джоба может каждый раз эти переменные устанавливать перед тем как деплоить - это было бы тоже круто потому что вы сделали бы это знание так же явным

    Итого имеем
    - логика сборки проекта описана в Dockerfile и находится под гитом
    - логика деплоя находится в Jenkinsfile и находится под гитом, и что самое главное является кодом (Jenkinsfile пишем на груви, для простых вещей вам понадобиться 30 минут изучения и все)
    - на сервере мы ничего не устанавливали совершенно кроме самого докера
    - мы храним несколько версий нашего приложения на всякий случай и можем быстро откатиться не прибегая к гиту вообще
    - сервер не знает ничего о гитах
    - на сервере нет НИКАКОЙ дополнительной логики по разворачиванию вашего приложения
    - имея все это очень легко добавлять другие сервера для деплоя - что нам нужно - грубо говоря указать другой айпи и набор env variables к нему ( если они конечно отличаются)
    giphy.gif
    Ответ написан
    5 комментариев