Профиль пользователя заблокирован сроком с 4 февраля 2022 г. и навсегда по причине: необходима проверка личности владельца аккаунта (в соответствии с п.2.6 условий пользовательского Соглашения)
  • Какова политика ресурса в отношении неграмотных ответов?

    TosterModerator
    @TosterModerator Куратор тега Тостер
    Модератор Хабр Q&A
    раньше можно было безграмотного юзера, лезущего со своими советами, просто обозвать идиотом и не париться.
    Раньше оскорбления были точно так же запрещены. Насколько я вижу, вас дважды блокировали за оскорбления в адрес пользователей, еще до закрепления этого пункта в Регламенте.

    При этом режим модерации не изменился - любая чушь остается на месте, лишь бы выглядела приличненько и аккуратненько.
    Что же мешает вам критиковать мнение других пользователей не прибегая к оскорблениям?

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

    0xD34F
    @0xD34F Куратор тега JavaScript
    Очевидно, потому что переменная a никак не может принять значение, равное единице. Начните с 7, например. Сколько раз надо 7 разделить на 2, чтобы получить 1? Вот-вот.
    Ответ написан
    Комментировать
  • Как скопировать текст с переносом строки из textarea?

    Lebezniy
    @Lebezniy
    Веб разработка
    function copy() {
        let copyTxt = document.getElementById("АЙДИ_ТЕКСТАРЕА");
        copyTxt.select();
        document.execCommand("copy");
    
        setTimeout(() => {
            copyTxt.blur();
        }, 500);
    }


    Выполняйте данную функцию при клике, или когда вам необходимо.
    Ответ написан
    4 комментария
  • Как сделать обработку нажатия на 2-ю кнопку?

    irishmann
    @irishmann
    Научись пользоваться дебаггером
    Открываем консоль в DevTools и смотрим ошибки.
    Ответ написан
    Комментировать
  • Как в цикле выводить сообщение один раз?

    ri_gilfanov
    @ri_gilfanov
    Web- and desktop-developer
    def recv():
        last_id = 0
        while True:
            file = vk.messages.getHistory(user_id=93084902, rev=0, count=1)
            for i in file['items']:
                if i['id'] > last_id:
                    last_date = i['id']
                    print(i['text'])
    
    
    variable = Thread(target=recv, args=())
    variable.start()


    Update. Заменил i['date'] на i['id']. Если сообщения пишут очень часто, так правильнее и надёжнее. Мне показалось, что id сообщений имеют случайный характер, но edward_freedom ткнул меня носом в мою невнимательность))
    Ответ написан
    3 комментария
  • Реальные задачи JS?

    sfi0zy
    @sfi0zy Куратор тега JavaScript
    Creative frontend developer
    Хотелось бы более приближенные к реальной жизни.

    toster.ru/tag/javascript/questions
    Ответ написан
    Комментировать
  • Как можно оптимизировать?

    SagePtr
    @SagePtr
    Еда - это святое
    Оптимизация не нужна, т.к. деление чисел с плавающей точкой на 2 - это всего лишь уменьшение мантиссы на 1.
    Ответ написан
    4 комментария
  • Возможно ли как-то передать в параметр функции класс, по которому нужно будет создать объект?

    @vanyamba-electronics
    template <class T>
    T* create_class(T* object = nullptr)
    {
       if (obj == nullptr) {
           obj = new T();
           if (obj == nullptr)
              throw Exception("Can't create " + std::string(name_of<T>()) + " object"); 
       }
       obj->init();
       return obj;
    }
    ...
    MyClass* mc = create_class<MyClass>();
    delete mc;
    Ответ написан
    1 комментарий
  • Кто может обьяснить рекурсию?

    @xversus
    Вы не учитываете результаты прошлых вызовов функции. При каждом вызове создается новый экземпляр массива и отбрасывается, после чего вызов делается снова. Кроме того, вы пушите элементы в неправильном порядке.

    Более правильный вариант:
    function rangeOfNumbers(startNum, endNum) {
       let numArr = [];
        if (startNum === endNum ) {
        numArr.push(endNum)
        return numArr;
      }  else  {
           numArr.push(startNum)
       return [...numArr, ...rangeOfNumbers(startNum + 1, endNum)]
      }
    };
    
    console.log(rangeOfNumbers(6,9))
    Ответ написан
    2 комментария
  • Почему нельзя создать массив произвольной длины в С++?

    RabraBabr
    @RabraBabr
    Если коротко исторически так сложилось.

    В который раз встречаю человека который упорно не желает пользоваться STL. При том это какое то иррациональное нежелание.

    А теперь длинно.

    Хочешь плохому научу?
    Выделяй память malloc'ом, а когда надо изменить размер "массива", пользуйся realloc'ом. Можешь так же как в встроенном массиве пользоваться [] для обращения к элементам массива.

    Дальше напиши какую нибудь серьезную программу тыщ хотя бы на 20 строк. И в один прекрасный день узнай, что она крашится в самом неожиданном месте, хотя раньше все работало. Далее две бессонных недели, с красными глазами проведи с отладчиком в поисках неуловимого бага. После чего совершенно случайно найди место где вылазишь за пределы массива или обращаешься к неинициализированной памяти. Вот после этого станет понятно, что так жить нельзя. И вот все это безобразие размазанное по всему коду надо собрать в одном месте. И все проверки и инициализацию делать там. А где это в одном месте? Правильно написать собственный класс, там и конструктор есть для инициализации по умолчанию и [] перегрузить можно, что бы всякие проверки делать и деструктор, что бы за собой прибрать. А потом тебе захочется, что бы твой класс работал с разными типами данных и ты перепишешь его на шаблонах.

    А теперь загляни в стандартную библиотеку. Поздравляю все это уже давно сделали за вас гораздо лучше и со множеством приятных плюшек. Тысячи программистов прошли этот путь за более чем 40 лет. Так зачем, зачем проходить этот путь еще раз? У вас, что есть запасная жизнь? Берите и пользуйтесь готовым. C++ имеет тысячи подходящих инструментов. Пользуйтесь ими. Так нет каждый новый адепт хватает кирку и лопату и бежит строить днепрогэс. Не надо построили уже до вас. Вы в стандартной библиотеки поищите оно там есть.
    Ответ написан
    Комментировать
  • React material-ui slider - при наведении на слайдер выскакивает ошибка "callback is not a function" из cheduler.development.js:99, как исправить?

    @Yaolegol Автор вопроса
    Walking around that issue I finded solution:

    1. this problem occurs when there are multiple versions of scheduler in the project
    2. for check this use npm list scheduler, or yarn why scheduler (more info here and here)
    3. if you have several versions of scheduler check link above or
    - use with npm this
    - use with yarn like this:
    "resolutions": {
        "scheduler": "0.15.0"
      }

    4. in any case after each manipulation with scheduler ALWAYS reload you react app (e.g. npm start)
    Ответ написан
    Комментировать
  • Зачем использовать callback функции?

    Maksclub
    @Maksclub Куратор тега PHP
    maksfedorov.ru
    Крайне хорошее описание по таким вещам есть в Википедии. А теперь к примерам:

    1. Передача параметром
    Такие функции удобно передавать параметром/возвращать из других функций. Тут лучше углубиться в тему: Функция высшего порядка

    Например для удобной передачи асбтрактной функциональности, которая будет применяться например к каждому члену итератора/массива. Это используется например в таких стандартных функциях array_{map/filter/reduce}. В коллбеке то, что будет применяться к каждому члену массива.

    Вообще функции высшего порядка не просто "пример использовани", а даже целая концепция программирования.

    2. Отложенный/ленивый вызов
    Например в PHP приложениях используется в роутерах/контейнере/логере, да много где. Суть в том, что в соллбеке спрятана функциональность, иногда очень большая. Элементов и этих фукцниональности тоже может быть много, а нужно все зарегистрировать. Чтобы не плодить тысячи объектов при регистрации — каждый кусочек функциональности заворачивают в коллбек, и только при вызове (например роута), вызывается коллбек и соответственно все, что в нем начинает работать.

    class Container
    {
         private $callableServices;
    
         public function add(string $serviceName, callable $service)
         {
              $this->callableServices[$serviceName] = $service;
         }
    
         public function get(string $serviceName)
         {
              $service = $this->callableServices[$serviceName];
    
              return $service();
         }
    }
    
    $container = new Container();
    // объект тут не создается, тк он внутри функции, которая не вызывается
    $container->add('a', function() {
         return new FirstBigService();
    });
    // объект тут не создается, тк он внутри функции, которая не вызывается
    $container->add('b', function() {
         return new SecondBigService();
    });
    
    // Внутри метода get() идет не просто доставание нужного элемента, 
    // а еще и его вызов (тк лежат функции), то есть именно сейчас 
    // произойдет new FirstBigService()
    $service = $container->get('a');


    3. Изоляция контекста
    // тут левый код
    ...
    
    // Код ниже работает изолировано и на него ничего не может подействоват,
    // т.к. внутри свой контекст
    (function() {
        $app = new Application();
        $app->run();
    });
    Ответ написан
    Комментировать
  • Неработающий скрипт в вордпресс, поможете?

    @weart
    Ошибка здесь в этой строчке. Догадываетесь какая?

    wp_enqueue_style( 'visit_scripts');
    Ответ написан
    3 комментария
  • Какие нужны знания для крепкого web senior?

    Maksclub
    @Maksclub Куратор тега Веб-разработка
    maksfedorov.ru
    Думаю не стоит задавать вопрос, выпятив в первой строке: "уже пару лет работаю senior full-stack", тк в принципе об этом не стоит писать (отдает тщеславием) и далее читая содержание вопроса — оно не коррелирует с тем, что вы написали в первом предложении, тк именно сеньоры и подсказывают, как и что делать.
    Крч всем пофигу на ваши достижения, и так помогли бы, но помогать сеньору — оксюморон получается...


    По вопросу — двигаться или в техлидерском направлении или в тимлидерском. Первый про технологии, точнее их глубину, например вот вы на Ларавел разрабатываете — нужно двигаться в сторону symfony-компонентов, улучшать саму ларку, делать пакеты для работы с той же доктриной, крч ждем библиотек опенсорсных в этом ключе.

    Если тимлидерство выберете — вам путь к менеджменту, руководству, управлению и вот этому всему.

    Кроме того по обоим направлениям вы можете рассказывать о своих достижениях или своей команды на конференциях, семинарах. (Например Highload/fwdays, phprussia, badoo митапы)
    Ответ написан
    Комментировать
  • Почему POST не передается файлу через Ajax?

    @ar2rsoft
    PHP-developer
    Повесьте на событие клика на див. При вызове из сетинтервала вот этот кусок $(this).attr('data-min');
    Работать не будет, так как в this не ваш див.

    И кстати, можно писать $(this).data('min')
    Ответ написан
    2 комментария
  • На что похож php?

    Kasperenysh
    @Kasperenysh
    Рецидив в особо острой форме))
    PHP... в процедурном стиле (а снего и надо начинать) для мння похож на книгу, открываешь ее а там по порядку весь сюжет, каждая строка - действие главного героя xD, пошел к соседке (MySQL), взял у нее 3 банки огурцов (какие-то строки и бд), разлил (создал массив), выпил (обработал каждый элемент массива), закусил (сохранил в файл) и отправился спать...
    Каждая строка, какая-то операция, которая производит определенные манипуляции, если это понимать, то легко понимаешь что у тебя происходит в определенной строке кода, что туда подается, как обрабатывается и что получаешь на выходе...
    Если результат не оправдал ожидания - спасает:
    var_dump($var);
    die();

    После каждой строки, и смотришь где у тебя программа "ломается".
    Усвоишь процедурку, поймешь как это работает, дальше будет легко)
    Ответ написан
    4 комментария
  • На что похож php?

    DevMan
    @DevMan
    да то же самое: взял текст, поместил его в strtoupper(), получил большую букву.
    но не только.
    Ответ написан
    6 комментариев
  • Перспективы веб-разработки?

    Robur
    @Robur
    Знаю больше чем это необходимо
    Перспективы есть.
    Делаете все нормально, продолжайте. До сентября еще все лето - можно очень много всего за это время выучить.
    Ответ написан
    1 комментарий