Задать вопрос
  • CRM для сисадминов?

    take
    @take
    я люблю любить
    CRM? точно CRM ?

    Customer Relations Manager -- продукты, заточенные на оптимизацию продаж

    или это что-то новое: Computer Resource Manager?
    Ответ написан
    Комментировать
  • Это валидный JS?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега JavaScript
    Валидный, но кривой. Если для сущности применимо понятие ключи, то должен использоваться объект, а не массив.
    Ответ написан
    Комментировать
  • Замыкания внутри циклов javascript

    dizballanze
    @dizballanze
    Software developer at Yandex
    1. Если как они утверждают цикл будет закончен до того как будет вызвана console.log(i) то почему результат выводится 10 раз?


    У вас же timeout используется, т.е. 10 раз внутри цикла будет запущен таймер, пока первый из таймеров закончится цикл уже пройдет все 10 итераций и соотв i будет иметь значение 10.
    Ответ написан
    Комментировать
  • Объясните строчку кода?

    bitniks
    @bitniks
    Go/PHP/Symfony developer
    Таким образом вызывается анонимная функция. Скобками обрамляем анонимную функцию и c помощью (id, input) вызываем её с параметрами id и input
    (
    function(id, input) {
        input.addEventListener("change", function() {
            localStorage.setItem(id, input.value);
        });
    }
    )(id, input);

    Чтобы было понятно, это можно записать так
    var fun = function(id, input) {
        input.addEventListener("change", function() {
            localStorage.setItem(id, input.value);
        });
    }
    
    fun(id, input);
    Ответ написан
    Комментировать
  • Есть ли какая-нибудь разница между document.ready и атрибутом defer?

    potapchino
    @potapchino
    defer-скрипты выполняются до того, как выполнится код внутри ready(т.к. .ready() завязан на событии domcontentloaded, то иначе говоря, defer-скрипты выполнятся до тригерринга этого события)
    Ответ написан
    2 комментария
  • Как наглядно увидеть процесс сборки мусора в программе?

    ApeCoder
    @ApeCoder
    Найдите для своей платформы профайлер. В Visual Studio, например есть Diagnostic Tools которые показывают когда происходит сборка мусора в .NET приложениях. Можно также посльзоваться perfmon (это встроенная в винду утилита - туда надо добавлять счетчики типа % времени приведенный в GC), dottrace от JetBrains и прочее.

    Для вашей платформы должно быть то же самое. Ключевые слова для поиска garbage collector diagnostics [название вашей платформы]
    Ответ написан
    Комментировать
  • Как сделать такую вещь?

    Vlatqa
    @Vlatqa Куратор тега CSS
    это называется timeline
    Ответ написан
    Комментировать
  • PHP не видит пароль от БД?

    @Vitsliputsli
    Проблема в ; в 8 строке, собственно как и написано в ошибке.
    Ответ написан
    2 комментария
  • Системный диск C: с утра стал девственно чистым, как такое возможно?

    DevMan
    @DevMan
    ответ очень простой: щит хэппенс и бэкапы - рулят.
    и если у вас нет регулярных бэкапов как минимум в двух разнесенных локациях, вы рано или поздно окажетесь в сами знаете где.
    Ответ написан
    7 комментариев
  • Не работает background css что делать?

    lukoie
    @lukoie
    Вы перенесли проект куда-то? Пропишите полный путь вместо относительного ../ и так поймете в чем ошибка.
    Мы ж не знаем где у Вас эти стили вообще прописаны.
    Ответ написан
    Комментировать
  • Нужен ли класс в этом случае? Или можно держать функцию особняком?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Это проблема упрощения.
    Реальный код трудно понять, поскольку он учитывает множество нюансов, важных в реальной жизни.
    поэтому в обучающих материалах код упрощают, так что начинает казаться что без классов будет даже проще.

    Кроме того, авторы видеокурсов в большинстве своем - неграмотные имбецилы, которые с трудом понимают код, который пишут. Кроме шуток. Пример. Вот так пишут обезьяны:
    $i = 0;
        $newsList = array();
        while($row = $result->fetch()) {
          $newsList[$i]['id'] = $row['id'];
          $newsList[$i]['title'] = $row['title'];
          $newsList[$i]['date'] = $row['date'];
          $newsList[$i]['author_name'] = $row['author_name'];
          $newsList[$i]['short_content'] = $row['short_content'];
          $i++;
        }
        return $newsList;

    Реально, макаки.
    Этот гамадрил где-то сам увидел обучающий материал из 1990-х годов прошлого века, запомнил его, и теперь лепит уже в свои "обучающие ведидео".
    при том что если бы он понимал смысл этого кода, то написал бы просто
    $newsList = array();
        while($row = $result->fetch()) {
          $newsList[] = $row;
        }
        return $newsList;

    Поскольку $row уже содержит все нужные данные и переливать их из пустого в порожнее не нужно.
    А если бы наш бабуин хотя бы раз в жизни поинтересовался инструментами, которые он использует, то написал бы и вовсе одну строчку,

    return $result->fetchAll();

    Поскольку все уже написано до нас - надо только руку протянуть и использовать готовое.

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

    Если вернуться к теме "отдельные функции или класс", то для примера приведенного здесь класс, действительно, не нужен. Любая коллекция статических методов может быть заменена на набор функций.

    В нормальной же модели класс нужен, поскольку в ней будут использоваться переменные класса, например соединение с БД. Таким образом его можно будет передать в конструктор один раз и не писать соединение в каждом методе.
    Также в модели удобно прописать имя таблицы. Тогда множество методов можно будет унаследовать от единого прототипа. например

    abstract class Model {
        protected $table;
        protected $db;
        public function __construct($db) {
             $this->db = $db;
        }
        public function find($id) {
            $sql = "SELECT * FROM `$this->table` WHERE id=?";
            $stmt = $this->db->prepare($sql);
            $stmt->execute([$id]);
            return $stmt->fetch();
        }
    }
    class News extends Model {
            protected $table = 'news';
    }
    $news = new News($db);
    $article = $news->find($id);


    Вот это уже будет минимальное оопэ, и использование класса будет более чем оправдано - один раз написали код, а потом его используем.

    Если хочется нормальных обучающих материалов, рекомендую канал Дмитрия Елисеева, https://www.youtube.com/user/ElisDN/videos
    Ответ написан
  • Как подсчитать при помощи php количество дней от рождения человека?

    DevMan
    @DevMan
    пользовать нативный DateTime или Carbon для удобства.
    Ответ написан
    Комментировать
  • Влияет ли издатель сертификата на позицию в поисковых системах?

    @Dizzy221
    PHP Программист
    Поисковики реагируют только на наличие сертификата или его отсутствие, тот кто его выдал, значения не имеет.
    Ответ написан
    Комментировать
  • Как запустить массивную задачу на php?

    DevMan
    @DevMan
    все долгоиграющее должно запускаться в фоне, а не браузером/веб-сервером.
    Ответ написан
    Комментировать
  • Как запустить массивную задачу на php?

    usdglander
    @usdglander Куратор тега PHP
    Yipee-ki-yay
    Либо
    set_time_limit(0);
    либо запускайте в обход веб-сервера из консоли.
    Ответ написан
    2 комментария
  • Может ли тег быть частью вопроса?

    Moskus
    @Moskus
    Какой-то свирепый поток сознания.
    Теги на Тостере используются для выборки, поиска, подписок. Иногда они уточняют контекст. Например, если кто-то спрашивает про регулярное выражение, а теги прописал "RegEx", "PHP" - тогда сразу понятно, о каком синтаксисе речь.
    Однако, если вопрос про селектор CSS, из текста вопроса не следует никакой контекст, а в тегах, внезапно, "Блокировка рекламы", сходу догадаться о том, что речь о CSS-подобном синтаксисе uBlock - весьма сложно. Потому этот тег выглядит ошибочным, лишним.
    Дублировать теги в тексте вопроса - не нужно. А вот формулировать вопрос так, чтобы было понятно, о какой конкретно задаче идёт речь - обязательно. Из хорошей формулировки и смысл тегов будет лучше ясен, так что их никто не удалит.
    А иммунитет от редактирования - это зло. В 95% случаев авторы не хотят принимать правки, это делают модераторы. Кто-то считает правки оскорбительными, кто-то считает, что лучше знает, как по-русски писать, и так далее. Один малолетний идиот мне в комментариях даже череп раскроить за правку его "шедевра" грозился. Я очень долго смеялся, но это меня дополнительно убедило, что функционал редактирования, контролируемый модераторами и кураторами, а не авторами - это очень правильно.
    Ответ написан
    4 комментария
  • Как правильно сделать хостинг на сервере?

    Jump
    @Jump
    Системный администратор со стажем.
    Как правильно сделать хостинг на сервере?
    Пригласить системного администратора.
    Ну или самому установить ОС и поднять веб сервер, если есть необходимые знания.

    Насколько я понимаю если использовать Node.js или c#, то это уже скорее веб-приложение, чем сайт.
    Сайт это одна или несколько страниц с информацией доступные в сети интернет. От того какие технологии и инструменты вы используете его название не меняется.
    Веб приложение это программа у которой графический интерфейс реализован в виде вебстраницы.

    а как и что используется для запуска веб-приложений на сервере?
    А просто запустить их вас не устраивает? Обязательно что-то использовать?

    какие есть аналоги apache
    nginx
    что использовать для обеспечения безопасности на сервере?
    нормального админа.
    Ответ написан
    Комментировать