• Есть ли оператор +-?

    Stalker_RED
    @Stalker_RED
    Типа такого
    if (h>170 && h < 180) {
      // средний
    }
    но одним оператором?

    Нет, такого оператора не существует. Можно написать свою функцию:

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

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Почему если считывать число как long double, то результат получается нормальным,
    input 2 => output 8.000000 (%lf)

    потому что в scanf %lf -- это не long double, а просто double. %f -- это float, а long double -- это %Lf. См. man scanf.
    float и double обычно отличаются форматом представления, поэтому если вводить число не тем форматом scanf, то и значение получится не то, что ожидалось.
    Ответ написан
    Комментировать
  • Программирование разветвляющегося вычислительного процесса?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Так задача то у вас не программу на C/C++ написать, а нарисовать блок-схему.
    А если хотите писать на C, то лучше сначала выучить язык.
    И, кстати, в задаче ошибка, при z = 0 функция f2(z) уходит в бесконечность.
    spoiler
    #include <stdio.h>
    #include <math.h>
    
    double f(x) {
      double x2 = x * x;
      return x2 * x2 + 2 * sin(x2);
    }
    
    double f1(z) {
      return sin(z) + tg(z);
    }
    
    double f2(z) {
      double cz = cos(z);
      return cz * cz * cz + 3/z;
    }
    
    double f3(z) {
      double z2 = z * z;
      return z2 + log(z);
    }
    
    int main() {
      double c = 3.2;
      double z = cos(c);
      double x;
      if (z < 0) {
        x = f1(z);
      } else if (z < 8) {
        x = f2(z);
      } else {
        x = f3(z);
      }
      double result = f(x);
      printf('%f\n', result);
    }
    Ответ написан
    Комментировать
  • Возможен ли SSH терминал в браузере?

    Moskus
    @Moskus
    Ответ написан
    Комментировать
  • Какой библиотекой на Node.js можно воспользоваться для равномерного деления?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    Довольно интересная задачка, тут конечно нужно еще кучу проверок сделать, но алгоримт может выглядеть примерно так: https://3v4l.org/DQRKq
    Ответ написан
    2 комментария
  • Как из массива чисел сделать объект, где ключами будут имена месяцев, а значениями их номера (элементы исходного массива)?

    0xD34F
    @0xD34F Куратор тега JavaScript
    const months = Array.from({ length: 12 }, (n, i) => {
      return new Date(0, i).toLocaleString('en', { month: 'short' }).toLowerCase();
    });
    
    const newArr = arr.map(({ data, ...item }) => (
      data.forEach((n, i) => item[months[i]] = n),
      item
    ));
    Ответ написан
    1 комментарий
  • Nginx https, как перенаправлять на файл только по http?

    @ynblpb_spb
    дятел php
    в секции, относящейся к 80 порту пропишите location /download/archive.zip и будет счастье
    Ответ написан
    Комментировать
  • Как добавить свойство в css font?

    0xD34F
    @0xD34F Куратор тега CSS
    Мне кажется, вы пытаетесь заниматься какой-то ерундой. Гораздо проще будет вешать/снимать класс, вместо того, чтобы напрямую модифицировать body.style.

    UPD. Но конечно можно и модифицировать. Только добавлять/убирать ничего не надо, всегда вычисляйте значения свойств целиком.
    Ответ написан
    3 комментария
  • Простым языком о замыканиях?

    1. У вас есть алгоритм (функция) F, зависящий от некоторого числа переменных (значений), включая N параметров функции и некоторого количества "свободных" переменных (т.е. определённых вне тела функции, но доступных в теле функции на момент его выполнения).
    2. У вас есть другая функция G, требующая для своей работы некоторую функцию, зависящую от M параметров (причём N > M).
    3. У вас есть желание использовать функцию F как параметр функции G, однако для этого необходимо заранее задать значения всех аргументов, которые G не будет передавать в F (т.е. тех, которые не входят во множество параметров M), а также значения всех свободных переменных (иначе код функции F невозможно будет выполнить).
    4. Для реализации этого намерения вы примените замыкание (иначе просто невозможно).

    Остальное зависит от языка программирования и конкретной ситуации.
    В любом языке основная задача замыкания - связать код функции и данные, с которыми она работает. Эту же задачу связывания кода и данных решают и объекты.
    Ответ написан
    1 комментарий
  • На чем делается 3D анимация в JS?

    three.js и прочее это только библиотеки/фреймворки для удобства работы с WebGL, поэтому на вопрос "Как такая физика делается в JS" будет правильнее ответить WebGL. И если хочется понять как именно и что там работает, то начните с WebGL. А на чем конкретно в вашем случае было сделано, то это скорее всего three.js.
    Ответ написан
    Комментировать
  • Как правильно использовать es6 классы в моём случае?

    const types = [ '6', '7', '8', '9', '10', 'J', 'Q', 'K', 'A' ];
    const suits = [ 'diamonds', 'clubs', 'hearts', 'spades' ];
    
    ////////////////////
    
    class Card {
      constructor (type, suit) {
        this.type = type;
        this.suit = suit;
      } 
    }
    
    ////////////////////
    
    class Deck {
    
      constructor () {
        this.cards = [];
    
        for (const type of types) {
          for (const suit of suits) {
            this.cards.push(
              new Card(type, suit)
            );
          }
        }
      }
    
    }
    
    ////////////////////
    
    const cards = new Deck().cards;
    Ответ написан
    Комментировать
  • Нужно ли разбивать диск самостоятельно при установке Ubuntu?

    Radjah
    @Radjah
    > Дайте пожалуйста советы!
    Не прогуливай уроки русского языка и литературы.

    > 1 SSD диск
    Если вот прям в руках зудит.
    128МБ - ESP, если UEFI. Если legacy/CSM, то отдельный boot не нужен. grub даже шифрование умеет.
    1ГБ - swap. Или по размеру оперативной памяти, если гибернация нужна.
    Остальное - система и данные

    А если зуд совсем дикий, то можешь даже LVM сделать, но для UEFI всё равно отдельный раздел нужен будет за пределами LVM.

    Про отступ первого раздела от начала диска в 2048 секторов не забудь, а то загрузчик не влезет.
    Ответ написан
    Комментировать
  • Как прибавить три дня к текущей дате?

    Vlad_IT
    @Vlad_IT Куратор тега JavaScript
    Front-end разработчик
    var addDays = 3;
    var date = new Date()
    date.setDate(date.getDate() + addDays);
    Ответ написан
    4 комментария
  • Быстрый заработок на программировании?

    sabramovskikh
    @sabramovskikh
    А вы пробовали на работе об этом поговорить? Возможно есть задачи, за которые вам будут платить, если вы будете их делать в нерабочее время.
    У меня так бывает пол зп выходит за неделю "домашней" работы
    Ответ написан
    Комментировать
  • Быстрый заработок на программировании?

    nki
    @nki
    bezkart.ru готовая система лояльности
    для меня лучше зарабатывать 5 баксов в день

    Идите в такси.
    Ответ написан
    14 комментариев
  • Как вернуть результат fetch после запроса к API?

    `fetch(URL)` возвращает обещание(Promise), а вы сразу возвращаете результат. Колбэк функция передаваемая в метод then будет вызвана позже, когда закончится процесс `fetch`.
    Функция `myfunc` должна тоже возвращать Promise вот так:
    function myfunc() {
      results = [];
      return fetch(URL)
        .then((response) => response.json())
        .then((hitsJSON) => {
          return hitsJSON.hits.map(item => {
            return {
                  id: item.id,
                  url: item.previewURL,
                  tags: item.tags
              };
          }));
      });
     }
    
    // и использование 
    myfunc()
      .then((results) => {
        // do something
      })
    Ответ написан
    Комментировать
  • Как изменить строку несколько раз в цикле?

    0xD34F
    @0xD34F Куратор тега JavaScript
    for (const n of words) {
      string = string.replace(RegExp(`\\b${n}\\b`, 'gi'), m => `<a href="#">${m}</a>`);
    }

    или

    const newString = words.reduce((acc, n) => {
      return acc.replace(RegExp(`\\b${n}\\b`, 'gi'), '<a href="#">$&</a>');
    }, string);
    Ответ написан
    2 комментария
  • Что за странные запросы на веб сайт?

    Stalker_RED
    @Stalker_RED
    Китайские боты вас нашли и пытаются вам залить шеллкод или вирус.
    БЕГN!

    Заранее отвечаю на вопрос "а как они меня нашли?":
    На сканирование ВСЕХ АДРЕСОВ ipv4 по одному порту (80 же?) нужно около 25 минут. Они не лично вас искали, а вообще любые веб-сервера. И всем пытаются впарить вирус. И этим занимаются не только китайцы.
    Ответ написан
    1 комментарий
  • Зачем передавать event в компонент Vue?

    evgensenin
    @evgensenin
    Yii2 || Laravel, vue & nuxt
    Но зачем передавать: @my-event="myEvent" ?

    ты как бы говоришь "слушаю событие my-event и если оно случится (вызывая $emit снизу), то нужно запустить обработчик-функцию myEvent"

    родитель не знает всех событий и просто таким образом мы говорим ему
    Ответ написан
    2 комментария
  • Зачем передавать event в компонент Vue?

    0xD34F
    @0xD34F Куратор тега Vue.js
    зачем передавать: @my-event="myEvent" ?

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

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

    Кстати,в явном виде делать это совсем не обязательно.

    Первый вариант - можно использовать модификатор sync при привязке значения параметра aa:

    <modal-notifications :aa.sync="isActive" :message="message"></modal-notifications>

    Метод закрытия в компоненте окна в этом случае станет выглядеть так:

    closeModalWindow() {
      this.$emit('update:aa', false);
    },

    Второй вариант - управлять состоянием окна посредством директивы v-model. Надо будет заменить имя параметра с aa на value (ну или настроить model):

    props: ['aa', 'message'], ---> props: [ 'value', 'message' ],
    :class="{'is-active': aa}" ---> :class="{ 'is-active': value }"

    Переписать метод закрытия окна:

    closeModalWindow() {
      this.$emit('input', false);
    },

    Ну а в родительском компоненте станет так:

    <modal-notifications v-model="isActive" :message="message"></modal-notifications>



    Я же делаю из потомка this.$emit('my-event', this.isActive) которое слушает родитель.

    Никто ничего просто так не "слушает". Чтобы "слушать", надо назначить обработчик соответствующего события. Что и происходит посредством @my-event="myEvent".

    эмит выше вроде бы не нужен, но без него не работает

    Чё? Какой ещё "эмит"? Нет "выше" никакого "эмита". Вы в родителе событие обрабатываете, а не порождаете.

    И еще вопрос. Что делает:
    myEvent: function(isActive) {
      this.isActive = isActive
    }

    Почему оно должно что-то принимать? Можно же просто значение из data взять.

    "Значение из data" брать бессмысленно - это и есть this.isActive. Который вам обновить надо. Обновить значением, которое присылает диалоговое окно. Значением, которое передаётся в (т.е., которое принимает) обработчик события.
    Ответ написан
    Комментировать