• Почему сообщение Дискорд бота не меняется?

    @Israfil22
    Процесс разработки включает поиск багов и ошибок. Поиск ошибок сводится к просмотру входных и выходных данных, так что поиск этой ошибки лежит на Ваших плечах исключительно. Поочередно выводите значения переменных, просматривайте на какой строке все пошло не по плану.
    Например, хотелось бы знать, что в этих переменных хранится.
    Ошибка Вам сообщает, что somechannel = undefined. Т.е канал не был найден.
    let someserver = client.guilds.cache.get('686225794766209088');
    let somechannel = someserver.channels.cache.get(Msg.channelid); // Вот на этом шаге канал не находится.

    Значит стоит посмотреть какие вообще данные в объекте 'Msg' находятся.
  • Как сгенерировать массив только один раз?

    @Israfil22
    let arrayCache  = null
    router.get('array', (req, res) => {
      if (!arrayCache)
          arrayCache = generate()
      
       res.json(arrayCache)
    })


    ???????????
  • Возможно ли изучение Typescript как самостоятельного языка программирования?

    @Israfil22
    WbICHA, с автомоками вышла проблема. Интеграции с типами нормальной не нашёл. Либо я не нашёл нужный дженерик, либо что-то с типами не клеилось. Последний раз пытался месяц четыре назад, так что не скажу, в чем именно была проблема.
  • Возможно ли изучение Typescript как самостоятельного языка программирования?

    @Israfil22
    RaulDuke, до сих пор перехожу)
    В TS можно писать очень извращенные штуки, которые очень часто люди и используют.
    Самая большая проблема это и есть типизация.
    В общем-то TS немного заставляет писать более стройный код, это хорошо. Но далеко не каждый пакет имеет эти типы, а те которые изначально не были написаны с их помощью напоминают сущий ад при интеграции с TS.
    Проще говоря - люди привыкли что можно писать по-Васянски, а потом добавляется отдельный офф пакет с типами и начинается натягивание совы на глобус.

    Моки в Jest - болезнь, я не нашёл метода правильной работы. Быть может я глуп, но материала реально мало при условии популярности TS.
    TypeORM entities - работают на декораторах (декораторы концептуально потрясающая вещь), но из-за типизации иногда встречаются очень болезненные штуки. Например, невозможность без костылей создать таблицу с динамически изменяемым названием.

    И самое неприятное - дикий оверхед. Если выбираете инструменты, не поддерживающие TS - еще больше.
    Ну например, вышеупомянутый TypeORM один из немногих, кто даст Вам качественную полную поддержку типов среди многих известных пакетов (стат анализатор, которого мы все и ждем и любим).
    Среди валидации данных AJV - полная, очень хорошая поддержка TS.
    А вот например Joi и другие - жуткое извращение, придется переписывать одно и то же по миллиону раз:
    типы, схемы интерфейсы, без единого стандарта объявления, без стат. анализа ( мы в TS и пытаемся этого избежать а тут снова, только в другом месте .....).

    В целом - готовьтесь, что выбор пакетов становится меньше, а выбор будет более тщательный.
    Как только сможете окружить себя и настроить свои привычные инструменты работы - начнете получать удовольствие. Например бэкенд, я сейчас уже не пишу без TS совсем, не представляю как это возможно.
  • Возможно ли изучение Typescript как самостоятельного языка программирования?

    @Israfil22
    У TS есть хэндбук прекрасный, а лучшие практики это просмотр сурс кода. Насчет интерпретации, TS - надстройка, хоть и заставляет писать немного "по-новому", знать все основные концепции необходимо. Однако, копаться внутри легаси необходимости нет. Т.е. для качественного кода про прототипы и все остальное "мёртвое" нужно только иметь поверхностные знания. По необходимости - разберётесь.
  • Какое IDE для js?

    @Israfil22
    WbICHA, дык проблема в том, что тебе приходится собирать из говна и палок свою IDE. В этом нет ничего позитивного на самом-то деле, кроме свободного доступа. Конфликты, качество кода, баги и все самое лучшее, достающееся от опенсурса.
  • Какое IDE для js?

    @Israfil22
    WbICHA, очень умный интеллисенс в вебшторме. Подтягивает даже свойства из вложенных объектов из других файлов проекта, если есть несколько совпадений.
    К сожалению, на тот момент, когда писал на VS еще не сталкивался с вебпаком и т.п. инструментами, которые юзают конфиги, но WS использует даже эти конфиги, иногда исключительно необходимые, например, алиасы из вебпака.
    Очень классная фича - autoimport. Если резолвит один путь из всего проекта, то автоматически добавляет импорт в начале файла, если нет - предлагает варианты.
    На высоте работает JSX, шаблонизатор во Vue.
    Поддерживает огромное количество форматов, как файлов, так и контента.

    В общем-то, во время использования VSC возникло ощущение "блокнот + плагины". Когда начал юзать WS сформировалось мнение "Взрослая серьезная IDE". Тут скорее счастье в мелочах, которые не ожидаешь встретить, а потом они становятся твоим постоянным тулингом.
  • Что выбрать JavaScript vs Python?

    @Israfil22
    Проще это, конечно, сильно сказано. Для создания исключительное вёрстки - будет проще. А для связи с нодой, реактивного обновления - проще не будет.
  • Что выбрать JavaScript vs Python?

    @Israfil22
    Более лучший инструмент для разработки UI будет Electron - т.е. JavaScript.
    Однако без стартовых навыков вы с ума сойдете в изучении. Очень уж большой объём информации.
    В остальном по функционалу будет +- одинаково.
  • Как работает Promise.resolve в Javascript?

    @Israfil22
    batman101, Полная чушь, в случае если это задание точь-в-точь.

    https://developer.mozilla.org/en-US/docs/Web/JavaS...
    Здесь, в прототипе, вы не найдёте метода resolve.
    Он присутствует только в качестве статик метода у объекта Promise.

    После того как вы зачейнили последний then - он вернет инстанс типа Promise.
    У него отсутствует метод resolve.

    Если не точь-в-точь, то верный код:
    const func = async () => {
      return 100
    };
    
    func()
      .then( res => {
        console.log(res);
        return 200;
      })
      .then( res => {
        console.log(res);
      })
  • Как запустить файл если он не является модулем?

    @Israfil22
    Никита Кудрин, что значит запускать? Запустить = создать процесс. Что значит не модуль? Любой JS файл в ноде является модулем.
    Три варианта исполнения кода:
    1. Вы можете динамически через require подключить файл. Его исходный код будет в любом случае исполнен, а все, что указано через экспорт - доступно вне этого файла.
    2. Запускать отдельные процессы.
    3. Thread workers
  • Знак _ в стрелочных функциях. Можно ли использовать?

    @Israfil22
    Alex, во дела. Большое спасибо: пропустил, что catch можно использовать без скобок)
  • Знак _ в стрелочных функциях. Можно ли использовать?

    @Israfil22
    Вадим, вот кстати интересно как быть с catch(<пропуск исключения>){} ? TS не разрешает пропустить аргумент.
  • Какие инструменты используют хостинги для разделения пространства?

    @Israfil22 Автор вопроса
    Sanes, данные требования отсутствуют. Начинать с теоретической части вышеупомянутых топиков?
  • Какие инструменты используют хостинги для разделения пространства?

    @Israfil22 Автор вопроса
    Какие-то материалы стартер/бегинер левел можете подсказать?
  • Как сделать push в json файл?

    @Israfil22
    ojiekcahdp,
    в третьем аргументе writeFile передается объект, в котором есть поле flag
  • Как сделать push в json файл?

    @Israfil22
    ojiekcahdp, нет, вы его дождались и более, чем было бы необходимо. Просто почему-то не хотите услышать, что выбираемый Вами метод некорректен. Но если так сильно хочется - файл по умолчанию перезаписывается, в третьем аргументе writeFile передается объект, в котором есть поле flag - его значение необходимо установить в 'a'.
    Документация
  • Как сделать push в json файл?

    @Israfil22
    ojiekcahdp, у Вас модуль - FS - модуль ноды. Вы уже бэкенд пишете. Если записываете данные данные в файл для дальнейшего его использования, Вы автоматически их храните.
  • Почему многие крупные сайты тормозят по самые помидоры?

    @Israfil22
    АртемЪ, какой мне резон опровергать Ваше мнение? Какова цель изначальная ответа мне? Доказать свою точку зрения? Это не сюда. Полемика - не интересна, спустя более 10ти дней. Если подчерпнуть что-то для себя - добро пожаловать на доклады плюс-минус известных спикеров на холи js и т.п.